You are on page 1of 33

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------

Báo Cáo Project


ĐIỀU CHẾ DSB
SỬ DỤNG TMS320C5515 eZdsp USB STICK

GVHD: GS.TS Lê Tiến Thường

SVTH: Nhóm 12

Trần Đình Phước Anh 1510101 – 02


Lê Nguyễn Đăng Khoa 1511573 – 17
Phạm Lê Nam 1512102 – 01

TP HỒ CHÍ MINH, THÁNG 11 NĂM 2018


Điề u chế DSB – Nhóm 12
GIỚI THIỆU

Điều chế tiń hiệu là mô ̣t kỹ thuâ ̣t quan tro ̣ng trong liñ h vực truyề n thông, viễn thông. Mô ̣t
trong những kỹ thuâ ̣t điề u chế tiń hiê ̣u tương tự đầ u tiên là kỹ thuâ ̣t điều chế biên đô ̣ (AM –
Amplitude Modulation). Kỹ thuật này đươ ̣c sử du ̣ng trong nhiều liñ h vực như đàm thoa ̣i từ xa,
truyền hiǹ h vô tuyế n … DSB giải quyết khuyế t điể m của AM trong viê ̣c lañ g phí công suấ t
truyề n tin.

Nhằ m hoàn thành mu ̣c tiêu môn ho ̣c cũng như củng cố , bổ sung kiế n thức về liñ h vực
điề u chế tín hiê ̣u, nhóm thực hiê ̣n đề tài điều chế tín hiệu DSB (double sideband modulation)
với tần số sóng mang là 5kHz và tần số tín hiệu điều chế là 500Hz, tỉ số điề u chế là 0,8. Tín
hiệu được điều chế bằng KIT TMS320C5515 eZdsp USB Stick do TI (Texas Instruments) sản
xuất.

Nội dung của đề tài bao gồ m triǹ h bày cơ sở lý thuyế t về điề u chế tiń hiê ̣u DSB, thực
hiê ̣n tiń h toán lý thuyế t và bằ ng MATLAB, mô phỏng bằ ng Simulink, thực hiện điề u chế
bằ ng kit C5515, cuố i cùng là so sánh các kế t quả và rút ra kế t luâ ̣n.
Điề u chế DSB – Nhóm 12
MỤC LỤC

1 TỔNG QUAN ..................................................................................................................... 1

1.1 Điề u chế tiń hiê ̣u DSB-SC ........................................................................................... 1

1.2 Điề u chế tiń hiê ̣u bằ ng Kit TMS320C5515 eZDSP USB Stick ................................... 1

2 CƠ SỞ LÝ THUYẾT .......................................................................................................... 2

2.1 Cơ bản về tín hiê ̣u DSB ............................................................................................... 2

2.2 Dãy phổ tiń hiê ̣u DSB .................................................................................................. 3

2.3 Điề u chế và giải điề u chế DSB .................................................................................... 4

3 TÍNH TOÁN VÀ MÔ PHỎNG ĐIỀU CHẾ TÍN HIỆU DSB ............................................ 8

3.1 Tiń h toán lý thuyế t ....................................................................................................... 8

3.2 Tính toán và vẽ tiń hiê ̣u trên miề n thời gian và phổ tầ n số với MATLAB.................. 8

3.3 Mô phỏng điề u chế tiń hiê ̣u DSB với SIMULINK .................................................... 11

3.4 Mô phỏng ma ̣ch điề u chế cân bằ ng sử du ̣ng Diode ................................................... 12

4 ĐIỀU CHẾ DSB VỚI KIT C5515 .................................................................................... 14

4.1 Kit TMS320C5515 eZDSP USB Stick ...................................................................... 14

4.2 Sơ đồ điề u chế DSB bằ ng C5515 .............................................................................. 15

4.3 Lâ ̣p triǹ h cho C5515 .................................................................................................. 16

5 KẾT LUẬN ....................................................................................................................... 28

6 TÀI LIỆU THAM KHẢO ................................................................................................. 29


Điề u chế DSB – Nhóm 12

DANH MỤC HÌ NH MINH HỌA

Hình 1.1 Kit TMS320C5515 eZDSP USB Stick........................................................................ 1


Hình 2.1 Sơ đồ điề u chế tín hiê ̣u DSB-SC ................................................................................. 3
Hình 2.2 Tiń hiê ̣u DSB-SC ......................................................................................................... 3
Hình 2.3 a) Dãy phổ DSB-SC. b) Dãy phổ AM ......................................................................... 4
Hình 2.4 Ma ̣ch điề u chế DSB cân bằ ng ..................................................................................... 5
Hình 2.5 a) Sơ đồ điề u chế và giải điề u chế DSB. b) Da ̣ng sóng mô tả. c) Phổ tín hiê ̣u ........... 6
Hình 2.6 Costas receiver ............................................................................................................. 7
Hình 3.1 Tiń hiê ̣u ngõ vào ........................................................................................................ 10
Hình 3.2 Tiń hiê ̣u điề u chế ....................................................................................................... 10
Hình 3.3 Phổ tầ n số tiń hiê ̣u điề u chế ....................................................................................... 10
Hình 3.4 Sơ đồ mô phỏng DSB trên SIMULINK .................................................................... 11
Hình 3.5 a) Thông số khố i Information b) Thông số khố i Carrier ........................................... 11
Hình 3.6 Kế t quả mô phỏng DSB trên SIMULINK ................................................................. 12
Hình 3.7 Ma ̣ch điề u chế bâ ̣c hai ............................................................................................... 12
Hình 3.8 Sơ đồ ma ̣ch Multisim ................................................................................................ 13
Hình 3.9 Da ̣ng sóng điề u chế DSB bằ ng ma ̣ch điê ̣n tử ............................................................ 13
Hình 4.1 Mô ̣t số chi tiế t quan tro ̣ng của C5515 ....................................................................... 14
Hình 4.2 Sơ đồ kết nối kit C5515 với PC ................................................................................. 15
Hình 4.3 Giải thuật điều chế DSB bằng kit C5515 .................................................................. 16
Hình 4.4 Kế t nố i C5515 với máy tiń h ...................................................................................... 16
Hình 4.5 Da ̣ng sóng điề u chế DSB ........................................................................................... 25
Hình 4.6 Phổ tầ n số tiń hiê ̣u DSB............................................................................................. 26
Hình 4.7 Kết quả hiển thị OLED lcd ........................................................................................ 26
Hình 4.8 Dạng sóng tín hiệu điều chế DSB.............................................................................. 27
Hình 4.9 Phổ tần số tín hiệu điều chế DSB .............................................................................. 28
Điề u chế DSB – Nhóm 12

