You are on page 1of 57

Tài li u thí nghi m X lý s tín hi u

Tr ng i h c Tôn c Th ng
Khoa i n – i n T
B môn i n t - Vi n Thông

LÝ S TÍN HI U
u thí nghi m

n thông

1
Tài li u thí nghi m X lý s tín hi u

GI I THI U

Các b x lý s tín hi u c s d ng trong r t nhi u ng d ng th c t , t truy n


thông và i u khi n cho n x lý ti ng nói và hình nh... H u h t các thi t b gia
d ng hi n nay c ng tích h p các b x lý s tín hi u. Chúng c s d ng trong i n
tho i di ng, máy nh s , HDTV, radio, truy n fax, các modem, máy in, máy tr
thính và nhi u thi t b khác…
H th ng x lý s tín hi u c b n bao g m m t b bi n i A/D thu nh n tín hi u
vào. Sau ó, d ng bi u di n s c!a tín hi u vào s" c x lý b#i m t b x lý s tín
hi u và tín hi u ra c a qua b bi n i D/A. H th ng c b n này c ng bao g m
m t b l c ngõ vào ch ng ch ng l n ph và m t b l c ngõ ra khôi ph c tín hi u ã
x lý.
Trong các bài thí nghi m này, chúng ta c trang b kit TMS320C6713 c!a Texas
Instruments. Kit TMS320C6713 là m t công c m nh v$i các ph n c ng và ph n
m m c n thi t cho x lý tín hi u th i gian th c. Nó là m t h th ng x lý s tín hi u
hoàn ch%nh, bao g m m t b x lý s d u ch m ng C6713 và b codec 32-bit stereo
TLV320AIC23 (g i t t là AIC23) cho vi c xu t nh p tín hi u.
Qua các bài thí nghi m này, hi v ng các b n sinh viên s" hi u rõ thêm các khái ni m
ã h c trong môn X lý s tín hi u, c ng nh n m c các b $c c b n trong vi c
th c hi n m t ng d ng x lý s tín hi u lên m t b x lý s , nh chip C6713 c!a
Texas Instruments.

2
Tài li u thí nghi m X lý s tín hi u

BÀI 1: S D NG MATLAB THI T K B L CS

1. S D NG MATLAB THI T K B L CS
1.1 Thi t k b l c s b ng công c SPTool
SPTool là m t công c có giao di n t ng tác dùng cho x lý s tín hi u. Công c này
có th c s d ng phân tích tín hi u, thi t k các b l c, phân tích các b l c, l c
tín hi u và phân tích ph c!a tín hi u.
kh#i ng SPTool, t d u nh c l nh c!a MATLAB, nh p l nh
>> sptool
Khi ó, giao di n c!a SPTool s" xu t hi n nh sau:

Hình 1. Giao di n c a SPTool


Khi m$i m# SPTool, nó ch a m t t p h p các tín hi u, b l c và ph m&c nh. Trên
giao di n c!a SPTool, có 3 c t: Signals, Filters và Spectra. D $i m'i c t có các nút s
d ng cho c t ó. C t Signals hi n th các tín hi u, c t Filters hi n th các b l c và c t
Spectra hi n th các ph trong workspace (vùng làm vi c) c!a SPTool.
Các tín hi u, b l c ho&c ph trong workspace c!a MATLAB có th c a vào
SPTool b(ng l nh Import trong menu File c!a SPTool. Các tín hi u, b l c ho&c ph
c t o ra ho&c c import vào SPTool t n t i d $i d ng các c u trúc c!a MATLAB.
l u l i các tín hi u, b l c và ph ã t o ra ho&c ch%nh s a trong SPTool, s d ng
l nh Export trong menu File, chúng c ng s" c l u l i d $i d ng các c u trúc
MATLAB.
b t u thi t k m t b l c m$i, các b n hãy nh n vào nút New ngay d $i c t
Filter. Khi ó, giao di n Filter Designer dùng thi t k b l c nh sau s" xu t hi n.
Filter Designer cung c p m t môi tr ng h a t ng tác thi t k các b l c s IIR
ho&c FIR d a trên các tiêu chu)n do ng i dùng xác nh.
- Các lo i b l c có th thi t k : Thông th p, thông cao, thông d i, ch n d i.
- Các ph ng pháp thi t k b l c FIR: Equiripple, Least squares, Window

3
Tài li u thí nghi m X lý s tín hi u

- Các ph ng pháp thi t k b l c IIR: Butterworth, Chebyshev lo i I, Chebyshev


lo i II, Elliptic.

Hình 2. Giao di n Filter Designer

Ví d 1: Thi t k m t b l c FIR ch n d i b ng SPTool


