You are on page 1of 22

119

BI THC TP CHUYN

KHO ST CC C TNH P NG B LC THNG THP
1. Mc ch
Mc ch ca bi th nghim ny l s dng mt b lc tch cc cng c thit
k nh l b lc thng thp 5 cc to thnh b lc c th thay i c, c c tnh
Butterwworth, hoc Chebyshev hay l Bessel .. N c tr khng li vo kh ln
(khong 10k) v tr khng li ra kh nh v v th hot ng ca n khng ph thuc
nhiu vo li vo v li ra ( Ch : Hy gi in p li vo di 5 Volt nh-nh
trnh qu ti ) , Bn cnh sinh vin dng chng trnh MATLAB Signal Processing
Toolbox thit k b lc ny v s dng bn mch Startup kit TMS320C50 DSP (B
s l s tn hiu) vi phn mm hp ng DSK to ra b lc p c cc c tnh trn.

S khi ca th nghim c m t nh sau :

a) S th nghim s dng b lc tch cc cng :



b) S th nghim s dng TMS320C50 DSP




120
2. Dng c thc nghim
i) My pht chc nng
ii) B lc tch cc vi ngun +/- 15
Volt

iii) Dao ng k
iv) Volt k RMS
v) My o phase
vi) My tnh vi phn mm DSK , MatLab
vii) Startup kit TMS320C50 DSP
viii) pht chc nng ( Function Generator);

A. PHN L THUYT

1. Cc c tnh p ng b lc thng thp

Trong phn ny sinh vin phi phn tch , nh gi cc c tnh tn s v p ng
truyn dn ca ng truyn c c trng lc Butterwworth, hoc Chebyshev hay l
Bessel theo cc ch dn di y :

o Vi p ng tn s , phi ch n gi tr suy hao ng k ti cc tn s no
. Cc tn s ny phi c o v v theo tn s c chun ho. Vi mi mt
b lc , cc tn s c chun ho c s dng v trn th sao cho chng
c th biu din dng iu chung nht ca b lc t xem xt c p ng
mi khi c mt s thay i tn s.
o T p ng tn s , cc tr pha ti cc tn s c la chn phi c o v cc
c tnh khuych i, chm phase , tr phase v tr nhm c tnh ton t
cc gi tr o c.
o Vi p ng truyn dn , p ng li ra ca mi b lc khi mt bc li vo c
s dng

a) Gii thiu :

Mi mt b lc bc-5 c mt hm truyn c chun ho di dng :

e


H(s) =
-------------------------------------------------------------------

S
5
+ a S
4
+ b S
3
+ c S
2
+ d S
1
+ e

Trong a, b, c, d, e l cc h s ca b lc


121
Butterworth c hm truyn (TF) c chun ho ti
c
= 1 rad/s
Chebyshev c 1 dB ripple ,

c
= cosh [ (1/n) cosh
-1
(1/e) ]

Do b lc bc-5 c n=5 v e=0.50885 v th
c
1.0338 v sao cho

r
khng

di -3dB th
r
= (20000/1.0338 ) = 19346 rad/s c do vy TF
c t li bng s/
r
= 20000/19346.
Bessel c chun ho ti thi gian tr T
0
= 1 sec m bo cho
c
=
20000rad/s th tr phi gim xung

t
o
= 1.21 x 10
-4
sec

TF c chun ho bng cch t li s = st
o
, trong t
0
l tr thit k

tr phase tn s zero c xc nh bng cch t s hay bng
zero v v vy ch cn h s bc-1 trong H(s) , xc nh tr phase kt qu ca biu
thc ( bng cch t s = j ) vi T
p
= -f()/


Cho b lc c th chuyn i thnh cc loi b lc Butterwworth, hoc
Chebyshev hay l Bessel cng vi cc thit b th nghim nu trn , sinh vin hy
tin hnh cc bc sau y :

b) tr phase tn s zero

Cc mu s c chun ho theo 3 hm truyn l