1 TỔNG QUAN

1.1 Điề u chế tín hiêụ DSB-SC


AM – Amplitude Modulation – là mô ̣t kỹ thuâ ̣t điề u chế tiń hiê ̣u được sử du ̣ng phổ biế n trong
điện tử viễn thông, thường dùng để truyề n tin qua mô ̣t sóng mang vô tuyế n. Biên đô ̣ của tín
hiê ̣u sóng mang thay đổ i thuâ ̣n theo biên độ của tín hiê ̣u sóng thông tin cầ n truyề n. Đây là mô ̣t
trong những kỹ thuâ ̣t điề u chế đầ u tiên đươc̣ sử du ̣ng để truyề n gio ̣ng nói qua sóng vô tuyế n.

DSB-SC – Double Sideband-Suppressed Carrier – là tín hiê ̣u AM có thành phầ n sóng
mang không mang thông tin bi ̣loa ̣i bỏ. Nhờ đó, viê ̣c truyề n thông tin hiê ̣u quả hơn AM. DSB-
SC là mô ̣t da ̣ng đă ̣c biê ̣t của DSB-RC – Double Sideband-Reduced Carrier, trong đó thành
phầ n sóng mang bi ̣giảm xuống dưới mô ̣t mức xác đinh.
̣ Tiń hiê ̣u DSB đươ ̣c sử dụng trong bô ̣
đàm, truyề n hiǹ h vô tuyế n …

1.2 Điề u chế tín hiêụ bằ ng Kit TMS320C5515 eZDSP USB Stick
Viê ̣c tính toán và mô phỏng trên máy tính có thể thực hiê ̣n bằ ng phần mề m MATLAB và
Simulink, thông qua viê ̣c nhập các lệnh tính toán và vẽ sơ đồ khố i điề u chế . Kế t quả của quá
triǹ h mô phỏng này có thể dùng để kiể m tra với kế t quả điề u chế bằ ng Kit TMS320C5515
eZDSP USB Stick (viế t tắ t C5515).

Kit C5515 có thể được kế t nố i với máy vi tính thông qua cổ ng USB, nhằ m để lâ ̣p trình
cho bộ xử lí tiń hiệu số (Digital Signal Processor – DSP) 16-bit TMS320C5515. Viê ̣c lâ ̣p triǹ h
có thể thực hiê ̣n thông qua phầ n mề m Code Composeer Studio – CCS, sử du ̣ng ngôn ngữ C.

Hình 1.1 Kit TMS320C5515 eZDSP USB Stick

1
Điề u chế DSB – Nhóm 12
2 CƠ SỞ LÝ THUYẾT

2.1 Cơ bản về tín hiêụ DSB


Trong điều chế AM, biên đô ̣ tín hiê ̣u sóng mang biế n đổi theo tiń hiê ̣u sóng ngõ vào, theo
phương trình:

𝑥𝑐 (𝑡) = [1 + 𝜇𝑚(𝑡)] cos(𝜔𝑐 𝑡)

trong đó, 𝑓𝑐 ≫ 𝑊, W là băng thông của tiń hiê ̣u m(t).

Với 𝑚(𝑡) = 𝐴𝑚 cos(𝜔𝑚 𝑡) với 𝑓𝑐 ≫ 𝑓𝑚

𝑥𝑐 (𝑡) = 𝐴𝑐 cos(𝜔𝑐 𝑡) + 𝜇𝐴𝑐 𝐴𝑚 cos(𝜔𝑐 𝑡) cos(𝜔𝑚 𝑡)


𝜇𝐴𝑐 𝐴𝑚 𝜇𝐴𝑐 𝐴𝑚
= 𝐴𝑐 cos(𝜔𝑐 𝑡) + cos[(𝜔𝑐 + 𝜔𝑚 )𝑡] + cos[(𝜔𝑐 − 𝜔𝑚 )𝑡]
2 2

Dãy phổ tiń hiê ̣u AM gồ m ba thành phầ n: sóng mang fc, upper sideband fc + fm, lower
sideband fc – fm. Trong đó thành phầ n sóng mang không mang thông tin gây lañ g phí năng
lươ ̣ng trong viê ̣c truyề n tin.

Việc công suất sóng mang lãng phí trong điều chế biên độ AM có thể được loại bỏ bằng
cách cho µ = 1 trong công thức điều chế AM và triệt tiêu thành phần tần số sóng mang không
điều chế. Kết quả sóng điều chế trở thành

𝑥𝑐 (𝑡) = 𝐴𝑐 𝑚(𝑡) cos(𝜔𝑐 𝑡)

được gọi là double-sideband–suppressed-carrier modulation (DSB-SC) hay gọi tắt là điều chế
DSB. Sơ đồ khố i điề u chế đươ ̣c thể hiê ̣n trên hiǹ h 2.1. Da ̣ng sóng điề u chế đươ ̣c thể hiê ̣n trên
hình 2.2. Đường bao ở đây có hình dạng của |𝑥(𝑡)|, chứ không phải là x(t) và sóng điều chế
trải qua một pha đảo ngược bất cứ khi nào x(t) vượt qua 0.

Với 𝑚(𝑡) = 𝐴𝑚 cos(𝜔𝑚 𝑡) với 𝑓𝑐 ≫ 𝑓𝑚

𝐴𝑐 𝐴𝑚 𝐴𝑐 𝐴𝑚
𝑥𝑐 (𝑡) = 𝐴𝑐 𝐴𝑚 cos(𝜔𝑐 𝑡) cos(𝜔𝑚 𝑡) = cos[(𝜔𝑐 + 𝜔𝑚 )𝑡] + cos[(𝜔𝑐 − 𝜔𝑚 )𝑡]
2 2

2
Điề u chế DSB – Nhóm 12

Hình 2.1 Sơ đồ điề u chế tín hiêụ DSB-SC

Hình 2.2 Tín hiêụ DSB-SC

2.2 Dãy phổ tín hiêụ DSB


Biế n đổi fourier, biể u diễn tiń hiê ̣u xc(t) trên miề n tầ n số :

1 1
𝑋𝑐 (𝑓) = 𝐴𝑐 𝑀(𝑓 − 𝑓𝑐 ) + 𝐴𝐶 𝑀(𝑓 + 𝑓𝑐 )
2 2

Với 𝑥𝑚 (𝑡) = 𝐴𝑚 cos(𝜔𝑚 𝑡) với 𝑓𝑐 ≫ 𝑓𝑚

