UČINKOVITA APARATURNA REALIZACIJA DIGITALNIH SIT S KONČNIM TRAJANJEM IMPULZNEGA ODZIVA R. Babič, M. Solar, T. Dogša KLJUČNE BESEDE: digitalna sita, končni impulzni odziv, realizacija, princip porazdeljene aritmetike POVZETEK: V prispevku je opisan postopek porazdeljene aritmetike, ki se kaže kot učinkovita možnost aparaturne realizacije digitalnih sit. Ko gre za aparaturno realizacijo nerekurzivnih digitalnih sit s končnim trajanjem impulznega odziva se kaže problem dovolj velike kapacitete pomnilnikov. Na praktičnem primeru je podana rešitev tega problema za sito z N=21 koeficienti impulznega odziva. Prikazani so rezultati dveh izmerjenih frekvenčnih karakteristik v primerjavi s teoretično izračunanima karakteristikama. EFFICIENT HARDWARE REALIZATIONS FOR FINITE IMPULSE RESPONSE DIGITAL FILTERS KEY WORDS: digital filters, finite impulse response, realization, distributed arithmetic method ABSTRACT: In this contribution the method of distributed arithmetic for digital filter realization is described. This realization uses memory devices and accumulators instead of multipliers and adders. The advantage of distributed arithmetic is its efficiency of mechanization. A fundamental drawback of this realization is only the exponential growth of the size of memory with the number of impulse response coefficients or number of variables. A practical solution for lowpass FIR digital filters with N=21 is described. Resulting teoretical and practical frequency responses are presented. UVOD Pri postopku načrtovanja digitalnih sit v splošnem ločimo tri med seboj različne korake : * analitični opis sistema, s katerim aproksimiramo želeno frekvenčno karakteristiko v obliki realizabilne prenosne karakteristike ali impulznega odziva * sintezo sistema z določitvijo konfiguracije sita glede na dodatne pogoje in omejitve praktične realizacije * aparaturno realizacijo, s katero prevedemo konfiguracijo digitalnega sistema v realizacijsko obliko V tem članku se bomo omejili predvsem na tretji korak. Če imamo digitalno sito s končnimtrajanjem impulznega odziva podano z N koeficienti lahko zapišemo trenutno izhodno vrednost y s konvolucijsko enačbo oz. v obliki skalarnega produkta: W-1 (1) n=0 kjer je h vektor konstantnih vrednosti določen s koeficienti impulznega odziva, x pa je vektor vhodnih spremenljivk. Oba vektorja sta N komponentna, v digitalnem sistemu pa sta zapisana z B biti. Splošno in običajno realizacijsko obliko prikazuje slika 1. Tu gre za direktno kanonsko obliko, ki vsebuje le zakasnilne elemente, seštevalnike in množilnike. Množilniki so po svoji naravi najbolj komplicirani elementi v vezju. Zaradi tega se jih skušamo izogniti, če je le mogoče. Slika 1: direktna reaiizacijska struktura za digitalna sita s končnim trajanjem impulznega odziva 2. PRINCIP PORAZDELJENE ARITMETIKE Zraven klasičnega računanja skalarnega produkta se pojavlja tudi postopek z imenom porazdeljena aritmetika, ki kaže v primerjavi s klasično obliko realizacije določene prednosti glede hitrosti delovanja, učinkovitosti in zmanjšanja vpliva zaradi kvantizacije koeficientov. Pri postopku porazdeljene aritmetike nimamo več opravka z množilniki v taki obliki kot so prikazani na sliki 1. Novi postopek je prvi opisal E. Anderson*^' že leta 1971. Zaradi majhne tedanje praktične uporabnosti, kar je bilo vezano na stanje tehnologije pa je bil postopek komaj zapažen, dokler ga po daljšem času ni odkrilo spet več avtorjev'^' S tem so potrdili uporabnost porazdeljene aritmetike, oz. ROM-akumulator metode kot so jo sprva imenovali. Od teh začetnih del je najbolj znan članek Peled Liua tako, da se reaiizacijska struktura včasih imenuje kar po teh avtorjih. Pri postopku porazdeljene aritmetike običajno strukturo množilnikov in seštevalnikov zamenjamo s pomnilnikom in akumulatorjem. Pomnilnik je običajno ROM tipa in ga uporabljamo za shranjevanje v naprej izračunanih delnih rezultatov. Rezultirajočo izhodno vrednost pa dobimo z utežnim seštevanjem, oz. odštevanjem klicanih delnih rezultatov v akumulatorju. Pri tem pa naslove delnih rezultatov v pomnilniku določa vektor vhodnih spremenljivk. Povrnimo se k enačbi 1. Če so vrednosti vhodnih spremenljivk podane v binarni obliki in uporabimo za njihov zapis dvojiški komplement, pri čemer števila normiramo tako, daje |x(k)<1 |, dobimo S-1 x{k)=-bi= B. Osnovna slabost prikazane strukture je prisotna zaradi eksponencialnega naraščanja velikosti pomnilnika. To je seveda tem bolj prisotno pri višjih stopnjah digitalnih sit, kar pa pri nerekurzivnih digitalnih sitih s končnim trajanjem impulznega odziva ni nobena redkost. V tabeli 1 so za ilustracijo zbrane vrednosti velikosti pomnilnikov v odvisnosti od stopnje digitalnega sita. stopnja sita N-1 velikost pomnilnika (število pomnilniških lokacij) 5 32 10 1 024 15 32 768 20 1 048 576 30 1 073 741 827 Tabela 1: velikost pomnilnikov v odvisnosti od stopnje sita Iz tabele 1 je razvidno, da je kljub današnjemu stanju tehnologije v praksi zelo težko realizirati digitalna sita pri katerih je število koeficientov impulznega odziva večje od N > 21 . Zato pa je po drugi strani hitrost izračunavan ja izhodne vrednosti v primerjavi s klasično realizacijsko obliko s slike 1 določena le s številom bitov B v zapisu vhodnih spremenljivk in neodvisna od velikosti stopnje digitalnega sita. To pride do posebne veljave v sistemih, ko je N >B. Velikost pomnilnika lahko zmanjšamo na račun zmanjšanja hitrosti delovanja. To dosežemo z delitvijo enačbe 1 na M modulov: Slika 3: realizacija digitalnega sita s porazdeljeno aritmetiko z uporabo M modulov N, Ni y{k)=^h{n)x{k-n)+J^h{n)x(k-n)+...+ /7=0 n=nu^ A/-1 J^hin)x(k-n) r7=a/m-1 + 1 (7) kjer so Ni < N2 < ... < Nm-i poljubno velike stopnje posameznih delov, ki jih imenujemo moduli. Vsak modul zase realiziramo sedaj po metodi porazdeljene aritmetike, izhodno vrednost y pa dobimo z dodatnim seštevanjem M izhodov posameznih modulov. Strukturo ponazarja slika 3. vhod xflj Slika 4: blokovna shema praktične realizacije digitalnega sita s porazdeljeno aritmetiko Vhodno polje je razdeljeno na M delov. Vsak del zase naslavlja ustrezni pomnilnik, v katerem so shranjene v naprej izračunane delne vsote posameznih modulov. V tem primeru potrebujemo pomnilnik gledano kot celota z 2 lokacijami. To je lahko bistveno manj kot v osnovni izvedbi porazdeljene aritmetike. Zato pa potrebujemo sedaj M akumulatorjev in dodatno seštevanje izhodnih vrednosti iz posameznih modulov. 3. PRIMER PRAKTIČNE REALIZACIJE Za konkretno realizacijo nerekurzivnega digitalnega sita po principu porazdeljene aritmetike smo uporabili nizko prepustno sito z N = 21 koeficienti impulznega odziva z dvema različnima frekvenčnima karakteristikama. Koeficiente sita smo izračunali s programskim paketom za načrtovanje optimalnih enakomerno valovitih nerekur-zivnih digitalnih sit (5). V prvem primeru so bili osnovni parametri sita določeni s prepustno mejno frekvenco fp = 0,1 fv , zaporno mejno frekvenco fz = 0,125 fv; v drugem primeru pa je bila pri isti fp spremenjena fz = 0,175 fv. S fv je označena frekvenca vzorčenja vhodnega signala. Blokovna shema digitalnega sita je prikazana na sliki 4. Vezje sestavljajo vhodno izhodna enota z analogno digitalnim in digitalno analognim pretvornikom, vhodno polje, EPROM pomnilnik in aritmetična enota. Sistem je zasnovan na B=8 bitni aritmetiki. Za izbrano digitalno sito bi pri realizaciji po sliki 2 potrebovali EPROM pomnilnik z 2^^ naslovi, kar je danes na meji tehnološke zmogljivosti. Zato smo uporabili rea-lizacijsko strukturo prikazano na sliki 3, s tem da smo izbrali le dva modula (M=2). Skupno vhodno polje, ki je razdeljeno na dva dela, je sestavljeno iz 21 osembitnih pomičnih registrov. Prvih 11 registrov definira naslovni vektor za prvi EPROM pomnilnik s kapaciteto 2048 x 8 bitov, drugih 10 registrov pa definira naslovni vektor za drugi EPROM pomnilnik s kapaciteto 1024 x 8 bitov. Za aritmetično enoto pa smo uporabili mikroračunalnik IDI680, tako da smo utežni vsoti kot delna rezultata iz modulov ter končno seštevanje izvedli v programski obliki. Zaradi tega je bilo delovanje digitalnega sita omejeno na nizke frekvence, s čimer pa nismo izgubili na splošnosti. Frekvenca vzorčenja je bila fv = 1 kHz. Enačba 7 se z upoštevanjem M=2 in izbrani vrednosti Ni = 10 glasi 10 20 y{k)=Y^h{n)x{k-n)+J^h(n)xik^n) (8) n=0 n=11 Z upoštevanjem enačbe 6 bomo dobili izhodno vrednost y(k) v primeru dveh modulov v obliki 7 7 m=1 rn=1 V praksi je potrebno zgornjo enačbo preurediti v obliko: y(k) = (((((((f7k+g7k 2-V(f6k+ g6k))2-^ -t-...(f ik-Hgik)) 2"^ +(-fok-gok) (10) Enačba 10 nazorno prikazuje princip izračunavanja utežne vsote izhodnega rezultata. Zaradi spremenjenega vrstnega reda klicanja delnih vsot fmk in gmk je potrebno ustrezno spremeniti tudi vrstni red naslovnih vektorjev v vhodnem polju. Rezultati realizacije digitalnega sita so zajeti v izmerjenih frekvenčnih karakteristikah obeh načrtovanih niz-koprepustnih sitih v primerjavi s teoretično izračunano frekvenčno karakteristiko in prikazani na sliki 5a in 5b. Spremembo frekvenčne karakteristike smo izvedli z enostavno zamenjavo EPROM pomnilnikov za katere smo v naprej izračunali vrednosti delnih vsot. H(fJ ■I ai ot 0,1 - teoretična karakteristika merilne vrednosti fp= 0,1 fv fz; = B.IZS fu 7 \ /\ 0( o,i ^I« O,S 'v Slika 5 a C, / C ___teoretična karakteristik o--merilne vrednosti o«- /; o.s Slika 5 b: Frekvenčni karakteristiki realiziranega nizko prepustnega sita v primerjavi s teoretično karakteristiko 4. ZAKLJUČEK 5. LITERATURA V prispevku je opisana realizacija digitalnega sita po principu porazdeljene aritmetike s praktičnim prikazom nizkoprepustnega sita stopnje N-1 = 20. iz rezultatov frekvenčnih odzivov vidimo, da se izmerjena frekvenčna karakteristika zelo dobro ujema s teoretično izračunano karakteristiko. Pri uporabi osem bitne aritmetike in uporabljeni stopnji sita slabljenje praktično realiziranega sistema še ne odstopa od teoretičnih izračunov. Čeprav smo uporabili mikroprocesorsko podprto aritmetično enoto je očitno enostavna in učinkovita možnost realizacije digitalnih sit s porazdeljeno aritmetiko. Vse prednosti pa pridejo do izraza s popolno aparaturno realizacijo. Poleg učinkovitosti postopka vidimo, da imamo opraviti s sorazmerno enostavno in splošno uporabno konfiguracijo digitalnega sistema za obdelavo signalov, ki je zanimiva tudi za mikroelektronsko realizacijo. Posebno pomembno je dejstvo, da omogoča uporaba porazdeljene aritmetike pri skrbnem načrtovanju veliko zmanjšanje aparaturne kompleksnosti. (1) E.Andersson : A Digital Filter Implemented in Parallel Form Symp on Digital Filtering, Imperial College, London 1971 (2) A.Peled, B.Llu : A New Hardware Realisation of Digital Filters, IEEE Trans, on ASSP, vol ASSP-22, dec 1984 (3) C.S.Burrus : Digital Filter Structures Described by Distributed Arithmetic, IEEE Tran, on CAS, vol CAS-24, no. 12, dec 1977 (4) F.J.Taylor: A Distributed Arithmetic MFIR Filter, IEEE Trans, ASSP, vol ASSP-32, no. 1, feb 1984 (5) J.H.Mc Clellan, T.W.Parks, L.R.Rabiner: A Computer Program for Designing optimum FIR Linear Phase Digital Filters, IEEE Trans on Audio and Electroacoust., vol Au-21, no. 6. 1973 mag. Rudi BABIČ,dipl.ing. Mitja SOLAR,dipl.ing. mag. Tomaž DOGŠA,dipl.ing. vsi Univerza v Mariboru TEHNIŠKA FAKULTETA MARIBOR VTO Elektrotehnika, računalništvo in informatika Smetanova 17, 62000 Maribor Prispelo: 21. 11. 1989 Sprejeto :05.12.1989