Butterworth S
5
+ 3.236 S
4
+ 5.236 S
3
+ 5.236 S
2
+ 3.236 S
1
+ 1

Chebyshev S
5
+ 0.908 S
4
+ 1.601 S
3
+ 0.889 S
2
+ 0.509 S
1
+ 0.104

Bessel S
5
+ 6.181 S
4
+ 17.827 S
3
+ 29.381 S
2
+ 27.238 S
1
+ 11.222

s dng tn s ln ti
0
= 20 000 rad/s ( f
0
= 3.18 KHz ) sao cho p ng tn
s mong i ph hp vi TF vi S c thay th bng j/20000. Hy s
dng cc thng tin ny tnh ton tr phase tn s zero / c tnh ca
mi mt b lc ( bng cch t 0 v th ch cn li i lng bc nht )

c) Cc tn s tim cn


122
Cc tn s ca cc b lc bc 5 ny c tnh ton theo hm truyn nu
trong mc (a) trn y

d) Quan st p ng tn s

Bin : Vi mi mt b lc, hy so snh in p li ra tnh theo n v
dB v ghi li cc tn s m ti c s suy hao ng k v bin li ra
, tc l vi Butterworth v Bessel, cc tn s cho -0.5dB, -1dB , -3dB ,
-10dB , -20dB , -30dB v -40dB , cn vi Chebyshev ti cc tn s
v gi tr suy hao ng vi gi tr ti a trong bng di v gi tr suy
hao ng vi gi tr ti thiu ti gn mp bng di , cc tn s cho cho -
0.5dB, -1dB , -3dB , -10dB , -20dB , -30dB v -40dB
Hy v p ng theo n v dB i li vi thang logarithm tn s
c chun ho
Hy dng my o phase chnh xc v ghi li s chm phase ca b lc
ti mi mt trng thi ca n ti cc tn s sau y
40, 120, 400, 480, 700, 780, 1000, 1080, 1300, 1380, 1600, 1680,
1900, 1980, 2100, 2180, 2300, 2380, 2700, 2780, 3000, 3080, 4000,
4080, 5000, 5080Hz
tr phase / c th c xem xt bn cnh cc tn s ny v gi tr
tng ng vi tr nhm ( / ) c th c tnh theo cc tn s
80, 440, 740, 1040, 1340, 1640, 1940, 2140, 2340, 2740, 3040,
4040, 5040Hz
Hy v s chm phase , tr phase v tr nhm ng vi mi mt trng
thi b lc khi dng cc thang tn s c chun ho tuyn tnh ri tnh cc
tr tn s zero

e) Quan st p ng truyn dn

Cho li vo b lc mt xung in th dng sng hnh vung , hy quan st
thi gian cn thit cho in th li ra t gi tr n nh sau mi mt
bc ca sng hnh vung
Vi mi mt b lc, hy quan st tr thi gian gia tn hiu li vo v
li ra khi li ra t c 50% gi tr cui cng ca n. Chng c th c
coi nh tr hiu dng ca b lc theo p ng li vo

f) M phng

Cho mch lc vi s theo hnh v di y :


123


Hy s dng phn mm PSPICE ( hay l ELECTR)NIC WORKBENCH)
a ra p ng tn s ca b lc
S dng cc phn mm MatLab hay Mathematica tnh p ng bin
v p ng phase ca b loc
Thay th 1 vi gi tr ca mt vi phn t trong b lc trn y ( theo yu cu
ca gio vin ) ri m phng v thu nhn li kt qu

2. Thit k b lc IIR dng mu Analog.

Mt lp quan trng thit k b lc s IIR l da trn bin i b lc tng t c in
Butterworth, Chebyshev I, Chebyshev II, v Cauter sang dng s tng ng. Phng
php c in thit k cc b lc s IIR c thc hin v nhng l do sau y:

a) u im ca thit k b lc IIR tng t. Do , rt thun tin s dng
th tc thit k c pht trin b lc tng t
b) C rt nhiu phng php thit k b lc tng t hu ch c cng thc
tht k dng n gin, phng php thit k mch lc s da trn cng thc
thit k tng t chun hn l n gin thc hin n, s dng c bin i
tng t hay bt k dng no.