1 1 1
𝑋𝑐 (𝑓) = 𝐴𝑐 𝐴𝑚 𝛿(𝑓 − 𝑓𝑐 − 𝑓𝑚 ) + 𝐴𝑐 𝐴𝑚 𝛿(𝑓 + 𝑓𝑐 + 𝑓𝑚 ) + 𝐴𝑐 𝐴𝑚 𝛿(𝑓 − 𝑓𝑐 + 𝑓𝑚 )
4 4 4
1
+ 𝐴𝑐 𝐴𝑚 𝛿(𝑓 + 𝑓𝑐 − 𝑓𝑚 )
4

3
Điề u chế DSB – Nhóm 12
Từ đó có thể thấy phổ của tín hiệu DSB giống với phổ của tín hiệu AM không có tín hiệu
sóng mang điều chế, do đó nên băng thông vẫn giữ nguyên B = 2fm. Dãy phổ DSB đươ ̣c thể
hiê ̣n trên hình 2.3a. So với dãy phổ của AM trên hình 2.3b, thành phầ n sóng mang fc đã bi ̣
triê ̣t tiêu.

Hình 2.3 a) Dãy phổ DSB-SC. b) Dãy phổ AM

Sự triệt tiêu sóng mang làm cho năng lượng truyền trung bình vào các sideband mang
thông tin. Công suấ t trung biǹ h tổ ng của tín hiê ̣u DSB

1
𝑆𝑇 = 2𝑃𝑠𝑏 = 𝐴𝑐 2 𝑆𝑚
2

với 𝑆𝑚 = 〈𝑚2 (𝑡)〉 và giả sử 〈𝑚(𝑡)〉 = 0, tức là thành phầ n DC của m(t) bằ ng 0.

So với công suấ t trung bình tổ ng của tiń hiê ̣u AM

1 1
𝑆𝑇 = 𝑃𝐶 + 𝑃𝑠𝑏 = 𝐴2𝑐 + 𝐴2𝑐 𝜇 2 𝑆𝑚
2 2

trong đó, µ2Sm < 1

Ít nhấ t 50% tổ ng công suấ t truyề n nằ m trong thành phầ n sóng mang đô ̣c lâ ̣p với m(t),
không chứa thông tin. Ta nhâ ̣n thấy tiń hiê ̣u DSB tâ ̣n dụng tố t tổ ng công suấ t của bô ̣ truyề n
hơn so với tín hiê ̣u AM.

2.3 Điề u chế và giải điề u chế DSB


Tín hiê ̣u DSB-SC có thể đươ ̣c ta ̣o ra từ hai bộ điề u chế AM, go ̣i là ma ̣ch điều chế cân bằ ng
như trong hiǹ h 2.4. Tiń hiệu ngõ ra của hai bô ̣ điề u chế AM:

𝑆1 (𝑡) = 𝐴𝑐 [1 + 𝑚(𝑡)] cos(𝜔𝑐 𝑡)

𝑆2 (𝑡) = 𝐴𝑐 [1 − 𝑚(𝑡)] cos(𝜔𝑐 𝑡)

Lấ y S1(t) trừ cho S2(t), ta được tiń hiê ̣u điề u chế DSB-SC:

𝑆(𝑡) = 2𝑚(𝑡)𝐴𝑐 cos(𝜔𝑐 𝑡)

4
Điề u chế DSB – Nhóm 12

Hình 2.4 Ma ̣ch điề u chế DSB cân bằ ng

Lưu ý rằ ng nế u tín hiê ̣u đươ ̣c điề u chế có thành phầ n DC thì thành phầ n này sẽ không bi ̣
loa ̣i bỏ mà nằ m trong thành phầ n fc của tiń hiê ̣u sau điề u chế .

Tín hiệu DSB được giải điều chế bằng cách nhân tín hiệu nhận được, kí hiệu xr(t), với
sóng mang giải điều chế 2𝑐𝑜𝑠𝜔𝑐 𝑡 và bộ lọc thông thấp. Dành cho hệ thống lý tưởng mà
chúng ta đang xem xét ở đây, tín hiệu nhận được giống hệt với tín hiệu truyền đi. Đầu ra của
bộ nhân là:

𝑑(𝑡) = 2𝐴𝑐 [𝑚(𝑡) cos(𝜔𝑐 𝑡)] cos(𝜔𝑐 𝑡)

hay

𝑑(𝑡) = 𝐴𝑐 𝑚(𝑡) + 𝐴𝑐 𝑚(𝑡) cos(4𝜋𝑓𝑐 𝑡)

Hình 2.5 thể hiê ̣n sơ điề u chế và giải điề u chế DSB (a) cùng với da ̣ng sóng tiń hiê ̣u (b) và
phổ tiń hiê ̣u (c). Bởi vì có thành phầ n cos 2 (𝜔𝑐 𝑡) luôn dương. Nên giá tri ̣của d(t) sẽ cùng dấ u
với giá tri ̣ của m(t). Do phổ của 2 thành phầ n của d(t) không chồ ng lên nhau nên tín hiê ̣u này
có thể qua ma ̣ch lo ̣c thông thấ p và Ac đươ ̣c chỉnh về giá tri ̣ đơn vi ̣ ở đầ u ra của bô ̣ giải điề u
chế , và thu về la ̣i đươ ̣c tín hiê ̣u thông tin ban đầ u m(t). Bô ̣ lo ̣c thông thấ p loa ̣i bỏ thành phầ n
2fc phải có băng thông lớn hơn hoă ̣c bằ ng băng thông tiń hiê ̣u thông tin W.

Việc giải điều chế DSB là phức ta ̣p bởi vì đòi hỏi đô ̣ nhấ t quán của sóng mang giải điề u
chế của bô ̣ nhâ ̣n với sóng mang điề u chế của bô ̣ truyề n. Mô ̣t kỹ thuâ ̣t đơn giản để ta ̣o ra sóng
mang giải điều chế là bình phương tiń hiệu qua điề u chế

1 2 2 1
𝑥𝑟2 (𝑡) = 𝐴2𝑐 𝑚2 (𝑡) cos2 (2𝜋𝑓𝑐 𝑡) = 𝐴𝑐 𝑚 (𝑡) + 𝐴2𝑐 𝑚2 (𝑡) cos(4𝜋𝑓𝑐 𝑡)
2 2

5
Điề u chế DSB – Nhóm 12
Nế u m(t) là tín hiê ̣u công suất thì m2(t) có giá tri ̣ DC khác không. Do đó, xr2(t) có thành
phầ n tầ n số rời ra ̣c ở 2fc, và có thể đươ ̣c tách ra nhờ bô ̣ lo ̣c dải thông he ̣p. Tầ n số của thành
phầ n này sau đó đươc̣ chia hai để tìm đươ ̣c sóng mang giải điề u chế mong muố n.

