MOŽNOSTI IZVEDBE ADAPTIVNEGA FIR SITA S PROGRAMIRNIMI (FPGA) VEZJI Davorin Osebik, Rudolf Babič Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru Ključne besede: digitalna obdelava signalov, adaptivno izločanje motilnega signala, adaptivna digitalna sita, nerekurzivna digitalna sita, porazdeljena aritmetika, zaporedna aritmetična struktura Izvleček: V članku je prikazan matematični opis adaptivnega FIR sita s 16 koeficienti, prikaz izvedbe s programirnimi logičnimi vezji firme Xilinx in simulacija izvedbene strukture. Sito je izvedeno v porazdeljeni aritmetiki s sprotnim izračunom vektorja delnih vsot koeficientov v(k). Načrtano je v dveh delih, iz običajne enote nerekurzivnega digitalnega sita, ki mu lahko spreminjamo koeficiente, in enote za adaptivno izračunavanje koeficientov. Aritmetična enota za izračun koeficientov FIR sita izračunava koeficiente po LMS algoritmu. Izvedena je z zaporedno logiko za izvajanje aritmetično logičnih operacij. S takšnim pristopom smo dosegli linearno naraščanje aparaturne kompleksnosti enote za izračun koeficientov v odvisnosti od stopnje sita, kar omogoča pomembni prihranek logičnih elementov. Za izvedbo smo uporabili dve FPGA vezji XC4013E in XC4020E. Vezje XC4013E za adaptivno enoto FIR digitalnega sita in vezje XC4020E za enoto izračuna koeficientov FIR sita. V prispevku so podani podrobni opisi notranjih spremenljivk enote za izračun koeficientov in enote FIR sita s spremenljivimi koeficienti na bitnem nivoju. Vhodne spremenljivke adaptivnega digitalnega FIR sita smo predstavili z dolžino 16-bitov, medtem ko je dolžina registrov notranje aritmetične strukture med 16 in 24-biti. Rezultate smo zaenkrat dobili s simulacijo izvedbene strukture adaptivnega FIR sita s programskim paketom OrCAD 9.0 ob podpori razvojnega orodja firme Xilinx XACT 5.2. Rezultati so podani za primer izločanja motilnih signalov z lastnostjo hrupa prometne ulice. Pri tem je bilo doseženo izboljšanje razmerja S/N med 20 in 22 dB pri vhodnem razmerju S/Nje-20. Izboljšanje razmerja S/N je odvisno od vhodnega razmerja S/N. The Practicability of Adaptive FIR Digital Filter Implementation with FPGA Circuits Key words; digital signal processing, adaptive digital filters, FIR filters, adaptive noise cancelling, distributed arithmetic technique, serial arithmetic structure Abstract: The FPGA circuits have become a good alternative for digital signal processing appplications. In this article the mathematical description and computer simulation of the hardware implementation of the adaptive FIR digital filter structure in FPGA circuits is presented. The hardware implementation of digital filter structure is based on the use of distributed arithmetic filter arhitecture which uses no multipliers in its realisation of the filtering functions. Adaptive digital filters are successfully used in different fields, such as communication, radar, sonar, seismic, and biomedical engineering. Almost all of these adaptive filters have one common characteristic that a reference input signal vector u(k) and primary signal d(k) are applied to compute an estimation error signal e(k), which is used to control the values of adjustable digital filter coefficients h{k). The presented adaptive digital FIR filter which is carried out with programmable gate array could be used for noise cancelling from the corrupted input signal. The basic application of adaptive structure is shown in block diagram in figure 2. The first unit is the FIR filter structure, which determines the output values y(k) with distributed arithmetic principle by equations 6. The partial sums of filter coefficients signed as vi and defined with equations 6, are calculated from vector of filter coefficients h(k) and the vector of inputs u(k), by using of equation 12. Because of current calculations of their adapted values, they cannot be stored in the ROM memory as in the ROM-accumulator structure of classical distributed arithmetic realisation /5/. The 16 taps FIR digital filter structure, made within FPGA circuit XC4013 is shown in figure 3. The hardware complexity is accomplished with 16 bits input and output word length and with 16 to 24 bits word length of arithmetic-logic unit. The second unit in the figure 2 is the structure for adaptive filter coefficients calculation, where the least-mean-square (LMS) adaptation algorithm is used. The coefficients of nonrecursive filter vector h(k) was initially obtained from equations (2) and (3) and from (16), (17) and (19) respectively. In these equations fi is the step of adaptation, e(k) is the estimation error signal, and u(k) is the reference signal as the input signal in the FIR filter. The product of the e(k)u(k) from (15) is also implemented with distributed arithmetic technique, where the serial logic of arithmetic operation is used. The hardware complexity of the structure for adaptive filter coefficients calculation rises linear with number of taps. In figure 4 the block diagram of unit for adaptive filter coefficients calculation is shown. For complexity of 16 taps and 19 bits of arithmetic and logic unit the structure is made within one FPGA circuit XC4020Eanda adapted set of the taps is obtained every 10 |.is. The whole hardware structure was simulated with OrCAD Express and Xilinx XACT 5.2. With 20MHz clock frequency the input signals u(k) and d(k) sampling frequency of 100 kHz was obtained. The results of presented adaptive digital filter application are shown as noise cancelling from corrupted input signal. In this application the street noise signal is taken into account. The results depends on the signal to noise (S/N) ratio of the input signal. At S/N ratio of the input signal of about -20dB the noise component is successfully eliminated, and improvement of S/N ratio of 22dB is obtained. The results are shown as comparision of input reference, primary signal and output signal in the time and frequency domain in the figures 6,7 and 8 and as power S/N ratios of the input signal (Pvh), output signal (Pizh) and improved output signal (Praz) in the figure 11 respectively. 1. Uvod se izračunava na osnovi ocenitvenega pogreška. Adaptivno sito je sestavljeno iz digitalnega sita in adap-Adaptivna digitalna sita se uspešno uporabljajo na razno- tivnega algoritma za izračun koeficientov, iznned številnih likih področjih: v komunikacijski tehniki, radarski in sonar- aplikacij uporabe adaptivnih sit bomo predstavili aplikacijo ni tehniki, seizmologiji in biomedicinski tehniki. Čeprav gre digitalnega sita namenjeno nevtralizaciji interferenčnih sig-za različna področja, imajo vsa eno skupno lastnost: žele- nalov iz koristnega signala /1 /. Pri izvedbi sistemov za digitalno procesiranje signalov (DPS) obstajata dve možnosti: izvedba aplikacije s signalnim procesorjem ali izvedba s programirnimi vezji /2/. Pri izvedbi sistemov za DSP s signalnim procesorjem proces procesiranja temelji na ustrezno zapisanem algoritmu /3/, medtem ko pri izvedbi sistemov za DPS s programirnimi vezji procesiranje temelji naaparaturni strukturi, ki omogoča implementacijo v programirna vezja. Pri tem se uporabljajo takšne strukture, ki dopuščajo enostavno povečanje aplikacije z dodajanjem paralelnih struktur. Zmanjšanje aparaturne kompleksnosti je možno doseči z različnimi strukturami FIR sit. Pri FIR sitih s konstantnimi koeficienti zelo poenostavi aparaturno kompleksnost uporaba pomnilnika za zapis delnih vsot koeficientov /4, 5/. Zmanjšanje pomnilnika je možno doseči tudi z izvedbo FIR sit v kaskadni obliki /6/, kjer digitalna sita z manj koeficienti povežemo v kaskadno obliko. Vse naštete strukture za zmanjšanje pomnilnika pri FIR sitih temeljijo na predhodnih izračunih delnih vsot koeficientov, ki jih vpišemo v ROM pomnilnik. Pri uporabi FIRsitvadaptivnih sistemih se koeficienti spreminjajo za vsak otipek posebej. Uporaba struktur FIR sit s predhodno izračunanimi delnimi vsotami koeficientov v adaptivnih aplikacijah ni možna, saj operacija izračuna in vpisa delnih vsot v pomnilnik vzameta preveč časa. Za FIR sita s spremenljivimi koeficienti so zanimive strukture, ki temeljijo na množenju in akumuliranju izračunane vrednosti (Multiply and Accomulate, MAC algoritmi), in strukture, ki temeljijo na vzporedni porazdeljeni aritmetiki /7/. Pri izvedbi algoritmov za DPS se je pokazala primerna uporaba zaporedne logike za izvajanje aritmetično logičnih operacij /8/. Z uporabo zaporedne logike izvajanja aritmetično logičnih operacij je zmanjšanje aparaturne kompleksnosti približno za faktor širine aritmetike, pri tem se potreben čas izračuna bistveno ne spremeni. Izračun koeficientov po LMS algoritmu pri FIR situ poteka v celoti z uporabo zaporedne logike. V članku bomo prikazali možnost izvedbe adaptivnega nerekurzivnega digitalnega sita s programirnim poljem logičnih vezij. Posebej bomo podali matematični opis enote FIR sita v porazdeljeni aritmetiki razdeljene na N podstruk-tur s sprotnim izračunom delnih vsot koeficientov. Predstavili bomo izvedbo enote FIR sita s programirnim vezjem XC4013E. Pri enoti za izračun koeficientov bomo podali matematični opis koeficientov po LMS algoritmu in izvedbo v programirnem vezju XC4025E. Opisali bomo načina povezave obeh enot, ki skupaj tvorita adaptivno sito. Predstavili bomo dobljene rezultate, ki smo jih zaenkrat dobili še s simulacijo s programskim paketom Orcad 9.0 ob podpori razvojnega orodja XCAT 5.2 za načrtovanje pro-gramirnih vezij. V rezultatih podajamo uspešnost izločitve motilnega signala iz koristnega signala, podana pa je tudi primerjava med matematičnim modelom in dejansko izvedbo adaptivnega sita. 2. Uporaba adaptivnih sit za nevtralizacijo interferenčnih signalov s programirnimi vezji smo realizirali adaptivno FIR sito, katerega smo uporabili za odstranjevanje prisotnih interferenc iz koristnega signala. Postopek odstranjevanja interferenc temelji na uporabi dveh senzorjev: senzorja primarnega signala d(k) in senzorja referenčnega signala u(k). Blokovno shemo prikazuje slika 1. skupni aH primarni signal signal u(k) adaptiv n/ W filter/ T e(k) Slika 1: Adaptivni sitem v aplikaciji odstranjevanja interferenčmih signalov V splošnem je lahko uporabljen poljubni adaptivni algoritem in poljubna struktura digitalnega sita. Za aparaturno izvedbo je potrebno izbrati algoritem, ki bo računsko dovolj preprost, saj je potrebno izračun opraviti v času enega otipka vhodnih signalov u(k) in d(k). Preprost matematični algoritem je tudi lažje izvesti v aparaturni opremi. Kriterij, ki uporablja najmanjše srednje kvadratično odstopanje - LMS kriterij, da dovolj dobre rezultate pri odstranjevanju interferenc motilnega signala iz koristnega signala. Kriterij najmanjšega srednjega kvadratičnega odstopanja temelji na minimizaciji izhodne moči prisotnega šuma v koristnem signalu. Koeficiente FIR sita za LMS kriterij je možno izračunati na optimalnem linearnem diskretnem situ, ki je poznano kot Wienerjevo sito /1/. Za aparaturno izvedbo je primernejša metoda algoritma strmega spusta, pri kateri so optimalnim koeficientom Wienerjevega sita približamo v nekaj korakih /9, 10/. S tem algoritmom dobimo dovolj natančen in robusten izračun koeficientov adaptivnega FIR sita. Za digitalno sito smo izbrali FIR sito, pri katerem ni težav s stabilnostjo. Pri tem smo za FIR sito uporabili strukturo porazdeljene aritmetike. Koeficienti FIR sita se izračunavajo na osnovi LMS kriterija. Izračun veličin pri adaptivnem FIR situ po LMS kriteriju z uporabo metode strmega spusta poteka po treh temeljnih enačbah: 1. izračun izhodne vrednosti FIR digitalnega sita 2. izračun ocene odstopanja e{k)=d{k)-y{k). 3. izračun koeficientov sita (1) (2) V enačbah (1), (2) in (3) imata vektor koeficientov FIR sita h(k) in vektor koeficientov vhodnega signala u{k) naslednje komponente: Kik)' K{k) u{k-\y u{k-2) u{k-N) (4) Na osnovi enačb adaptivnega FIR sita smo za izračun veličin adaptivnega digitalnega sita izdelali blokovno shemo, razdeljeno na enoto FIR sita in enoto za izračun koeficientov. Blokovno shemo obeh struktur prikazuje slika 2. od(kl________ u(k) enota FIR sita M i k h (k) enota izračuna koeficientov Slika 2: Blokovna shema adaptivnega digitalnega sita Adaptivno digitalno sito sestavlja enota FIR sita, ki opravlja izračun izhodne vrednosti y(k) po enačbi (1) na osnovi k-tega otipka referenčnega signala u(k) in dobljenega k-tega vektorja koeficientov h(k) FIR sita. Izračun k-tega vektorja koeficientov FIR sita poteka v dveh korakih. V prvem koraku je potrebno določiti oceno odstopanja e{k). Ocena odstopanja je določena kot razlika med k-tim otipkom primarnega signala d(k) in k-tim otipkom izhodnega signala y(k). Izračun opisuje enačba (2). Na osnovi določene ocene odstopanja e(k) po LMS kriteriju z metodo strmega spusta je vektor koeficientov določen z enačbo (3). Predstavili smo izračun veličin adaptivnega digitalnega sita s poljem programirnih logičnih vezij. Na osnovi podrobnega matematičnega zapisa enačb notranjih spremenljivk adaptivnega FIR sita bomo podali njihovo aparaturno kompleksnost in rešitve, ki smo jih uporabili pri izvedbi adaptivnega sita s programirnimi vezji. 2.1 Enota FIR sita Pri FIR sitih izračun izhodne besede y(k) opisuje enačba (1). V enačbi (1) sta matriki koeficientov h(k) in u(k) za FIR sito z N koeficienti enodimenzionalni matriki dimenzije N. Elemente obeh matrik podaja zapis (4). Namesto opisa izračuna izhodne besede y(k) po enačbi (1) lahko izračun opišemo s konvolucijsko enačbo y{k)=Y^h,{k)u{k-{i + l)), (5) V enačbi (5) so hi(k) komponenta vektorja koeficientov h{k) digitalnega FIR sita in u(k-(i+1)) so komponenta vektorja koeficientov vhoda u(k). Pri izbiri izvedbe FIR sita s spremenljivim vektorjem koeficientov h{k) imamo možnost med izbiro izvedbe FIR sitav koncentrirani aritmetiki, kjer izračun izhodne besede y(k) poteka neposredno po konvolucijski enačbi (5). Pri tej metodi, ki je poznana kot izvedba FIR sita v koncentrirani aritmetiki, potrebujemo za izračun izhodne besede pri situ z N koeficienti N množilnikov. Druga možnost je izvedba FIR sita v porazdeljeni aritmetiki /5/, kjer izračun izhodne besede y(k) poteka brez uporabe množilnikov. Izvedba FIR sita v strukturi porazdeljene aritmetike temelji na uporabi pomnilnika za zapis delnih vsot koeficientov z algoritmom množenja in pomnjenja vrednosti (MAC algoritem) /7/. Izračun izhodne vrednosti izhodne besede y(k) poteka po enačbi Bu-\ 'Bu. (6) 1=1 V enačbi (6) so v, delne vsote koeficientov, ki so odvisni od vhodnega signala u(k) in vektorja koeficientov FIR sita h(k), Vi=f(u(k),f(k)). Dosedanji razvoj digitalnih FIR sit s konstantnim vektorjem koeficientov h(k) je temeljil na izvedbi sit v različnih strukturah porazdeljene aritmetike, kjersmo z določenimi postopki zmanjševali potrebno velikost pomnilnika za zapis delnih vsot koeficientov. V primeru, da je vektor koeficientov FIR sita konstanten, je možno vse kombinacije delnih vsot izračunati vnaprej in jih vpisati v pomnilnik. Za sito z N koeficienti je vseh kombinacij delnih vsot koeficientov Pri spremenljivem vektorju koeficientov h(k) je potrebno poiskati strukture FIR sit v porazdeljeni aritmetiki, kjer bo potrebno izračunati le tiste delne vsote koeficientov, ki jih potrebujemo pri danem otipku vhodnega signala u(k). Teh delnih vsot je N. S tem se zmanjša potrebna velikost pomnilnika za zapis delnih vsot koeficientov z 2*^ na N pomniln-iških lokacij /7/. Struktura, ki ustreza navedenim pogojem, je struktura s sprotnim izračunom delnih vsot koeficientov /7, 5/. Aparaturna izvedba FIR sita v porazdeljeni aritmetiki s sprotnim izračunom vektorja delnih vsot koeficientov je kompleksnejša od klasične ROM strukture sita FIR sita v porazdeljeni aritmetiki, je taka edina primerna za izvedbo sprotnega izračunavanja in delnih vsot koeficientov. Aparaturna kompleksnost strukture FIR sita s sprotnim izračunom delnih vsot koeficientov je ocenjena z N^. 2.1.1 Opis izračuna vrednosti izhodnega signala y(k) pri FIR situ s sprotnim izračunom delnih vsot koeficientov Pri izračunu izhodne vrednosti y{k) digitalnega sita v porazdeljeni aritmetiki s sprotnim izračunom delnih vsot koeficientov izhajamo iz enačbe (1), kjer poteka množenje vektorja koeficientov h(k) in vektorja koeficientov vhoda u(k) po postopku porazdeljene aritmetike. Pri tem postopku vrednost vhodnega otipka u(k) zapišemo v bitni obliki z dvo-jiškim komplimentom. Zapis opisuje enačba Bu-\ (7) (=1 V enačbi (7) najbolj utežni bit bu,o(k) predstavlja predznak k-tega otipka vhodne besede u(k). Vektor koeficientov vhoda u(k) na bitnem nivoju zapišemo z upoštevanjem dvo-jiškega komplimenta z 1=1 Bu-\ 1=1 (8) i=l Pri adaptivnih sitih se vektor koeficientov h(k) spremeni pri vsakem otipku vhodnega signala u(k), zato ni potrebno opraviti izračuna celotnega nabora delnih vsot koeficientov Vi. Z uporabo sprotnega izračuna delnih vsot koeficientov, neposredno izračunavamo vektor delnih vsot koeficientov v{k) iz otipka vhodne besede u{k) in vektorja koeficientov h(k) po enačbi (9) v enačbi (9) je vektor bu(k) bitni zapis trenutnega vhodnega otipka signala u(k) in ostalih petnajstih predhodnih vrednosti signala u(k). Pri tem k-ti otipek vrednosti vektorja bu(k) zapišemo z KAk-i) bJk-2) ... v.(^-2) bJk-N) bJk-N) ... .(10) v enačbi (9) je vektor delnih vsot koeficientov v(k), funkcija vektorja bu(k) in vektorja koeficientov sita h(k). Z množenjem obeh matrik h(k) in u(k) dobimo matriko delnih vsot koeficientov v(k), ki se neposredno izračunava v FiR situ ob vsakem novem otipku vhodne besede u(k) po enačbi (9). Dobljeni vektor delnih vsot koeficientov v(k) za k-ti otipek vhodne besede u(k) zapišemo z 4> .(11) Matrika vektorja delnih vsot koeficientov v(k) ima dimenzijo BuxN. Bu je število bitov za zapis vhodne besede u(k). Za izračun matrike vektorja je potrebno Bu iteracij. Aparatur-na kompleksnost enote FIR sita se zaradi povečanja iteracij ne spremeni, poveča se le potreben čas izračuna izhodne besede y(k). Enačbo vektorja delnih vsot koeficientov FIR sita v(k) zaradi preglednosti zapišimo v krajši obliki Bu-l ikh X hXkMk-(N + l)) i=0 Bu-l 1=0 ßll-l (12) 1=0 V enačbi (12) so Vi(k) komponente vektorja delnih vsot koeficientov. Za sito z N koeficienti dobimo za vsak nov otipek vhodnega signala u(k) N novih komponent delnih vsot koeficientov Vi(k). Pri izvedbi adaptivnega FIR sita smo se odločili za strukturo sprotnega izračuna vektorja delnih vsot koeficientov v(k). Tako dobljeni vektor koeficientov v(k) ima dimenzijo N in vsebuje naslednje komponente, 4)= Xk)' .ik) VBuik) (13) Izračun izhodne besede FIR sita y(k) poteka neposredno iz komponent vektorja delnih vsot koeficientov po enačbi (6). Za izračun izhodne y(k) je potrebno izvesti Bu iteracij. 2.1.2 Aparaturna izvedba enote FIR digitalnega sita s spremenljivimi koeficienti Z FPGA vezjem XG4013E firme Xilinx smo realizirali enoto FIR sita z N = 16 koeficienti, z Bu=16-bitno dolžino vhodne besede in 16-bitno dolžino izhodne besede in dolžino notranje strukture med 16 in 22 biti. Dosegli smo frekvenco vzorčenja vhodne besede fv= 100kHz pri frekvenci osnovnega signala ure 20MHz.. Izvedbo enote FIR sita v porazdeljeni aritmetiki razdeljeno na N = 16 podstruktur prikazuje slika 3. Realizacijsko enoto FIR digitalnega sita smo razdelili na štiri različna vezja. V enoti FIR digitalnega sita sta vezje vhodnega polja in vezje aritmetične enote enaki kot pri klasični izvedbi adptivnega FIR sita v porazdeljeni aritmetiki /5/. Vezje za postavitev koeficientov in vezje aritmetične enote za sprotni izračun delnih vsot koeficientov smo načr-tali posebej za aplikacijo FIR sita s spremenljivimi koeficienti. I «eäyfe I vhodnega polja | vhod u(k)ll. ■H u(k- i) "ly I bff(-2 - u(k-3) u(k-i3) "lir f^ u(k-14) Irl^ vezje aritmetične enote za sproten izračun| delnih vsot koeficientov veil e krmilni Signa! zaporedno vodilo koelicientov FIR sita izhod y(k-1) Slika 3: Blokovna shema enote digitalnega FIR sita v porazdeljeni aritmetiki razdeljenega na N=16 podstruktur Vezje vhodnega polja opravlja izračun vektorja bu(k) po enačbi (10), pri tem ima vektor dimenzijo B u~ 16 stoipoev in N = 16 vrstic. Vezje za postavitev koeficientov skrbi samo za prenos vektorja koeficientov h(k) iz vezja za izračun vektorja koeficientov h(k) v enoto FIR sita in njegovo pretvorbo iz zaporedne oblike zapisa v vzporedno obliko zapisa. Vezje je sestavljeno iz šestnajstih 16-bitnih zaporedno vzporednih pretvornikov. Vezje aritmetične enote za sproten izračun delnih vsot koeficientov izračunava vektor delnih vsot koeficientovv(k) po enačbi (9), pri tem ima vektor v(k) N=16 vrstic. Izračun vektorja v(k) se opravi po Bu=16 iteracijah. Vezje sestavlja 15 sešteval ni kov, ki so dolžine od 16. do 19. bitov. Vektor delnih vsot koeficientov se izračuna po Bu-16 iteracijah. Vezje aritmetične logične enote izračunava vrednost izhodne besede y(k) po enačbi (11) oz (12). Za izračun je potrebno Bu=16 iteracij. Vezje aritmetične enote za izračun izhodne besede y(k) po enačbi (6) potrebuje Bu=16 iteracij. 2.2 Enota za izračun koeficientov Izračun vektorja koeficientov h{k) adaptivnega FIR digitalnega sita poteka po algoritmu, ki skrbi za optimalno nastavljanje parametrov sita. Izračun temelji na kriteriju najmanjšega srednjega kvadratičnega odstopanja, kjer se optimalni koeficienti izračunajo z metodo strmega spusta /1/. Ta način je izbran zaradi matematične enostavnosti in robustnosti algoritme izračuna. Izbrani LfvlS kriterij zadostuje pogoju glede aparaturne kompleksnosti enote za izračun koeficientov, časa adaptacije in izračuna koeficientov sita v realnem času. Glede na izračun koeficientov FIR sita po LMS kriteriju z algoritmom strmega spusta ločimo: izračun koeficientov s predznačeno funkcije, izračun koeficientov z nespremenljivo adaptivno konstanto in izračun koeficientov s spremenljivo adaptivno konstanto. 2.2.1 Opis izračuna koeficientov FIR sita Izračun novih koeficientov sita poteka v dveh korakih. V prvem koraku je potrebno izvesti izračun ocenitvenega odstopanja med primarnim signalom d(k) in izhodnim signalom y(k) po enačbi (2). V drugem koraku je potrebno izvesti izračun novega vektorja koeficientov FIR sita h(k) po enačbi (3). Enačbo (3) razdelimo na dva dela. Del s predhodnimi vrednostmi vektorja koeficientov FIR sita h(k-1) in del z vektorjem trenutnega odstopanja koeficientov FIR sita h'(k), (14) V enačbi (14) je izračun vektorja trenutnega odstopanja koeficientov h'(k) za aparaturno izvedbo najkompleksnejši del. Izračun tega vektorja poteka po enačbi (15) V enačbi (15) je najprej izvedeno množenje ocene odstopanja e(k) z adaptivno konstanto |J,. Pri tem je dobljen zmnožek med e(k) in |j, skalar, s katerim v naslednjem koraku izračuna pomnožimo vektor koeficientov vhoda u(k) z enačbo ' lLe{k)uik-iy [ie{k)u(k-2) }Le(k)u(k-N) (16) Ta izračun smo realizirali s postopkom porazdeljene aritmetike. Vektor vhodnih koeficientov u(k) vhodnega refe- renčnega signala u(k) zapišemo na bitnem nivoju z uporabo dvojiškega komplimenta. Z upoštevanjem enačbe (7) in zapisa vektorja bu(k) z enačbo (10) dobimo zapis vektorja koeficientov vhoda u{k), ki je opisan z (8). Vektor u(k) je zapisan na bitnem nivoju z bu(k), ki je bitni zapis trenutne vrednosti vhodnega referenčnega signala u(k) in preostalih N-tih predhodnih otipkov. Po produktu vektorja u(k) s skalarjem |j,e(k) dobimovektortrenutnega odstopanja h'(k), ki ga zapišemo s. -e i=l 5-1 . (17) 1=1 V zadnjem koraku je potrebno le še izvesti seštevanje vektorja predhodnih vrednosti koeficientov h(k-1) z vektorjem trenutnega odstopanja h'(k) po enačbi (14). (14) Za apar-turno izvedbo se izkaže, da je tudi seštevanje ugodno izvesti v iteraciji po času. Za seštevanje vektorja koeficientov FIR sita zapišimo vektor h(k) na bitnem nivoju z enačbo Bh~\ 1=1 Bh-\ 1=1 1=1 (18) v enačbi (18) predstavlja bho(k) najbolj utežni bit prvega koeficienta ho(k) FIR sita. Najbolj utežni bit določa predznak. ostali biti določajo vrednost koeficienta. Pri tem Bh predstavlja število bitov za zapis posameznega koeficienta. Vektor koeficientov FIR sita predhodnega otipka ima potem vrednosti podane s, Bh~\ /=i Bh-l 1=1 S/i-l .(19) bh{N-i)fi(k-1)2' 1=1 Oba vektorja koeficientov h(k-1) in h'(k) sta enodimenzionalna in imata N vrstic. Za njuno seštevanje potrebuje N it-eracij. 2.2.2 Aparaturna izvedba enote za izračun koeficientov FIR sita Z FPGA vezjem smo realizirali enoto za izračun vektorja koeficientov dimenzije N=16 po LMS algoritmu z metodo strmega spusta. Blokovno shemo enote prikazuje slika 4. Enoto za izračun koeficientov FIR sita, ki izračunava koeficiente po LMS algoritmu s fiksno adaptivno konstanto smo izvedli v programirnem vezju XC4020E. Enota zmore izračunavati nove koeficiente vsakih 10 ^is in jih preko vodila posredovati enoti FIR sita. Zaradi omejene možnosti izvajanja računskih operacij s FPGA vezji smo razvili takšne strukture, ki omogočajo izvajanje produkta dveh vektorjev s FPGA vezji ob majhni aparaturni kompleksnosti. Posebej bi izpostavili izvedbo polja 16-tih zaporednih množilnikovs poljem zaporednih seštevalnikov in njihovo povezavo z izvedenim zadrževalnikom koeficientov ter nazadnje še izvedbo zaporednega prenosa izračunanih koeficientov v FIR sito. Pri izvedbi enote za izračun koeficientov smo uporabili zaporedno logiko, kar omogoča zmanjšanje aparaturne zaporedno vodilo koeficientov FIR sita h (k), d(k) vezje za izračuir ocenitvenega u(k) Slika 4: Blokovna shema enote za izračun koeficientov FIR sita kompleksnosti. Pri izvedbi enote za izračun koeficientov z FPGA vezji bi posebej izpostavili vezje polja sešteval ni kov, vezje polja množilnikov in vezje zadrževalnikov predhodnih vrednosti koeficientov. Kompleksnost enote za izračun koeficientov narašča linearno s številom koeficientov, kar je posebej ugodno za izvedbo adaptivnih sit višjih stopenj. Enoto za izračun koeficientov FIR sita smo razdelili na pet vezij. Vezje za izračun ocenitvenega odstopanja e(k) opravlja izračun po enačbi (2) in je sestavljeno iz 16-bitnega seš-tevalnika. V tem vezju se izvede tudi množenje ocenitvenega odstopanja e(k) z adaptivno konstanto |j,. Vezje za generiranje vektorja koeficientovvhoda u(k), opravlja izračun vektorja bu(k) po enačbi (10). Vezje je enako zasnovano, kot vezje vhodnega polja v enoti FIR sita. Vektor bu(k) nosi bitni zapis vektorja koeficientov vhoda u(k). Vezja polja seštevalnikov vektorjev opravlja seštevanje predhodnih vrednosti vektorja koeficientov FIR sita h(k-1) z vektorjem trenutnega odstopanja h'(k). Z vezja množilnikov prihajajo zapovrstjo vrednosti vektorja trenutnega odstopanja koeficientov FIR sita h'{k) od najmanj do najbolj utežnega bita. Zaradi takšne narave podatkov se je pokazala uporaba zaporednih množilnikov zelo ugodna, vektorja koeficientov FIR sita h'(k) in h(k-1) sta že zapisana v zaporedni obliki. Zaradi uporabe zaporedne logike izvajanja aritmetičnih operacij, ki potekajo po postopku cevljenja, nam je uspelo za faktor dolžine bitnega zapisa vektorja koeficientov FIR sita h(k) zmanjša aparaturno kompleksnost izvedbe polja seštevalnikov. Izračun se izvaja po enačbi (14). Vezje polja množilnikov opravlja produkt skalarja e(k) z vektorjem koeficientov u(k) vhodnega signala u(k) po enačbi (17). Za sito z N=16 koeficienti je potrebno opraviti izračun v šestnajstih korakih. Ker se vedno izvrši produkt skalarja z enim utežnim bitom referenčnega signala u(k), nastaja celotna vrednost vektorja trenutnega odstopanja h'(k) postopno od najmanj utežnega bita do najbolj utežnega bita za vse vrstice v matriki u(k). Vezje zadrževalnikov predhodnih vrednosti koeficientov zakasni za en otipek izračunan vektor koeficientov h(k). Struktura vezja je podobna vezju za generiranje vektorja koeficientov vhoda. 2.3 Povezava enote FIR sita z enoto za izračun koeficientov Pri aparaturni izvedbi FIR sita je vedno prisotna neka zakasnitev med izračunano izhodno vrednostjo y(k) FIR sita in otipkom vhodne besede u(k). Zakasnitev je posledica izračuna izhodne vrednosti po enem izmed algoritmov. V našem primeru je to algoritem porazdeljene aritmetike. Zakasnitev v enačbi za zapis delnih vsot koeficientov (11) je prisotna v komponentah vektorja bu(k). Enaka zakasnitev je prisotna tudi v primeru, če poteka algoritem izračuna izhodne besede y(k) pri FIR situ na klasični način s kon- volucijsko enačbo (5). V konvolucijski enačbi je zakasnitev opisana z zakasnitvijo vhodnega signala FIR sita u(k) za en otipek. Zakasnitve izračuna izhodne besede pri FIR situ je potrebno upoštevati tudi pri izračunu vektorja koeficientov h(k). Pri izračunu vektorja koeficientov h(k) je zakasnitev že upoštevana v enačbi (3) z zapisom vektorja koeficientov vhoda u(k), enačba (4). V aparaturni izvedbi to zakasnitev predstavlja vgrajen dodatni zakasnilni element, ki ga prikazuje slika 4. S tako dodanim blokom smo tudi pri vezju za izračun koeficientov FIR sita dobili vektor koeficientov u(k) vhodnega signala u(k), ki je opisan s (4). 3. Rezultati Rezultati so za enkrat še dobljeni s simulacijo enote FIR sita in enote vezja za izračun koeficientov. Pri simulaciji smo uporabili programski paket OrCad 9.0 /13/ ob podpori Xilinxovega razvojnega orodja XACT 5.2 /11/. Delovanje obeh enot smo simulirali za čas med O in 200ms. Za ta čas je podana primerjava med rezultati, dobljenimi s simulacijo, in rezultati dobljenimi z matematičnim modelom. Delovanje adaptivnega sita izvedenega s programirnim vezjem smo preizkusili pri izločanju šuma/1, 12/, kije prisoten ob prometni ulici. Sistem za izločanje šuma z adaptivn-im FIR sitom prikazuje slika 5. Sitem sestavljata dva senzorja: senzor primarnega d(k) in senzor referenčnega signala u(k). > izhod Slika 5: Adaptivno sito pri odpravi šuma superponiranega v lXk)=e,Ak)-e(k). (21) Razliko med izhodnim signalom enote FIR sita y(k) in vrednostmi signalayref(k), dobljenimi z matematičnim modelom, podaja enačba ^yikhyref(k)-y(k). (22) V enačbah (21) in (22) sta eref(k) in yref(k) izhodni vrednosti, dobljeni z matematičnim modelom FIR sita . Razlike obeh izhodnih signalov prikazuje slika 10. Razmerje moči S/N dy(k) Časovni potek odstopanja signala y(k) de(k)QQ2 O 20 40 60 80 100 120 140 160 180 200 Ums) Časovni potek odstopanja signaia e{k) O 20 40 60 80 100 120 140 160 180 200 Slika 10:Odstopanje izhodnega signaia FIR sita y(k) in izhodnega signala aplikacije e(k) od točnih vrednosti, dobljenih z matematičnim modelom Uspešnost izločanje motilnega signala iz koristnega signala vidimo tudi s primerjavo časovnih potekov razmerij moči med koristnim signalom in šumom (S/N). Razmerje moči S/N primarnega signala smo izračunali za vsak otipek posebej po enačbi PAk)[dB]=\0\og m nijiJ+a (23) v enačbi (23) je s(k) koristni signal, u(k) je motilni signal vi(k), dodana je še konstanta a =10"®® za vrednosti otipkov motilnega signal u(k)=0. Razmerje moči S/N na izhodu smo izračunali po enačbi {e{k)-s{k)f+a (24) V enačbi (24) je e(k) signal z izločeno komponento motilnega signala. Pri grafičnem prikazu rezultatov razmerja moči S/N smo se odločili za prikaz poprečne vrednosti razmerja moči 200-tih otipkov. Časovni potek razmerja moči S/N na vhodu (Pvh), na izhodu (Pizii) in izboljšanje razmerja moči S/N (Praz) prikazuje slika 11. Razmerje moči je dobljeno s simulacijo enote FIR sita in enote izračuna koeficientov s programskim paketom Oread 9.0. Manjše, kot je razmerje moči S/N na vhodu, večje je izboljšanje razmerja. Izboljšanje razmerja moči S/N se giblje med 20dB in 22dB. Čas adaptacije adptivnega sita znaša okoli 8ms. P(äB) 40 20 O -20 Pvh ------- Pfch - Praz Cl - -i : ■■ O 20 40 60 80 100 120 140 160 180 200 Hms) Slika 11: Časovni potek razmerja moči S/N primamega signala d(k), izhodnega signala e(k) in izboljšanje razmerja S/N 4. Zaključek v članku smo prikazali matematični opis notranjih spremenljivk adaptivnega digitalnega FIR sita. Matematični opis podaja vpogled v kompleksnost izvedbe adaptivnega FIR sita s FPGA vezji in morebitne izboljšave glede izvajanja algoritmov aritmetičnih logičnih operacij. Vezje adaptivnega sita smo razdelili na enoto FIR sita in enoto za izračun koeficientov. Enota FIR sita izračunava izhodne besede po postopku porazdeljene aritmetike iz delnih vsot koeficientov Vi. Enota FIR sita je zasnovana tako, da se vektor delnih vsot koeficientov izračunava za vsak otipek posebej. Enota za izračun koeficientov izračunava koeficiente FIR sita z LMS algoritmom po metodi strmega spusta. Ta način smo izbrali zaradi matematične preprostosti, hitrosti in robustnosti izračuna. Za izvedbo enote FIR sita smo uporabili programirno vezje XG4013E, enoto za izračun koeficientov smo izvedli s programirnim vezjem XC4020E. Izvedba s FPGA vezji zahteva drugačne algoritme za izvajanje matematično logičnih operacj. Ko so algoritmi v FPGA vezju enkrat realizirani za adaptivna FIR sita nižjih stopenj, jih ni težko razširiti na sita višjih stopenj. Vsi algoritmi izvajanja aritmetično logičnih operacij delujejo z vnaprej predvidenim številom čakalnih stanj. Obe enoti smo med sabo povezali, tako da sta skupaj tvorili adaptivno sito z dolžino vhodno-izhodne besede 16 bitov, dolžina notranje aritmetike se zaradi potrebe po robustnosti sita giblje med 16 in 21 biti. Pri tem je perioda vzorčenja vhodne besede TV= 10 )is ob frekvenci osnovne ure 20MHz. Rezultati smo zaenkrat dobili le s simulacijo obeh enot s programskim paketom OrCAD ob podpori razvojnega orodja XACT 5.2 firme Xilinx. Pri rezultatih smo prikazali uspešno izločitev komponente motilnega signala v časovnem in frekvenčnem prostoru. Opravili smo tudi primerjavo med rezultati, dobljenimi s simulacijo obeh enot, in rezultati, dobljenimi na osnovi matematičnega opisa. Literatura /1 / Simon Haykin, Adaptive FilterTlieory, Second Edition, Prentice-Hail, 1986, 1991. /2/ Bill Allaire, Bud Fischer, Block Adaptive Filter, Aplication note , Xilinx, XAPP055, (Version 1.1), Januar 9, 1997. /3/ D. Čeh-Ambruš, I. Kramberger, Z. Kakčič, Razvoj razširitvene kartice s signalnim procesorjem za PCI vodilo. Informacije MIDEM, letn. 31, št. 1, str 48-52. /4/ Ken Chapman, Constant coefficients Multipliers for the XC4000E, XAPP 054, (Version 1.1), December 11, 1996. /5/ D. Osebik, B Jarc, M. Solar, R. Babič ASOTap FIR Filter realization with FPGA Circuits, Workshop on Systems, Signals and Image Processing, June 3-5,1998, Zagreb, Croatia. - Zagreb : University of Zagreb, Faculty of Electrical Engineering and Computing, 1998. - Str 86-89. /6/ Rudolf Babič, Dinamika izhodnega signala pri kaskadni obliki izvedbe nerekurzivnih digitalnih sit. Informacije MIDEM, 2001, letn. 32št. 3, str 153-159. /7/ Gregor Ray Goslin, A Guide to Using Field Programmable Gate Arrays (FPGAs) for Application-Specific Digital Signal Processing Performance, Xilinx, Inc, San Jose, 1995. /8/ Hanho Lee, Gerald.E. Sobelman, FPGA-based FIR filters using digit-serial arithmetic, ASIC Conference and Exhibit, 1997. Proceedings., Page{s): 225-228, Tenth Annual IEEE International, 1997 /9/ Sen M. Kuo, Dennis R. Morgan, Active Noise Control Sytems, John Wiley & Sons, Inc., 605, 1996. /10/ D. Osebik, R. Babič, B. Horvat, Adaptivna digitalna sita v strukturi porazdeljene aritmetike. Informacije MIDEM,2001, letn. 32 št. str: 160-168. /11/ /12/ /13/ Xilinx, The Programmable Logic Data Book, San Jose, 1997. Signal Processing Toolbox User's Guide, 1988 - 1998 by The MathWorks, Inc. OrCAD Express User's Guide, First edition 30 November 1998, Copyright © 1998 OrCAD, 9300 SW Nimbus Ave. Beaverton, OR 97008 USA. izr. prof. dr. Rudolf Babič, tel, (02) 220 7230, E-mail, rudolf. babic@uni-mb. si mag. Davorin Osebik, tei, (02) 220 7238, E-mail, davorin. osebil<@uni-mb. si Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, 2000 Maribor tel.: (02) 220 7000, Fax: (02) 251 1178 Prispelo (Arrived): 23.05.2002 Sprejeto (Accepted): 28.06.2002