124
c) Phng php xp x tiu chun ca b lc tng t khng cho ta cng thc
thit k n gin khi cc phng php ny c p dng trc tip thit
k b lc FIR.

Bn hm trong MATLAB
TM
SIGNAL PROCESSING TOOLBOX thit k b lc IIR
thng thp ni trn l :

[b,a]=butter(N,Wn)
[b,a]=cheby1(N,Rp,Wn)
[b,a]=cheby2(N,Rs,Wn)
[b,a]=ellip(N,Rp,Rs,Wn)

C 4 phng php thit k b lc thng thp bc N c tn s ct Wn,Wn nm trong
khong 0 v 1, vi 1.0 l mt na tn s ly mu( tn s Nyquist). Vi cheby1 v ellip,
bin Rp l decibel ca gn (ripple) trong di thng, vi cheby2 v ellip di chn c
t l Rs decibel tr xung t gi tr nh ca di thng.

Cc hm sau cho ta h s b lc c chiu di N+1 hng vector b v a. Cc h s b
lc l ly tha ca z:


n
n
z n a z a a
z n b z b b
z A
z B
z H


+ + +
+ + +
= =
) 1 ( ... ) 2 ( ) 1 (
) 1 ( ... ) 2 ( ) 1 (
) (
) (
) (
1
1
(12)

Cc gi tr nh hn ca gn Rp thng di v cc gi tr ln hn Rs chn di u
dn n qu ln hn (c trng ct ngn hn).

Nu Wm l vector 2 thnh phn, Wn=[w1,w2], thit k 4 hm b lc thng di bc
2N vi di w1< <w2.

B lc thng cao c thit k bng cch thm chui high vo sau cu lnh:

[b,a]=ellip(N,Rp,Rs,Wn,high)

B lc chn di c thit k bng cch thm chui stop vo cui cu lnh:

[b,a]=butter(N,Rp,Rs,Wn,stop)

l b lc chn di bc 2N nu Wn=[w1,w2]. Di chn l w1< <w2.


125

Bc b lc nh nht yu cu phi t c cc tnh cht thc hin c bit, c
nh ngha trong hnh 8.1, c th c tnh ton s dng mt hm chn bc b lc:

[N,Wn]=buttord(Wp,Ws,Rp,Rs)
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)
[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs)
[N,Wn]=ellipord(Wp,Ws,Rp,Rs)

Cc hm ny tr li N v Wn s dng trong butter, cheby1,cheby2, hay ellip. Cc
hm chn bc ny cng c dng thit k b lc chn di, thng di v thng cao.
Vi b lc thng cao, Wp>Ws, Vi b lc thng di v chn di, t Wp v Ws l vector
2 thnh phn xc nh tn s c 2 l ca b lc, l u trc l th 2. Wn, vi b lc
thng di, c tr li l vector hng c 2 thnh phn a vo hm thit k b lc.

Ex1: Chn bc b lc Butterworth, Rp =3dB, Kt qu l li ra Wn =Wp. D liu vi tn
s ly mu 1000 Hz, b lc thng thp c suy gim nh hn 3dB 100 Hz v gim
15 dB vi 150 Hz:

Wp=100/500;
Ws=150/500;
Rp=3;
Rs=15;
[N,Wn]=buttord(Wp,Ws,Rp,Rs)
[b,a]=butter(n,Wn);


126
Ex2: Thit k b lc thng di c di thng t 100 Hz n 200 Hz, c suy gim
nh hn 3 dB di thng v di 30 dB 50 Hz c 2 pha, gi s tn s ly
mu l 1000 Hz:

Wp=[100 200]/500;
Ws=[50 250]/500;
Rp=3;
Rs=30;
[N,Wn]=buttord(Wp,Ws,Rp,Rs)
[b,a]=butter(n,Wn);