1 1
𝑋𝑐 (𝑓) = 𝐴𝑐 𝑀(𝑓 − 𝑓𝑐 ) + 𝐴𝐶 𝑀(𝑓 + 𝑓𝑐 )
2 2

Hình 2.5 a) Sơ đồ điề u chế và giải điề u chế DSB. b) Da ̣ng sóng mô tả. c) Phổ tín hiêụ

6
Điề u chế DSB – Nhóm 12
Một phương pháp để xây dựng hệ thố ng nhâ ̣n tiń hiê ̣u, phù hơ ̣p để giải điề u chế tiń hiê ̣u
DSB-SC là Costa receivers, sơ đồ được thể hiê ̣n trên hiǹ h 2.6.

Hình 2.6 Costas receiver

Bô ̣ này gồ m hai bô ̣ phát hiê ̣n nhấ t quán nhâ ̣n cùng mô ̣t tín hiê ̣u vào là sóng DSB-SC
Accos(2πfct)m(t), nhưng có hai tiń hiê ̣u từ bô ̣ dao đô ̣ng nô ̣i vuông pha với nhau. Tầ n số của bô ̣
dao đô ̣ng nô ̣i được hiê ̣u chỉnh bằ ng tầ n số fc. Đường tiń hiê ̣u phiá trên đươ ̣c go ̣i là kênh I và
đường tiń hiê ̣u phía dưới được go ̣i là kênh Q. Hai đường này kế t hơ ̣p với nhau để ta ̣o nên mô ̣t
hê ̣ thố ng giữ cho bô ̣ dao đô ̣ng nội đồ ng bô ̣ với sóng mang.

Nhận xét chung, tín hiệu DSB tuy sử dụng công suấ t tố t hơn so với AM nhưng la ̣i đòi hỏi
quá trình giải điề u chế phức ta ̣p hơn AM.

7
Điề u chế DSB – Nhóm 12
3 TÍ NH TOÁN VÀ MÔ PHỎNG ĐIỀU CHẾ TÍ N HIỆU DSB
Thông số điề u chế : 𝑓𝑐 = 5 𝑘𝐻𝑧, 𝑓𝑚 = 500𝐻𝑧, 𝑚𝐴𝑀 = 0,8

3.1 Tính toán lý thuyế t


Cho Ac = 1, Am = 0,8. Khi đó:

𝑚(𝑡) = 0,8 cos(1000𝜋𝑡)

𝐶(𝑡) = 1 cos(10000𝜋𝑡)

Tiń hiê ̣u điều chế :

𝑥𝑐 (𝑡) = 𝑚(𝑡)𝐶(𝑡) = 0,8 cos(1000𝜋𝑡) cos(10000𝜋𝑡)


= 0,4 cos(9000𝜋𝑡) + 0,4 cos(11000𝜋𝑡)

Trên miề n tầ n số :

𝑋𝑐 (𝑓) = 0,2𝛿(𝑓 − 4500) + 0,2𝛿(𝑓 + 4500) + 0,2𝛿(𝑓 − 5500) + 0,2𝛿(𝑓 + 5500)

3.2 Tính toán và ve ̃ tín hiêụ trên miề n thời gian và phổ tầ n số với MATLAB
Tính toán điều chế DSB và vẽ tín hiệu điề u chế trên miề n thời gian và phổ tầ n số đươ ̣c thực
hiê ̣n qua chương triǹ h viế t trên MATLAB có nội dung đươ ̣c triǹ h bày như sau.

fm = 500;
fc = 5000;
fs = 48000;
Ac = 1;
Am = 0.8;
t = 0:1/fs:0.05;
Khai báo các thông số điề u chế, với tầ n số lấ y mẫu là fS = 48000 Hz.

x1 = Am*cos(fm*2*pi*t);
xc = Ac*cos(fc*2*pi*t);
x = x1;
xdsb = x.*xc;
Tính các giá tri ̣của tiń hiê ̣u điều chế trên miề n thời gian.

X=fft(xdsb);
Xshft = fftshift(X);
Tiń h các giá tri ̣của tín hiệu điề u chế trên phổ tần số sử du ̣ng thuâ ̣t toán FFT (Fast Fourier
Transform).

Dựa vào những giá tri ̣trên có thể vẽ đươ ̣c đồ thi ̣của tín hiê ̣u điề u chế trên miề n thời gian
và phổ tầ n số . Dưới đây là nô ̣i dung của toàn bô ̣ chương triǹ h:

fm = 500;

8
Điề u chế DSB – Nhóm 12
fc = 5000;
fs = 48000;
Ac = 1;
Am = 0.8;
t = 0:1/fs:0.05;
x1 = Am*cos(fm*2*pi*t);
xc = Ac*cos(fc*2*pi*t);
x = x1;
xdsb = x.*xc;
%-------------- Tinh toan cac gia tri can thiet
N = length(t);
T = 1/fs;
f = -1/(2*T):1/(N*T):1/(2*T)-1/(N*T);
%-------------- Ve pho tan so
X=fft(xdsb);
Xshft = fftshift(X);
%==========================================================
% Ve do thi song
plot(x);
title('Dang song Ngo vao');
xlabel('Discrete time(n)'),ylabel('Amplitute'),
ylim([-4 4])
figure
plot(xdsb);
title('Dang song khi dieu che DSB');
xlabel('Discrete time(n)'),ylabel('Amplitute'),
xlim([0 450])
figure
plot(f,abs(Xshft));
title('Pho tan so DSB');
xlabel('Frequency(Hz)'),ylabel('|y|'),
xlim([2000 8000])
Kế t quả thực hiê ̣n chương trình được thể hiê ̣n trên các hình 3.1, 3.2 và 3.3.

9
Điề u chế DSB – Nhóm 12

Hình 3.1 Tín hiêụ ngõ vào

Hình 3.2 Tín hiêụ điề u chế

Hình 3.3 Phổ tầ n số tín hiêụ điề u chế

10
Điề u chế DSB – Nhóm 12
3.3 Mô phỏng điề u chế tín hiêụ DSB với SIMULINK
Xây dựng sơ đồ khối trên SIMULINK như hiǹ h 3.4.

Hình 3.4 Sơ đồ mô phỏng DSB trên SIMULINK

Thay đổ i thông số các khố i như hình 3.5

Hình 3.5 a) Thông số khố i Information b) Thông số khố i Carrier

