IZVEDBA NEREKURZIVNEGA DIGITALNEGA SITA S STANDARDNIMI INTEGRIRANIMI KOMPONENTAMI V MODIFICIRANI OBLIKI PORAZDELJENE ARITMETIKE K. Korošec, A. Vesenjak, B. Jarc, M. Solar, R. Babič Fakulteta za elektrotehniko, računalništvo in informatiko. Univerza v Mariboru Maribor, Slovenija Ključne besede: DSP procesiranje signalov digitalno, filtri digitalni, filtri nerekurzivni, FIR filtri s trajanjem omejenim impulza odzivnega, filtri digitalni s trajanjem omejenim impulza odzivnega, izvedbe praktične, aritmetika porazdeljena, koeficienti v aritmetiki porazdeljeni, deli sestavni integrirani standardni, CMOS vezja EPROM pomnilniki, H CMOS vezja hitra, frekvence vzorčenja Povzetek: V članku je opisana izvedba univerzalne strukture nerekurzivnega digitalnega sita s 15 koeficienti v porazdeljeni aritmetiki s standardnimi integriranimi komponentami. Pri tem smo uporabili novi modificirani postopek izračunavanja delnih vsot koeficientov, ki omogoča povečanje dinamičnega območja izhodnega signala vsaj za 6 dB, obenem pa dosežemo tudi zmanjšanje aparaturne kompleksnosti strukture. Pri uporabi standardnih hitrih CMOS vezij in nezahtevnega EPROM pomnilnika za shranjevanje vnaprej izračunanih delnih vsot koeficientov smo pri 12~bitni kvantizaciji vhodnega signala dosegli frekvenco vzorčenja fv=143 kHz. S simulacijskimi rezultati smo ilustrirali povečanje dinamičnega območja izhodnega signala po predlaganem modificiranem postopku izvedbe porazdeljene aritmetike, prikazana pa je tudi primerjava med teoretičnimi, simulacijskimi in merilnimi rezultati frekvenčnih karakteristik nizkoprepustnih in visokoprepustnih digitalnih sit, ki smo jih načrtaii s programskim paketom DF-PAK. The FIR Digital Filter Realization with Standard Integrated Circuits in the Modified Distributed Arithmetic Structure Keywords; DSP, digital signal processing, digital filters, nonrecursive filters, finite impulse response digital filters, practical implementations, distributed arithmetic, coefficients in distributed arithmetic, standard integrated components, CMOS circuits, EPROM, H CMOS circuits, sample frequencies Abstract: in this article the hardware realization of 15 tap general FIR digital filter structure with standard integrated circuits for the implementation of digital filters with arbitrary frequency responses is presented. A new modified distributed arithmetic structure is used for the computation of output signal sequence with the purpose to increase the dynamic range of output signal. Apart from concentrated arithmetic mechanization where the output sample calculation is determined with the sum of products of two vectors, the distributed arithmetic technique permits this calculation only with summing and shifting operations of the precalculated partial sums of the coefficients. When the bipolar input signal is converted into unipolar form the offset binary format of input samples is obtained. In this way a new approach to the modified partial products calculations is necessary. Then the output sample calculation is also distinguished from the classical distributed arithmetic technique in one significant step that in the last calculation step no subtraction is needed. Our digital filter is realized in the structure with 12 bits analog to digital and digital to analog conversion for input and output signals, 14 bit memory register length for partial sums of coefficients presentation in look up table and with 16 bits register length of arithmetic unit. With standard H CMOS circuits and EPROM memory with access time of 200 ns the sample frequency of 143 kHz is obtained. As this structure is also suitable for FPGA implementation, higher sampling frequencies are expected. In comparison with classical distributed arithmetic structure the increasing of 6 to 8 dB of the dynamic range of output signal is obtained. This increasing depends slightly on the number of digital filter coefficients and on parameters of predetermined frequency characteristics. Filter coefficients are designed with digital filter design software DF-PAK. The frequency responses with theoretical, simulated and measured results for low pass and high pass digital filter implementations are also presented. 1. Uvod Pri aparaturni izvedbi digitalnili sit, je pomembna izbira realizacijske oblike. Osnovni kriteriji, ki vplivajo na izbiro, so: - dobro ujemanje med teoretičnimi in želenimi oziroma zahtevanimi lastnostimi, - čim manjši vpliv kvanti-zacije na spremembo frekvenčnih karakteristik in velikost šumnega signala na izhodu, - mala aparaturna kompleksnost ter - velika hitrost delovanja. Porazdeljena aritmetika ali ROM akumulator struktura /1, 2/ predstavlja določen prispevek pri izbiri izvedbene oblike. Posebej je zanimiva zaradi manjše in nezahtevne aparaturne kompleksnosti, tako da postaja aktualna za izvedbo tudi s programabilnimi polji logičnih vrat. S porazdeljeno artimetiko je označen postopek izračunavanja skalarnega produkta dveh vektorjev na elementarnem bitnem nivoju brez uporabe običajnih množilnikov, tako da ga lahko s pridom izkoristimo pri izvedbi nerekurzivnih digitalnih sit. Nerekurzivna digitalna sita so zaradi dodelanih postopkov načrtovanja. svoje enostavnosti in predvsenn linearnega faznega pomika zelo zanimiva za področje digitalne obdelave signalov. Za nerekurzivno digitalno sito zapišemo odziv y(k) v obliki konvolucijske enačbe y(k)= Ih(n)x(k-n), n=0 (1.1) ki ima tudi obliko skalarnega produkta dveh vektorjev y = h"'' • X. S h(n), n = 0,1,..., N-1 je označena končna sekvenca N koeficientov impulznega odziva, ki obenem določa vektor koeficientov nerekurzivnega digitalnega sita h, z x(k-n) pa je označena sekvenca časovnih odtipkov vhodnega signala, ki določajo komponente vektorja x. 2. Porazdeljena aritmetika in modificirani izračun delnih vsot koeficientov če so vrednosti vhodnega signala x(k) omejene na intervalu [-1, +1], jih lahko zapišemo tudi v dvojiški binarni obliki s končno dolžino besede Bx bitov x(k - n) = -bo(k - n) + Xbi(k - n) • n = 0,1,...N -1. i=i množenja z 2"'. Za seštevanje uporabimo seštevalnike, ki so dovolj enostavna in hitra vezja, za odštevanje je potrebno posebej tvoriti dvojiški komplement, množenje z 2"' pa se preprosto izvaja s pomikom vsebine v aritmetični enoti za i-bitov in z zakasnilnimi elementi T. Zaradi pridobitve na hitrosti odziva vse možne delne vsote koeficientov običajno izračunamo vnaprej in jih zapišemo v pomnilnik vrste ROM, njihove vrednosti pa pri izračunu izhodnih vrednosti sproti določa naslovni vektor vhodnih spremenljivk, ki ga definiramo z vhodnim poljem. Na sliki 2.1 je prikazana bločna shema osnovne strukture nerekurzivnega digitalnega sita v porazdeljeni aritmetiki. ariinicIiCiia ciiola x(k) x(k-l) vliotitio ROM polje B,\ liilov -lokacii x(k-N+l) b,(k-N+l) Z y(k) izhod y Slika 2.1: Osnovna struktura nerekurzivnega digitalnega sita v porazdeljeni aritmetiki (2.1) Z bi(k-n) so označene binarne spremenljivke, ki zavzemajo vrednosti O ali 1, pri tem je bo(k-n) najbolj utežni bit, ki predstavlja predznak, bBx-i(k-n) pa je najmanj utežni bit. S povezavo obeh izrazov po enačbah 1.1 in 2.1 dobimo osnovo za izračun trenutne vrednosti izhodnega signala za nerekurzivno digitalno sito po principu porazdeljene aritmetike /2/. y(k) = - S h(n) • bo (k - n) + l"' I h(n)bi (k - n)2^ n=0 i=1 n=0 Cez v,(k)=Xh(n)bi(k~n) n=0 (2.2) ;2.3) označimo delne vsote koeficientov, ki predstavljajo vmesni korak pri računanju y(k), dobimo poenostavljeno obliko zapisa izračunavanja izhodnih vrednosti v obliki y(k) = -Vo(k)-f IVi(k)2-\ (2. 4) Pri uporabi konstantnih koeficientov digitalnega sita so delne vsote odvisne le od nabora N binarnih spremenljivk bi(k-n). Za določitev trenutne izhodne vrednosti potrebujemo le postopek seštevanja (odštevanja) in V tabeli 2.1 so prikazane delne vsote koeficientov vi(k) v odvisnosti od naslovnega vektorja brez upoštevanja potrebnega normiranja. Tabela 2.1: Delne vsote koeficientov pri osnovni strukturi porazdeljene aritmetike naslovni vektor Vi(k) 0 0...000 0 1 0..,001 ho 2 0...010 hi 3 0...011 ho+hi 4 0„.100 h2 gN-l 1..,111 hN-1 4-hN-2 + ... + ho Ker raste število delnih vsot koeficientov eksponentov s številom koeficientov sita N, potrebujemo pomnilnik z 2*^ pomnilniškimi lokacijami. Pri današnjem stanju tehnologije je neekonomično izvajati sita z N>21 koeficienti impulznega odziva. V našem primeru smo izbrali kompromisno rešitev z N = 15, pri čemer potrebujemo ROM s kapaciteto 32 K x 16 bitov. Pri dvojiškem zapisu vhodnega signala je v vhodnem polju z 1000 ... O zapisana najmanjša (negativna) vred- nost, z 0111 ... 1 pa največja (pozitivna) binarna vrednost. Modificirano obliko porazdeljene aritmetike dobimo, če pred vpisom v vhodno polje vhodni bipolarni signal pretvorimo v unipolarno obliko xJk-n)= Sbi(k-n)2-' n=:0,1,...N-1. (2.5) i=0 Tedaj preide izraz za izračunavanje izhodnega signala po enačbi 2.4. v y(k) = y„(k)= XVi„(k)-2- i=0 (2.6) pri čemer so z Vim(k) označene modificirane vrednosti delnih vsot koeficientov /3/. S primerjavo izrazov pod enačbama 2.4 in 2.6 vidimo, da v slednjem primeru ne potrebujemo več posebnega postopka odštevanja v aritmetični enoti. S tem se zmanjša kompleksnost prikazane strukture na sliki 2.1, obenem pa se še izognemo možnosti prelivanja vmesnih rezultatov preko normirane vrednosti ena v aritmetični enoti pred končnim odštevanjem vrednosti vo(k) . Zaradi spremenjenih vrednosti vhodnega signala v vhodnem polju je potrebno delne vsote koeficientov simetrirati in normirati. Postopek simetriranja je odvisen od vrste uporabljene frekvenčne karakteristike sita in ga izvedemo za vsako sito posebej. Modificirane delne vsote koeficientov Vmi(k) so prikazane v tabeli 2.2. Tabela 2.2: Delne vsote koeficientov pri modificirani obliki porazdeljene aritmetike. naslovni vektor Vrni (k) 0 0.,.000 1/2(-ho-hi-h2-...-hN-i) 1 0...001, 1/2(-f-ho-hi-h2-,..-hN-i) 2 0...010 1/2(-ho+hi-h2-...-hN-i) 3 0...011 1/2(-f-ho+hi-h2-...-hN-i) 4 0...100 1/2(-ho-hi-i-h2-...-hN-i) 1 gN-l 1...111 1/2(-f-ho+hi + h2-h... + hN-i) Novo modificirano strukturo porazdeljene aritmetike pri izvedi nerekurzivnih digitalnih sit kaže bločna shema na sliki 2.2. Na vhodni strani je sicer potreben dodatni pretvornik bipolarnega signala v unipolarno obliko, zato pa se izognemo postopku odštevanja delnih vsot koeficientov, ki Jih določa naslovni vektor najbolj utežnih bitov v vhodnem polju pri izračunu vsakokratne trenutne izhodne vrednosti. vhod \ JI bip./unip, prelvoniik A >!(k) bj(k) x(k-i) -^ bi(k-l) t vhodno ROM polje Bx bilov -lokacij x(k-N+l) b|(k-N+l) iirilmelična eiiola -J- izhod y SI. 2.2: Digitalno sito v modificirani obliki porazdeljene aritmetike Pri skrbnem simetriranju in normiranju modificiranih delnih vsot koeficientov dosežemo povečanje dinamičnega območja izhodnega signala za najmanj 6 dB. Primerjavo simulacijskih rezultatov frekvenčnih karakteristik nizkoprepustnega sita s petnajstimi koeficienti po klasičnem in modificiranem postopku porazdeljene aritmetike kaže slika 2.1. Slika 2.3: Primerjava frekvenčnih odzivov nizkoprepustnega sita s petnajstimi koeficienti po klasičnem in modificiranem postopku Izhodni signal iz nove strukture je tudi unipolarne oblike, vendar imamo tudi na izhodu na voljo več enostavnih postopkov za njegovo spremembo v običajno bipolarno obliko. 3. Izvedba Digitalno sito v modificirani porazdeljeni aritmetiki smo izvedli v laboratorijski obliki s standardnimi integriranimi komponentami. Zasnova vezja je univerzalna, tako da omogoča realizacijo nerekurzivnih digitalnih sit s 15 koeficienti s poljubno frekvenčno karakteristiko. Za pretvorbo analognega signala v digitalno obliko smo izbrali 12-bitni A/D pretvornik MAX 122, ki omogoča vzorčenje signala z maksimalno vrednostjo fvmax = 333 kHz = 1/T. Pretvorbo binarnega vhodnega signala x(k) v unipolarno obliko smo izvedli z invertiranjem najbolj utežnega bita. Tako pretvorjen signal vodimo preko 12-bitnega vzporedno-zaporednega pomičnega registra v zaporedni pomični register vhodnega polja z velikostjo 180 bitov. Sestavili smo ga Iz CMOS gradnikov HCT 164. Vsebina vhodnega polja v trenutku t = kT določa toliko različnih naslovnih vektorjev kot je število bitov vhodne binarne besede Bx = 12 . Za usklajeno delovanje skrbi krmilno vezje s kvarčnim oscilatorjem fo = 2 MHz, ki generira vse potrebne časovne signale: - osnovne urine impulze ui, - inverti-rane urine impulze U2, - impulze za startanje analogno-digitalne pretvorbe U3, - za čitanje vrednosti A/D pretvornika v vzporedno zaporedni pretvorik U4, - za krmiljenje vhodnega polja us, - za brisanje stare vrednosti iz zadrževalnih celic aritmetike ue ter - za krmiljenje izhodnih zadrževalnikov uy. Časovne poteke signalov iz krmilnega vezja prikazuje slika 3.1. Osrednji del strukture je pomnilnik za shranjevanje delnih vsot koeficientov. Uporabili smo dve EPROM vezji 27256 saj potrebujemo pomnilnik s kapaciteto 2"'® x 14 bitov. Za zapis delnih vsot koeficientov smo uporabili 14 bitov. Vsebina EPROM pomnilnika določa obliko frekvenčne odvisnosti izhodnega signala. Programski paket BRUMEC /3/ omogoča natačni izračun delnih vsot koeficientov, 14-bitno kvantizacijo pa smo opravili pred vpisom v pomnilnik. Aritmetično logična enota je sestavljena iz seštevalnega in zadrževalnega vezja. Zaradi zmanjšanja vplivov pogreška kvantizacije aritmetične enote na izhodni signal smo uporabili 16-bitno strukturo. Osnovni gradniki 80 4"bitni seštevalniki 4008. Vezje izvaja postopek seštevanja in deljenja z dve. To je izvedeno med posameznimi seštevanji s pomikom vsebine v desno, postopek krmili negirana osnovna ura U2. Po dvanajstih seštevanjih je zaključen izračun trenutne izhodne vrednosti y(k). Na izhodu seštevalnika se pojavi 16-bitni 1, nnn/^nnninnnrmnn^ j J J J vi L J Ij ij U Ü L J J i i - 1-1 l i ! 11; U2 U3 "4 n,r J u lIlRlllliWlf» J ü U6 "7 n",n,nn ; r J Ü u Ij 111__: J ■n ' i i_ i i Tabela 3.1: Koeficienti nizl