Ex3: Chn bc b lc Chebyshev I, th tc cng ging nh trn D liu vi tn s ly
mu 1000 Hz, thit k b lc thng thp c suy gim nh hn 3dB 100 Hz v gim
15 dB vi 150 Hz:

Wp=100/500;
Ws=150/500;
Rp=3;
Rs=15;
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)
[b,a]=cheby1(n,RpWn);

Ex4: Thit k b lc thng di Chebyshev loi I c di thng t 100 Hz n 200 Hz,
suy gim nh hn 3 dB di thng v di 30 dB 50 Hz c 2 pha, gi s tn
s ly mu l 1000 Hz:

Wp=[100 200]/500;
Ws=[50 250]/500;
Rp=3;
Rs=30;
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)
[b,a]=cheby1(n,Rp,Wn);

Ex5: Chn bc b lc Chebyshev loi II, th tc cng ging nh trn D liu vi tn
s ly mu 1000 Hz, thit k b lc thng thp c suy gim nh hn 3dB 100 Hz v
gim 15 dB vi 150 Hz:

Wp=100/500;
Ws=150/500;
Rp=3;
Rs=15;
[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs)
[b,a]=cheby2(n,Rs,Wn);

127

Ex6: Thit k b lc thng di Chebyshev loi I c di thng t 100 Hz n 200 Hz,
suy gim nh hn 3 dB di thng v di 30 dB 50 Hz c 2 pha, gi s tn
s ly mu l 1000 Hz:

Wp=[100 200]/500;
Ws=[50 250]/500;
Rp=3;
Rs=30;
[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs)
[b,a]=cheby2(n,Rs,Wn);

Ex7: Chn bc b lc elliptic, th tc cng ging nh trn D liu vi tn s ly mu
1000 Hz, thit k b lc thng thp c suy gim nh hn 3dB 100 Hz v gim 15 dB
vi 150 Hz:

Wp=100/500;
Ws=150/500;
Rp=3;
Rs=15;
[N,Wn]=ellipord(Wp,Ws,Rp,Rs)
[b,a]=ellip(n,Rp,Rs,Wn);

Ex8: Thit k b lc thng di elliptic c di thng t 100 Hz n 200 Hz, suy gim
nh hn 3 dB di thng v di 30 dB 50 Hz c 2 pha, gi s tn s ly mu
l 1000 Hz:

Wp=[100 200]/500;
Ws=[50 250]/500;
Rp=3;
Rs=30;
[N,Wn]=ellipord(Wp,Ws,Rp,Rs)
[b,a]=ellip(n,Rp,Rs,Wn);
Thc hin b lc IIR

B lc p ng n xung v hn ( IIR ) c s dng rng ri trong cc ng dng
s l s tn hiu. Hm truyn ca b lc IIR c cho bi :

( )
( )
( ) z X
z Y
z a z a
z b z b b
z H
N
N
M
M
=
+ + +
+ + +
=


L
L
1
1
1
1 0
1



128
Hnh dI y cho ta gin khI ca b lc IIR ( kiu 2 ) bc-N Direction-form
. Trong min thi gian n mt b lc IIR bc N c biu din bI hai biu thc khc
nhau nh sau :

Ti khong thi gian th n
- x(n) l mu li vo hin hnh
- y(n) l mu li ra hin hnh

d(n) = x(n) d(n 1)a
1
... d(n N + 1)a
N-1
y(n) = d(n)b
0
+ d(n 1)b
1
+ ... + d(n N + 1)b
N-1

Hai biu thc trn d dng c s dng cho TMS320C50 khi dng cc lnh
nhn accumulator ( MAC, MACD, MADS, MADD ) . C rng biu thc th hai cng
i hi cc lnh di chuyn d liu nng cp ( update ) trng thi xu bin I c
d(n) .

thc hin b lc IIR trnh by phng trnh (9) trc tip. C 2 cch thc hin
b lc IIR trc tip l : Direct-Form I v Direct-Form II. Thc hin Direct-Form I
phng trnh sai phn bc N c ch ra trn hnh 8.2. Cu trc mng c ch ra trn
hnh 8.2 c phng trnh sai phn nh sau:


= =
+ =
M
k
k
N
k
k
k n x b k n y a n y
0 1
] [ ] [ ] [ (13)




129
vi x [n ] v y [n ] l li vo v li ra tng ng. Phng trnh ny cho thy li ra
ca b lc l tng cc trng s ca li vo v li ra ca b lc. S dng cc k thut
tng t vi b lc FIR, iu ny c th thc hin trc tip v c hiu qu trn
TMS320C50,



Thc hin Direct-Form II ca phong trnh sai phn bc N c cho trn hnh 8.3. V
dng Direct-Form II c tr nh nht ( cc nhnh c nhn
1
z ), n cn t thanh ghi lu tr
khi tnh ton. Cu trc ny rt thun li vi b nh d liu nh khi thc hin b lc IIR.
Phng trnh sai phn cho mng ny l:

=
+ =
N
k
k
k n d a n x n d
1
) ( ) ( ) ( (14)

=
=
N
k
k
k n d b n y
1
) ( ) ( (15)

vi x(n) v y(n) tng ng l li vo v li ra; d(n) l bin trung gian. Khi N=2, phng
trnh tr thnh:

) 2 ( ) 1 ( ) ( ) (
2 1
+ + = n d a n d a n x n d (16)
) 2 ( ) 1 ( ) ( ) (
2 1 0
+ + = n d b n d b n d b n y (17)


130

Cu trc mng ca n c cho trn hnh 8.4. Ch rng s dng Direct-Form II
ny, d(n) l tn s cn lu trong b lu gi tr tr. Sp xp lu gi tr delay-node cho
Direct-Form II IIR c trnh by trn hnh 8.5.

B. PHN THC NGHIM
1. Th tc

1) Tt ngun, ni bn mch vi cng PC RS232-C trn my tnh. Ni 9 Vac Adapter
vi bn mch v cm ra bn ngoi. Bt my tnh v thay i ng dn c cha
phn mm DSK.

2) Chy chng trnh DSKL( DSK5L) v kim tra l chng trnh DSK_COMM
c ti chnh xc. By gi thc hin AUTOTEST (lnh A) v xc minh l
kim tra vng lp. Nu DSK c kt ni v chc nng chnh xc th bn c th
bt u thc hin. Dng chng trnh DSKL.

3) Thit k b lc IIR thng thp. C cc yu cu nh sau:

passband 0-3 KHz
passband ripple 0.5db
stopband attenuation 45db
sampling frequency 15 KHz
transition width 450 Hz
Xc nh cc h s cho b lc s dng Matlab.


131
4) Lng t ha cc h s v lit k cc h s t l s c s dng chng trn.
Lit k cc h s t l ny v tt c cc h s, h s lng t. C th ph thuc vo
h s t l thit k.

5) Trc khi thc hin b lc, so snh p ng tn s ca h s tnh ton vi p ng
ca h s lng t , v chng minh rng lng t khng lm gim p ng tn s
ca b lc.

6) To ra cu trc thc hin v biu miu t b lc ging nh b lc thc hin
dng DSP.

7) To ra m ngun thc hin b lc. a 1 Vrms vo DSK v chy chng trnh.
Quan st li ra ca DSK trn dao ng k v xc nhn rng l xung sin khi tn
s li vo nm trong phn thng di ca b lc. o bin li ra khi tn s thay
i trong khong 50 Hz n 3500 Hz. Nu li ra l sng sin, dng my o in p
xoay chiu o bin . So snh ph o c ca b lc vi gi tr mong mun.

2. Yu cu tin hnh thc tp