11
Điề u chế DSB – Nhóm 12
Tiń hiê ̣u sóng mang và tiń hiê ̣u sóng thông tin đươ ̣c ta ̣o từ hai bộ ta ̣o sóng sine. Hai tín
hiệu này qua bô ̣ nhân cho ra tiń hiệu điề u chế . Da ̣ng của tín hiê ̣u điề u chế đươ ̣c theo dõi qua
khố i Scope.

Kế t quả mô phỏng được thể hiê ̣n trên hiǹ h 3.5.

Hình 3.6 Kế t quả mô phỏng DSB trên SIMULINK

3.4 Mô phỏng ma ̣ch điề u chế cân bằ ng sử du ̣ng Diode
Xét ma ̣ch điều chế cân bằ ng sử du ̣ng phầ n tử diode phi tuyế n trên hiǹ h 3.7.

Hình 3.7 Ma ̣ch điề u chế bâ ̣c hai

Tín hiệu điều chế x(t) được đưa qua mô ̣t biế n áp cách ly 2 cuô ̣n sơ cấ p để ta ̣o ra 2 tín hiê ̣u
x(t) với đảo ngược pha 180o ở đầu vào của cả hai điốt. Do đó, điện áp đầu vào đến D1 được
cho bởi: 𝑣1 = 𝑐𝑜𝑠𝜔𝑐 𝑡 + 𝑥(𝑡) và D2 đươ ̣c cho bởi: : 𝑣2 = 𝑐𝑜𝑠𝜔𝑐 𝑡 − 𝑥(𝑡). Dòng qua diode i1
và i2 là:

𝑖1 = 𝑎𝑣1 + 𝑏𝑣12 = 𝑎[𝑥(𝑡) + cos(𝜔𝑐 𝑡)] + 𝑏[𝑥(𝑡) + cos(𝜔𝑐 𝑡)]2


= 𝑎𝑥(𝑡) + acos(𝜔𝑐 𝑡) + 𝑏𝑥 2 (𝑡) + 2𝑏𝑥(𝑡) cos(𝜔𝑐 𝑡) + 𝑏 cos 2 (𝜔𝑐 𝑡)

12
Điề u chế DSB – Nhóm 12
𝑖2 = 𝑎𝑣2 + 𝑏𝑣22 = 𝑎[𝑥(𝑡) − cos(𝜔𝑐 𝑡)] + 𝑏[𝑥(𝑡) − cos(𝜔𝑐 𝑡)]2
= 𝑎𝑥(𝑡) − acos(𝜔𝑐 𝑡) + 𝑏𝑥 2 (𝑡) − 2𝑏𝑥(𝑡) cos(𝜔𝑐 𝑡) + 𝑏 cos 2 (𝜔𝑐 𝑡)

Điê ̣n áp ra trên tải: 𝑣0 = 𝑖1 𝑅 − 𝑖2 𝑅 = 2𝑎𝑅𝑥(𝑡) + 4𝑏𝑅𝑥(𝑡)𝑐𝑜𝑠𝜔𝑐 𝑡

Tiń hiê ̣u điề u chế Tiń hiê ̣u DSB-SC

Tín hiệu điều chế được loại bỏ và tín hiệu thứ hai được phép truyền qua đầu ra bởi phần
bộ lọc băng thông LC.
Mô phỏng sử du ̣ng phầ n mề m Multisim với sơ đồ ma ̣ch như hình 3.8.

Hình 3.8 Sơ đồ ma ̣ch Multisim

Kế t quả mô phỏng đươ ̣c thể hiê ̣n qua dạng sóng trên Oscilloscope trên hình 3.9.

Hình 3.9 Da ̣ng sóng điề u chế DSB bằ ng ma ̣ch điêṇ tử

13
Điề u chế DSB – Nhóm 12
4 ĐIỀU CHẾ DSB VỚI KIT C5515

4.1 Kit TMS320C5515 eZDSP USB Stick


TMS320C5515 là bộ xử lý 16 bit có công suất thấp nhất trong ngành giúp tiết kiệm năng
lượng ở mức độ vượt trội và cho phép thời lượng pin lâu hơn. Với hiệu suất 240 MIPS, bộ
nhớ trên chip lên tới 320KB, tích hợp cao hơn (bao gồm bộ tăng tốc phần cứng để tính toán
FFT) so với các thiết bị có thể so sánh với giá cạnh tranh, C5515 cung cấp nền tảng cho một
loạt các ứng dụng xử lý tín hiệu, bao gồm máy ghi âm, nhạc dụng cụ, giải pháp y tế di động
và các thiết bị điện tử tiêu dùng khác trong các ứng dụng công nghiệp và an ninh.

Mô ̣t số chi tiế t quan tro ̣ng của C5515 đươ ̣c thể hiê ̣n trên hiǹ h 4.1.

Hình 4.1 Mô ̣t số chi tiế t quan tro ̣ng của C5515

 Bô ̣ xử lí tín hiê ̣u số DSP TMS320C5515.


 Cổ ng USB để kế t nố i với máy tính, nhằ m na ̣p chương trình điề u khiể n viế t trong CCS
cũng như cấ p điện.
 Màn hiǹ h OLED I2C.
 AIC3204 codec với mô ̣t đường vào stereo in và mô ̣t đường ra stereo out.
 5 đèn LED màu điề u khiển đươ ̣c.
 2 nút nhấn có thể nhâ ̣n tín hiệu.
 ...

14
Điề u chế DSB – Nhóm 12
4.2 Sơ đồ điề u chế DSB bằ ng C5515
Sơ đồ kết nối kit C5515 với PC đươ ̣c thể hiện trên hiǹ h 4.2.

Hình 4.2 Sơ đồ kết nối kit C5515 với PC

Kết nối giữa PC với C5515 thông qua cáp USB. Đầ u Speaker của PC đươ ̣c kế t nố i với
cổng Stereo In của C5515 và ngươ ̣c lại, cổ ng Stereo Out của C5515 sẽ đươ ̣c kế t nố i với cổ ng
Mic trên PC.

Chương triǹ h đươ ̣c viết trên PC thông qua CCS sẽ đươ ̣c na ̣p vào C5515 qua cổ ng USB.
Chương trình này sẽ điề u khiể n AIC3204 codec nhâ ̣n tiń hiê ̣u analog từ cổ ng Stereo In
chuyển sang tiń hiê ̣u digital và điều khiể n DSP xử lí tiń hiê ̣u này. Sau đó nó sẽ biế n đổ i tiń
hiê ̣u đươ ̣c xử lí trở la ̣i tiń hiê ̣u analog và xuấ t ra cổ ng Stereo Out.