B l c, c thi t k b(ng ph ng pháp c a s Kaiser, v$i các thông s sau:

Chi u dài c a áp ng xung: N = 89 (MATLAB hi n th b c b l c b ng 88)


T n s trung tâm: 2700 Hz
T n s c t: 2500 Hz và 2900 Hz
Giá tr c a β = 4
T n s l y m u 8000 Hz

Các b $c thi t k nh sau:


1. Kh#i ng SPTool. D $i c t Filters, nh n nút New m# c a s Filter Designer.
2. Trong giao di n c!a Filter Designer:
a. Trong text box Filter: Tên b l c c t &t (# ây là filt1). Tên này có th
thay i sau này.
b. Nh p các thông s thi t k vào:
i. Design method -> FIR -> Windows
ii. Option -> Windows -> Kaiser
iii. B* ch n # check box Minimum Order. (n u ch n thì s" thi t k b l c
có b c t i thi u).

4
Tài li u thí nghi m X lý s tín hi u

iv. Filter Order = 88, Respone Type = Bandstop, Fc1 = 2500, Fc2 = 2900,
Beta = 4
c. Nh n Design Filter. Khi ó áp ng t n s c!a b l c thi t k s" c hi n th .

Hình 3. áp ng t n s c a b l c ã thi t k
3. Tr# v c a s SPTool, trong c t Filters s" xu t hi n thêm m t dòng filt1 [design].
ây chính là b l c v a thi t k . Sau này, n u mu n s a i thi t k , ch n l i tên
b l c và nh n nút Edit # phía d $i. d nh$, ta s" thay i tên b l c trên
thành bs2700 b(ng cách ch n Edit Name… filt1 [design]. Trong c a s m$i
xu t hi n, nh p tên m$i.
Khi thi t k m t b l c FIR nh trên, k t qu mà ta c n nh n c sau khi thi t k là
các giá tr c!a vector áp ng xung h c!a b l c thi t k . l y các giá tr c!a vector
áp ng xung, ta th c hi n nh sau:
1. T c a s SPTool, ch n File Export… Trong Export list xu t hi n, ch n
Filter: bs2700 [design] r i nh n nút Export to workspace
2. óng c a s SPTool l i. M t thông báo xu t hi n h*i có mu n l u l i phiên làm
vi c hi n t i hay không. N u mu n l u l i, ch n Save.
3. M# c a s Workspace c!a MATLAB, ta s" th y trong workspace s" xu t hi n
bi n m$i là bs2700. ây chính là b l c mà ta ã thi t k trong SPTool và xu t ra
workspace c!a MATLAB. Bi n này c l u d $i d ng m t c u trúc mô t b
l c ã thi t k . Nh n úp chu t vào tên bi n bs2700 trong workspace, ta s" th y
c các field c!a c u trúc này nh sau:

5
Tài li u thí nghi m X lý s tín hi u

Hình 4. Các field c a bs2700


4. Trong các field này, field tf th hi n hàm truy n c!a b l c. Field này c ng là m t
c u trúc g m 2 field: tf.num và tf.den th hi n t ng ng các h s c!a a th c
t s và a th c m+u s . i v$i b l c FIR, hàm truy n ch% có t s và các h s
c!a t s chính là áp ng xung c!a b l c. Do ó, v$i b l c trên, các giá tr c!a
vector áp ng xung c l u trong bs2700.tf.num. Trong c a s Array Editor
trên, l n l t nh n úp vào field tf r i nh n úp vào num, ta s" th y các h s áp
ng xung c!a b l c. gán các h s này vào m t vector h, trong MATLAB có
th dùng l nh sau:
>> h = bs2700.tf.num

Hình 5. Vector áp ng xung c a b l c ã thi t k

Các giá tr thu c c!a vector áp ng xung s" c s d ng th c hi n b l c s


lên trên kit DSP.

Ví d 2: Thi t k b l c IIR ch n d i b ng SPTool


S d ng ph ng pháp Elliptic thi t k m t b l c IIR ch n d i b c 10, t n s trung
tâm 1750Hz. Chú ý r(ng MATLAB hi n th b c b l c là 5, bi u di n s ph n b c 2 c!a
b l c. ( i u này úng v i các b l c IIR thông d i và ch n d i)

6
Tài li u thí nghi m X lý s tín hi u

Các thông s c!a b l c này nh sau.


T n s c t: 1700 Hz và 1800 Hz
g n d i thông và d i ch n t ng ng là 1 dB và 60 dB
T n s l y m u: 8000 Hz

Th c hi n t ng t nh ví d trên, l u b l c thi t k v$i tên bs1750 và xu t ra


workspace. Trong workspace s" có m t c u trúc tên là bs1750. Các h s t s và m+u
s c!a hàm truy n c l u t ng ng trong các bi n bs1750.tf.num và bs1750.tf.den.

Hình 6. áp ng t n s c a b l c IIR ã thi t k

D ng c c – zero c!a m t hàm truy n H(z) nh sau:

H ( z) = k
(z − z1 )(z − z 2 )...(z − z n )
(z − p1 )(z − p2 )...(z − pm )
Hàm truy n trên có th c vi t l i nh sau:
L L
b0 k + b1k z −1 + b2 k z −2
H ( z ) = g ∏ H k (z ) = g ∏ −1
k =1 k =1 1 + a1k z + a2 k z −2
V$i L là s nguyên g n nh t l$n h n c c i c!a n/2 và m/2.
Trong MATLAB, các ph n b c 2 c!a H(z) c l u trong 1 ma tr n nh sau:

7
Tài li u thí nghi m X lý s tín hi u

b01 b11 b21 1 a11 a21


b02 b12 b22 1 a12 a 22
sos =

b0 L b1L b2 L 1 a1L a2 L
T các h s t và m+u # trên, ta s" chuy n thành d ng các ph n b c hai b(ng các l nh
sau:

>> [z,p,k] = tf2zp(bs1750.tf.num, bs1750.tf.den)


>> sos = zp2sos(z,p,k)
Các ph n t c!a ma tr n sos này s" c s d ng th c hi n b l c IIR này lên kit
DSP.

1.2 Thi t k b l c b ng l nh c a MATLAB


Bên c nh vi c s d ng công c SPTool thi t k b l c nh trên, MATLAB c ng có
m t s l nh có th s d ng thi t k b l c. Các l nh này có th c s d ng khi
thi t k m t s lo i b l c mà SPTool không có s,n, ví d nh các b l c multiband.

Ví d 1: Thi t k b l c FIR multiband b ng các l nh MATLAB


Trong ví d này, chúng ta s" thi t k m t b l c FIR multiband g m 63 h s . T n s
l y m+u là 10 kHz. Chúng ta s d ng hàm remez c!a MATLAB. Hàm remez s d ng
gi i thu t Parks – McClellan d a trên gi i thu t Remez và lý thuy t x p x% Chebyshev.
B l c c n thi t k có áp ng t n s nh sau:

1.2

0.8

0.6

0.4

0.2

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

Hình 7. áp ng t n s c a b l c multiband FIR c n thi t k

B l c mong mu n có 2 d i thông, c bi u di n b#i 5 d i nh sau:


D i T n s (Hz) T n s chu n hóa f/FN Biên
1 0 – 500 0 – 0.1 0

8
Tài li u thí nghi m X lý s tín hi u

2 600 – 900 0.12 – 0.18 1


3 1000 – 1500 0.2 – 0.3 0
4 1600 – 1900 0.32 – 0.38 1
5 2000 – 5000 0.4 – 1 0
Trong ó FN là t n s Nyquist, b(ng ½ t n s l y m+u.
Chúng ta vi t m t file .m thi t k b l c này, l u l i v$i tên multibandfir63.m
N i dung c!a file này nh sau:
%multibandfir63.m: Multiband FIR filter with 63 coefficients
f = [0 0.1 0.12 0.18 0.2 0.3 0.32 0.38 0.4 1];
m = [0 0 1 1 0 0 1 1 0 0];
n = 63;
cof = remez(n-1,f,m);

% frequency response with 256 points


[h w] = freqz(cof,1,256);
% plot magnitude of the filter
plot(5000*f,m);
figure;
plot(w/pi,abs(h));

Trong o n ch ng trình trên, có m t s l u ý:


- Dòng l nh cof = remez(n-1,f,m) tr v vector h s c!a b l c FIR b c n – 1, v$i
f và m xác nh các d i t n s theo b ng # trên.
- L nh freqz tính áp ng t n s c!a b l c
- L nh plot th nh t v" áp ng t n s mong mu n d a trên f và m.
- L nh figure t o ra m t c a s m$i và l nh plot th hai v" áp ng t n s c!a b
l c ã thi t k c lên c a s m$i này.
- ây, k t qu c!a quá trình thi t k mà ta c n nh n c chính là các h s ch a trong
bi n cof. Chúng c s d ng khi th c hi n b l c lên trên kit DSP.
Ví d 2: Thi t k b l c IIR multiband b ng các l nh c a MATLAB
Trong thí nghi m này, chúng ta thi t k m t b l c IIR multiband có áp ng mong
mu n nh b l c # ví d 1. T n s l y m+u c ng là 10 kHz.
Các b $c thi t k gi ng nh trên v$i n i dung file multibandiir63.m dùng thi t k
nh sau:
%multibandiir63.m: Multiband IIR filter with 63
coefficients
f = [0 0.1 0.12 0.18 0.2 0.3 0.32 0.38 0.4 1];
m = [0 0 1 1 0 0 1 1 0 0];
n = 63;
[num, den] = yulewalk(n-1,f,m);

% frequency response with 256 points


[h w] = freqz(num,den,256);

9
Tài li u thí nghi m X lý s tín hi u

% plot magnitude of the filter


plot(5000*f,m);
figure;
plot(w/pi,abs(h));

Trong o n ch ng trình trên, l u ý:


- L nh remez c thay b(ng l nh yulewalk dùng thi t k b l c IIR. L nh này
tr v các h s c!a t s và m+u s c!a hàm truy n b l c, c ch a t ng ng
trong bi n num và den.
- L nh freqz c s a i v" áp ng t n s c!a b l c IIR ã thi t k .
Các giá tr c!a num và den c s d ng khi c n th c hi n b l c này lên kit DSP.

10
Tài li u thí nghi m X lý s tín hi u

BÀI 2: S D NG KIT X LÝ S C6713 DSK (DSP STARTER KIT)


1.3 Kit C6713 DSK
Kit DSK là m t h th ng DSP hoàn ch%nh. Board DSK bao g m b x lý s d u ch m
ng C6713 và b codec 32 bit stereo TLV320AIC23 (AIC23) xu t nh p. B codec
onboard AIC23 s d ng k. thu t sigma – delta bi n i A/D và D/A. Nó ck t
n i v$i m t ng h h th ng 12 – MHz. T n s l y m+u có th thay i t 8 n 96
KHz.
Board DSK bao g m 16MB SDRAM và 256kB Flash memory. B n jack c m trên boad
cho phép xu t nh p: MIC IN (microphone input), LINE IN (line input), LINE OUT
(line output) và HEADPHONE (headphone output). Tr ng thái c!a 4 dip switch trên
DSK có th c c t ch ng trình. DSK ho t ng # t n s 225 MHz. Trên board
DSK c ng bao g m các n áp cung c p 1.26V cho nhân C6713 và 3.3V cho b nh$ và
các ngo i vi.
B x lý TMS320C6713 d a trên ki n trúc VLIW (very-long-instruction-word), phù
h p cho các gi i thu t n&ng v tính toán s . B nh$ ch ng trình n i c t ch c
m'i chu k/ có th n p 8 l nh (instruction), m'i instruction dài 32 bit.
Các b x lý C67xx (ví d C6701, C6711 và C6713) thu c v h các b x lý C6x d u
ch m ng, trong khi ó C62xx và C64xx thu c v h các b x lý C6x d u ch m t0nh.
C6713 có th x lý c d u ch m ng và d u ch m t0nh.

Hình 8. S kh i c a DSK

1.4 Code Composer Studio (CCS)


CCS là m t môi tr ng phát tri n tích h p (IDE). CCS cung c p các công c sinh mã,
nh m t b biên d ch C, m t ch ng trình assembler và m t ch ng trình linker. Nó có
kh n1ng h a và h' tr real-time debug. Nó cung c p m t công c ph n m m thu n
ti n cho vi c xây d ng và s a l'i ch ng trình.
Trình d ch C s" d ch ch ng trình ngu n vi t b(ng C (t p tin có ki u .c) t o thành
m t t p tin ngu n assembly (ki u .asm). Trình assembler s" t o ra các t p tin i t ng
ngôn ng2 máy (.obj) t các t p tin .asm. Trình linker s" k t h p các t p tin i t ng và
các th vi c i t ng t o ra m t t p tin th c thi v$i ki u .out. T p tin th c thi này
có th c n p và ch y tr c ti p trên b x lý C6713.

11
Tài li u thí nghi m X lý s tín hi u

t o m t project, ng i dùng có th thêm vào các t p tin phù h p. Các tùy ch n v


compiler/linker có th xác nh d dàng. M t s tính n1ng debug có s,n, nh &t các
breakpoint và xem các bi n; xem b nh$, các thanh ghi và tr n C v$i assembly code;
các k t qu h a; và theo dõi th i gian th c thi.
Chúng ta s" làm vi c v$i m t vài ki u t p tin khác nhau, bao g m:
1. file.pjt: t o và xây d ng m t project có tên là “file”
2. file.c: ch ng trình ngu n vi t b(ng C
3. file.asm: ch ng trình ngu n b(ng ngôn ng2 assembly, c t o b#i ng i dùng
ho&c b#i b d ch C.
4. file.h: t p tin header
5. file.lib: t p tin th vi n
6. file.cmd: t p tin l nh c!a linker, ánh x các section vào b nh$
7. file.obj: t p tin i t ng c t o ra b#i assembler
8. file.out: t p tin th c thi c t o ra b#i linker n p và ch y trên b x lý C6713

1.5 Các t p tin h tr!


Các t p tin h' tr sau c ch a trong folder
C:\CCStudio_v3.1\myprojects\source\support (tr các t p tin th vi n) c s d ng
trong h u h t các bài thí nghi m.
1. C6713dskinit.c: ch a các hàm kh#i ng DSK, codec, các c ng n i ti p và
xu t nh p. T p tin này không c bao g m v$i CCS.
2. C6713dskinit.h: t p tin header ch a các prototype c!a các hàm.
3. C6713dsk.cmd: T p tin l nh linker. T p tin này có th c s a i khi s d ng
b nh$ ngoài thay cho b nh$ trong.
4. vectors_intr.asm: m t t p tin vector bao g m trong CCS ã c s a i qu n
lý ng t. Có 12 ng t, t INT4 n INT15, và ng t 11 c ch n trong t p tin này.
Chúng c dùng cho các ch ng trình có s d ng ng t.
5. vectors_poll.asm: t p tin vector cho các ch ng trình h*i vòng (polling)
6. rts6700.lib, dsk6713bsl.lib, csl6713.lib: T p tin th vi n h' tr run – time, board
và chip. Các t p tin này c cung c p v$i CCS và c ch a trong các folder
C6000\cgtools\lib, C6000\dsk6713\lib và C6000\csl\lib m t cách t ng ng.
(Th m c C6000 n(m trong th m c cài &t c!a CCS, m&c nh là
C:\CCStudio_v3.1\)

1.6 Các ví d l p trình trên DSK


Sau ây là m t s ví d l p trình minh h a cho m t s &c tính c!a CCS và board
DSK. M c tiêu chính là làm quen v$i các công c ph n m m và ph n c ng.
Ví d 1: T"o tín hi u hình sine
Ví d này t o ra m t tín hi u hình sine b(ng ph ng pháp tra b ng. Quan tr ng h n, nó
minh h a vài &c tính c!a CCS trong hi u ch%nh, xây d ng m t project, s d ng các
công c sinh mã và ch y m t ch ng trình trên b x lý C6713. Ch ng trình ngu n
tone.c th c hi n vi c t o sóng sine có n i dung nh d $i ây.
#include "tonecfg.h"

/*

12
Tài li u thí nghi m X lý s tín hi u

* The 6713 DSK Board Support Library is divided into several


modules, each
* of which has its own include file. The file dsk6713.h must be
included
* in every program that uses the BSL. This example also includes
* dsk6713_aic23.h because it uses the AIC23 codec module.
*/
#include "dsk6713.h"
#include "dsk6713_aic23.h"

/* Length of sine wave table */


#define SINE_TABLE_SIZE 96

/* Codec configuration settings */


DSK6713_AIC23_Config config = {
0x0017, // 0 DSK6713_AIC23_LEFTINVOL Left line input channel
volume
0x0017, // 1 DSK6713_AIC23_RIGHTINVOL Right line input channel
volume
0x00d8, // 2 DSK6713_AIC23_LEFTHPVOL Left channel headphone
volume
0x00d8, // 3 DSK6713_AIC23_RIGHTHPVOL Right channel headphone
volume
0x0011, // 4 DSK6713_AIC23_ANAPATH Analog audio path control
0x0000, // 5 DSK6713_AIC23_DIGPATH Digital audio path control
0x0000, // 6 DSK6713_AIC23_POWERDOWN Power down control
0x0043, // 7 DSK6713_AIC23_DIGIF Digital audio interface
format
0x0001, // 8 DSK6713_AIC23_SAMPLERATE Sample rate control
0x0001 // 9 DSK6713_AIC23_DIGACT Digital interface activation
};

/* Pre-generated sine wave data, 16-bit signed samples */


Int16 sinetable[SINE_TABLE_SIZE] = {
0x0000, 0x10b4, 0x2120, 0x30fb, 0x3fff, 0x4dea, 0x5a81, 0x658b,
0x6ed8, 0x763f, 0x7ba1, 0x7ee5, 0x7ffd, 0x7ee5, 0x7ba1, 0x76ef,
0x6ed8, 0x658b, 0x5a81, 0x4dea, 0x3fff, 0x30fb, 0x2120, 0x10b4,
0x0000, 0xef4c, 0xdee0, 0xcf06, 0xc002, 0xb216, 0xa57f, 0x9a75,
0x9128, 0x89c1, 0x845f, 0x811b, 0x8002, 0x811b, 0x845f, 0x89c1,
0x9128, 0x9a76, 0xa57f, 0xb216, 0xc002, 0xcf06, 0xdee0, 0xef4c,
0x0000, 0x10b4, 0x2120, 0x30fb, 0x3fff, 0x4dea, 0x5a81, 0x658b,
0x6ed8, 0x763f, 0x7ba1, 0x7ee5, 0x7ffd, 0x7ee5, 0x7ba1, 0x76ef,
0x6ed8, 0x658b, 0x5a81, 0x4dea, 0x3fff, 0x30fb, 0x2120, 0x10b4,
0x0000, 0xef4c, 0xdee0, 0xcf06, 0xc002, 0xb216, 0xa57f, 0x9a75,
0x9128, 0x89c1, 0x845f, 0x811b, 0x8002, 0x811b, 0x845f, 0x89c1,
0x9128, 0x9a76, 0xa57f, 0xb216, 0xc002, 0xcf06, 0xdee0, 0xef4c
};

/*

13
Tài li u thí nghi m X lý s tín hi u

* main() - Main code routine, initializes BSL and generates tone


*/

void main()
{
DSK6713_AIC23_CodecHandle hCodec;
Int16 msec, sample;

/* Initialize the board support library, must be called first */


DSK6713_init();

/* Start the codec */


hCodec = DSK6713_AIC23_openCodec(0, &config);

/* Generate a 1KHz sine wave for 5 seconds */


for (msec = 0; msec < 5000; msec++)
{
for (sample = 0; sample < SINE_TABLE_SIZE; sample++)
{
/* Send a sample to the left channel */
while (!DSK6713_AIC23_write(hCodec, sinetable[sample]));

/* Send a sample to the right channel */


while (!DSK6713_AIC23_write(hCodec, sinetable[sample]));
}
}

/* Close the codec */


DSK6713_AIC23_closeCodec(hCodec);
}
T"o project
Ph n này s" minh h a cách t o m t project m$i, thêm các t p tin c n thi t biên d ch
project sine_graph.
1. Trong CCS, ch n Project New. Trong h p tho i t o Project, nh p tên project
là sine_graph, ch n ng d+n: C:\CCStudio_v3.1\Myprojects, Project Type là
Executable (.out), và Target là TMS320C67xx.

Hình 9. H p tho"i Project Creation

14
Tài li u thí nghi m X lý s tín hi u

CCS s" t t o ra m t th m c tên là sine_graph trong th m c


C:\CCStudio_v3.1\Myprojects.
2. Sau khi t o project, c n th c hi n các b $c config nh sau:
T o Source file: vào m c File -> New -> Source file…
Gõ l i ch ng trình sine_graph.c nh # trên và l u l i v$i tên sine_graph.c t i ng
d+n: C:\CCStudio_v3.1\Myprojects\sine_graph

B sung Source file v a t o vào project: Click ph i vào Source, ch n Add File to Project…
Ch n ng n n file sine_graph.c v a t o.

T ng t , ta b sung file dsk6713.gel t i ng d+n: C:\CCStudio_v3.1\cc\gel vào


Gel file
Và file tone.cdb t i ng d+n C:\CCStudio_v3.1\examples\dsk6713\bsl\tone vào
DSP/BIOS Config
Copy file tonecfg.h t i ng d+n C:\CCStudio_v3.1\examples\dsk6713\bsl\tone vào
th m c c!a project sine_graph

Ch n Project Scan All File Dependencies CCS t thêm vào các t p tin header.
Sau khi th c hi n các b $c trên, c a s Project View s" hi n th các t p tin ã c
thêm vào Project.
Xác #nh các tùy ch n $ biên d#ch ch% ng trình
15
Tài li u thí nghi m X lý s tín hi u

- b $c này, các tùy ch n CCS d ch ch ng trình ngu n thành t p tin th c thi s"
c thi t l p.
Option -> Customize -> Program/Project Load -> Check: Load Program After Build
Project -> Build Option -> Compiler -> Preprocessor -> Basic -> Target version:
C6710X (mv6710)
Project -> Build Option -> Linker -> Basic -> Output Module: Relocatable
Excutable (-ar)
Project -> Build Option -> Linker -> Basic -> Library Search Path (-i):
$(Install_dir)\c6000\dsk6713\lib
Project -> Build Option -> Linker -> Basic -> Include Libraries (-l): dsk6713bsl.lib
Project -> Build Option -> Compiler -> Preprocessor -> Include Search Path (i):
$(Install_dir)\c6000\dsk6713\include
Project -> Build Option -> Compiler -> Preprocessor -> Pre-Define Symbol (d):
_DEBUG;CHIP_6713

D#ch và ch"y ch% ng trình


Sau khi ã thi t l p các tùy ch n phù h p cho Compiler và Linker, chúng ta hãy ti n
hành biên d ch ch ng trình và n p lên trên kit ch y.
Nh n F7 Rebuild All và load xu ng Kit.
Sau ó nh n F5 ch y ch ng trình
C a s& Watch window
C a s Watch Window cho phép thay i giá tr c!a m t thông s ho&c theo dõi m t
bi n. Trong khi ch ng trình ang ch y và DIP Switch 0 ang c nh n. (L u ý dòng
ch2 DSP RUNNING trên thanh Status c!a CCS).
1. Ch n View Quick Watch window. Th ng c a s này hi n th # ph n bên
d $i c!a CCS. Nh p gain và nh n “Add to Watch”. Giá tr gain b(ng 10 ( ã c
&t trong ch ng trình) s" xu t hi n trong c a s Watch.
2. Thay i gain t 10 thành 30 trong c a s Watch r i nh n Enter. D ng sóng quan
sát s" thay i khi bi n gain thay i giá tr .

S d ng t p tin gain.gel
Trong ph n trên chúng ta ã c p n t p tin gain.gel. T p tin này t o m t giao di n
cho phép thay i bi n gain m t cách t ng tác khi ch ng trình ang ch y.
1. Tr $c h t, c n ph i n p t p tin này vào b(ng cách ch n File Load GEL và m#
t p tin gain.gel. Nh n úp chu t lên t p tin này trong c a s Project View xem
n i dung c!a nó.

/*gain.gel Create slider and vary amplitude (gain) of


sinewave*/
menuitem "Sine Gain"

16
Tài li u thí nghi m X lý s tín hi u

slider Gain(10,35,5,1,gain_parameter) /*incr by 5,up to


35*/
{
gain = gain_parameter; /*vary gain of sine*/
}
N i dung c!a t p tin gain.gel nh trên. Trong ó, hàm slider Gain c t o ra
hi n th thanh tr t. Thanh tr t này b t u t giá tr 10 và k t thúc # giá tr 35
và m'i m c t1ng là 5 n v .
2. Ch n GEL Sinde Gain Gain, c a s sau s" xu t hi n cho phép thay i giá
tr c!a bi n gain.

Hình 10. C a s& slider cho phép thay &i bi n gain


3. Nh n nút m i tên h $ng lên t1ng gain t 10 n 15 và quan sát d ng sóng sine
t o ra th y s thay i.

Thay &i t n s c a tín hi u sine t"o ra


T n s c!a tín hi u sine t o ra có th thay i b(ng m t trong các cách sau.
1. Thay i t n s l y m+u. Trong t p tin ngu n # trên, t n s l y m+u fs c gán
giá tr là DSK6713_AIC23_FREQ_8KHZ. Giá tr này là 1 h(ng s nguyên ã
c nh ngh0a s,n. B codec AIC h' tr các t n s l y m+u 8, 16, 24, 32, 44.1,
48 và 96kHz. Ví d , có tín hi u sine ra có t n s là 2kHz, c n t1ng t n s l y
m+u lên 16kHz b(ng cách &t fs=DSK6713_AIC23_FREQ_16KHZ.
2. Thay i s i m # trong b ng tra, ví d còn 4 i m thay vì 8 i m – ví d , {0,
1000, 0, -1000}. Khi ó c n thay i kích th $c c!a m ng sine_table và giá tr
bi n loop. Hãy ch ng minh r(ng t n s t o ra là f = fs/(s i m).
Hai thanh tr t có th c s d ng v a thay i gain, v a thay i t n s . Các t n
s tín hi u khác nhau có th t o ra b(ng cách thay i bi n loop trong ch ng trình (ví
d nh nh y cách m t i m l y m t i m).
L u ý r(ng v$i ch ng trình trên sóng sine ch% c t o ra khi DIP Switch 0 c
nh n. s d ng m t DIP Switch khác, ví d DIP Switch 3, trong ch ng trình ph i s
d ng các hàm DSK6713_DIP_get(3), DSK6713_LED_on(3) và DSK6713_LED_off(3).

Ví d 2: T"o tín hi u sine và v' v i CCS


Ví d này c ng t o ra m t tín hi u sine v$i 8 i m nh trong ví d 1 nh ng nó minh
h a kh n1ng v" d ng sóng trong mi n th i gian và mi n t n s c!a CCS. Ch ng trình
chính sine8_buf.c có n i dung nh sau:

//sine8_buf Sine generation. Output buffer plotted within CCS


#include "dsk6713_aic23.h" //codec-DSK support file
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; //set sampling rate
17
Tài li u thí nghi m X lý s tín hi u

int loop = 0; //table index


short gain = 10; //gain factor
short sine_table[8]={0,707,1000,707,0,-707,-1000,-707};
short out_buffer[256]; //output buffer
const short BUFFERLENGTH = 256; //size of output buffer
int i = 0; //for buffer count
interrupt void c_int11() //interrupt service routine
{
output_sample(sine_table[loop]*gain); //output sine values
out_buffer[i] = sine_table[loop]*gain; //output to buffer
i++; //increment buffer count
if(i==BUFFERLENGTH) i=0; //if @ bottom reinit count
if (++loop > 7) loop = 0; //check for end of table
return; //return from interrupt
}
void main()
{
comm_intr(); //init DSK, codec, McBSP
while(1); //infinite loop
}

Trong ch ng trình này, m t vùng m out_buffer có kích th $c 256 c s d ng


l u l i các d2 li u xu t ra.
Trong hàm main, comm_intr c g i. Hàm này n(m trong c6713dskinit.c h' tr
ch ng trình có dùng ng t. Phát bi u while(1) trong hàm main t o m t vòng l&p vô h n
ch ng t x y ra. Khi có xung l y m+u, ng t 11 x y ra và trình ph c v ng t (ISR –
interrupt service routine) c_int11 c g i. a ch% c!a ISR này c xác nh trong
t p tin vectors_intr.asm v$i m t ch% d+n r" nhánh n a ch% này, s d ng vector ng t
INT11.
Trong ISR này, hàm output_sample, ch a trong t p tin c6713dskinit.c, c g i xu t
ra d2 li u u tiên trong sine_table. Ch% s loop c t1ng cho n h t b ng r i l&p l i
t 0. M t b m ra ct o gi2 256 (xác nh b#i BUFFERLENGTH) m+u tín
hi u sine xu t ra.

Xây d(ng ch% ng trình


Hãy t o project sine8_buf.pjt và thêm các t p tin c n thi t nh trong ví d 1. L u ý r(ng
ch ng trình này s d ng ng t nên t p tin vectors_intr.asm c s d ng thay cho t p
tin vectors_polls.asm. T p tin sine8_buf.c c ch a trong th m c
C:\CCStudio_v1.3\myprojects\source\project_2.
Xác l p các tùy ch n nh trong ví d 1 và d ch ch ng trình. N p và ch y ch ng trình
trên kit và ki m tra r(ng có m t sóng sine 1KHz c t o ra.

V' v i CCS
B m ra c c p nh t liên t c m'i 256 i m. Sau ây CCS s" c s d ng v"
d2 li u ra hi n t i ch a trong b m out_buffer.

18
Tài li u thí nghi m X lý s tín hi u

1. Ch n View Graph Time/Frequency. Thay i các tùy ch n trong c a s


Graph Property Dialog nh sau v" trong mi n th i gian. a ch% b t u c!a b
m chính là tên m ng out_buffer c nh p vào Start Address. Các tùy ch n
khác có th nh m&c nh.

Hình 11. Các tùy ch n $ v' trong mi n th)i gian


2. v" trong mi n t n s , ch n các tùy ch n nh trong hình sau. Ch n b c c!a
FFT (FFT Order ) sao cho FFT Framesize = 2order.

Hình 12. Các tùy ch n $ v' trong mi n t n s

K t qu v" c th hi n trên hình sau:

19
Tài li u thí nghi m X lý s tín hi u

Hình 13. K t qu v' b ng CCS c trong mi n t n s và trong mi n th)i gian

20
Tài li u thí nghi m X lý s tín hi u

BÀI 3: TH*C HI N CÁC B L C FIR TRÊN KIT C6713 DSK

1. M c ích thí nghi m


1. Hi u rõ các b $c t thi t k n hi n th c b l c FIR lên trên m t kit DSP.
2. H th ng l i các lý thuy t ã h c.

2. Thi t b# thí nghi m


STT Tên thi t b# S l%!ng
01 Máy vi tính 01
02 Kit C6713 DSK 01
03 Máy phát song 01
04 B dây n i tín hi u 01

3. Gi i thi u
L c là m t trong nh2ng ho t ng x lý tín hi u quan tr ng. M t b l c t ng t ho t
ng trên các tín hi u liên t c và th ng c th c hi n v$i các linh ki n nh khu ch i
thu t toán, các i n tr# và các t i n. M t b l c s ho t ng trên tín hi u th i gian r i
r c và có th th c hi n v$i m t b x lý s tín hi u nh h TMS320C6x. Quá trình l c
bao g m s d ng m t b bi n i A/D nh n tín hi u vào, x lý các m+u vào r i g i
k t qu ra thông qua m t b bi n i D/A.
Các b l c s có r t nhi u u i m so v$i các b l c t ng t . Các u i m này bao g m
tin c y cao h n, chính xác cao h n và ít nh y v$i nhi t và tu i i. Các &c tính
l c nh t n s trung tâm, b1ng thông và lo i b l c có th thay i d dàng. M t s công
c có s,n cho vi c thi t k và th c hi n các b l c s m t cách nhanh chóng trên kit
TMS320C6x.

4. C s+ lý thuy t
B l c FIR nhân qu b c M có áp ng xung h = [h0, h1, …, hM] (chi u dài b(ng M + 1)
Ngõ ra c!a b l c c xác nh theo công th c tích ch p:
y ( n) = h ( m) x ( n − m) = x ( m) h ( n − m)
m m

trong ó x(n) là ngõ vào c!a b l c.


Hàm truy n c!a b l c c xác nh t bi n i Z c!a h(n):
M
H ( z) = h(n) z −n = h0 + h1 z −1 + ... + hM z − M
n =0

trong ó các h s c!a hàm truy n chính là áp ng xung h c!a b l c.


B l c FIR có th thi t k b(ng nhi u ph ng pháp, trong ó ph ng pháp n gi n nh t
là ph ng pháp c a s .
B l c có th c th c hi n b(ng hai ph ng pháp: Ph ng pháp x lý kh i và ph ng
pháp x lý m+u. V$i ph ng pháp x lý m+u, b l c có th c th c hi n d ng tr c ti p
nh sau:

21
Tài li u thí nghi m X lý s tín hi u

Hình 14. Th(c hi n b l c FIR d"ng tr(c ti p


N u &t các bi n tr ng thái
v0(n) = x(n)
v1(n) = x(n – 1)

vM(n) = x(n – M)
Ta s" có gi i thu t x lý m+u ng v$i s kh i trên nh sau:
V$i m'i m+u vào x:
v0 = x
M
y= h k vk
k =0

vM = vM-1

v1 = v0

5. Chu n b# thí nghi m


1. Cho m t b l c FIR có áp ng xung h = [1; -2; -3; -4]. Hãy xác nh:
a. B c b l c
b. Ph ng trình sai phân I/O c!a b l c
c. S kh i th c hi n d ng tr c ti p và gi i thu t x lý m+u.
2. Trình bày tóm t t các b $c thi t k m t b l c FIR b(ng SPTool c!a MATLAB. Có
m y ph ng pháp thi t k b l c FIR trong SPTool? Hãy li t kê.
3. Th nào là m t b l c multiband? Th phát h a áp ng t n s c!a m t b l c
multiband? Có th dùng MATLAB thi t k m t b l c FIR multiband hay không?
4. Tóm t t các b $c s" làm th c hi n các ph n thí nghi m sau.

22
Tài li u thí nghi m X lý s tín hi u

6. Ti n hành thí nghi m


6.1 Th(c hi n b l c FIR
Tr $c h t, hãy th c hi n theo t ng b $c ví d n gi n sau. Sau ó, hãy t th c hi n
các b l c FIR khác theo yêu c u.

Ví d : Thi t k m t b l c FIR thông th p b c 88 v i t n s c t 2.5 kHz, t n s l y


m u 8 kHz. Th c hi n nó trên kit C6713 DSK. Ki m ch ng b l c ã th c hi n.

Trong ví d này có 3 ph n chính c n ph i th c hi n:


1. Thi t k b l c FIR: k t qu c!a ph n này là có c áp ng xung h(n) c!a b
l c.
2. Th c hi n b l c lên trên kit C6713 DSK: S d ng áp ng xung thu ct
ph n thi t k , vi t ch ng trình th c hi n m ch l c lên kit. Ch ng trình s" c
t ng m+u d2 li u vào và ti n hành gi i thu t x lý m+u tính ngõ ra.
3. Ki m tra b l c ã th c hi n: Trong ph n này, b l c ã th c hi n trên kit s"
c ki m tra xem có áp ng yêu c u &t ra hay không. Chúng ta s" s d ng
m t máy phát sóng t o tín hi u ngõ vào và quan sát tín hi u ngõ ra c!a b l c
khi thay i tín hi u ngõ vào.

Thi t k b l c
1. S d ng công c SPTool trong MATLAB thi t k b l c trên v$i ph ng pháp
Least Squares FIR.
2. L u b l c ã thi t k v$i tên là lp2500 r i xu t ra workspace c!a MATLAB.

Th c hi n b l c
B l c này c th c hi n trên kit b(ng ch ng trình sau (vi t b(ng ngôn ng2 C)

//Fir.c FIR filter. Include coefficient file with length N


#include "coefficients.h" //coefficient file
#include "dsk6713_aic23.h" //codec-dsk support file

Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; //set sampling rate


int yn = 0; //initialize filter's output
short dly[N]; //delay samples

interrupt void c_int11() //ISR


{
short i;
dly[0]=input_sample(); //input newest sample
yn = 0; //initialize filter's output
for (i = 0; i< N; i++)
yn += (h[i] * dly[i]); //y(n) += h(i)* x(n-i)
for (i = N-1; i > 0; i--) //starting @ end of buffer

23
Tài li u thí nghi m X lý s tín hi u

dly[i] = dly[i-1]; //update delays with data move


output_sample(yn >> 15); //scale output filter sample
return;
}

void main()
{
comm_intr(); //init DSK, codec, McBSP
while(1); //infinite loop
}

Trong ch ng trình này, N là chi u dài c!a áp ng xung c!a b l c ( b(ng M + 1 v$i
M là b c c!a b l c) và áp ng xung c!a b l c là m ng h có kích th $c N. Giá tr c!a
N và vector h c khai báo trong t p tin coefficients.h. T p tin này c g p vào nh
ch% d+n #include. Nh v y, khi mu n thay i b l c, ch% c n thay i n i dung c!a t p
tin coefficients.h.
Ch ng trình trên có s d ng ng t. Khi có có xung l y m+u (t n s ch n # ây là
8KHz), trình ph c v ng t c_int11 c g i, c m+u vào và th c hi n gi i thu t x lý
m+u tính ngõ ra.
Do các h s c!a áp ng xung nh n c t quá trình thi t k là khá nh*, chúng ta s"
nhân nó v$i 215. M+u ra sau khi x lý c chia l i cho 215 b(ng cách d ch ph i 15 bit
(trong hàm output_sample(yn >> 15)). Vi c nhân các h s v$i 215 c ng là do b x lý
s" l ng t hóa các h s v$i m t s l ng bit h2u h n và vi c nhân lên s" gi m i sai
s .
Tóm l i, các b $c th c hi n b l c lên kit nh sau:
1. L y các h s c!a hàm truy n c!a b l c, nhân v$i h s t% l 215
>> cof = round(lp2500.tf.num*2^15)
2. N u c a s workspace c!a MATLAB ch a hi n th , hãy m# nó lên. Trong
workspace, nh n úp chu t vào tên bi n cof m# c a s Array Editor.
3. M# CCS (nh$ m# ngu n c!a DSK tr $c khi m# CCS).
4. M# t p tin project ( ã c t o s,n) FIR.pjt trong
C:\CCStudio_v3.1\myprojects\FIR.
5. Trong c a s Project View, tab File View, m# r ng ph n Include, m# t p tin
coeficients.h.
6. &t các h s c!a b l c v a thi t k vào trong t p tin này. (Có th copy và paste
t c a s Array Editor trên). i u ch%nh giá tr N cho úng v$i chi u dài áp ng
xung. L u ý r(ng các giá tr c!a áp ng xung cách nhau b(ng m t d u ph)y (,).
L u t p tin sau khi s a i.
7. Xác l p các tùy ch n phù h p (xem ph n h $ng d+n s d ng trong tài li u này)
r i ti n hành biên d ch ch ng trình. Sau khi d ch thành công, hãy n p ch ng
trình lên trên kit và ch y ch ng trình.

ánh giá k t qu th c hi n
1. Hãy th xem áp ng t n s c!a b l c v a th c hi n b(ng cách s d ng công c
v" trong mi n t n s c!a CCS. Ch n View Graph Time/Frequency. Ch n

24
Tài li u thí nghi m X lý s tín hi u

Display Type là FFT Magnitude và Start Address là a ch% b t u c!a vector


áp ng xung, t c là tên m ng h.
2. M# ngu n c!a máy phát sóng. T o m t tín hi u hình sine t máy phát sóng và
quan sát d ng sóng ngõ ra. Thay i t n s c!a tín hi u vào và hãy xác nh t n s
c t 3-dB c!a b l c.

Sau khi ã th c hi n ví d trên, hãy áp d ng nh2ng gì ã h c th c hi n các thí


nghi m sau. V$i m'i bài thí nghi m, hãy a áp ng t n s c!a b l c vào trong bài
báo cáo.
(H ng d n: nêu sao chép th m c FIR ã có thành m t th m c v i tên khác và th c
hi n trên th m c m i này ng v i t ng b l c).
1. Thi t k m t b l c FIR ch n d i b(ng ph ng pháp Kaiser Window có các thông
s nh sau:
a. Chi u dài áp ng xung N = 89 (B c b l c: 88)
b. T n s c t: 2500 và 2900 Hz.
c. Giá tr c!a β = 4
d. T n s l y m+u: 8 kHz.
Th c hi n b l c lên trên kit và ki m tra k t qu .
2. Thi t k b l c FIR thông d i b(ng ph ng pháp Kaiser Window v$i các thông
s nh sau:
a. Chi u dài áp ng xung: 81
b. T n s c t: 1500 và 2000 Hz.
c. Giá tr c!a β = 5
d. T n s l y m+u: 8 kHz.
Th c hi n b l c và ki m tra k t qu .
3. Th c hi n và thi t k b l c thông cao sau b(ng ph ng pháp Kaiser Window.
Sau ó, cho m t tín hi u xung vuông t n s 1 kHz vào và hi n th tín hi u ra. Gi i
thích k t qu . Các thông s c!a b l c nh sau:
a. Chi u dài áp ng xung: 81
b. T n s c t: 2200 Hz.
c. Giá tr c!a β = 4
d. T n s l y m+u: 8 kHz.

6.2 M t b l c FIR multiband


Hãy thi t k và th c hi n lên kit C6713 DSK m t b l c FIR multiband v$i hai d i
thông có t n s trung tâm l n l t là 2500 và 3500 Hz. B1ng thông c!a m'i d i thông là
500 Hz. T n s l y m+u là 8 kHz.
1. V" áp ng t n s c!a b l c.
2. T o m t sóng vuông v$i t n s 800 Hz # u vào c!a b l c. Hi n th d ng sóng và
ph c!a ngõ ra. Gi i thích t i sao có d ng ph này?
3. Thay i t n s c!a tín hi u vào. Quan sát ph ngõ ra. Gi i thích s thay i.
4. V" ph c!a tín hi u ngõ ra khi t n s c!a tín hi u vào là 0.5kHz, 1kHz và 1.5kHz.
Gi i thích?

25
Tài li u thí nghi m X lý s tín hi u

BÀI 4: TH*C HI N CÁC B L C IIR TRÊN KIT C6713 DSK


1. M c ích thí nghi m
1. Hi u rõ các b $c t thi t k n hi n th c b l c IIR lên trên m t kit DSP.
2. H th ng l i các lý thuy t ã h c.

2. Thi t b# thí nghi m


STT Tên thi t b# S l%!ng
01 Máy vi tính 01
02 Kit C6713 DSK 01
03 Máy phát song 01
04 B dây n i tín hi u 01

3. Gi i thi u
L c là m t trong nh2ng ho t ng x lý tín hi u quan tr ng. M t b l c t ng t ho t
ng trên các tín hi u liên t c và th ng c th c hi n v$i các linh ki n nh khu ch i
thu t toán, các i n tr# và các t i n. M t b l c s ho t ng trên tín hi u th i gian r i
r c và có th th c hi n v$i m t b x lý s tín hi u nh h TMS320C6x. Quá trình l c
bao g m s d ng m t b bi n i A/D nh n tín hi u vào, x lý các m+u vào r i g i
k t qu ra thông qua m t b bi n i D/A.
Các b l c s có r t nhi u u i m so v$i các b l c t ng t . Các u i m này bao g m
tin c y cao h n, chính xác cao h n và ít nh y v$i nhi t và tu i i. Các &c tính
l c nh t n s trung tâm, b1ng thông và lo i b l c có th thay i d dàng. M t s công
c có s,n cho vi c thi t k và th c hi n các b l c s m t cách nhanh chóng trên kit
TMS320C6x.

4. C s+ lý thuy t
Hãy xem xét m t ph ng trình I/O t ng quát có d ng:
N M
y ( n) = a k x(n − k ) − b j y (n − j )
k =0 j =1

= a0 x(n) + a1 x(n − 1) + a 2 x(n − 2) + + a N x(n − N )


− b1 y (n − 1) − b2 y (n − 2) − − bM y (n − M )
D ng ph ng trình quy này bi u di n m t b l c IIR. Ngõ ra y(n) # th i i m y(n)
không ch% ph thu c vào ngõ vào hi n t i x(n) # th i i m n và các ngõ vào trong quá
kh x(n – 1),
x(n – 2), …, x(n – N), mà còn ph thu c vào các ngõ ra tr $c ó y(n – 1), y(n – 2), …,
y(n – M).
N u chúng ta gi s các i u ki n ban u u b(ng 0, bi n i Z ph ng trình trên s"
cho:
Y ( z ) = a0 X ( z ) + a1 z −1 X ( z ) + a2 z −2 X ( z ) + + aN z − N X ( z)
− b1 z −1Y ( z ) − b2 z −2Y ( z ) − − bM z − M Y ( z )

26
Tài li u thí nghi m X lý s tín hi u

Khi N = M, hàm truy n H(z) là


Y ( z ) a 0 + a1 z −1 + a 2 z −2 + a N z − N N ( z )
H ( z) = = =
X ( z ) 1 + b1 z −1 + b2 z −2 + bN z − N D( z )
trong ó N(z) và D(z) bi u di n a th c t s và a th c t s c!a hàm truy n. Nhân và
chia cho zN, H(z) tr# thành:
a 0 z N + a1 z N −1 + a2 z N −2 + a N N
z − zi
H ( z) = N N −1 N −2
= C ∏
z + b1 z + b2 z + bN i =1 z − pi

ây là m t hàm truy n v$i N zero và N c c. N u t t c các h s bj b(ng 0, hàm truy n


này tr# thành hàm truy n c!a m t b l c FIR. h th ng n nh, t t c các c c ph i
n(m trong vòng tròn n v .
Các b l c IIR có th c th c hi n theo các c u trúc sau:
1. D"ng tr(c ti p 1

Hình 15. Th(c hi n b l c IIR d"ng tr(c ti p 1


Khi th c hi n # d ng này, m t b l c b c N c n dùng 2N kh i làm tr .
2. D"ng tr(c ti p 2 (D"ng chính t c)
ây là m t trong nh2ng c u trúc th ng c s d ng. Nó ch% c n m t n a s kh i
tr so v$i d ng tr c ti p 1.
X ( z)
&t U ( z ) = trong ó D(z) là m+u s c!a hàm truy n b l c IIR.
D( z )
Khi ó:
N ( z)
Y ( z) = X ( z ) = N ( z )U ( z )
D( z )
= U ( z )(a0 + a1 z −1 + a2 z − 2 + aN z − N
v$i N(z) là t s c!a hàm truy n.
Và:
X ( z ) = U ( z ) D( z ) = U ( z )(1 + b1 z −1 + b2 z −2 + bN z − N )
Bi n i Z ng c ta s" có:

27
Tài li u thí nghi m X lý s tín hi u

u (n) = x(n) − b1u (n − 1) − b2u (n − 2) − − bN u (n − N )


y (n) = a0u (n) + a1u (n − 1) + a2u (n − 2) + + aN u (n − N )
Th c hi n d $i d ng s kh i:

Hình 16. Th(c hi n b l c IIR d"ng tr(c ti p 2


3. D"ng tr(c ti p 2 chuy$n v#
D ng tr c ti p 2 chuy n v là m t bi n th c!a d ng tr c ti p 2 và c n cùng s kh i
tr . Các b $c sau chuy n m t b l c t d ng tr c ti p 2 sang d ng chuy n v :
a. o h $ng t t c các nhánh
b. i u vào v$i u ra
c. V" l i s sao cho u vào # bên trái và u ra # bên ph i

Hình 17. Th(c hi n b l c IIR d"ng tr(c ti p 2 chuy$n v#

4. D"ng cascade các t ng b c 2


Hàm truy n trên có th c phân tích thành tích các hàm truy n b c 1 ho&c b c 2
nh sau:
H ( z ) = CH 1 ( z ) H 2 ( z ) H r ( z )
C u trúc n i ti p (cascade) này c v" nh sau:

28
Tài li u thí nghi m X lý s tín hi u

Hình 18. C,u trúc cascade c a b l c IIR


Hàm truy n toàn b có th c bi u di n b(ng s ghép cascade các hàm truy n. i
v$i m'i ph n, d ng tr c ti p 2 ho&c chuy n v c!a nó có th c s d ng. Hàm
truy n H(z) d $i d ng cascade các hàm truy n b c hai có th vi t nh sau:
N /2
a0i + a1i z −1 + a2i z −2
H ( z) = ∏
i =1 1 + b1i z −1 + b2i z −2
Hình sau v" m t b l c IIR b c 4 d $i d ng cascade c!a hai ph n b c 2.

Hình 19. B l c IIR b c 4 v i 2 ph n b c 2 d"ng tr(c ti p 2

5. D"ng song song


Hàm truy n b l c IIR c ng có th c bi u di n nh sau (b(ng ph ng pháp khai
tri n phân s t ng ph n):
H ( z) = C + H1 ( z) + H 2 ( z) + H r ( z)
C u trúc song song này có th v" nh sau:

Hình 20. C,u trúc song song c a b l c IIR

29
Tài li u thí nghi m X lý s tín hi u

5. Chu n b# thí nghi m


1. Trình bày tóm t t các b $c thi t k m t b l c IIR b(ng SPTool c!a MATLAB. Có
m y lo i b l c IIR trong SPTool? Hãy li t kê.
2. Hãy phân bi t &c i m c!a áp ng t n s c!a các lo i b l c Butterwork,
Chebyshev 1, Chebyshev 2 và Elliptic.
3. Cho m t h th ng có hàm truy n nh sau:
5 4
H ( z) = −2

1 + 0.25 z 1 − 0.25 z −2
a. Hãy v" cách th c hi n d ng tr c ti p (direct form) c!a h th ng.
b. Hãy v" cách th c hi n d ng chính t c (canonical form) c!a h th ng.
c. Hãy v" cách th c hi n d ng ghép n i ti p các t ng b c hai (cascade form) c!a
h th ng.
4. Tóm t t các b $c s" làm th c hi n các ph n thí nghi m sau.

6. Ti n hành thí nghi m


6.1 Th(c hi n b l c IIR d"ng ghép cascade các t ng b c 2
Trong thí nghi m này, chúng ta s" th c hi n m t b l c IIR trên kit C6713 DSK, s
d ng c u trúc ghép cascade các ph n b c 2. Chúng ta s d ng ph ng trình sau ng v$i
m'i t ng:
u (n) = x(n) − b1u (n − 1) − b2 u (n − 2) − − bN u (n − N )
y (n) = a0 u (n) + a1u (n − 1) + a 2 u (n − 2) + + a N u (n − N )
Tr $c h t, hãy th c hi n theo t ng b $c ví d n gi n sau. Sau ó, hãy t th c hi n
các b l c IIR khác theo yêu c u.

Ví d : Thi t k m t b l c IIR ch n d i b c 10 b ng ph ng pháp Elliptic v i t n s


trung tâm 1750 Hz, t n s l y m u 8 kHz, t n s c t 1700 và 1800 Hz, g n d i ch n
và d i thông t ng ng là 60dB và 1dB. Th c hi n nó trên kit C6713 DSK d ng ghép
cascade các ph n b c 2. Ki m ch ng b l c ã th c hi n.

Trong ví d này có 3 ph n chính c n ph i th c hi n:


1. Thi t k b l c IIR: k t qu c!a ph n này là có c các h s c!a t s và m+u
s c!a hàm truy n b l c. Các h s này s" c chuy n thành m t ma tr n trong
ó m'i hàng bi u di n cho m t t ng b c hai (second-order section).
2. Th c hi n b l c lên trên kit C6713 DSK: S d ng k t qu thu c t ph n thi t
k , vi t ch ng trình th c hi n m ch l c lên kit. Ch ng trình s" c t ng m+u
d2 li u vào và ti n hành gi i thu t x lý m+u tính ngõ ra.
3. Ki m tra b l c ã th c hi n: Trong ph n này, b l c ã th c hi n trên kit s"
c ki m tra xem có áp ng yêu c u &t ra hay không. Chúng ta s" s d ng
m t máy phát sóng t o tín hi u ngõ vào và quan sát tín hi u ngõ ra c!a b l c
khi thay i tín hi u ngõ vào.

30
Tài li u thí nghi m X lý s tín hi u

Thi t k b l c
1. S d ng công c SPTool trong MATLAB thi t k b l c trên v$i ph ng pháp
Elliptic. L%u ý: i v i b l c IIR ch n d i và thông d i, b c %!c th$ hi n
trên MATLAB b ng s ph n b c 2, t c là b ng m t n a b c c a b l c th(c.
2. L u b l c ã thi t k v$i tên là bs1750 r i xu t ra workspace c!a MATLAB.
3. T các h s t và m+u # trên, ta s" chuy n thành d ng các ph n b c hai b(ng các
l nh sau:
>> [z,p,k] = tf2zp(bs1750.tf.num, bs1750.tf.den)
>> sos = zp2sos(z,p,k)

Ma tr n sos trong MATLAB nh sau:


b01 b11 b21 1 a11 a21
b02 b12 b22 1 a12 a 22
sos =

b0 L b1L b2 L 1 a1L a2 L
trong ó b0i, b1i, b2i là các h s t s hàm truy n c!a ph n b c 2 th i và 1, a1i, a2i là
các h s m+u s hàm truy n c!a ph n b c 2 th i.

Th c hi n b l c
B l c này c th c hi n trên kit b(ng ch ng trình sau (vi t b(ng ngôn ng2 C)
//IIR.c IIR filter using cascaded Direct Form II
//Coefficients a's and b's correspond to b's and a's from MATLAB
#include "DSK6713_AIC23.h" //codec-DSK support file
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; //set sampling rate
#include "coefficients.h" //BS @ 1750 Hz coefficient file
short dly[stages][2] = {0}; //delay samples per stage
interrupt void c_int11() //ISR
{
short i, input;
int un, yn;
input = input_sample(); //input to 1st stage
for (i = 0; i < stages; i++) //repeat for each stage
{
un=input-((b[i][0]*dly[i][0])>>15)-
((b[i][1]*dly[i][1])>>15);
yn=((a[i][0]*un)>>15)+((a[i][1]*dly[i][0])>>15)+
((a[i][2]*dly[i][1])>>15);
dly[i][1] = dly[i][0]; //update delays
dly[i][0] = un; //update delays
input = yn; //intermed out->in to next stage
}
output_sample((short)yn); //output final result for time n
return; //return from ISR
}

31
Tài li u thí nghi m X lý s tín hi u

void main()
{
comm_intr(); //init DSK, codec, McBSP
while(1); //infinite loop
}
Trong ch ng trình này, stages là s t ng c!a b l c (s ph n b c 2). Ma tr n a và b
t ng ng ch a các h s c!a t s và m+u s c!a các ph n b c 2. L%u ý: a và b trong
ch% ng trình này ng v i b và a trong ma tr n sos c a MATLAB. Giá tr c!a
stages, ma tr n a, ma tr n b c khai báo trong t p tin coefficients.h. T p tin này c
include vào nh ch% d+n #include. Nh v y, khi mu n thay i b l c, ch% c n thay i
n i dung c!a t p tin coefficients.h.
N i dung c!a t p tin coefficients.h có d ng nh sau:
//coefficients.cof coefficient file

#define stages 5 //number of 2nd-order stages

int a[stages][3]= { //numerator coefficients


{27940, -10910, 27940}, //a10, a11, a12 for 1st stage
{32768, -11841, 32768}, //a20, a21, a22 for 2nd stage
{32768, -13744, 32768}, //a30, a31, a32 for 3rd stage
{32768, -11338, 32768}, //a40, a41, a42 for 4th stage
{32768, -14239, 32768} };

int b[stages][2]= { //*denominator coefficients


{-11417, 25710}, //b11, b12 for 1st stage
{-9204, 31581}, //b21, b22 for 2nd stage
{-15860, 31605}, //b31, b32 for 3rd stage
{-10221, 32581}, //b41, b42 for 4th stage
{-15258, 32584} }; //b51, b52 for 5th stage
T p tin này khai báo m t b l c có 5 t ng b c 2. Giá tr c!a các ph n t c!a a và b thu
c t vi c thi t k b l c # trên. L%u ý: a và b trong ch% ng trình này ng v i b
và a trong ma tr n sos c a MATLAB.
Ch ng trình trên c th c hi n có s d ng ng t. Khi có xung l y m+u (t n s # ây
là 8 KHz), trình ph c v ng t c_int11( ) c g i, c m+u vào và th c hi n gi i thu t
x lý m+u tính ngõ ra. Ph n l&p c!a o n mã trong ch ng trình c th c hi n
stages l n v$i m'i giá tr c!a n. i v$i t ng u tiên, x(n) là m+u m$i nh n vào. i
v$i các t ng ti p theo, x(n) là ngõ ra c!a t ng tr $c ó.
Các giá tr dly[i][0] và dly[i][1] t ng ng v$i các delay u(n – 1) và u(n – 2) # t ng th
i.
Do các h s a và b nh n c t quá trình thi t k là khá nh*, chúng ta s" nhân nó v$i
215. M+u ra sau khi x lý c chia l i cho 215 b(ng cách d ch ph i 15 bit (trong hàm
output_sample(yn >> 15)). Vi c nhân các h s v$i 215 c ng là do b x lý s" l ng t
hóa các h s v$i m t s l ng bit h2u h n và vi c nhân lên s" gi m i sai s .

Hãy làm theo các b $c sau hoàn thành ví d này:


1. N u CCS ch a ch y, hãy kh#i ng nó. Sau khi k t n i v$i kit, hãy m# project
IIR.pjt có s,n trong th m c C:\\CCStudio_v3.1\myprojects\IIR.

32
Tài li u thí nghi m X lý s tín hi u

2. Trong c a s Project View, tab File View, hãy m# t p tin coefficients.h (trong
ph n Include). Hãy c p nh t t p tin này v$i các giá tr thu c trong ph n thi t
15
k # trên, sau khi nhân chúng v$i 2
>> sos = sos*2^15
3. Hãy d ch l i ch ng trình và n p lên kit C6713 và ch y ch ng trình

ánh giá k t qu th c hi n
1. M# ngu n c!a máy phát sóng. T o m t tín hi u hình sine t máy phát sóng và
quan sát d ng sóng ngõ ra. Thay i t n s c!a tín hi u vào và hãy xác nh t n s
c t 3-dB c!a b l c.
Sau khi ã th c hi n ví d trên, hãy áp d ng nh2ng gì ã h c th c hi n các thí
nghi m sau. V$i m'i bài thí nghi m, hãy a áp ng t n s c!a b l c vào trong bài
báo cáo.
(H ng d n: nêu sao chép th m c IIR ã có thành m t th m c v i tên khác và th c
hi n trên th m c m i này ng v i t ng b l c).
1. Thi t k m t b l c IIR thông th p thu c lo i Chebyshev 2 có các thông s nh
sau:
a. B c b l c: 10
b. C nh d i d i ch n: 1.6 KHz.
c. g n d i ch n: 60 dB
d. T n s l y m+u: 8 kHz.
Th c hi n b l c lên trên kit và ki m tra k t qu .
2. Thi t k b l c IIR thông d i thu c lo i Chebyshev 2 v$i các thông s nh sau:
a. B c b l c: 36 (Matlab hi n th là 18)
b. T n s c t d i ch n: 1600 và 2400 Hz
c. g n d i ch n 100 dB.
d. T n s l y m+u: 8 kHz.
Th c hi n b l c và ki m tra k t qu .

6.2 T"o hai tone b ng cách s d ng hai ph% ng trình sai phân b c 2
Trong thí nghi m này, chúng ta s" t o và c ng hai tone b(ng ph ng pháp ph ng trình
sai phân. Tín hi u ra c ng c l u trong b nh$ và c v" b(ng CCS. Ph ng trình
sai phân dùng t o m t sóng hình sine là
y (n) = Ay (n − 1) − y (n − 2)
trong ó:
A = 2 cos(ωT )
y (− 1) = − sin (ωT )
y (− 2 ) = − sin (2ωT )
1 1
v$i hai i u ki n ban u, y(-1) và y(-2), 3=2πf và T = = = 0.125ms là chu k/
FS 8kHz
l y m+u. H s A c!a ph ng trình sai phân, cùng v$i hai i u ki n u, xác nh t n
s c t o ra.
a. S d ng bi n i Z, hãy ch ng minh r(ng y(n) = sin(n3T)

33
Tài li u thí nghi m X lý s tín hi u

b. Tính A, y(-1) và y(-2) c n thi t t o ra m t sóng sine có t n s 1.5kHz?


2kHz?
c. Hãy ch y ch ng trình Code Composer Studio (CCS) và m# project
two_tones.pjt trong th m c C:\CCStudio_v3.1\myprojects\two_tones. Hãy m#
t p tin ngu n c!a ch ng trình two_tones.c. N i dung c!a t p tin này nh sau:
//two_tones.c Generates/adds two tones using difference
//equations
#include "DSK6713_AIC23.h" //codec-DSK support file
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; //set sampling rate
short sinegen(void); //for generating tone
short output; //for output
short sinegen_buffer[256]; //buffer for output data
const short bufferlength = 256; //buffer size for plot with
CCS
short i = 0; //buffer count index
short y1[3] = {0,-15137,-11585};//y1(0),y1(-1),y1(-2) for
1.5kHz
const short A1 = 12540; //A1 = 2coswT scaled by 2^14
short y2[3] = {0,-16384,0}; //y2(0),y2(-1),y2(-2) for 2kHz
const short A2 = 0; //A2 = 2coswT scaled by 2^14
interrupt void c_int11() //ISR
{
output = sinegen(); //out from tone generation
function
sinegen_buffer[i] = output; //output into buffer
output_sample(output); //output result
i++; //increment buffer count
if (i == bufferlength)
i = 0; //if buffer count = size of
buffer
return; //return to main
}
short sinegen() //function to generate tone
{
y1[0] =((y1[1]*A1)>>14)-y1[2]; //y1(n)= A1*y1(n-1)-y1(n-2)
y1[2] = y1[1]; //update y1(n-2)
y1[1] = y1[0]; //update y1(n-1)
y2[0] =((y2[1]*A2)>>14)-y2[2]; //y2(n)= A2*y2(n-1)-y2(n-2)
y2[2] = y2[1]; //update y2(n-2)
y2[1] = y2[0]; //update y2(n-1)
return (y1[0] + y2[0]); //add the two tones
}
void main()
{
comm_intr(); //init DSK, codec, McBSP
while(1); //infinite loop
}
M ng y1[3] ch a các giá tr c!a y1(0), y1(-1) và y1(-2) t o tone có t n s
1.5kHz, và m ng y2[3] ch a các giá tr c!a y2(0), y2(-1) và y2(-2) t o tone
có t n s 2kHz. Hàm sinegen() s d ng ph ng trình sai phân b c hai t o
m'i tone, sau ó c ng chúng l i.
d. D ch và ch y ch ng trình trên kit. Ki m ch ng r(ng tín hi u ra là t ng c!a
hai tone có t n s 1.5kHz và 2kHz.
e. Các m+u tín hi u ra c ng c l u trong m t vùng nh$ m. Hãy s d ng
CCS v" ph biên FFT c!a tín hi u ra. L u ý a ch% b t u c!a vùng
m này là sinegen_buffer.

34
Tài li u thí nghi m X lý s tín hi u

f. K. thu t này có th c dùng t o tín hi u DTMF (Dual – tone


multifrequency). Hãy th t o và c ng hai tone có t n s 697 và 1209 Hz. Tín
hi u DTMF này c t o ra khi nh n phím s 3 trên i n tho i. V" ph c!a
nó.

6.3 T"o tín hi u sine b ng m t ph% ng trình sai phân


M t tín hi u hình sine c ng có th c t o ra b(ng m t ph ng trình sai phân khác:
y (n) = Ay (n − 1) + By (n − 2) + Cx (n − 1) v$i B = -1.
Khi có m t xung # n = 0, x(n – 1) = x(0) = 1.
V$i n = 1:
y (1) = Ay (0) + By (−1) + Cx (0) = C v$i y(0) = 0 và y(-1) = 0.
V$i n 4 2:
y (n) = Ay (n − 1) − y (n − 2)
H s A = cos(ωT ) và C = sin(ωT ) c tính v$i chu k/ l y m+u T = 1/Fs và t n s
mong mu n 3.
a. Trong CCS, hãy m# project sinegenDE.pjt t i th m c có ng d+n
C:\CCStudio_v3.1\myprojects\sinegenDE
b. Hãy m# t p tin ngu n chính sinegenDE.c. Biên d ch ch ng trình và ch y.
Xác nh t n s c!a tín hi u ra.
c. Tính A và y[3] t o m t tone có t n s 1kHz. Sau ó hãy hi u ch%nh project
và d ch l i. Ki m tra tín hi u ra có ph i là tone có t n s 1kHz không?

35
Tài li u thí nghi m X lý s tín hi u

BÀI 5: TH*C HI N CÁC H TH NG -NG D NG TRÊN KIT


C6713 DSK
1. M c ích thí nghi m
1. Làm quen v$i các thi t k ng d ng th c t
2. Nghiên c u, phân tích thi t k làm n n t ng cho các h th ng l$n h n.

2. Thi t b# thí nghi m


STT Tên thi t b# S l%!ng
01 Máy vi tính 01
02 Kit C6713 DSK 01
03 B dây n i tín hi u 01

3. Gi i thi u
Trong các b l c FIR và IIR thông th ng, các thông s xác nh &c tính c!a b l c
c gi s là ã bi t. Chúng có th thay i theo th i gian nh ng tính ch t c!a s thay
i này xem nh ã bi t. Trong nhi u v n th c t , các thông s này h u h t là không
ch n ch n do thi u các d2 li u th tr $c. Vài thông s có th thay i theo th i gian
nh ng không th d oán c cách thay i. Trong các tr ng h p này, m t b l c có
th t thích nghi v$i s thay i s" là thích h p nh t. Các h s c!a b l c thích nghi
c i u ch%nh bù cho s thay i c!a tín hi u vào, tín hi u ra ho&c thông s c!a h
th ng. M t b l c thích nghi r t h2u ích khi có s không ch c ch n v &c tính c!a tín
hi u ho&c khi các &c tính thay i.
M t b l c r t n gi n nh ng r t m nh là b k t h p thích nghi tuy n tính (linear
adaptive combiner), th c ch t là m t bô l c FIR thích nghi. Tiêu chu)n trung bình bình
ph ng c c ti u LMS (Least Mean Squares) là m t gi i thu t tìm ki m c s d ng
i u ch%nh các h s c!a b l c.

4. C s+ lý thuy t
H u h t các d ng thích nghi có th c mô t b#i c u trúc nh sau:

Hình 21. C,u trúc b l c thích nghi c b n


ây là m t c u trúc b l c thích nghi c b n trong ó ngõ ra y c!a b l c c so sánh
v$i m t tín hi u mong mu n d t o ra m t tín hi u sai s e, c h i ti p tr# l i b l c.
Tín hi u sai s này là u vào c!a gi i thu t thích nghi thay i b l c sao cho th*a
mãn m t tiêu chu)n ho&c m t quy lu t xác nh tr $c.
Các h s c!a b l c thích nghi c i u ch%nh, ho&c c t i u, s d ng gi i thu t
LMS d a trên tín hi u sai s . - ây, chúng ta ch% th o lu n gi i thu t tìm ki m LMS v$i
36
Tài li u thí nghi m X lý s tín hi u

m t b l c FIR m&c dù có vài ph ng pháp th c hi n l c thích nghi. Ngõ ra c!a b l c


thích nghi # hình 26 là:
N −1
y (n ) = wk (n )x(n − k )
k =0

v$i wk (n ) bi u di n N h s c!a b l c # th i i m n.
ánh giá ch t l ng c!a b l c, chúng ta s d ng m t phép o l ng d a trên tín hi u
sai s ,
e(n ) = d (n ) − y (n )
Sai s này là s sai khác gi2a tín hi u mong mu n d(n) và ngõ ra y(n) c!a b l c. Các h
s wk (n ) c i u ch%nh sao cho m t hàm sai s trung bình bình ph $ng c c c ti u.
[ ]
Hàm này là E e 2 (n ) v$i E[] bi u di n giá tr k/ v ng. Do có N h s (hay tr ng s ), c n
tính gradient c!a hàm sai s trung bình bình ph ng. M t s $c l ng có th cs
d ng b(ng cách dùng gradient c!a e2(n), cho k t qu :
wk (n + 1) = wk (n ) + 2βe(n )x(n − k ), k = 0,1,..., N − 1
th hi n gi i thu t LMS.

4.1 Các c,u trúc thích nghi


M t s c u trúc thích nghi c s d ng trong các ng d ng khác nhau c!a l c thích
nghi.
a. L c nhi u (noise cancellation)

Hình 22. C,u trúc b l c thích nghi dùng $ l c nhi u


Hình trên v" l i c u trúc thích nghi # hình 26 c ch%nh s a cho ng d ng l c
nhi u. Tín hi u mong mu n d b nh h #ng b#i nhi u c ng không t ng quan
n. Ngõ vào c!a b l c thích nghi là m t nhi u n’ t ng quan v$i nhi u n.
Nhi u n’ có th n t cùng ngu n nhi u v$i n nh ng b thay i b#i môi
tr ng. Ngõ ra y c!a b l c thích nghi c i u ch%nh theo nhi u n. Khi i u
này x y ra, tín hi u sai s s" ti n n tín hi u mong mu n d. K t qu toàn c c
là tín hi u sai s này ch không ph i ngõ ra y c!a b l c thích nghi. N u d
không t ng quan v$i n, chi n thu t là làm t i thi u E(e2)

b. Nh n d"ng h th ng (system identification)


Hình sau v" m t c u trúc b l c thích nghi có th dùng nh n d ng ho&c mô
hình h th ng. Cùng m t ngõ vào c a n h th ng c n nh n d ng song
song v$i m t b l c thích nghi. Tín hi u sai s e là s khác bi t gi2a áp ng d
c!a h th ng ch a bi t và áp ng y c!a b l c thích nghi. Tín hi u sai s này
c h i ti p l i b l c thích nghi và c dùng c p nh t các h s c!a b

37
Tài li u thí nghi m X lý s tín hi u

l c thích nghi cho n khi y = d. Khi i u này x y ra, quá trình nh n d ng k t


thúc và e ti n n 0.

Hình 23. C,u trúc b l c thích nghi dùng $ nh n d"ng h th ng

4.2 B k t h!p thích nghi tuy n tính (Linear Adaptive Combiner)


Chúng ta s" xem xét m t trong nh2ng c u trúc thích nghi h2u ích nh t – b k t h p
thích nghi tuy n tính. Hai tr ng h p x y ra khi s d ng b k t h p tuy n tính: (1)
nhi u ngõ vào và (2) m t ngõ vào.
a. Nhi u ngõ vào

Hình 24. B k t h!p tuy n tính nhi u ngõ vào


Hình trên mô t tr ng h p nhi u ngõ vào. C u hình bao g m K tín hi u vào
c l p, m'i ngõ vào c nhân v$i tr ng s w(k) và ck th p t o tín
hi u ra,
K
y (n ) = w(k , n )x(k , n )
k =0

Ngõ vào có th c bi u di n nh m t vector (K+1) chi u,


X (n ) = [x(0, n ) x(1, n ) x(K , n )]
T

b. M t ngõ vào
Trong tr ng h p 1 ngõ vào, c u trúc trên tr# thành m t b l c FIR (K+1) tap
v$i các h s i u ch%nh c. M'i ngõ vào c trì hoãn s" c nhân tr ng
s và c ng l i t o ngõ ra,
K
y (n ) = w(k , n )x(n − k )
k =0

38
Tài li u thí nghi m X lý s tín hi u

Hình 25. B k t h!p tuy n tính thích nghi v i m t ngõ vào


Ngõ vào và các tr ng s có th c vi t nh là các vector,
X (n ) = [x(n ) x(n − 1) x(n − K )]
T

W (n ) = [w(0, n ) w(1, n ) w(K , n )]


T

4.3 Hàm m c tiêu


Trong ph n trên chúng ta ã xem xét m t c u trúc c!a b l c mà &c tính có th thay
i b(ng cách i u ch%nh các tr ng s . Tuy nhiên, chúng ta v+n c n m t s ánh giá
ch t l ng c!a b l c. Hàm m c tiêu này s" d a trên sai s
e(n ) = d (n ) − y (n )
Bình ph ng c!a hàm này là:
e 2 (n ) = d 2 (n ) − 2d (n ) y (n ) + y 2 (n )
chính là hàm bình ph ng sai s t c th i.
Bây gi , hãy xem xét tr ng h p b l c ch% có m t tr ng s . Ta có y(n) = w(0)x(n) và
bình ph ng sai s tr# thành
e 2 (n ) = d 2 (n ) − 2d (n )x(n )w(0 ) + x 2 (n )w 2 (0 )
Là m t hàm b c 2 c!a w(0). K/ v ng c!a hàm sai s bình ph ng là:
[ ] [ ] [
E e (n ) = E d (n ) − 2 E [d (n )x(n )]w(0 ) + E x (n ) w 2 (0 )
2 2 2
]
N u tín hi u d và x là b t bi n th ng kê theo th i gian, các k/ v ng c!a tích c!a d và x
là h(ng s , và ta có th vi t l i:
[ ]
E e 2 (n ) = A − 2 Bw(0 ) + Cw 2 (0 )
V$i A, B và C là các h(ng s .
th c!a hàm này theo w(0) nh sau:

39
Tài li u thí nghi m X lý s tín hi u

Hình 26. %)ng cong m c tiêu 1 tr ng s


Chúng ta c n tìm giá tr c!a w(0) t i thi u giá tr k/ v ng c!a sai s trung bình bình
ph ng. [ ] [ ]
tìm c c ti u c!a E e 2 (n ) , &t o hàm c!a E e 2 (n ) theo w(0) b(ng 0, d+n
n k t qu là m t i m c c ti u c nh:
w(0) = B/C
Trong th c t , tr ng s s" b t u # m t giá tr ban u nào ó w(0,n) và c i u
ch%nh theo t ng b $c ti n v giá tr c c ti u c!a hàm m c tiêu. Chi u dài và h $ng c!a
b $c là 2 th c n c xác nh. M'i b $c s" bao g m vi c thêm m t l ng t1ng nh*
vào w(0,n). L u ý r(ng n u giá tr hi n t i c!a w(0,n) là # bên ph i c!a i m c c ti u,
b $c nh y ph i âm (nh ng o hàm c!a ng cong là d ng); t ng t , n u giá tr
hi n t i # bên trái c!a c c ti u, l ng t1ng ph i d ng (nh ng o hàm là âm). Do ó
chúng ta có:

w(0, n + 1) = w(0, n ) − β
[ ]
dE e 2
dw(0 )
V$i 5 là m t h(ng s d ng b t k/. Nh v" trên hình sau, vi c l&p l i công th c này s"
khi n w(0) di chuy n theo t ng b $c t giá tr ban u cho n khi n i m c c ti u.

Hình 27. Tìm i$m c(c ti$u theo m t tr ng s

K t qu trên có th c t ng quát cho các h th ng có nhi u h n m t tr ng s :


W(n+1) = W(n) - β.grad{E[e2]}
Trong ó
W (n ) = [w(0, n ) w(1, n ) w(K , n )]
T

40
Tài li u thí nghi m X lý s tín hi u


T
2 ∂P ∂P ∂P
grad {E[e ]} = grad {P} =
∂w(0) ∂w(1) ∂w( K )
Chúng ta có th ch ng minh r(ng:
W(n+1) = W(n) + 2βe(n)X(n)
L u ý r(ng n u e(n) ti n n 0 thì W(n+1) = W(n) và tr ng s v+n không i.

5. Chu n b# thí nghi m


1. Th nào là m t b l c thích nghi ? Hãy k m t s ng d ng c!a b l c thích nghi và
v" c u trúc b l c thích nghi t ng ng v$i t ng ng d ng ó ?
2. Hãy trình bày gi i thu t LMS ?
3. Tóm t t các b $c s" làm th c hi n các ph n thí nghi m sau.

6. Ti n hành thí nghi m


6.1 B l c thích nghi dùng $ l c nhi u hình sine
Trong thí nghi m này, m t b l c FIR thích nghi s" c th c hi n v$i c u trúc trên
hình 27.
Chúng ta có m t tín hi u sine t n s 1500Hz b nh h #ng b#i nhi u c ng hình sine t n
s 312Hz. Chúng ta c n l c nhi u thu tín hi u mong mu n. Trong thí nghi m này,
chúng ta s d ng b l c thích nghi cho m c ích ó. M t trong các ngõ vào c!a b l c
thích nghi là tín hi u có c ng nhi u. Ngõ vào còn l i là tín hi u tham kh o d ng cosine,
t n s 312Hz và t ng quan v$i tín hi u nhi u hình sine # trên.
Tín hi u tham kh o này s" c l c b#i b l c FIR thích nghi 30 h s . Tín hi u ra c!a
b l c là $c l ng c!a tín hi u nhi u sine t n s 312Hz, s" c tr kh*i tín hi u có
l+n nhi u.

Hình 28. S thí nghi m


Trong thí nghi m này, t t c các tín hi u c t o ra t b ng. B ng này c t o b(ng
MATLAB. Ch ng trình MATLAB sau c s d ng t o các giá tr d2 li u cho tín
hi u sine(1500Hz), sine(1500Hz) + sine(312Hz) và cosine(312Hz).
%Adaptnoise.M Generates: dplusn.h (s312+s1500), refnoise.h
cos(312),and sin1500.h

for i=1:128
desired(i) = round(100*sin(2*pi*(i-1)*1500/8000)); %sin(1500)
addnoise(i) = round(100*sin(2*pi*(i-1)*312/8000)); %sin(312)
refnoise(i) = round(100*cos(2*pi*(i-1)*312/8000)); %cos(312)

41
Tài li u thí nghi m X lý s tín hi u

end
dplusn = addnoise + desired;
%sin(312)+sin(1500)

fid=fopen('dplusn.h','w');
%desired + noise
fprintf(fid,'short dplusn[128]={');
fprintf(fid,'%d, ' ,dplusn(1:127));
fprintf(fid,'%d' ,dplusn(128));
fprintf(fid,'};\n');
fclose(fid);

fid=fopen('refnoise.h','w');
%reference noise
fprintf(fid,'short refnoise[128]={');
fprintf(fid,'%d, ' ,refnoise(1:127));
fprintf(fid,'%d' ,refnoise(128));
fprintf(fid,'};\n');
fclose(fid);

fid=fopen('sin1500.h','w');
%desired sin(1500)
fprintf(fid,'short sin1500[128]={');
fprintf(fid,'%d, ' ,desired(1:127));
fprintf(fid,'%d' ,desired(128));
fprintf(fid,'};\n');
fclose(fid);

Ch ng trình này s" t o 3 t p tin (trong th m c làm vi c hi n hành c!a MATLAB):


• dplusn.h: ch a m t b ng 128 – i m t o tín hi u sine t n s 1500Hz c ng v$i
nhi u sine t n s 312Hz.
• refnoise.h: ch a m t b ng 128 – i m t o tín hi u cosine tham kh o có t n s
312Hz.
• sin1500.h: ch a m t b ng 128 – i m t o tín hi u sine mong mu n có t n s
1500Hz
Các t p tin này ã c t o s n trong th m c ch a project.

Sau ây, hãy ti n hành thí nghi m theo các b $c sau ây:
1. M# Code Composer Studio. Trong CCS, hãy m# project AdaptNoise (trong th
m c C:\CCStudio_v3.1\myprojects\AdaptNoise)
2. M# t p tin ngu n chính adaptnoise.c và xem xét gi i thu t LMS c hi n th c nh
th nào trong ch ng trình.
3. Hãy thi t l p các tùy ch n c n thi t và biên d ch ch ng trình. Sau khi quá trình
biên d ch thành công, hãy n p ch ng trình lên kit DSP.
4. Quan sát ngõ ra c!a kit DSP (ngõ Line Out) v$i ch ng trình DSP Tool.
5. Trong CCS, hãy ch y ch ng trình. Ch n File Load GEL n p t p tin
out_type.gel. Sau ó ch n GEL Output signal Output. M t c a s m$i xu t
hi n v$i thanh tr t # trên ó. Khi thanh tr t này # v trí s 1, ngõ ra là tín hi u sai
l ch. Khi thanh tr t # v trí s 2, ngõ ra là tín hi u sine mong mu n (t n s

42
Tài li u thí nghi m X lý s tín hi u

1500Hz) c ng v$i nhi u (t n s 312Hz). Bây gi , hãy quan sát d ng sóng ngõ ra v$i
thanh tr t l n l t # v trí 1 và v trí 2. Phác h a d ng sóng t ng ng.

Qua ph n trên, các b n ã th c hi n xong m t b l c FIR thích nghi ng d ng tri t


nhi u. Hãy v n d ng ki n th c v a h c làm bài t p nh* sau:

Bài t p
Chúng ta có m t tín hi u cosine t n s 2000 Hz b xâm l n b#i m t nhi u c ng hình
cosine v$i t n s 125 Hz. Gi s lo i nhi u, chúng ta s" dùng m t b l c thích nghi.
Hãy s d ng tín hi u sine có t n s 125 Hz (t ng quan v$i nhi u) làm tín hi u tham
kh o.
1. Hãy s a ch ng trình MATLAB AdaptNoise.m t o các tín hi u t ng ng.
2. Hãy m# CCS, biên d ch và ch y l i ch ng trình ki m ch ng k t qu .

6.2 S d ng b l c FIR thích nghi $ nh n d"ng m t b l c FIR c #nh ch%a bi t


Trong thí nghi m này, gi s chúng ta có m t h th ng ch a bi t c n c nh n d ng.
Chúng ta s d ng ph ng pháp l c thích nghi cho vi c nh n d ng. i u này có ngh0a là
chúng ta c n ph i hu n luy n m t b l c thích nghi sao cho khi có cùng tín hi u u
vào i qua thì b l c thích nghi này s" cho tín hi u u ra gi ng nh u ra c!a h
th ng c n nh n d ng.
Trong thí nghi m này, chúng ta s d ng m t b l c FIR c nh nh là h th ng c n
nh n d ng. Chúng ta s" ki m ch ng r(ng b l c thích nghi có th c hu n luy n
mô hình cho h th ng ch a bi t này.
H th ng c n nh n d ng # ây c ch n là m t b l c FIR thông d i có 55 h s , t n
s trung tâm là 2KHz. Các h s c!a b l c này c ch a trong t p tin bp55.cof.
M t chu'i nhi u ng+u nhiên c t o ra trong ch ng trình và tr# thành ngõ vào ng
th i c!a b l c ch a bi t và b l c FIR thích nghi. Tín hi u này c xem nh tín hi u
hu n luy n. Quá trình thích nghi s" di n ra cho n khi tín hi u sai s c c c ti u
hóa. Tín hi u sai s h i ti p này là s khác bi t gi2a ngõ ra c!a b l c ch a bi t và ngõ
ra c!a b l c FIR thích nghi.
Bây gi , hãy m# ngu n c!a kit và m# Code Composer Studio và th c hi n theo các
b $c sau:
1. M# project AdaptIDFIR (# C:\CCStudio_v3.1\MyProjects\AdaptIDFIR)
2. Trong CCS, ch n File Load GEL và m# t p tin AdaptIDFIR.gel. Sau ó, trong
menu GEL, ch n OutputType Output-signal. M t h p tho i có thanh tr t xu t
hi n. Khi thanh tr t # v trí 1, tín hi u ra là u ra c!a b l c thích nghi. Khi nó #
v trí 2, tín hi u ra là ngõ ra c!a b l c c nh ch a bi t.
3. Hi n th d ng sóng ra (b(ng cách dùng DSP_Tool.exe). Hãy so sánh u ra c!a h
th ng thích nghi v$i u ra c!a h th ng ch a bi t. B l c thích nghi có mô hình
hóa thành công b l c FIR ch a bi t hay không?

Bài t p
1. Hãy s a ch ng trình chính (t p tin AdaptIDFIR.c) include t p tin h s
bs55.cof, bi u di n m t b l c FIR ch n d i 55 h s v$i t n s trung tâm 2 KHz.
B l c FIR ch n d i này c xem nh h th ng ch a bi t c n nh n d ng. Hãy biên
d ch và ki m tra k t qu .

43
Tài li u thí nghi m X lý s tín hi u

2. Hãy s ch ng trình chính (t p tin AdaptIDFIR.c) include t p tin h s lp55.cof,


bi u di n m t b l c FIR thông th p v$i 55 h s . B l c FIR này bi u di n cho h
th ng ch a bi t c n nh n d ng. Hãy biên d ch và ki m tra k t qu .

6.3 S d ng b l c FIR thích nghi $ nh n d"ng h th ng ch%a bi t, bi t ban u b


l c thích nghi %!c kh+i t"o là m t b l c FIR thông d i.
Trong thí nghi m tr $c, các giá tr ban u c!a các h s c!a b l c FIR thích nghi
c kh#i t o b(ng zero. Trong thí nghi m này, ban u, các h s c!a b l c FIR thích
nghi c kh#i t o b(ng v$i các h s c!a m t b l c FIR thông d i có 55 h s , t n s
trung tâm là 3KHz, ch a trong t p tin bp3000.cof.
B l c c n nh n d ng # ây c ng là m t b l c FIR thông d i 55 h s nh ng v$i t n s
trung tâm là 2KHz. Chúng ta s" th y b l c thích nghi s" thay i d n t m t b l c
thông d i t n s trung tâm 3KHz thành m t b l c thông d i t n s trung tâm 2KHz.
Bây gi , hãy m# ngu n c!a kit DSP. Sau ó ch y Code Composer Studio và th c hi n
theo các b $c sau ây:
1. M# project AdaptIDFIRW (trong C:\CCStudio_v3.1\MyProjects\AdaptIDFIRW).
2. Hãy biên d ch project và ch y ch ng trình trên kit DSP.
3. Trong CCS, ch n File Load GEL và m# t p tin AdaptIDFIR.gel. Sau ó, ch n
GEL Output Type Output-signal trên thanh menu. M t h p tho i có thanh tr t
xu t hi n. Khi thanh tr t # v trí 1, tín hi u ngõ ra là u ra c!a b l c thích nghi.
Khi nó # v trí 2, tín hi u ngõ ra là u ra c!a b l c ch a bi t.
4. Hãy quan sát d ng sóng u ra c!a b l c thích nghi và b l c FIR c n nh n d ng.
5. N u nh xem tín hi u nhi u ng+u nhiên ngõ vào g n nh là nhi u tr ng thì ta có ph
c!a tín hi u ngõ ra s" có d ng c!a áp ng t n s c!a b l c. Do ó, ta có th quan
sát áp ng t n s c!a b l c thích nghi thay i d n thích nghi v$i b l c ch a
bi t b(ng cách quan sát ph biên c!a tín hi u ngõ ra (c!a b l c thích nghi). Hãy
th c hi n vi c quan sát này trên DSP_Tool và l u 5 hình cho th y quá trình thích
nghi c!a b l c. L%u ý: ch n File Reload program ch y l i t u quá trình
thích nghi c a b l c.
Bài t p
Hãy s a ch ng trình chính (t p tin AdaptIDFIR.c) include t p tin h s lp55.cof,
bi u di n m t b l c FIR thông th p có 55 h s . B l c FIR này c xem nh h
th ng c n nh n d ng. Hãy biên d ch ch ng trình và ki m ch ng k t qu t c. Hãy
l u l i m t vài hình v" áp ng t n s c!a b l c thích nghi (trong quá trình thích nghi).

44
Tài li u thí nghi m X lý s tín hi u

BÀI 6: TH*C HI N M T S M.CH I/U CH S TRÊN


KIT C6713 DSK
1. M c ích thí nghi m
1. Kh o sát m t s k. thu t i u ch s .
2. Th c hi n m t s m ch i u ch s trên kit C6713.

2. Thi t b# thí nghi m


STT Tên thi t b# S l%!ng
01 Máy vi tính 01
02 Kit C6713 DSK 01
03 Máy phát song 01
04 B dây n i tín hi u 01

3. Gi i thi u
i u ch là quá trình làm bi n i m t tín hi u sóng mang nh(m s d ng tín hi u này
mang thông tin c n truy n i. Thông th ng, m t d ng sóng hình sine cao t n cs
d ng làm sóng mang. Ba thông s c!a m t sóng sine là biên , pha và t n s u có th
làm cho bi n i theo tín hi u thông tin t o ra tín hi u i u ch .
Thi t b th c hi n i u ch c g i là b i u ch (modulator) và thi t b th c hi n
quá trình ng c l i g i là b gi i i u ch (demodulator). Thi t b có th th c hi n c hai
quá trình g i là modem.
M c ích c!a i u ch s là truy n m t chu'i bit trên m t kênh truy n t ng t
bandpass, ví d nh trên ng dây i n tho i (các b l c gi$i h n d i t n s t 300
3400 Hz) ho&c trên m t d i t n s radio. Trong khi ó, m c ích c!a i u ch t ng t là
truy n m t tín hi u t ng t t n s th p, ví d nh tín hi u âm t n, trên m t kênh truy n
t ng t bandpass.
M c ích c!a các ph ng pháp i u ch s d i n n (baseband), còn g i là mã hóa ng
truy n, là truy n m t chu'i bit trên m t kênh truy n thông th p (lowpass) th ng là m t
c&p dây ng không b l c nh là m t bus n i ti p ho&c là m ng LAN có dây.
M c ích c!a các ph ng pháp i u ch xung là truy n m t tín hi u t ng t b1ng h6p
(narrowband) ví d nh m t cu c g i i n tho i trên m t kênh truy n thông th p b1ng
r ng (wideband lownpass channel) ho&c, trong m t s tr ng h p, nh là m t chu'i bit
trên m t h th ng truy n thông s khác.

4. C s+ lý thuy t
4.1 Các k0 thu t i u ch t% ng t(
Trong i u ch t ng t , quá trình i u ch c áp d ng liên t c theo tín hi u thông
tin t ng t .
Các k. thu t i u ch t ng t thông d ng g m:
• i u ch biên :
o Double - sideband modulation (DSB)

45
Tài li u thí nghi m X lý s tín hi u

AM modulation
Double – sideband suppressed-carrier (DSB – SC)
o Single – sideband modulation (SSB)
o Vestigial sideband modulation (VSB)
o Quadratude amplitude modulation (QAM)
• i u ch góc:
o Frequency modulation (FM)
o Phase modulation (PM)

4.2 Các k0 thu t i u ch s


Trong i u ch s , m t sóng mang t ng t c i u ch b#i m t chu'i bit c!a tín
hi u thông tin. S thay i c!a tín hi u sóng mang c ch n t m t s h2u h n các ký
hi u (symbol).
• Trong PSK, m t t p h p h2u h n các pha c s d ng.
• Trong FSK, m t t p h p h2u h n các t n s c s d ng.
• Trong ASK, m t t p h p h2u h n các biên c s d ng.
• Trong QAM, m t tín hi u cùng pha (tín hi u I, ví d d ng sóng cosine) và m t
tín hi u vuông pha (tín hi u Q, ví d d ng sóng sine) c i u biên v$i m t s
l ng h2u h n các m c biên (ASK). Tín hi u thu c là k t h p c!a PSK
và ASK.
M'i giá tr pha, biên ho&c t n s c gán m t chu'i bit nh phân duy nh t.
Thông th ng, m'i pha, biên ho&c t n s mã hóa m t s l ng bit b(ng
nhau. S bit này t o thành m t ký hi u (symbol) c bi u di n b#i m t pha c
th .
N u b ký hi u (symbol) g m M = 2N symbol khác nhau, m'i ký hi u bi u di n
m t thông i p g m N bit. N u t c ký hi u (hay t c baud) là fs symbols/s
(ho&c baud), t c d2 li u là N×fs bps.
Trong tr ng h p PSK, ASK và QAM, b ký hi u i u ch th ng c bi u
di n trên m t gi n d ng chòm sao (constellation diagram), bi u di n biên
c!a tín hi u I trên tr c X và biên c!a tín hi u Q trên tr c Y.
Các k. thu t i u ch s c b n nh t bao g m:
• Phase – shift keying (PSK)
• Frequency – shift keying (FSK)
• Amplitude – shift keying (ASK) và d ng th ng g&p c!a nó là On – off keying
(OOK)
• Quadratude Amplitude Modulation (QAM): m t k t h p c!a PSK và ASK.
• Polar modulation: gi ng QAM, là k t h p c!a PSK và ASK.
• Continuous phase modulation (CPM)
o Minimum shift keying (MSK)
o Gaussian minimum – shift keying (GMSK)
• Orthogonal frequency division multiplexing (OFDM) modulation
• Wavelet modulation
• Trellis coded modulation (TCM) hay còn g i là trellis modulation

MSK và GMSK là các tr ng h p &c bi t c!a i u ch pha liên t c (CPM). OFDM


d a trên ý t #ng c!a FDM nh ng s d ng m t d ng i u ch s . Chu'i bit c chia

46
Tài li u thí nghi m X lý s tín hi u

thành nhi u chu'i d2 li u song song, m'i chu'i c truy n trên m t sub-carrier s
d ng các k. thu t i u ch s thông th ng. Các sub-carrier c t ng h p thành m t
ký hi u OFDM. OFDM c xem nh m t k. thu t i u ch do nó truy n m t chu'i
bit trên m t kênh truy n s d ng m t chu'i các ký hi u OFDM. OFDM có th c m#
r ng thành m t ph ng pháp a truy c p trong OFDMA, cho phép nhi u ng i dùng
chia s7 cùng m t kênh truy n v t lý b(ng cách gán m'i ng i dùng m t sub-carrier
khác nhau.

4.3 i u ch s d i n n (Digital baseband modulation)


Thu t ng2 i u ch s d i n n ng ngh0a v$i mã hóa ng truy n (line coding), là t p
h p các ph ng pháp truy n m t chu'i bit trên m t kênh truy n t ng t thông
th p, s d ng m t s r i r c các m c tín hi u, b(ng cách i u ch m t chu'i xung (m t
sóng vuông). Các ví d th ng g&p là unipolar, non-return-to-zero (NRZ), Manchester
và AMI (alternate mark inversion).

4.4 Các ph% ng pháp i u ch xung


Các ph ng pháp i u ch xung nh(m truy n m t tín hi u t ng t b1ng h6p trên m t
kênh truy n thông th p nh m t tín hi u c l ng t hai m c, b(ng cách i u ch
m t chu'i xung. M t vài d ng i u ch xung c ng cho phép tín hi u t ng t b1ng h6p
c truy n nh m t tín hi u s v$i m t t c bit c nh, có th c truy n trên m t
h th ng thông tin s bên d $i, ví d nh m t vài line code. Chúng không ph i là
cácd ng i u ch theo ngh0a thông th ng do chúng không ph i là các ph ng pháp mã
hóa kênh (channel coding) mà nên c xem nh là mã hóa ngu n (source coding) và
trong m t vài tr ng h p c xem nh các k. thu t bi n i A/D.
Các ph ng pháp này bao g m:
• Pulse code modulation (PCM): i u ch xung mã
• Pulse – width modulation (PWM): i u ch r ng xung
• Pulse – amplitude modulation (PAM): i u ch biên xung
• Pulse – position modulation (PPM): i u ch v trí xung
• Pulse – density modulation (PDM): i u ch m t xung
• Sigma – delta modulation (DM)
• Adaptive delta modulation (ADM)
Tr i ph tr c ti p (DSSS – direct-sequence spread spectrum) d a trên i u ch PAM.

Trong bài thí nghi m này, hai ph ng pháp i u ch s c th c hi n là i u ch biên


xung (PAM) và i u ch pha (PSK).
4.5 i u ch biên xung (PAM)
i u ch biên xung (PAM) là m t d ng i u ch tín hi u trong ó thông tin c mã
hóa trong biên c!a m t chu'i xung. Ví d : m t b i u ch 2 bit (PAM – 4) s" l y 2
bit m t và ánh x biên tín hi u thành m t trong b n m c, ví d nh -3V, -1V, 1V và
3V.
Gi i i u ch c th c hi n b(ng cách c m c biên c!a sóng mang t i m'i chu k/
ký hi u.
Hi n nay, PAM ít c s d ng và h u nh c thay th b#i PCM và PPM. T t c các
modem i n tho i nhanh h n 300 bps s d ng k. thu t QAM.

47
Tài li u thí nghi m X lý s tín hi u

Tuy nhiên, chu)n giao ti p Ethernet v+n s d ng PAM. Ví d , 100BASE-T2 Ethernet


(# t c 100Mb/s) s d ng i u ch PAM 5 m c ch y # t c 25 megapulses/s trên 2
c&p dây d+n. M t k. thu t &c bi t c s d ng gi m nhi u liên ký t gi2a các c&p
không dây. Sau ó, 1000BASE-T nâng lên s d ng 4 c&p dây d+n # t c 125
megapulses/s tt c d2 li u 1000 Mb/s, v+n s d ng PAM 5 m c cho m'i c&p
dây.
D $i ây là s kh i c!a m t h th ng PAM n gi n (b* qua b cân b(ng thích nghi
và b ph c h i xung clock).

Hình 29. H th ng PAM


Chu'i bit vào c x lý thành các t dài J bits. J bits này c ánh x thành m t trong
2J m c. Ví d , khi J = 3 thì s" có 8 m c. Các m c này các u nhau trên gi n
constellation và i x ng quanh m c zero nh trên hình sau:

Hình 30. Gi n constellation c a PAM 8 m c


Tám i m trên gi n này bi u di n cho 8 m c v$i m'i m c c bi u di n b(ng m t
chu'i 3 bits.

4.6 i u ch d#ch pha (PSK)


PSK là m t ph ng pháp truy n nh n tín hi u s trong ó pha c!a tín hi u truy n i
c thay i mang thông tin. M t vài ph ng pháp có th s d ng th c hi n
PSK, n gi n nh t là PSK nh phân (BPSK) ch% s d ng hai pha c!a tín hi u: 0° và
180°. Các d ng ph c t p h n c!a PSK s d ng 4 ho&c 8 pha, cho phép d2 li u nh phân
truy n # t c d nhanh h n. Trong i u ch 4 pha, các pha s d ng có th là 0°, +90°, -
90° và 180°; m'i s d ch pha có th bi u di n 2 bits/symbol. Trong i u ch 8 pha, các
góc pha có th dùng là 0°, +45°, -45°, +90°, -90°, +135°, -135° và 180° và m'i l n d ch
pha bi u di n 8 bits/symbol.

48
Tài li u thí nghi m X lý s tín hi u

4.6.1 i u ch pha nh phân (BPSK)


M t kênh d2 li u i u ch sóng mang. M t s chuy n bit, t 1 sang 0 hay t 0 sang 1,
t o ra m t s d ch pha 180° ( o pha) c!a sóng mang. Do dó, sóng mang c i u
ch b#i d2 li u.
Gi i i u ch BPSK s d ng các b $c sau:
- M t b bình ph ng t o ra m t thành ph n DC và m t thành ph n # t n s 2fc
- M t b l c thông d i tách thành ph n t n s 2fc
- M t b chia t n s , ngõ ra c!a nó c nhân v$i ngõ vào. K t qu c l c thông
th p thu c tín hi u PCM.

4.6.2 Quadratude Phase Shift Keying (QPSK)


QPSK là m t d ng i u ch trong ó pha c i u ch trong khi t n s và biên
c gi2 c nh. Có 4 pha, m'i pha cách nhau 90°. Các pha này th ng c g i là
các tr ng thái (state) và c bi u di n b#i m t c&p bit. M'i c&p bit c bi u di n
b#i m t d ng sóng c th , g i là m t ký hi u (symbol), s" c g i qua kênh truy n
sau khi i u ch sóng mang. B thu gi i i u ch tín hi u và nhìn # ký hi u khôi ph c
c xác nh c&p bit nào ã c g i i. i u này òi h*i m t ký hi u duy nh t
cho m'i s k t h p c!a các bit d2 li u trong m t c&p. Do có t t c 4 kh n1ng x y ra
khi k t h p các bit d2 li u trong m t c&p (00, 01, 10, 11), QPSK t o ra 4 ký hi u khác
nhau, m'i ký hi u cho m'i c&p, b(ng cách thay i m t thành ph n ng pha (I) và
thành ph n vuông pha (Q).
H th ng truy n QPSK s d ng c sóng sine và cosine làm sóng mang truy n 2 tín
hi u thông i p, sI[n] và sQ[n], c g i là tín hi u in-phase và quadratude. C hai
tín hi u này u c khôi ph c # phía thu, cho pháp truy n d2 li u v$i l ng thông
tin g p ôi # cùng t n s sóng mang.

5. Chu n b# thí nghi m


1. Hãy v" hình minh h a quá trình i u ch PAM m t tín hi u hình sine và gi i thích?
Hãy tìm m t s ng d ng c!a i u ch PAM.
2. Hãy v" gi n constellation ng v$i i u ch PAM 16 m c, QAM, BPSK và QPSK
3. Phân bi t (ng n g n) các ph ng pháp i u ch xung: PAM, PCM, PPM, PWM
4. Tóm t t các b $c s" làm th c hi n các ph n thí nghi m sau.

6. Ti n hành thí nghi m


6.1 Th(c hi n m"ch i u ch PAM trên kit C6713 DSK
Trong thí nghi m này, m ch i u ch PAM 4 m c, 8 m c và 16 m c s" cl nl t
th c hi n trên kit DSP. Trong ó, m ch i u ch 4 m c ã c th c hi n s,n trong
m t project giúp hi u rõ v gi i thu t th c hi n. Sau ó, sinh viên s" t th c hi n
m ch i u ch PAM 8 m c và 16 m c.

Gi i thu t i u ch
M'i m+u vào i u ch g m 16 bits. Tùy vào lo i i u ch PAM, m t m&t n (mask)
thích h p c s d ng.
Hãy xem xét tr ng h p PAM 16 m c (16-PAM). Trong tr ng h p này, bi u di n
16 m c c n 4 bits, do ó m'i ký hi u s" có chi u dài 4 bits. t ct c ký hi u

49
Tài li u thí nghi m X lý s tín hi u

mong mu n, m+u vào c chia làm các o n dài 4 bits. Nh v y, m'i m+u vào s" g m
4 o n. Vi c x lý m+u vào bao g m vi c áp d ng m&t n và d ch. Kh i ký hi u u
tiên nh n c b(ng cách dùng m+u vào AND v$i m&t n 0x000F l y 4 bit LSB
(0x000F là bi u di n trong h th p l c phân c!a 00000000 00001111, khi AND m t
m+u v$i m&t n này, ch% 4 bit cu i c!a m+u c gi2 l i, t o thành 1 ký hi u). Kh i ký
hi u th ha nh n c b(ng cách d ch m+u ban u sang ph i 4 bit và áp d ng l i m&t
n . Các b $c này c l&p l i cho n khi h t chi u dài c!a m+u vào và t o ra 4 ký
hi u.
Do m'i ký hi u có chi u dài 4 bit nên s" có t t c 16 ký hi u. 16 ký hi u này c ánh
x thành 16 m c i n áp cách u nhau d a theo m t b ng tra nh sau:

B ng 1. B ng tra PAM 16 m c

Kh i ký hi u M c i n áp (bi$u di n d"ng s Hex)


0000 0x7FFF
0001 0x6EEE
0010 0x5DDD
0011 0x4CCC
0100 0x3BBB
0101 0x2AAA
0110 0x1999
0111 0x0888
1000 - 0x0889
1001 - 0x199A
1010 - 0x2AAB
1011 - 0x3BBC
1100 - 0x4CCD
1101 - 0x5DDE
1110 - 0x6EEF
1111 - 0x8000

Ví d , m+u vào là 0xA52E (10100101 00101110). Khi ó, 1110 (sau khi l c m&t n l y
4 bit LSB) c ánh x thành m c -0x6EEF. M'i ký hi u g m 4 bit c ánh x lên 16
m c cách u nhau t -0x8000 n 0x7FFF. Kho ng cách gi2a các m c c ch n là
0x111 có kho ng cách u nhau.
M c i n áp c ch n sau ó s" c truy n i nh m t sóng vuông. Chu k/ c!a sóng
vuông t c b(ng cách xu t cùng m t m c i n áp ó nhi u l n (ví d 12 l n) có
th t c 1 d ng sóng vuông t t # ngõ phát (sau khi qua b D/A).
Cùng m t cách th c hi n c!a b phát c áp d ng cho PAM 4 m c (4-PAM) và 8
m c (8-PAM) v$i s khác nhau v m&t n , d ch và b ng tra. i v$i 8-PAM, bit có
tr ng s th p nh t (LSB) c!a m+u vào c lo i b* s bit còn l i (15) là m t b i s

50
Tài li u thí nghi m X lý s tín hi u

c!a 3. i u này gây tác ng không áng k lên d ng sóng i u ch và d ng sóng khôi
ph c l i.
Các b ng tra i v$i b i u ch 4 – PAM và 8 – PAM l n l t nh sau:
B ng 2. B ng tra PAM 4 m c

Kh i ký hi u M c i n áp (d"ng Hex)
00 0x7FFF
01 0x2AAA
10 - 0x2AAB
11 - 0x8000

B ng 3. B ng tra PAM 8 m c

Kh i ký hi u M c i n áp (d"ng s Hex)
000 0x7FFF
001 0x5B6D
010 0x36DB
011 0x1249
100 - 0x1249
101 - 0x36DB
110 - 0x5B6D
111 - 0x7FFF

Ch ng trình th c hi n
Hãy th c hi n theo các b $c sau:
1. C p ngu n i n cho kit và ch y ch ng trình Code Compose Studio trên máy
tính.
2. M# project PAM4 # folder C:\CCStudio_v3.1\MyProjects\PAM4\.
3. Trong c a s File View, double click lên t p tin PAM4.c m# nó ra. ây là t p
tin ch a mã ngu n chính c!a ch ng trình. N i dung c!a t p tin này nh sau:
// PAM
#include "DSK6713_aic23.h"
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ;

#include <math.h>
//Initialization:
int i_PAM;
int j_PAM;
int k;
int masked_value, output;
int data_4PAM[4] = {0x7FFF, 0x2AAA, -0x2AAB, -0x8000};

51
Tài li u thí nghi m X lý s tín hi u

int out_buffer[256];
int i=0;

interrupt void c_int11() //interrupt service routine


{
int sample_data;

if (i_PAM==96)
{
sample_data = input_sample(); //inputs data
i_PAM=0;
j_PAM=0;
}
masked_value = sample_data & 0x0003;
output = data_4PAM[masked_value];
output_sample(output);
out_buffer[i++] = output;
if (i==256)
i = 0;
j_PAM++; //repeated output counter

if (j_PAM==12)
{
j_PAM=0;
sample_data = sample_data >> 2;
}
i_PAM++;

return;
}

void main()
{
i_PAM=0;
comm_intr(); //init DSK, codec, McBSP
while(1); //infinite loop
}
Trong ch ng trình này, hàm main( ) &t giá tr bi n i_PAM = 0 và kh#i ng kit.
Sau ó s" th c hi n m t vòng l&p vô t n v$i l nh while (1).
Khi có tín hi u xung l y m+u (t n s 8KHz), ng t 11 x y ra và trình ph c v ng t
c_int11( ) c g i. Trong trình ph c v ng t này, d2 li u vào c c vào bi n
sample_data (b(ng l nh sample_data = input_sample( )). M+u d2 li u này bi u
di n # d ng s nguyên 16 bit có d u.
Do # ây th c hi n i u ch PAM 4 m c, mà bi u di n c 4 m c thì c n 2
bit. Do ó, m+u d2 li u vào s" c chia ra làm 8 ký hi u (symbol), m'i ký hi u 2
bit. th c hi n vi c chia này, m+u d2 li u c AND v$i m&t n 00000000
00000011 (t c là 0x0003) l y 2 bit LSB c!a m+u d2 li u. 2 bit này c ánh x
thành 1 trong 4 m c i n áp b(ng cách s d ng b ng data_4PAM. B ng này có 4

52
Tài li u thí nghi m X lý s tín hi u

giá tr ng v$i 4 m c i n áp (0x7FFF, 0x2AAA, -0x2AAB, -0x8000) c khai


báo # u ch ng trình. M'i symbol s" cho ra 1 m c i n áp. cho d ng sóng
xu t ra sau khi qua b A/D có d ng sóng vuông, m'i m c s" c xu t ra 12 l n
tr $c khi chuy n sang m c ng v$i symbol k ti p. Bi n m j_PAM ms
l n xu t ra cho ! 12 l n. Nh v y, ng v$i m'i m+u vào 16 bit, ta có 8 symbol.
M'i symbol s" xu t ra 12 l n, nh v y s l n xu t ra ng v$i m'i m+u là 8 x 12 =
96 c th hi n b#i bi n m i_PAM.
Ví d : M+u vào có giá tr 0x001B (t c là 00000000 00011011). M+u này u tiên
c ch a vào bi n sample_data.
- u tiên: sample_data = 00000000 00011011
+ Sample_data AND 0x0003 = 00000000 00000011 (= 3).
+ data_4PAM(3) = - 0x8000 m c i n áp – 0x8000 c xu t ra 12 l n
- Ti p theo: sample_data d ch ph i 2 bit 00000000 00000110
+ Sample_data AND 0x0003 = 00000000 00000010 ( = 2)
+ data_4PAM(2) = - 0x2AAB m c i n áp -0x2AAB c xu t ra 12 l n
- Quá trình ti p t c cho n khi h t 16 bit c!a m+u vào, t c là d ch 8 l n, m'i
l n xu t 12 l n s l n xu t t ng c ng i_PAM = 8 x 12 = 96 l n. Sau ó s"
c vào m+u k ti p và th c hi n i u ch .
- ây, m t b m n i out_buffer có kích th $c 256 m+u c dùng l ul i
giá tr xu t ra nh(m ph c v cho vi c v" tín hi u xu t ra b(ng công c Plot trong
CCS (xem ph n h $ng d+n v" th trên CCS).
4. Ch n Project Rebuild All biên d ch ch ng trình.
5. Sau khi biên d ch thành công, n p ch ng trình lên kit (File Load Program) và
ch y th ch ng trình.
6. M# máy phát sóng lên và quan sát d ng sóng xu t ra. - ây hãy quan sát theo 2
cách: (1) s d ng Code Compose Studio v" các giá tr c!a b m n i
out_buffer. (2) quan sát tín hi u xu t ra # ngõ ra Line Out c!a kit b(ng
Oscilloscope.
7. Do # ây s d ng máy phát sóng, d ng sóng thay i liên t c nên k t qu ra khó
ki m ch ng. Hãy s a câu l nh sample_data = input_sample( ) thành
sample_data = 0x???? (m t giá tr b t k/ 16 bit d ng s hex) r i biên d ch, n p
và ch y l i ch ng trình.V" l i d ng sóng xu t ra trong CCS. Lúc này, m+u vào là
giá tr c nh do nh p vào và d ng sóng xu t ra s" d dàng ki m ch ng h n.
Hãy th m t vài giá tr nh p vào và v" d ng sóng xu t ra.
Bài t p
Hãy chép toàn b Folder PAM4 sang m t Folder m i và t tên tùy ý. Th c hi n các
bài t p sau trên folder m i không làm nh h ng n ph n ã làm.
1. Ch%nh s a l i ch ng trình trên th c hi n i u ch PAM 8 m c.
G i ý:
- M!i symbol g"m 3bits. Do m u vào có 16 bits, c n b# 1 bits LSB (b ng cách
d ch ph i sample_data 1 bit) còn l i 15 bits là b i s c a 3 và m!i m u s
t o ra 5 symbols.
- M tn l y 3 bit LSB là 00000000 00000111 (0x0007)
- S$ d ng b ng tra ng v i 8-PAM khai báo các m c áp ra t ng ng
2. T ng t , hãy th c hi n m ch i u ch PAM 16 m c trên kit
53
Tài li u thí nghi m X lý s tín hi u

Trong ph n báo cáo, ch% c n ph n mã ngu"n ng v i gi i thu t i u ch . Gi i thích


và v m t vài d ng sóng i u ch thu c ki m ch ng.

6.2 Th(c hi n m"ch i u ch PSK trên kit C6713


Trong bài thí nghi m này, hai b i u ch PSK s" c th c hi n là PSK nh phân và
QPSK.

Gi i thu t i u ch
M'i m+u vào c thu và l u vào trong m t v trí nh$, ch a 16 bits. Tùy theo ki u i u
ch PSK (2 pha hay 4 pha), m t m&t n thích h p c s d ng. i v$i BPSK, m'i
giá tr m+u vào c chia ra làm 16 thành ph n, m'i thành ph n 1 bit; i v$i QPSK,
m+u vào c chia thành 8 dibits (m'i dibit g m 2 bits). Vi c này t c b(ng cách
áp m&t n t ng ng 0x0001 và 0x0003 lên m+u vào. Sau ó, m+u s" c d ch ph i 1
bit ( BPSK) ho&c 2 bit (QPSK) và l&p l i cho n khi h t chi u dài m+u vào.
Sau khi c t m+u vào thành các o n nh trên, các giá tr s" c gán cho các d ng sóng
hình sine v$i pha t ng ng. Trong BPSK, ch% có 2 pha là 0° và 180° ng v$i bit 0 và
bit 1. Tuy nhiên, v$i QPSK, chúng ta c n 4 pha (0°, 90°, 180° và 270°) ng v$i 00, 01,
11 và 10. Vi c ánh x c th c hi n theo mã Gray (Gray code) nh(m làm c c ti u l'i
do nhi u trong quá trình truy n b(ng cách c c i kho ng cách gi2a các ký hi u trên
gi n d constellation.
M'i m+u vào c bi u di n b(ng 16 bits. M'i m+u s" g m 16 o n (v$i BPSK) và 8
o n (v$i QPSK). Do m'i ký hi u c truy n b#i m t hình sine t o theo ph ng pháp
s b(ng 4 i m, c m'i 64 m+u ra (v$i BPSK) ho&c 32 m+u ra (v$i QPSK), m t m+u
vào c l y vào.

Ch ng trình th c hi n
Hãy th c hi n theo các b $c sau:
1. C p ngu n i n cho kit và ch y ch ng trình Code Compose Studio trên máy
tính.
2. M# project BPSK # folder C:\CCStudio_v3.1\MyProjects\BPSK\.
3. Trong c a s File View, double click chu t lên t p tin BPSK.c m# ra. ây là
t p tin ch a mã ngu n ch ng trình. N i dung ch ng trình này nh sau:
//BPSK
#include "DSK6713_aic23.h"
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ;

#include <math.h>
//Initialization:
int i_BPSK;
int j_BPSK;
int k;
int masked_value, output;
int out_buffer[256];
int i=0;
//Data table for BPSK
int data_BPSK[2][4]={0, 1000, 0, -1000, //0 degree
54
Tài li u thí nghi m X lý s tín hi u

0, -1000, 0, 1000}; //180 degree

interrupt void c_int11() //interrupt service routine


{
int sample_data;

if (i_BPSK==64) //determines when to get new input


{
sample_data = input_sample(); //inputs data
i_BPSK=0;
j_BPSK=0;
}

masked_value = sample_data & 0x0001;


output = data_BPSK[masked_value][j_BPSK];
output_sample(output*10);
out_buffer[i++] = output*10;
if (i==256)
i = 0;
j_BPSK++; //repeated output counter

if (j_BPSK==4)
{
j_BPSK=0;
sample_data = sample_data >> 1;
}
i_BPSK++;
return;
}

void main()
{
i_BPSK=64;
j_BPSK=0;
comm_intr();
while(1); //infinite loop
}
Hàm main( ) s" &t 2 bi n m i_BPSK = 64 và j_BPSK = 0, kh#i ng kit và b
codec r i ch y m t vòng l&p vô t n. Khi có xung l y m+u, ng t 11 c kích ho t và
trình ph c v ng t c_int11( ) c g i.
Trình ph c v ng t s" c m t m+u d2 li u # ngõ vào. M+u này c bi u di n b(ng
16 bit. Khi i u ch BPSK, m'i symbol ch% g m 1 bit ( phân bi t 2 pha 0° và 180°
ch% c n 1 bit), do ó, m+u vào s" c chia ra làm 16 symbol b(ng cách s d ng m&t
n 0x0001 l y bit LSB. Tùy bit này là 0 hay 1 mà xu t ra d ng sóng sine có pha
t ng ng.
Ví d : M+u vào là 0x0003 c AND v$i m&t n 0x0001 cho ra bit 1. Do ó, d ng
sóng sine xu t ra có pha 180°. - ây, sóng sine c t o ra b(ng 4 i m, m'i l n
mu n xu t sóng sine, ch ng trình s" xu t ra 4 giá tr th hi n 1 chu k/ c!a sóng sine.

55
Tài li u thí nghi m X lý s tín hi u

Trong ch ng trình trên, các giá tr c khai báo trong bi n data_BPSK[2][4]. ây


là 1 m ng 2 chi u kích th $c 2x4 th hi n 2 d ng sóng sine: pha 0° là {0, 1000, 0, -
1000} và pha 180° là {0, -1000, 0, 1000}. Giá tr này th hi n biên c!a sóng sine
trong 1 chu k/, t i th i i m 0, T/4, T/2 và 3T/4 (T là chu k/).
Sau khi xu t ra ! 4 i m, m+u vào c d ch sang ph i 1 bit và l y m&t n bit LSB.
L&p l i nh v y cho n h t chi u dài c!a m+u.
Nh v y, m'i m+u vào 16 bit có 16 symbol, m'i symbol s" t o ra 1 chu k/ sóng sine
g m 4 i m, do ó v$i m'i m+u vào, ch ng trình xu t ra 4 x 16 = 64 m+u ra và bi n
m i_BPSK giúp xác nh khi nào c phép l y m+u vào k ti p.
4. Biên d ch ch ng trình. N u thành công, n p ch ng trình ã biên d ch lên kit
ch y th .
5. M# máy phát sóng lên và quan sát d ng sóng xu t ra. - ây hãy quan sát theo 2
cách: (1) s d ng Code Compose Studio v" các giá tr c!a b m n i
out_buffer. (2) quan sát tín hi u xu t ra # ngõ ra Line Out c!a kit b(ng
Oscilloscope.
6. Do # ây s d ng máy phát sóng, d ng sóng thay i liên t c nên k t qu ra khó
ki m ch ng. Hãy s a câu l nh sample_data = input_sample( ) thành
sample_data = 0x???? (m t giá tr b t k/ 16 bit d ng s hex) r i biên d ch, n p
và ch y l i ch ng trình.V" l i d ng sóng xu t ra trong CCS. Lúc này, m+u vào là
giá tr c nh do nh p vào và d ng sóng xu t ra s" d dàng ki m ch ng h n.
7. Hãy th m t vài giá tr nh p vào và v" d ng sóng xu t ra.
Bài t p
Hãy chép toàn b folder BPSK sang m t folder m$i và &t tên là QPSK. Ch%nh s a l i
ch ng trình th c hi n i u ch QPSK. Sau ó biên d ch và ch y trên kit ki m
ch ng k t qu th c hi n.
G iý:
- i u ch QPSK c n 4 pha: 0°, 90°, 180° và 270° nên c n khai báo 1 m ng 4 x 4:
4 sóng sine l ch pha nhau 90°, m!i sóng sine có 4 i m. t tên m ng là
data_QPSK[4][4] thay cho data_BPSK và s$a l i tên bi n cho phù h p.
- M!i symbol g"m 2 bit, do ó c n s$ d ng m t n thích h p l y 2 bit LSB và
m!i l n d ch 2 bit.
- Thay &i bi n m cho thích h p vì m!i m u vào ch% g"m 8 symbols.

Trong ph n báo cáo, trình bày ph n mã ngu n ng v i gi i thu t i u ch (ph n t


th c hi n). Gi i thích nh ng gì ã làm và v m t vài d ng sóng i u ch thu c
ki m ch ng.

56
Tài li u thí nghi m X lý s tín hi u

Tài li u tham kh o
[1] Rulph Chassaing , Digital Signal Processing and Applications with the C6713 and 6746
DSK, John Wiley & Sons, Inc. 2005.
[2] Lê Ti n Th ng, X$ lý s tín hi u & Wavelet, Nhà xu t b n i h c Qu c Gia TP. HCM,
2004.
[3] J. Proakis, D. Manolakis, Introduction to Digital Signal Processing, MacMillan Publisher,
1989.
[4] The Wikipedia ( http://en.wikipedia.org/wiki/ )

57

You might also like