Di y l cc chng trnh v d v b lc IIR . Chng trnh v d (*) di
y dng cho b lc IIR thng thp bc N=4 , tn s ct khong 3.4KHz, dng cc lnh
vng lp n ( RPT ) v nhn accumulator ( MAC, MACD ) Do bn cht c th hi quy
c ca mt b lc IIR nn vic lng t ho cc h s ca b lc c th gy ra s thay
i ln so vi p ng tn s mong mun. trnh c iu ny, hm chuyn i b
lc mong mun c th c b thnh cc phn c bc thp hn, lin tip nhau.

Cc v d (**) v chng trnh v d (***) di y cho ta thy mt ng dng
ca b lc IIR bc-2 N tng Cc h s b lcc v cc bin s trng thi c ct gi
trong b nh d liu. Lu vic s dng cc ch dn LTD v MPYA thc hin cc
hot ng di chuyn d liu v a tch ly.

Hy tn dng chng trnh ny tin hnh cc th nghim sau

1. Trong cc th nghim sau, tn s ly mu ca mch TMS320C50 cn t l
22,321 KHz v tn s ct cu b lc tng t thng thp ca mch l 10KHz. Cc
b lc IIR di y c thit k v thc hin, c suy gim 3 dB tn s thng
di v 30 dB tn s chn di.
2. B lc thng thp c tn s ct 2 KHz;

132
3. B lc thng cao c tn s ct 3.4 KHz;
4. B lc thng di c di thng nm trong khong 300 Hz v 3.4 KHz.
5. B lc chn di c di chn nm gia 2 KHz v 3 KHz.

Th nghim 2 v 4 l khng bt buc. Cc b lc Butterworth, Chebyshev I,II v
elliptic c th s dng. Hiu sut ca cc b lc IIR c th c kim tra so snh vi hiu
sut ca b lc FIR , ghi li v bo co nhng g bn thy.

Bi bo co phi trnh by th tc thit k v kt qu thc hin.

------------------------------------------------------------------------------------------------------------

V d (*). Nth-Order IIR Filter Using RPT and MACD Instructions
.title Nth Order IIR Type II Filter

.mmregs
N .set 4
N-1 .set 3


.ds 0f00h
TA .word 20 ;
RA .word 20 ; Freq Sampling 8KHz
TAp .word 1 ; not used
RAp .word 1 ; not used
TB .word 31 ; <10>
RB .word 31 ;
AIC_CTR .word 09h ;

YN .word 0
YN-1 .word 0
YNLAST .word 0
POUBY .word 0

MA .word 0 ;
XN .word 0,0,0,0 ; <20>
XNLAST .word 0
POUBX .word 0 ;

.ps 0980h
COEFFA .word -5249,19621,-30929,24108
COEEFB .word 186,-107,296,-107,186


133
;**************************************
; Set up the ISR vector *
;**************************************

.ps 080ah ;
rint: B RECEIVE ;0A ; Serial port receive interrupt
RINT.
xint: B TRANSMIT ;0C ; Serial port transmit interrupt
XINT.

;*********************************************
; TMS32C05X INITIALIZATION *
;*********************************************


.ps 0a00h

.entry
SETC INTM ; Disable interrupts
LDP #0 ; Set data page pointer
OPL #0834h,PMST ; OR the status register
LACC #0
SAMM CWSR ; Set software wait state to 0
SAMM PDWSR ;
SETC SXM
SPLK #022h,IMR ; Using XINT syn TX & RX
CALL AICINIT ; initialize AIC and enable interrupts
SPLK #12h,IMR ; Select serial port receive interrupt
CLRC OVM
SPM 0
CLRC INTM ; Enable interrupts

forever IDLE
B forever

;------- end of main program ----------;

;-------------------------- RECIEVER ISR --------------------------

RECEIVE:
LDP #XN
CLRC INTM
LAMM DRR ; get input in ACC

134
SACL XN