PC sử du ̣ng phầ n mề m Tone Generator để xuấ t tiń hiê ̣u analog qua cổ ng Speaker và nhâ ̣n
la ̣i tiń hiệu xử lí từ cổ ng Mic, sau đó dùng phầ n mề m Soundcard Oscilloscope để nhận diê ̣n
kế t quả.

Giải thuật điều chế DSB được thể hiện trên sơ đồ sau:

15
Điề u chế DSB – Nhóm 12

Hình 4.3 Giải thuật điều chế DSB bằng kit C5515

Hình ảnh thực tế kế t nối kit C5515 với máy tính:

Hình 4.4 Kế t nố i C5515 với máy tính

4.3 Lập trin


̀ h cho C5515
Chương triǹ h sử du ̣ng các thư viện có sẵn đươ ̣c cung cấ p bởi Texas Instruments bao gồ m:
usbstk5515.h, aic3204.h, sinewaves.h. Nô ̣i dung của chương triǹ h chiń h (main.c) như sau:

#include "stdio.h"
#include "usbstk5505.h"
#include "aic3204.h"
#include "PLL.h"
#include "sinewaves.h"

Int16 left_input;
Int16 right_input;
Int16 left_output;

16
Điề u chế DSB – Nhóm 12
Int16 right_output;

#define SAMPLES_PER_SECOND 48000


#define GAIN_IN_dB 0
#define Amp 0.8
unsigned long int i = 0;

static int DSB( int input1, int fc)


{
signed long result;
Int16 carrierwave;
carrierwave = generate_sinewave(fc, 32767); // fc sinewave of amplitude
//1.000=32767
result = Amp * ( ( (long) input1 * carrierwave) >> 15);
return ( (int) result);
}
/* ----------------------------------------------------------------------*
* *
* main( ) *
* *
* ----------------------------------------------------------------------*/
extern Int16 oled_test();
void main( void )
{
/* Initialize BSL */
USBSTK5505_init( );

/* Initialize the Phase Locked Loop in EEPROM */


pll_frequency_setup(100);

/* Initialise hardware interface and I2C for code */


aic3204_hardware_init();

/* Initialise the AIC3204 codec */


aic3204_init();

/* Set sampling frequency in Hz and ADC gain in dB */


set_sampling_frequency_and_gain(SAMPLES_PER_SECOND, GAIN_IN_dB);
oled_test();
printf("\nDieu che DSB\n\n");
printf( "Song mang hinh sin tan so fc = 5kHz, song vao hinh sin tan so
500Hz tao boi Tone Generator.\n\n" );

asm(" bclr XF");

for ( i = 0 ; i < SAMPLES_PER_SECOND * 600L ;i++ )


{
aic3204_codec_read(&left_input, &right_input); // Configured for one
// interrupt per two channels.
left_output = DSB(left_input, 5000);
right_output = left_input;
aic3204_codec_write(left_output, right_output);
}
/* Disable I2S and put codec into reset */
aic3204_disable();
printf( "\n***Ket thuc chuong trinh***\n" );
SW_BREAKPOINT;
}
Trong đó hàm generate_sinewave xác định trong file sinwaves.c, với nội dung như sau:

#include "tms320.h"

17
Điề u chế DSB – Nhóm 12
#include "dsplib.h"

signed int generate_sinewave(signed short int frequency,


signed short int amplitude)
{
short int sinusoid;
signed long result;
static short int count = 0;

/* Multiply frequency by scaling factor of 32767 / 48000 */

result = ( (long)frequency * 22368 ) >> 14 ;

if ( result > 32767)


{
result = 32767; /* Maximum value for highest frequency */
}
else if ( 0 == result)
{
result = 1; /* Minimum value for lowest fequency */
}
else if ( result < -32767)
{
result = -32767;
}

count += (short int) result;

/* Obtain sine of input */

sine ( &count, &sinusoid, 1);

if ( amplitude > 32767 )


{
amplitude = 32767; /* Range limit amplitude */
}

/* Scale sine wave to have maximum value set by amplitude */

result = ( (long) sinusoid * amplitude ) >> 15;

return ( (signed int ) result );


}
/**********************************************************************/
/* End of sinewaves.c */
/**********************************************************************/

Để hiển thị chữ ra màn hình oled, ta chèn thêm thư viện lcd.h và file oled_test.c vào thư mục
project, với nội dung file oled_test.c như sau:

#include"usbstk5515.h"
#include"usbstk5515_i2c.h"
#include"usbstk5515_gpio.h"
#include"lcd.h"

#define OSD9616_I2C_ADDR 0x3C // OSD9616 I2C address

/* ----------------------------------------------------------------------*
* Int16 OSD9616_send( Uint16 comdat, Uint16 data ) *
* Sends 2 bytes of data to the OSD9616 *
* ----------------------------------------------------------------------*/
Int16 OSD9616_send( Uint16 comdat, Uint16 data )
{

18
Điề u chế DSB – Nhóm 12
Uint8 cmd[2];
cmd[0] = comdat & 0x00FF; // Specifies whether data is Command - 0
or Data
cmd[1] = data; // Command / Data

return USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, 2 );


}
/* ------------------------------------------------------------------------
*
* Int16 OSD9616_multiSend( Uint16 comdat, Uint16 data )
*
* Sends multiple bytes of data to the OSD9616
*
* ------------------------------------------------------------------------
*/
Int16 OSD9616_multiSend( Uint8* data, Uint16 len )
{
Uint16 x;
Uint8 cmd[10];
for(x=0;x<len;x++) // Command / Data
{
cmd[x] = data[x];
}
return USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, len );
}
/* ----------------------------------------------------------------------*
* Int16 oled_test() *
* Testing function for the OSD9616 display *
*------------------------------------------------------------------------*/
Int16 oled_test()
{
Int16 i; // Counter
Uint8 cmd[10]; // For multibyte commands

/* Initialize I2C */
USBSTK5515_I2C_init( );

/* Initialize LCD power */


USBSTK5515_GPIO_setDirection( 12, 1 ); // Output
USBSTK5515_GPIO_setOutput( 12, 1 ); // Enable 13V

/* Initialize OSD9616 display */


OSD9616_send(0x00,0x00); // Set low column address
OSD9616_send(0x00,0x10); // Set high column address
OSD9616_send(0x00,0x40); // Set start line address

cmd[0] = 0x00 & 0x00FF; // Set contrast control register


cmd[1] = 0x81;
cmd[2] = 0x7f;
USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, 3 );

OSD9616_send(0x00,0xa1); // Set segment re-map 95 to 0


OSD9616_send(0x00,0xa6); // Set normal display

