UPORABA MODIFICIRANE OBLIKE PORAZDELJENE ARITMETIKE ZA OSNOVNO IN KASKADNO IZVEDBO DIGITALNIH SIT Rudolf Babič, Bojan Jarc Univerza v Mariboru, Fakulteta za elektrotehniko računalništvo in informatiko, Maribor, Slovenija Ključne besede: signali digitalni, DSP obdelava signalov digitalna, FIR filtri digitalni s trajanjem omejenim odziva impulznega, DA aritmetika porazdeljena, aritmetika porazdeljena modificirana, izvedbe praktične, izvedbe kaskadne Povzetek: V prispevku predstavljamo modificirano obliko porazdeljene aritmetike za izvedbo nerekurzivnih digitalnih sit. Modificirana oblika porazdeljene aritmetike temelji na unipolarni predstavitvi v osnovi bipolarnega vhodnega signala. Omogoča zmanjšanje aparaturne kompleksnosti digitalnega sita in zaradi ugodnejšega normiranja delnih vsot koeficientov tudi povečanje dinamičnega območja izhodnega signala, Z dodatno uporabo nasprotno simetričnega zapisa delnih vsot koeficientov smo uspeli zmanjšati potrebno pomnilniško strukturo. Dosegli smo prepolovitev števila pomnilniških lokacij potrebnih za shranjevanje delnih vsot koeficientov. IVlodificirana oblika porazdeljene aritmetike z nasprotno simetričnim zapisom delnih vsot koeficientov je uporabna tako v osnovni kot v kaskadni realizacijski strukturi. Tudi v kaskadni realizacijski strukturi omogoča povečanje dinamičnega območja izhodnega signala in dodatno zmanjšanje števila potrebnih pomnilniških lokacij. Z rezultati simulacij smo potrdili delovanje modificirane porazdeljene aritmetike in poiskali poteke slabljenja in razmerja signal šum v odvisnosti od kvantizacije vhodnega signala v osnovni in kaskadni izvedbi. The Modified Distributed Arithmetic Structure for the Basic and the Cascade Digital Filters Realization Keywords: digital signals, DSP, Digital Signal Processing, FIR digital filters, Finite-Impulse Response digital filters, DA, Distributed Arithmetic, modified distributed arithmetic, hardvi'are realizations, cascade realizations Abstract: In this article the modified distributed arithmetic structure for the FIR digital filter realization is presented. The modified distributed arithmetic structure is based upon an unipolar presentation of the bipolar input signal. It allows the hardware complexity reduction and due to better normalization of sums of products, the enlargement of dynamic range of the output signal was achieved. With additional use of the anti symmetrical presentation of the sums of products the required memory was reduced. The memory for saving the pre-calculated sums of products was halved. The FIR filter realization in the modified distributed arithmetic structure with the anti symmetrical presentation of sum of products is shown on the figure 1, Figure 1: The FIR filter with modified distributed arithmetic structure and a halved number of the memon/ locations. The proposed structure can be used for the basic and cascade realization. Also in the cascade realization a further memory reduction and the enlargement of dynamic range of the output signal was achieved. With the simulation the expected operation of the modified distributed arithmetic in the basic and cascade structure was confirmed. Our results shows the attenuation and signal to noise responses of the basic and cascade structures versus the quantization step of the input signal and of the inner arithmetic and logic unit. The number of bits of the input signal varies from Bx=8 to Bx=18 while the number of bits of the sums of products varies from Bdv=8 to Bdv=26. The enlargement of the dynamic range of the proposed structure results with 3 to 6dB better attenuation of the modified arithmetic structure. 1. Uvod Porazdeljena aritmetika (PA) predstavlja izvedbo prenosne funkcije digitalnega sita H(z) z operacijo seštevanja in odštevanja vnaprej izračunanih vseh možnih delnih vsot koeficientov shranjenih v pomnilniku tipa EPROM ali ROM brez uporabe množilnikov. Velikost potrebnega pomnilnika raste eksponentno s številom koeficientov impulznega odziva in je določen z 2^. Pri sitih z N >30 koeficienti dosega že 10^ naslovov. Zato so prisotna prizadevanja za zmanjšanje naslovnega vektorja. Eden izmed znanih načinov zmanjšanja potrebnega števila pomnilniških lokacij je uporaba nasprotno simetričnih delnih vsot koeficientov /1/. Nasprotno simetrične delne vsote koeficientov lahko s pridom uporabimo v modificirani obliki PA. S tem zmanjšamo aparaturno kompleksnost ter povečamo dinamično območje izhodnega signala. Tako nasprotno simetrični zapis delnih vsot koeficientov kot modificirana PA sta uporabni v kaskadni izvedbi digitalnih sit, kjer dosežemo dodatno zmanjšanje števila pomnilniških lokacij. 2. Klasična oblika porazdeljene aritmetike PA je bitno-serijski postopek izračuna skalarnega produkta dveh vektorjev. Za nas zanimiv skalami produkt je konvolucijska vsota nerekurzivnega sita: n--1 y(n) = 2^h(k)x(n-k) k=0 (1) n-l dVi(n) = £h(k)bi(n~k) (4) k=0 Enačba (3) predstavlja osnovo PA. Za izračun trenutne izhodne vrednosti potrebujemo le operacijo seštevanja in množenja z 2"'. Množenje z 2"' predstavlja pomik vsebine akumulatorja za i bitov na desno. Odštevanje zadnje delne vsote koeficientov dvo je izvedeno s prištevanjem dvojiškega komplementa delne vsote koeficientov dvo. Delne vsote koeficientov dvi(n) izračunamo vnaprej in jih zapišemo v pomnilnik tipa ROM ali EPROM. Pri tem upoštevamo vse možne nabore binarnih spremenljivk bi(n). Pomnilnik mora imeti 2N pomnilniških lokacij dolžine Bdv bitov, pri čemer Bdv predstavlja število bitov za zapis delnih vsot koeficientov. Izvedbo digitalnega sita v PA prikazuje slika 2. Vliod ih: vljodno i)oniri]l!!n polje Slika 2: Izvedba FIR digitalnega sita v PA. V zgornji enačbi h(k) predstavlja k-ti koeficient impulznega odziva, x(n-k) (n-k)-to vrednost vhodnega signala in y(n) n-to vrednost izhodnega signala. N predstavlja število koeficientov impulznega odziva nerekurzivnega digitalnega sita stopnje N-1. Vhodni signal x je običajno omejen v polodprtem intervalu [-1, 1) in ga v binarni obliki predstavimo z dvojiškim komplementom: Bx-1 x(n) = -bo(n)+y;bi(n)2^ (2) i=i V enačbi (2) predstavlja Bx število bitov za zapis n-te vrednosti vhodnega signala x(n), bi(n) so binarne spremenljivke vhodnega signala x(n), ki zavzamejo vrednosti O ali 1. Pri tem bo(n) predstavlja predznak in bBx-i (n) najmanj uteženi bit z utežno vrednostjo Konvolucijsko enačbo (1) lahko prevedemo v obliko 3. Modificirana oblika porazdeljene aritmetike Princip modificirane PA je bil predstavljen v /2/, vendar pri izračunu modificiranih delnih vsot koeficientov ni bila v celoti kompenzirana premaknitev nivoja vhodnega signala. Modificirana PA temelji na unipolarni predstavitvi sicer bipolarnega vhodnega signala zapisanega v dvojiškem komplementu. Unipolarno predstavitev vhodnega signala enostavno dosežemo z negiranjem bita za predznak. S takšnim zapisom vhodnega signala se izognemo odštevanju zadnje delne vsote dvo in tako zmanjšamo kompleksnost vezja. Vhodni signal x(n) predstavimo v binarni obliki z: y(n) = -dVo(n)-f^dVi(n)2- (3) i=i .-1 x(n)=2;bi(n)2- i=0 (5) v kateri so z dvi(n) označene delne vsote koeficientov, ki predstavljajo vmesni korak pri računanju y. Izračun delnih vsot koeficientov prikazuje enačba (4). Omejen je v polodprtem intervalu [O, 2). Odziv sistema na unipolarni vhodni signal opišemo z enačbo: X-1 N-1 i=0 k=0 v~1 i=0 (6) Izhodni signal je unipolaren, premaknjen iz izhodišča za konstantno vrednost Ki. To konstanto dobimo z zapisom konvolucijske vsote za y'(n). Vhod Slika 3: Izvedba digitalnega sita i/ modificirani PA. N-1 y'(n) = ^h(k)[x(n-k)-f i k=0 = EKk)x(n~k) + ^h(k) k^O k=0 = y(n) + Ki (7) Pri tem je velikost konstante Ki odvisna od koeficientov impulznega odziva. N-1 (8) k=0 Dodano konstantno vrednost v izhodnem signalu lahko odpravimo z modificiranim zapisom delnih vsot koeficientov. ^ N--1 mdVi =dVi^-^h(k) ■ k=0 t-Bx 1-f- 1-2 -Bx To lahko pokažemo z izračunom izhodnega signala z modificiranimi delnimi vsotami koeficientov. Skupni vsoti delnih vsot koeficientov dvi se odšteva vsota koeficientov impulznega odziva sita in izniči premaknitev, ki nastane zaradi unipolarnega zapisa vhodnega signala. Na osnovi enačb (9) in (10) lahko narišemo izvedbo digitalnega sita v modificirani PA. 3.1 Prepolovitev števila potrebnih pomnilniških lokacij Pri izvedbi FIR sita z N koeficienti impulznega odziva v PA potrebujemo 2^ pomnilniških lokacij za zapis delnih vsot koeficientov. Z nasprotno simetričnim zapisom delnih vsot koeficientov in izvedbo sita v modificirani PA bomo število potrebnih pomnilniških lokacij prepolovili. Zapišimo modificirane delne vsote koeficientov z N-1 mdVi =dv, --^h(k) (11) ■ k=:0 Zaradi nasprotno simetričnega zapisa se pojavi konstantno odstopanje amplitude izhodnega signala z vrednostjo Ks, ki znaša N-1 K, =2 -■Bx EKk) (12) k=0 To odstopanje najlažje odpravimo tako, da prvi delni vsoti koeficientov mdvBx-i, naslovljeni z vektorjem najniže uteženih bitov vhodnega pomnilnega polja prištejemo negativno polovico vsote koeficientov impulznega odziva. To vrednost označimo z yo: Vo =- . N-1 (13) ■ k=0 Bx-1 y= 1=0 . N-1 ■ k=0 1-2 -Bx 1 -1- — -I-.. .-I- - ,Bx-1 (10) 11 1 = dVo +-dVi -t-^dV2+...+ ^dVB,_, - j;h(k) Praktično izvedemo korekcijo prve delne vsote z dodatnim registrom in stikalom v aritmetični enoti kot to prikazuje slika 4. Viu^d \in} On v bip 'unip preivomik is: Slika 4: Izvedba digitalnega sita y modificirani PA in prepolovljenim številom pomnilniških lokacij. Prvi modificirani delni vsoti izračunani po enačbi (11) se prišteje konstanta yo shranjena v dodatnem registru. Takrat je stikalo S v položaju 1. Za preostale modificirane delne vsote koeficientov je stikalo S v položaju 2 in se naslovljeni modificirani delni vsoti koeficientov prišteva z dva deljeni trenutni rezultat iz izhoda aritmetične enote. V ROM pomnilniku je shranjena le prva polovica nasprotno simetričnih modificiranih delnih vsot izračunanih po enačbi (11). Drugo polovico generiramo iz obstoječih. Z dodanimi ekskluzivnimi ali vrati (XOR) negiramo bite naslovnega vektorja. Predznak tako naslovljeni delni vsoti koeficientov pa zamenjamo z vezjem za generiranje predznaka. Z omenjenim postopkom smo zmanjšali število pomnilniških lokacij na polovico iz na 2^-1. 3.2 Povečanje dinamičnega območja izhodnega signala Za razliko od klasičnih delnih vsot koeficientov pri nizko-prepustnih sitih, ki so izrazito ali pozitivne ali negativne so modificirane delne vsote koeficientov izračunane po enačbi (11) simetrične z nasprotnimi predznaki. Ugotovili bomo, da je v procesu normiranja koeficientov impulznega odziva nasprotno simetrični zapis delnih vsot koeficientov ugodnejši saj dosežemo pri nizkopre-pustnih sitih zapis večjih vrednosti v pomnilnik. To pa omogoča povečanje dinamičnega območja izhodnega signala. Delne vsote koeficientov normiramo iz dveh razlogov: - da preprečimo prelivanje vrednosti izhodnega signala preko dovoljenega območja [-1, 1) in - zaradi omejenega območja za zapis delnih vsot koeficientov [-1,1). Izhodni signal, vhodni signal in delne vsote koeficientov impulznega odziva digitalnega sita so zapisani v dvo-jiškem komplementu in omejeni v območju [ -1, 1). Da preprečimo prekoračitev območja izhodnega signala, normiramo koeficiente impulznega odziva {h(n)}, n = O, 1, ..., N-1 glede na maksimalno absolutno vrednost frekvenčnega odziva kot prikazuje enačba: h(n)(l-Q,) , ^ ^/,n = 0,1,...,N-1 (14) He jm max Pri tem predstavlja Qy stopnjo kvantizacije izhodnega signala ^ Iz normiranih koeficientov izračunamo maksimalno absolutno vrednost delnih vsot koeficientov. V kolikor ta preseže vrednost 1-Qdv, ^ normiramo (delimo) koeficiente impulznega odziva s faktorjem 2'. Pri tem je i minimalno naravno število, ki zadosti pogoju, da maksimalna absolutna vrednost delnih vsot koeficientov ne preseže vrednosti l-Qdv. Z deljenjem delnih vsot koeficientov s faktorjem 2' smo za enak faktor zmanjšali tudi amplitudo izhodnega signala, s tem pa tudi zmanjšali dinamično območje. Zato z enakim faktorjem 2' množimo signal, ki ga vodimo iz aritmetične enote na izhod. Množenje z 2' je v digitalni tehniki enostavno izvedljivo. Tako povečamo dinamično območje izhodnega signala z zamikom podatkovnih linij aritmetične enote, ki jih vodimo na izhod, za i bitov v levo. Povečanje dinamičnega območja izhodnega signala je aktualno vselej, kadar ima aritmetična enota vsaj i bitov več, kot jih je uporabljenih za zapis izhodnega signala. Število bitov zamika i je odvisno od lastnosti digitalnega sita oz. od koeficientov impulznega odziva. Slika 5 prikazuje nekaj vrednosti klasičnih (dvi) in modificiranih nasprotno simetričnih delnih vsot koeficientov (mdvi) nizkoprepustnega sita stopnje N-1 = 29 z Fp = 0.2 in Fz = 0,3. Za ilustracijo sta prikazani tudi maksimalni in minimalni mejni vrednosti. Iz slike vidimo, da je razlika med maksimalno in minimalno modificirano delno vsoto koeficientov dvakrat večja od razlike med klasičnima delnima vsotama koe- /?/<:/v...... i , O "S rfy,,.,,, -0.5 mdv,j,,„ 2(clv, ,„„ - ch, ,„,„) 4.295e8 6.442c8 2000 SUka 5: Nekaj vrednosti klasičnih in modificiranih delnih vsot koeficientov. Qy = '^K By je število bitov za zapis iztiodnega signala. Qdv predstavlja stopnjo kvantizacije delnih vsot koeficientov. ficientov. S tem je dinamično območje izhodnega signala sita v modificirani PA dva krat večje kot pri situ v klasični PA. Za sito v modificirani PA ni potrebna korekcija amplitude izhodnega signala. N„-1 k=0 (17) 4. Kaskadna oblika izvedbe digitalnega sita v modificirani PA Kaskadna oblika izvedbe digitalnega FIR sita v klasični PA predstavlja učinkovit način zmanjševanja števila potrebnih pomnilniških lokacij za shranjevanje delnih vsot koeficientov. Kaskade so lahko izvedene z osnovnimi strukturami prve, druge ali četrte stopnje a zaradi velikega števila kaskad in majhnega ojačenja v prepustnem pasu niso primerne za aparaturno izvedbo. Ta slabost je odpravljena s kaskadnimi strukturami višjih stopenj. Dobimo jih z združevanjem osnovnih struktur /3/. Modificirano PA lahko uporabimo tudi pri kaskadni re-alizacijski obliki FIR sit. Predpostavimo, da smo FIR sito stopnje N-1 = Ni + N2+ ... + Nm-M razbili na M kaskad višjih stopenj s koeficienti impulznih odzivov: Zaradi nasprotno simetričnega zapisa delnih vsot koeficientov lahko prepolovimo število pomnilniških lokacij kaskad kot smo to opisali v poglavju 3 in kot to prikazuje slika 4. S tem dodatno zmanjšamo število pomnilniških lokacij posamezne kaskadne strukture na polovično vrednost. Skupni število naslovov se v kaskadni izvedbi zmanjša od na 2^1-1 -t- 2^2-1+ ... -f2NM-"i, pri čemer je Ni-t-N2-t-...-l-NM-M = N-1. V kaskadah, ki imajo značaj nizkoprepustnega sita, ko so klasične delne vsote koeficientov izrazito pozitivne ali negativne, dosežemo z nasprotno simetričnim zapisom modificiranih delnih vsot koeficientov izrazito povečanje dinamičnega območja izhodnega signala. Hkrati pa večje vrednosti zapisanih delnih vsot v pomnilnikih posameznih kaskad ugodno vplivajo na razmerje signal šum (SNR) celotnega vezja. {h2(n)}, n = 0,1,...,N2, {hM(n)}, n = 0,1,...,NM, (15) Bipolarne vhodne signale kaskad {xm(n)},m = 1, 2,..., M pretvorimo v unipolarne 3. Modificirane delne vsote koeficientov posamezne kaskade zapišemo z: k=0 N,„-1 (16) k=0 Pri tem smo z mdvi,m označili nasprotno simetrične modificirane delne vsote koeficientov in z dvj rn delne vsote koeficientov kaskade m. Konstantno odstopanje amplitude izhodnega signala kaskade m odpravimo s prištevanjem konstantnih vrednosti yo,m prvim delnim vsotam koeficientov mdvBx-i ,m. Konstanto yo,m izračunamo vnaprej po enačbi (17) in pomnimo v registru z začetnim pogojem kaskade m: Negiramo bit predznaka vhodnega signala Xm(n) zapisanega v dvojiškem komplementu. 5. Rezultati z matematičnim orodjem Matlab smo v okolju Simulink zgradili /4, 5/ simulacijsko okolje. S pomočjo rezultatov simulacij smo opravili primerjalno analizo sita v klasični in modificirani obliki PA. Za sito v modificirani PA smo uporabili postopek prepolovitve pomnilniških lokacij z nasprotno simetričnim zapisom delnih vsot koeficientov. V simulacijskih strukturah digitalnih sit smo zajeli vplive kvantizacije vhodnega signala, delnih vsot koeficientov, aritmetične enote in izhodnega signala. Opazovali smo časovne odzive struktur na belošumni vhodni signal. Iz odstopanj med kvantiziranimi in referenčnimi odzivi smo določili šum izhodnega signala ter izračunali razmerje med močjo izhodnega signala in izhodnega šuma (SNR). Nad časovnimi odzivi smo opravili hitro Fourierjevo transformacijo in določili osnovne frekvenčne parametre digitalnega sita. Za primerjalno analizo smo izbrali optimalno nizkopre-pustno sito stopnje N-1 = 100, s prepustnim pasom O 0.225 Fv in zapornim pasom 0.275 0.5 Fv. Koeficiente impulznega odziva smo izračunali s funkcijo remez /6/ in normirali na maksimalno amplitudo frekvenčnega odziva vrednosti ena. Vrednosti osnovnih referenčnih frekvenčnih parametrov omenjenega sita so: - ojačenje v prepustnem pasu PBG = -5.182e-4 dB, - slabljenje v zapornem pasu SBA = -84.506 dB, - slabljenje sita A = 84.506 dB. V primerjalni analizi smo zajeli tudi kaskadno obliko izvedbe. Izračunali smo ničle sita stopnje 100 in jih razmestili v dve kaskadni strukturi. Uporabili smo algoritem izbire optimalnih kaskadnih struktur /7/. Razporeditev ničel za obe kaskadni strukturi s stopnjama N1-I = 50 in N2-I = 50, prikazuje slika 6. Ločeno smo opazovali vplive kvantizacije vhodnega signala, delnih vsot, aritmetične enote in izhodnega signala na osnovne frekvenčne parametre. Preostale vrednosti smo zapisali z 32 biti. -0.5 O O,; Re(z) Slika 6: Razporeditev ničei v i