; start IIR
;********************************************************
;* This routine implements an Nth order type II IIR filter. *
;* d(n) = x(n) d(n1)a1 d(n2)a2 ... d(nN+1)aN1 *
;* y(n) = d(n)b0 + (dn1)b1 +...+ d(nN+1)bN1 *
;* Memory Requirement: State variables (low to high data memory): *
;* d(n) d(n1) ... d(nN+1) *
;* Coefficient (low to high program memory): *
;* a(N1) a(N2) ... a(1) b(N1) b(N2) ... b(1) b(0) *
;* Entry Conditions: *
;* AR0 > Input *
;* AR1 > d(nN+1) *
;* AR2 > Output *
;* COEFFA > a(N1) *
;* COEFFB > b(N1) *
;* ARP = AR0 *
;********************************************************
LAR AR0,#XN
LAR AR1,#XNLAST
LAR AR2,#YNLAST

IIR_N:
ZPR ; Clear P register
LACC *,15,AR1 ; Get Q15 input
RPT #3 ; For i=1,i<=N1,++i
MAC COEFFA,* ; Acc+=a(Ni))*d(nN+i)
APAC ; Final accumulation
SACH *,1 ; Save d(n)
ADRK 4 ; AR1 > d(nN+1)
LAMM BMAR ; Acc > a(N1)
ADD #4 ; Acc > b(N1)
SAMM BMAR ; BMAR > b(N1)
RPTZ #4 ; For i=1,i<=N,++i
MACD COEFFB,* ; Acc+=b(Ni)*d(nN+i)
LTA *,AR2 ; Final accumulation
SACH *,1 ; ??? Save Yn
LACC YNLAST
AND #0fffch ; and ls 2 bits of top 16 bits, for DAC.
SAMM DXR
RETE


135
;-------------------------- Transmit ISR --------------------------

TRANSMIT:
RETE

;********************************************************
;* DESCRIPTION: This routine initializes the TLC32040 for *
;* your sample rate and command word *
;********************************************************
;* aic initialization data

AICINIT:
SPLK #01h,PRD
SPLK #20h,TCR ; make a 10 mhz clock signal
MAR *,AR0
LACC #0008h ; Non continuous mode
SACL SPC ; FSX as input
LACC #00c8h ; 16 bit words
SACL SPC
LACC #080h ; Pulse AIC reset by setting it low
SACH DXR
SACL GREG
LAR AR0,#0FFFFh
RPT #10000 ; and taking it high after 10000 cycles
LACC *,0,AR0 ; (.5ms at 50ns)
SACH GREG
LDP #TA ;
SETC SXM ;
LACC TA,9 ; Initialized TA and RA register
ADD RA,2 ;
CALL AIC_2ND ;
;------------------------
LDP #TB
LACC TB,9 ; Initialized TB and RB register
ADD RB,2 ;
ADD #02h ;
CALL AIC_2ND ;
;------------------------
LDP #AIC_CTR
LACC AIC_CTR,2 ; Initialized control register
ADD #03h ;
;LACC #11100000b
CALL AIC_2ND ;

136
RET ;

AIC_2ND:
LDP #0
SACH DXR ;
CLRC INTM
IDLE
ADD #6h,15 ; 0000 0000 0000 0011 [X..X]
16
b
SACH DXR ;
IDLE
SACL DXR ;
IDLE
LACL #0 ;
SACL DXR ; make sure the word got sent
IDLE
SETC INTM
RET ;
.end

V d (**) Nth-Order IIR Filter Using RPT and MACD Instructions
.title Nth Order IIR Type II Filter
.mmregs
********************************************************
* This routine implements an Nth order type II IIR filter. *
* d(n) = x(n) d(n1)a1 d(n2)a2 ... d(nN+1)aN1 *
* y(n) = d(n)b0 + (dn1)b1 +...+ d(nN+1)bN1 *
* *
* Memory Requirement: *
* State variables (low to high data memory): *
* d(n) d(n1) ... d(nN+1) *
* *
* Coefficient (low to high program memory): *
* a(N1) a(N2) ... a(1) b(N1) b(N2) ... b(1) b(0) *
* *
* Entry Conditions: *
* AR0 > Input *
* AR1 > d(nN+1) *
* AR2 > Output *
* COEFFA > a(N1) *
* COEFFB > b(N1) *
* ARP = AR0 *
* *