cmd[0] = 0x00 & 0x00FF; // Set multiplex ratio(1 to 16)


cmd[1] = 0xa8;
cmd[2] = 0x0f;
USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, 3 );

OSD9616_send(0x00,0xd3); // Set display offset


OSD9616_send(0x00,0x00); // Not offset

OSD9616_send(0x00,0xd5); // Set display clock divide ratio/oscillator


frequency

19
Điề u chế DSB – Nhóm 12
OSD9616_send(0x00,0xf0); // Set divide ratio

cmd[0] = 0x00 & 0x00FF; // Set pre-charge period


cmd[1] = 0xd9;
cmd[2] = 0x22;
USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, 3 );

cmd[0] = 0x00 & 0x00FF; // Set com pins hardware configuration


cmd[1] = 0xda;
cmd[2] = 0x02;
USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, 3 );

OSD9616_send(0x00,0xdb); // Set vcomh


OSD9616_send(0x00,0x49); // 0.83*vref
cmd[0] = 0x00 & 0x00FF; //--set DC-DC enable
cmd[1] = 0x8d;
cmd[2] = 0x14;
USBSTK5515_I2C_write( OSD9616_I2C_ADDR, cmd, 3 );

OSD9616_send(0x00,0xaf); // Turn on oled panel


/* Fill page 0 */
OSD9616_send(0x00,0x00); // Set low column address
OSD9616_send(0x00,0x10); // Set high column address
OSD9616_send(0x00,0xb0+0); // Set page for page 0 to page 5
for(i=0;i<128;i++){OSD9616_send(0x40,0xff);} //
/* Write to page 0 */
OSD9616_send(0x00,0x00); // Set low column address
OSD9616_send(0x00,0x10); // Set high column address
OSD9616_send(0x00,0xb0+0); // Set page for page 0 to page 5

for(i=0;i<23;i++){OSD9616_send(0x40,0x00);}

OSD9616_send(0x40,0x70);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x70);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x00); // m

OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x54);
OSD9616_send(0x40,0x54);
OSD9616_send(0x40,0x20);
OSD9616_send(0x40,0x00); // a

OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x0E);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // N

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x00); // .

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // L

OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x00); // -

20
Điề u chế DSB – Nhóm 12
OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x54);
OSD9616_send(0x40,0x54);
OSD9616_send(0x40,0x20);
OSD9616_send(0x40,0x00); // a

OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x48);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x00); // o

OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // h

OSD9616_send(0x40,0x41);
OSD9616_send(0x40,0x22);
OSD9616_send(0x40,0x14);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // K

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x3e);
OSD9616_send(0x40,0x41);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x00); // D.

OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x00); // -

OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // h

OSD9616_send(0x40,0x70);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x00); // n

OSD9616_send(0x40,0x7e);
OSD9616_send(0x40,0x09);
OSD9616_send(0x40,0x09);
OSD9616_send(0x40,0x7e);
OSD9616_send(0x40,0x00); // A

OSD9616_send(0x40,0x46);
OSD9616_send(0x40,0x05);
OSD9616_send(0x40,0x05);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // P.

OSD9616_send(0x40,0x00);
OSD9616_send(0x40,0x00); // Spaces

OSD9616_send(0x40,0x14);
OSD9616_send(0x40,0x00); // :

OSD9616_send(0x40,0x4f);

21
Điề u chế DSB – Nhóm 12
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x79);
OSD9616_send(0x40,0x00); // 2

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x42);
OSD9616_send(0x40,0x00); // 1

OSD9616_send(0x40,0x00);
OSD9616_send(0x40,0x00); // Spaces

OSD9616_send(0x40,0x70);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x70);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x00); // m

OSD9616_send(0x40,0x31);
OSD9616_send(0x40,0x4A);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x00); // o'

OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // h

OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x0E);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // N

/* Fill page 1*/


OSD9616_send(0x00,0x00); // Set low column address
OSD9616_send(0x00,0x10); // Set high column address
OSD9616_send(0x00,0xb0+1); // Set page for page 0 to page 5
for(i=0;i<128;i++){OSD9616_send(0x40,0xff);}
/* Write to page 1*/
OSD9616_send(0x00,0x00); // Set low column address
OSD9616_send(0x00,0x10); // Set high column address
OSD9616_send(0x00,0xb0+1); // Set page for page 0 to page 5

for(i=0;i<5;i++){OSD9616_send(0x40,0x00);}

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // L

OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x0E);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // N

OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x08); // -

OSD9616_send(0x40,0x01);

22
Điề u chế DSB – Nhóm 12
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x01);
OSD9616_send(0x40,0x01);
OSD9616_send(0x40,0x00); // T

OSD9616_send(0x40,0x1f);
OSD9616_send(0x40,0x60);
OSD9616_send(0x40,0x60);
OSD9616_send(0x40,0x1f);
OSD9616_send(0x40,0x00); // V

OSD9616_send(0x40,0x39);
OSD9616_send(0x40,0x45);
OSD9616_send(0x40,0x47);
OSD9616_send(0x40,0x00); // 5

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x42);
OSD9616_send(0x40,0x00); // 1

OSD9616_send(0x40,0x06);
OSD9616_send(0x40,0x09);
OSD9616_send(0x40,0x09);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // P

OSD9616_send(0x40,0x1f);
OSD9616_send(0x40,0x60);
OSD9616_send(0x40,0x60);
OSD9616_send(0x40,0x1f);
OSD9616_send(0x40,0x00); // V

OSD9616_send(0x40,0x10);
OSD9616_send(0x40,0x28);
OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x00); // p

OSD9616_send(0x40,0x35);
OSD9616_send(0x40,0x4A);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x00); // o'

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // L

OSD9616_send(0x40,0x00);
OSD9616_send(0x40,0x00); // Spaces

OSD9616_send(0x40,0x36);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // B

OSD9616_send(0x40,0x32);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x26);
OSD9616_send(0x40,0x00); // S

23
Điề u chế DSB – Nhóm 12
OSD9616_send(0x40,0x3e);
OSD9616_send(0x40,0x41);
OSD9616_send(0x40,0x41);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // D

OSD9616_send(0x40,0x01);
OSD9616_send(0x40,0x02);

OSD9616_send(0x40,0x14);
OSD9616_send(0x40,0x5a);
OSD9616_send(0x40,0x5a);
OSD9616_send(0x40,0x34);
OSD9616_send(0x40,0x00); // e'

OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x7F);
OSD9616_send(0x40,0x00); // h

OSD9616_send(0x40,0x48);
OSD9616_send(0x40,0x48);
OSD9616_send(0x40,0x48);
OSD9616_send(0x40,0x30);
OSD9616_send(0x40,0x00); // c

