You are on page 1of 22

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

119

2. Dng c thc nghim


i)
ii)
iii)
iv)
v)
vi)
vii)
viii)

My pht chc nng


B lc tch cc vi ngun +/- 15Volt
Dao ng k
Volt k RMS
My o phase
My tnh vi phn mm DSK , MatLab
Startup kit TMS320C50 DSP
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 S4 + b S 3 + c S2 + d S 1 + e

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

120

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 T0 = 1 sec m bo cho c =
20000rad/s th tr phi gim xung
to = 1.21 x 10-4 sec
TF c chun ho bng cch t li s = sto , trong t0 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 Tp = -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
9 Butterworth S5 + 3.236 S4 + 5.236 S3 + 5.236 S2 + 3.236 S1 + 1
9 Chebyshev

S5 + 0.908 S4 + 1.601 S3 + 0.889 S2 + 0.509 S1 + 0.104

9 Bessel

S5 + 6.181 S4 + 17.827 S3 + 29.381 S2 + 27.238 S1 + 11.222

s dng tn s ln ti 0 = 20 000 rad/s ( f0 = 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

121

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 :

122

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.

123

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 MATLABTM 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:
H ( z) =

B( z ) b(1) + b(2) z 1 + ... + b(n 1) z n


=
A( z ) a (1) + a (2) z 1 + ... + a (n 1) z n

(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.

124

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);

125

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);
126

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 :
H (z ) =

b0 + b1 z 1 + L + b M z M
1 + a1 z

+ L + aN z

127

Y (z )
X (z )

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)a1 ... d(n N + 1)aN-1


y(n) = d(n)b0 + d(n 1)b1 + ... + d(n N + 1)bN-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:
N

k =1

k =0

y[n] = a k y[n k ] + bk x[n k ]

128

(13)

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 z 1 ), 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

d ( n) = x ( n ) + a k d ( n k )

(14)

k =1

y (n) = bk d (n k )

(15)

k =1

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:
d (n) = x(n) + a1 d (n 1) + a 2 d (n 2)
y (n) = b0 d (n) + b1 d (n 1) + b2 d (n 2)

129

(16)
(17)

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.

130

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;
131

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
N
N-1

.mmregs
.set
.set

4
3

.ds

TA
RA
TAp
RAp
TB
RB
AIC_CTR

0f00h
.word 20
.word 20
.word 1
.word 1
.word 31
.word 31
.word 09h

YN
YN-1
YNLAST
POUBY

.word 0
.word 0
.word 0
.word 0

MA
XN
XNLAST
POUBX

.word 0
.word 0,0,0,0
.word 0
.word 0

COEFFA
COEEFB

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

;
; Freq Sampling 8KHz
; not used
; not used
; <10>
;
;

;
; <20>
;

132

;**************************************
; Set up the ISR vector
*
;**************************************
rint:
RINT.
xint:
XINT.

.ps
B

080ah
RECEIVE
B

TRANSMIT

;
;0A

; Serial port receive interrupt

;0C

; Serial port transmit interrupt

;*********************************************
; TMS32C05X INITIALIZATION
*
;*********************************************
.ps

0a00h

.entry
SETC
LDP
OPL
LACC
SAMM
SAMM
SETC
SPLK
CALL
SPLK
CLRC
SPM 0
CLRC
forever IDLE
B

INTM
#0
#0834h,PMST
#0
CWSR
PDWSR
SXM
#022h,IMR
AICINIT
#12h,IMR
OVM
INTM

; Disable interrupts
; Set data page pointer
; OR the status register
; Set software wait state to 0
;
; Using XINT syn TX & RX
; initialize AIC and enable interrupts
; Select serial port receive interrupt
; Enable interrupts

forever

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


;-------------------------- RECIEVER ISR -------------------------RECEIVE:
LDP
CLRC
LAMM

#XN
INTM
DRR

; get input in ACC


133

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
LACC
RPT
MAC
APAC
SACH
ADRK
LAMM
ADD
SAMM
RPTZ
MACD
LTA
SACH
LACC
AND
SAMM
RETE

*,15,AR1
#3
COEFFA,*
*,1
4
BMAR
#4
BMAR
#4
COEFFB,*
*,AR2
*,1
YNLAST
#0fffch
DXR

; Clear P register
; Get Q15 input
; For i=1,i<=N1,++i
; Acc+=a(Ni))*d(nN+i)
; Final accumulation
; Save d(n)
; AR1 > d(nN+1)
; Acc > a(N1)
; Acc > b(N1)
; BMAR > b(N1)
; For i=1,i<=N,++i
; Acc+=b(Ni)*d(nN+i)
; Final accumulation
; ??? Save Yn
; and ls 2 bits of top 16 bits, for DAC.

134

;-------------------------- 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
MAR
*,AR0
LACC
#0008h
SACL
SPC
LACC
#00c8h
SACL
SPC
LACC
#080h
SACH
DXR
SACL
GREG
LAR
AR0,#0FFFFh
RPT
#10000
LACC
*,0,AR0
SACH
GREG
LDP
#TA
SETC
SXM
LACC
TA,9
ADD
RA,2
CALL
AIC_2ND
;-----------------------LDP
#TB
LACC
TB,9
ADD
RB,2
ADD
#02h
CALL
AIC_2ND
;-----------------------LDP
#AIC_CTR
LACC
AIC_CTR,2
ADD
#03h
;LACC
#11100000b
CALL
AIC_2ND

; make a 10 mhz clock signal


; Non continuous mode
; FSX as input
; 16 bit words
; Pulse AIC reset by setting it low

; and taking it high after 10000 cycles


; (.5ms at 50ns)
;
;
; Initialized TA and RA register
;
;
; Initialized TB and RB register
;
;
;
; Initialized control register
;
;
135

RET
AIC_2ND:
LDP
SACH
CLRC
IDLE
ADD
SACH
IDLE
SACL
IDLE
LACL
SACL
IDLE
SETC
RET
.end

;
#0
DXR
INTM
#6h,15
DXR

;
; 0000 0000 0000 0011 [X..X]16 b
;

DXR
#0

;
;

DXR

; make sure the word got sent

INTM
;

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
*
*
*
136

********************************************************
IIR_N:
ZPR
LACC *,15,AR1
RPT #(N2)
MAC COEFFA,*
APAC
SACH *,1
ADRK N1
LAMM BMAR
ADD #N1
SAMM BMAR
RPTZ #(N1)
MACD COEFFB,*
LTA *,AR2
SACH *,1

;Clear P register
;Get Q15 input
;For i=1,i<=N1,++i
;Acc+=a(Ni))*d(nN+i)
;Final accumulation
;Save d(n)
;AR1 > d(nN+1)
;Acc > a(N1)
;Acc > b(N1)
;BMAR > b(N1)
;For i=1,i<=N,++i
;Acc+=b(Ni)*d(nN+i)
;Final accumulation
;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
*
137

* 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
SACH *,1

;Final accumulation
;Save output in Q15 format

138

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

139

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)

140

You might also like