137
********************************************************

IIR_N:
ZPR ;Clear P register
LACC *,15,AR1 ;Get Q15 input
RPT #(N2) ;For i=1,i<=N1,++i
MAC COEFFA,* ;Acc+=a(Ni))*d(nN+i)
APAC ;Final accumulation
SACH *,1 ;Save d(n)
ADRK N1 ;AR1 > d(nN+1)
LAMM BMAR ;Acc > a(N1)
ADD #N1 ;Acc > b(N1)
SAMM BMAR ;BMAR > b(N1)
RPTZ #(N1) ;For i=1,i<=N,++i
MACD COEFFB,* ;Acc+=b(Ni)*d(nN+i)
LTA *,AR2 ;Final accumulation
SACH *,1 ;Save Yn

V d (***). N Cascaded BiQuad IIR Filter Using LTD and MPYA Instructions
.title N Cascaded BiQuad IIR Filters


.mmregs
*****************************************************************
* This routine implements N cascaded blocks of biquad IIR canonic type II *
* filters. Each biquad requires 3 data memory locations d(n),d(n1),d(n2), *
* and 5 coefficients a1,a2,b0,b1,b2. *
* For each block: d(n) = x(n)d(n1)a1d(n2)a2 *
* y(n) = d(n)b0+d(n1)b1+d(n2)b2 *
* *
* Coefficients Storage (low to high data memory): *
* a2,a1,b2,b1,b0, ... ,a2,a1,b2,b1,b0 *
* 1st biquad Nth biquad *
* *
* State Variables (low to high data memory): *
* d(n),d(n1),d(n2), ... ,d(n),d(n1),d(n2) *
* Nth biquad 1st biquad *
* *
* Entry Conditions: *
* AR1 > d(n2) of 1st biquad *
* AR2 > a2 of 1st biquad *

138
* AR3 > input sample (Q15 number) *
* AR4 > output sample (Q15 number) *
* DP = 0, PM = 0, ARP = 3 *
*****************************************************************

BIQUAD: ;Setup variables
ZPR ;Clear P register
LACC *,15,AR1 ;Get Q15 input
SPLK #2,INDX ;Setup index register
SPLK #N1,BRCR ;Setup count
;Begin computation;
RPTB ELOOP1 ;Repeat for N biquads
LOOP:
LT *,AR2 ;T = d(n2)
MPYA *+,AR1 ;Acc = x(n), P = d(n2)a2
LTA *,AR2 ;Acc += d(n2)a2, T = d(n1)
MPY *+ ;P = d(n1)a1
LTA *+,AR1 ;Acc += d(n1)a1, T = b2
SACH *0+,1 ;Save d(n)
MPY * ;P = d(n2)b2
LACL #0 ;Acc = 0
LTD *,AR2 ;T = d(n1), d(n2) = d(n1)
MPY *+,AR1 ;Acc += d(n2)b2, P = d(n1)b1
LTD *,AR2 ;T = d(n), d(n1) = d(n)
MPY *+,AR1 ;Acc += d(n1)b1, P = d(n)b0

ELOOP:
LTA *,AR4 ;Final accumulation
SACH *,1 ;Save output in Q15 format















139
C. TI LIU THAM KHO
[1]. TMS320C50 Fixed-Point DSP Assembly Language Tools-Users Guide, Texas
Instruments Incorporated, 1990.
[2] Second- Generation TMS320- Users Guide, Texas Instruments, 1989.
[3] The ART Electronic Designed . MIT University , Boston 1996.
[4] Digital Signal Processing , Sanjit K. Mitra , University California . McGrawHill
2006


































140

MC LC
A. PHN L THUYT (120)
3. Cc c tnh p ng b lc thng thp (120)
4. Thit k b lc IIR dng mu Analog. (123)
B. PHN THC NGHIM (130)
1. Th tc (130)
2. Yu cu tin hnh thc tp (131)
C. TI LIU THAM KHO (139)

You might also like