OSD9616_send(0x40,0x00); // Space

OSD9616_send(0x40,0x78);
OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x3a); // u

OSD9616_send(0x40,0x01);
OSD9616_send(0x40,0x14);
OSD9616_send(0x40,0x5a);
OSD9616_send(0x40,0x5a);
OSD9616_send(0x40,0x34);
OSD9616_send(0x40,0x00); // e`

OSD9616_send(0x40,0x7A);
OSD9616_send(0x40,0x00); // i

OSD9616_send(0x40,0x3e);
OSD9616_send(0x40,0x41);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x00); // D.

OSD9616_send(0x40,0x14); // :

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x42);
OSD9616_send(0x40,0x00); // 1

OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x49);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // 8

OSD9616_send(0x40,0x40);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x42);

24
Điề u chế DSB – Nhóm 12
OSD9616_send(0x40,0x00); // 1

OSD9616_send(0x40,0x41);
OSD9616_send(0x40,0x22);
OSD9616_send(0x40,0x14);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // K

OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x08);
OSD9616_send(0x40,0x7f);
OSD9616_send(0x40,0x00); // H
/* Set vertical and horizontal scrolling */
cmd[0] = 0x00;
cmd[1] = 0x29; // Vertical and Right Horizontal Scroll
cmd[2] = 0x00; // Dummy byte
cmd[3] = 0x00; // Define start page address
cmd[4] = 0x03; // Set time interval between each scroll step
cmd[5] = 0x01; // Define end page address
cmd[6] = 0x01; // Vertical scrolling offset
OSD9616_multiSend( cmd, 7 );
OSD9616_send(0x00,0x2f); // Deadactive scrolling - 2e
/* Keep first 8 rows from vertical scrolling */
cmd[0] = 0x00;
cmd[1] = 0xa3; // Set Vertical Scroll Area
cmd[2] = 0x1f; // Set No. of rows in top fixed area
cmd[3] = 0x1f; // Set No. of rows in scroll area
OSD9616_multiSend( cmd, 4 );
return 0;
}
Chương trình đo ̣c tiń hiê ̣u vào nhờ AIC3204 codec, ta ̣o sóng mang sin nhờ thư viê ̣n
sinewaves.h, điề u chế tín hiệu DSB bằng cách nhân giá trị sóng mang với tín hiệu vào.
Chương triǹ h trả lại tín hiê ̣u qua AIC3204.

Kết quả mô phỏng được thể hiện trên hiǹ h (channel 1: tín hiê ̣u điề u chế , channel 2: tín
hiê ̣u ngõ vào – đươ ̣c ta ̣o bởi Tone Generator: tín hiê ̣u hiǹ h Sine 500Hz):

Hình 4.5 Da ̣ng sóng điề u chế DSB

Phổ tầ n số của tín hiê ̣u điề u chế :

25
Điề u chế DSB – Nhóm 12

Hình 4.6 Phổ tầ n số tín hiê ̣u DSB


Kết quả hình ảnh hiển thị trên màn hình OLED lcd:

Hình 4.7 Kết quả hiển thị OLED lcd

Để kiểm so sánh kết quả với mô phỏng bằng MATLAB, nhóm thực hiện lưu tín hiệu
output từ cổng Stereo của kit bằng Voice Recoder, file âm thanh lưu dưới tên Recording.m4a.
Sử dụng hàm MATLAB dưới đây để nhận dạng sóng kết quả điều chế từ kit:

function wave = pjwaveplot( filename,ini, timelimit )


% Plot signal wave in time and frequency domain

[wavein,fs] = audioread(filename);
wave = wavein(:,1);
t=0:1/fs:(length(wave)-1)/fs;

26
Điề u chế DSB – Nhóm 12
figure('Name','Signal wave in time domain','NumberTitle','off');
plot(t,wave);
xlim([ini timelimit]);
xlabel('Time (s)') ;
ylabel('Signal') ;
grid;

n=length(wave)-1;
f=0:fs/n:fs;
wavefft=abs(2*fft(wave)/length(wave));
figure('Name','Signal wave in frequency domain','NumberTitle','off');
plot(f,wavefft);
xlabel('Frequency (Hz)')
xlim([0,10000]);
ylabel('Amplitude')
grid;

end

Copy file Recording.m4a vào thư mục chứa file pjwaveplot.m, gọi lệnh bằng cú pháp:

pjwaveplot(‘Recording.m4a’,0.4,0.405)

Kết quả đọc file bằng MATLAB cho bởi hình dưới:

Hình 4.8 Dạng sóng tín hiệu điều chế DSB

27
Điề u chế DSB – Nhóm 12

Hình 4.9 Phổ tần số tín hiệu điều chế DSB

5 KẾT LUẬN
Kế t quả tiń h toán trên MATLAB và mô phỏng, kế t quả điề u chế trên TMS320C5515 eZDSP
USB Stick là phù hợp với kế t quả tính toán lý thuyế t với sai số không đáng kể , phát sinh do
viê ̣c lấ y mẫu rời ra ̣c và sai sót của thiế t bi.̣

Qua quá trình thực hiê ̣n đề tài, nhóm đã củng cố đươ ̣c kiế n thức về điề u chế tiń hiê ̣u DSB
và bổ sung thêm kiến thức về tiń h toán mô phỏng trên MATLAB, mô phỏng bằng Multisim
và lâ ̣p trình cho DSP.

28
Điề u chế DSB – Nhóm 12
6 TÀ I LIỆU THAM KHẢO
[1] Carlson A.B., Crilly P.B., Rutledge J.C. (2001). Communication Systems. McGraw-
Hill
[2] Simon Haykin (2001). Communication Systems. John Wiley & Sons Inc.
[3] R. E. Ziemer, W. H. Tranter (2008). Principles of Communications. Wiley.
[4] Faruque, S. (2017). Radio Frequency Modulation Made Easy. Springer.
[5] Fernando A. Mujica, William J. Esposito, Alex Gonzalez, Charles R. Qi, Chris
Vassos, Maisy Wieman, Reggie Wilcox, Gregory T. A. Kovacs, & Ronald W. Schafer
(2015). TEACHING DIGITAL SIGNAL PROCESSING WITH STANFORD’S LAB-IN-
A-BOX. Department of Electrical Engineering, Stanford University.
[6] Jacob Fainguelernt (2008). From MATLAB and Simulink to Real-Timewith TI DSP’s.
OpenStax CNX
[7] Texas Instruments (2010). Texas Instruments University Programme, Teaching
Materials.

29

You might also like