ADAPTIVNA DIGITALNA SITA V STRUKTURI PORAZDELJENE ARITMETIKE Davorin Osebik, Rudolf Babič, Bogomir Horvat Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru, Slovenija Ključne besede: DSP obdelava signalov digitalna, filtri digitalni prilagodljivi, FIR filtri digitalni nerekurzivni s trajanjem omejenim odziva pulznega, aritmetika porazdeljena, izračun neposreden delnih vsot koeficientov, izločanje šuma, FPGA vezja logicčna s poljem programirljivim, VHDL jezik opisni hard-wareski vezij integriranih hitrosti zelo visokih, rezultati praktični Povzetek: V članku je opisana izvedba adaptivnega nerekurzivnega digitalnega sita s programirnimi logičnimi (FPGA) vezji v strukturi porazdeljene aritmetike. Za načrtovanje smo uporabili programski paket OrCad Express, s programskim paketom XACT pa smo opravili implementacijo celotne strukture vezja v dve programirni vezji firme Xilinx. Adaptivno FIR digitalno sito 15. stopnje, s 16-bitno dolžino registrov za zapis vhodno-izhodnega signala in 16 do 24 bitno aritmetično logično enoto, smo izvedli vezjema XG4013E in XC4020E. Digitalno FIR sito smo načrtali v strukturi porazdeljene aritmetike s sprotnim izračun delnih vsot koeficientov. Pri osnovnih urinih impulzih s frekvenco 20MHz, smo dosegli frekvenco vzorčenja vhodnega signala 10OkHz. Za verifikacijo delovanja smo adaptivno sito in vhodne signale opisali v VHDL jeziku. Izdelano adaptivno sito je namenjeno izločanju šuma iz koristnega signala. Za testiranje adaptivnega sita smo uporabili koristni harmonični signal s frekvenco 1 kHz na katerega je bil superponiran pasovno omejen beli šum. Razmerje signal šum smo izboljšali za 18 dB. Adaptive Digital Filter Implementation with Distributed Arithmetic Structure Keywords: DSP, Digital Signal Processing, adaptive digital filters, FIR irrecursive digital filters. Finite-duration Impulse Response irrecursive digital filters, distributed arithmetic, direct calculation of partial products of coefficients, noise cancellation, FPGA, Field-Programmable Gate Arrays, VHDL, VHSIG Hardware Description Language, Very High Speed Integrated Circuits Hardware Description Language, practical results Abstract: Adaptive digital filters have a wide range of applications in the area of signal processing where only minimum a priori knowledge of signal characteristics is available. In this article the adaptive FIR digital filter implementation based on the distributed arithmetic technique is described. The major problem with conventional adaptive digital filter is the need for fast multipliers. When using a hardware implementation, these multipliers take up the disproportional amount of the overall cost and complexity. The distributed arithmetic filter structure is the way to overcome this problem because no classical multipliers is needed in the designing of the adaptive filtering structure. With FPGA realization of such a structure offers a large increase in hardware efficiency over conventional digital adaptive filter implementation. The basic adaptive digital structure is shown in figure 5 with circuitry of FIR digital filter and with arithmetic- logic unit for the filter weights calculation by an adaptive algorithm towards their optimum values. For partial products calculation in the inner distributed arithmetic structure the simultaneously, or direct principle is used and with this procedure the RAM memory for storing of the partial product is omitted. The computer simulation of the mathematical model of the whole structure in Matlab Simulink environment is used to verify our discussion. For verification purposes of the mathematical model and input signals description the VHDL language is used. Although it is not exactly identical to the real hardware realization, results from the simulation are used to analyse the performance and of the system. The Xilinx FPGA circuits XG 4013E and XC 4020E and software package XACT is used for the 16 taps adaptive digital filter realization. In the first circuit the FIR digital filter structure with complexity of 16 bits input-output word length and with 16 to 24 bits word length of internal arithmetic-logic unit is implemented, and the second circuit for the arithmetic unit for adaptive filter taps calculations is used. The whole hardware structure is simulated with OrCAD Express. Preliminary estimate of devices utilization are presented in table 1 forXC 4013 E and in fable 2 forXG4020 E respectively With 20 MHz clock frequency the input signal sampling frequency of 100 kHz is obtained. One of the most common applications of adaptive filters is noise cancellation. The experimental results demonstrate the capability of the filter for the interference signal cancellation. Block diagram of an adaptive noise cancellation structure is shown in figure 2. The input desired signal d(k) is a 1 kHz harmonic signal corrupted with a band limited white noise signal and is shown in figure 10 and figure 11. The result of noise canceling is shown in figure 12. The noise signal is suppressed by 18 dB. The result of signal suppressed Pmz is shown figure 13. When the interrupted signal has the harmonic form, better suppression Is obtained. The comparison between the simulation results for both the mathematical model of the system and the FPGA implementation show the difference of less than 2%. 1. Uvod Digitalna obdelava signalov je dinamično in hitro razvijajoče področje, ki se uporablja pri razpoznavanju, analizi in sintezi signalov, pri prenosu in konnprimiranju signalov, v telekomunikacijah, pri komunikaciji med človekom in strojem na najrazličnejših nivojih in še marsikje. Pri tem sta zelo pomembni veji digitalne obdelave signalov digitalno filtriranje in spektralna analiza. Veliko digitalnega procesiranja signalov opravljajo danes specializirani mikroprocesorji, imenovani digitalni signalni procesorji (DSP), ki so sposobni izvajanja zelo hitrih množenj. Ta tradicionalna metoda signalnega procesiranja je pasovnoširinsko omejena. To pomeni, daje DSP zmožen opraviti končno število posameznih operacij pred prihodom novega vzorčnega otipka. Ta omejitev vpliva na frekvenco signala, s katero deluje aplikacija s signalnim procesorjem. Signalni procesorji izvršijo le en izračun v nekem časovnem trenutku. V aplikacijah digitalnega procesiranja signalov, kot je na primer izvedba digitalnega sita z izračunom kore-lacije dveh signalov, mora DSP najprej na signalu izvršiti operacijo izračuna nove vrednosti za digitalno sito in šele nato izvede izračun korelacije med dvema otipkoma signala. Proizvajalci signalnih procesorjev rešujejo ta problem z vstavljanjem dodatnih procesorjev v isti čip. To pomaga, vendar le v primerih kadar ima procesor dovolj čakalnih stanj v aplikaciji digitalnega procesiranja signalov. Signalno procesiranje s programirnimi vezji temelji na strojni (hardware) opremi logičnih vezjih in izvaja računske operacije drugače kot signalni procesor (DSP). Pri izvajanju računskih operacij s FRGA vezji je potrebno uporabiti drugačne algoritme. Ko so algoritmi enkrat realizirani v FPGA vezju, dopuščajo enako izvajanje aplikacij za sita s 128 koeficienti kot za sita s 16 koeficienti. Izvrševanje aplikacij, kot je izvedba digitalnih sit in korelacija dveh signalov, lahko poteka sočasno. Večina računskih aplikacij, izvedena s FPGA vezji, deluje večino časa z zelo majhnim številom čakalnih stanj. Pri realizaciji računskih operacij s FPGA vezji je možno vsa čakalna stanja predvideti vnaprej. Običajno gre za zakasnitve ene do dveh period osnovne ure FPGA vezja, ki znaša med 200 do 300MHz. Tudi njihova cena je primerljiva s signalnimi procesorji. V področju digitalnega procesiranja signalov precej procesov temelji na adaptivnih digitalnih FIR sitih. Adaptivno digitalno sito je sestavljeno Iz običajnega digitalnega sita, kateremu je dodano vezje za izračun koeficientov. Za dovolj preprosto aparaturno izvedbo se uporablja LMS algoritem. Pri izvedbi FIR digitalnih sitih, kjer so bili koeficienti sita ves čas procesa nespremenjeni smo uporabljali porazdeljeno aritmetiko, ki je temeljila na ROM strukturi /1/. Delne vsote koeficientov pri takšni izvedbi digitalnega sita smo izračunali vnaprej in jih vpisali v ROM strukturo. Pri adaptivnih sitih se koeficienti spremenijo pri vsakem otipku vhodnega signala, zato je potrebno delne vsote izračunavati sproti /2, 3/. Izračun še vedno temelji na postopku porazdeljene aritmetike /4/. V prispevku bo prikazan način izračuna izhodne vrednosti digitalnega sita s sprotnim izračunom delnih vsot in izračunavanje koeficientov adaptivnega digitalnega sita s produktom dveh vektorjev. 2. Uporaba adaptivnih digitalnih sit za nevtralizacijo interferenčnih signalov Adaptivna digitalna sita se uspešno uporabljajo na raznolikih področjih: v komunikacijski tehniki, v radarski in sonarni tehniki, v seizmologiji in biomedicinski tehniki. Čeprav gre za različna področja, imajo vsa eno skupno lastnost, da se vhodni vektor in želeni odziv izračunata na osnovi ocenitve pogreška, na osnovi katere se postavljajo ustrezne vrednosti nastavljivih koeficientov. Adaptivna sita uporabljamo v štirih osnovnih aplikacijah: v identifikaciji, v inverznem modeliranju, v predikciji in pri nevtralizaciji interferenc. Nevtralizacija interferenc je postopek pri katerem adaptivno sito uporabljamo za odpravljanje neznanih interferenc, ki so superponirane na koristni signal /5, 6/. Želeni odziv adaptivnega digitalnega sita y{k) mora biti enak primarnemu ali skupnemu signalu d{k). Referenčni signal u{k) nosi informacijo o motilnem signalu. Blokovno shemo sistema za odpravljanje interferenc prikazuje slika 1. skupni ali primarni ^^^^ signal ----- referenčni u(k) signal adaptivi;! filter/ / / izhod " sistema e(k) I Slika 1: Adaptivno sito v aplikaciji odstranjevanja interferenc prisotnih v skupnem signalu Na sliki 2 je prikazan primer uporabe adaptivnega sita za odpravo motilnega signala ali šuma iz skupnega signala d{k). Opisani sistem za odpravo motilnega signala iz primarnega potrebuje dva senzorja za sprejem zvočnih signalov in zaprto zanko adaptivnega sita. Slika 2: Primer uporabe adaptivnega sita pri odpravi motilnega signala Senzor primarnega signala d{k) sprejema informacijo o koristnem signalu, na katerega je superponirana komponenta motilnega signala vo{k). Senzor referenčnega signala zajema motilni signal Vi(/(), ki predstavlja referenčni signal u{k) sistema za odpravo motilnega signala. Na izhodu iz sistema za odpravo motilnega signala dobimo signal odstopanja e(k), ki predstavlja približek koristnemu signalu z nev-traliziranim motilnim signalom. Koristni signal s(k) bistveno ne vpliva na odpravo šuma. Izkaže se, da je minimalno srednje kvadratično odstopanje signala napake e(k), enako minimalnemu srednje kvadratičnemu odstopanju y{k)-\Jo{k) /5/. Enačbo primarnega signala d{k) opisuje enačba (1). d{k) = s{k) + vo{k) (1) Pri tem je s{k) koristni signal, signal voik) predstavlja komponento motilnega signia. Koristni signal s(k) in komponenta motilnega signala vo{k) sta med sabo nekorelirana. Če sta signala nekorelirana, za vsak njun otipek velja, = O /7 = 0,1,2.... (2) V enačbi (2) je E operator matematičnega upanja. Senzor referenčnega signala sprejema motilni signal v^{k), ki je nekoreliran s koristnim signalom s{k). Hkrati je motilni sig- nal v^ (k) koreliran s komponento motilnega signala voik), ki je superponirana v koristnem signalu s{k). Lastnosti med koristnim signalom s{k) in obema komponentama motilnih signalov lahko predstavimo z enačbama (3) in (4). (A - «)] = O « = 0,1,2... E[vo{k)v^{k-n)] = p{k) « = 0,1,2... (3) (4) V enačbi (4) je p{k) povprečna vrednost križno korelaci-jskega vektorja za otipek k. Lahko rečemo, da enačba (4) opisuje linearno razmerje med obema signaloma šuma. V realnem okolju z dvema različno postavljenima mikrofonoma ni možno zagotoviti dveh povsem identičnih motilnih signalov. Vedno bo med motilnima signaloma voik) in v^ik) prisotna neka zveza, ki jo podaja enačba (4). Naloga adap-tivnega sita je prilagoditev koeficientov tako, da adaptivni sitem ugane časovni potek motilnega signala vo{k) le na osnovi znane informacije o referenčnem signalu vi(/c). Prilagoditev koeficientov adaptivnega digitalnega sita poteka po algoritmu za oceno odstopanja. 3. Izbira adaptivnega algoritma za oceno odstopanja Adaptivni algoritem je zgrajen nad izbrano strukturo sita in skrbi za optimalno nastavljanje parametrov sita glede na izbran kriterij. Vprašanje je le, kateri je "pravi"kriterij. Pri digitalnem prenosu podatkov, je pravo merilo gostota napak pri prenosu, vendar si z njo zaradi matematičnih in praktičnih težav ne moremo veliko pomagati. Potrebno je, da obstaja dovolj enostavna povezava med kriterijem in parametri sita. Zaradi matematične enostavnosti se kot kriterij pogosto uporablja najmanjše srednje kvadratično odstopanje - LMS kriterij. Uporaba tega kriterija pomeni mini-mizacijo moči prisotnega šuma v izhodnem signalu. Izbran kriterij mora zadostiti primerni aparaturni kompleksnosti, izračun koeficientov z njim se mora izvršiti v času ene periode vzorčenja vhodnega signala in čas adaptacije adaptivnega sita mora biti dovolj kratek. 3.1 Wienerjevo sito - optimalno linearno filtriranje Osnovni postopek iskanja optimalno nastavljivih parametrov sita na osnovi kriterija minimalne srednje kvadratične napake temelji na optimalnem linearno časovno diskretnem situ, kije poznano kot Wienerjevo sito/5/. Slika 3 prikazuje linearno diskretno sito, ki ima možnost prilagajanja svojih koeficientov tako, daje ocenjena napaka e(k) najmanjša. Vektor koeficientov h{k), ki bodo zagotovili najmanjšo ocenjeno odstopanje, dobimo za Wienerjevo sito na osnovi statistične obdelave vhodnega signala (referenčnega signala) u{k) in želenega signala d(k). Sito s svojimi koeficienti predstavlja linearno časovno diskretno sito. Njegov odziv na vhodni signal u(k) opisuje konvolucijska enačba (5). = ^ h o (A:) + 1 - «) k = 0,1,2,... (5) /1=0 V enačbi (5) je hoik) vektor optimalnih vrednosti koeficientov /(-tega otipka. ki ga določa produkt avtokorelacijskega vektorja R s produktom križnokorelacijskega vektorja p . Izračun vektorja optimalnih vrednosti koeficientov ho{k)=[h'i{k) h2{k)... hdk)] opisuje enačba (6), ho = R-'p (6) Vrednost avtokorelacijskega vektorja R določimo iz vzorcev vhodnega signala po enačbi (7), R = E\u{ky\k) (7) Vrednost križnokorelacijskega vektorja p določimo s statistično analizo odstopanja vzorcev e{k) med vhodnim signalom u{k) in želenim odzivom d{k). Izračun križnokorelacijskega vektorja p podaja enačba (8), p = E[ii{k)d{k) (8) Pri tem je križnokorelacijski vektor p za dan primer izbran tako da, je končno odstopanje med primarnim signalom in izhodnim signalom najmanjše. Metoda iskanja optimalnih koeficientov Wienerjevega sita da točne vrednosti koeficientov sita, žal je za sita višjih stopenj potrebnega precej računanja, ki ga je v realnem času z aparaturno opremo težko izvesti. Ena izmed poti za iskanje optimalnih koeficientov je metoda, ki je poznana v literaturi /5/ kot algoritem strmega spusta (Steepest-Descent Algorithm) 3.2 Algoritem strmega spusta Algoritem strmega spusta je zaradi svoje računske enostavnosti zelo primeren za izvedbo adaptivnih digitalnih sit. Slika 4 prikazuje iskanje optimalnega koeficienta ho za enodimenzionalni primer. dobljeni vhodni vzorci in l ^ T. H+y Slika 5: Osnovno vezje adaptivnega FIR sita z vezjem za izračunom koeficientov po LMS aritmetična FIR enota za lEračun koeficientov _____£LS..... silo XC4013E XC4020E -......... » tLk—^ Slika 6: Povezava dveh vezij adaptivnega digitalnega sita s povezovalnimi linijami Zaradi pretoka podatkov med obema vezjema sta vezji med sabo sinhronizirani. Za sinhronizacijo skrbi povezovalna linija FIR. Pretok podatkov vektorja koeficientov h{k) iz vezja za izračun koeficientov v vezje FIR sita je zaporeden. Zaporeden prenos koeficientov poenostavi aparaturno izvedbo adaptivnega sita. 4.1 Izvedba FIR sita Pri izvedbi nerekurzivnega digitalnega sita smo se odločili za strukturo v porazdeljeni aritmetiki s sprotnim izračunom delnih vsot koeficientov iz koeficientov digitalnega sita. Strukture z vnaprejšnjim izračunom delnih vsot koeficientov niso primerne za adaptivne rešitve. Blokovno shemo digitalnega nerekurzivnega sita v porazdeljeni aritmetiki s sprotnim izračunom delnih vsot koeficientov prikazuje slika 7. a ritmetiina enota Z3. sproten iz -delnih vso!ikoelicienlov iz koelicientov:FIR sila vfednostiiz'delnih koelicientov Slika 7: FIR sito v porazdeljeni aritmetiki razdeljeno na N podstruktur s sprotnim izračunom delnih vsot koeficientov Vezje digitalnega sita sestavljajo: vhodno polje za hranjenje predhodnih vektorjev vhodnega signala, vezje za sprejem zaporednih vrednosti koeficientov in njihovo pretvorbo v vzporedno obliko, aritmetika za sprotni izračun koeficientov in aritmetično logična enota za izračunavanje izhodne vrednosti digitalnega sita y{k) iz delnih vsot koeficientov Vi. Aritmetična enota za sprotni izračun koeficientov je najkompleksnejši del vezja digitalnega nerekurzivnega sita. Zasedenost upodobljenega vezja na sliki 7 v programirnem vezja XC4013E podaja tabela 1. Tabela 1: Zasedenostprogramirnega vezja XC4013E digitalnega sita vrsta elementa število zasedenih elementov 40% utilization of I/O pins 52 of 129 80% utilization of CLB FG function generators 926 of 1152 3% utilization of CLB H function generators 20 of 576 90% utilization of CLB flip-flops. 1036 of 1152 V tabeli 1 podana zasedenost vezja kaže na kompleksnost izvedbe FIR sita 15. stopnje v porazdeljeni aritmetiki s sprotnim izračunom koeficientov. Zasedenost programirnega vezja zaradi aritmetike za sproten izračun koeficientov narašča s kvadratom koeficientov. Zasedenost je približno reda kjer je N število koeficientov digitalnega sita. 4.2 Izvedba vezja za izračunavanje adaptivnih koeficientov FPGA vezja imajo omejeno možnost izvedbe običajnih matematičnih operacij zato je bilo potrebno poiskati takšne rešitve pri izvedbi vezja za izračunavanje koeficientov, da bo možna implementacija tudi v programirna FPGA vezja. Pri izvedbi vezja smo za zmanjšanje aparaturne kompleksnosti uporabili zaporedno logiko za izvajanje aritmetično logičnih operacij. Uporaba zaporedne logike je močno zmanjšala potrebno število konfiguracijskih logičnih blokov, kakor tudi potrebne povezave med njimi. Pri tem se skupni čas izračuna koeficientov bistveno ne spremeni. Slika 8 prikazuje blokovno shemo vezja za izračun koeficientov. Vezje opravlja izračun koeficientov po enačbi (15). m yW..... generator vektorja r{k) r(k) poije množilrtikov r(k)e(k) |i ,(k)e(kln I * 1 polje seštevalnikov Slika 8: Blokovna shema vezja za izračunavanje adaptivnih koeficientov z nespremenljivo adaptivno konstanto Vezje za izračunavanje adaptivnih koeficientov sestavljajo: generator vektorja r(k), ki hrani predhodne vrednosti signala u{k), polje množilnikov, ki opravlja produkt vektorja predhodnih vrednosti vhodnega signala r(k) z vektorjem koeficientov h(k), polje seštevalnikov, ki opravlja seštevanje dveh vektorjev in vezje za hranjenje predhodne vrednosti vektorja koeficientov h(k). Na sliki 8 so z debelejšimi linijami označena vodila za prenos vektorjev. Zasedenost programirnega vezja za izračun koeficientov digitalnega sita podaja tabela 2. Tabela 2: Zasedenost programirnega vezja XC4020E za izračun koeficientov vrsta elementa število zasedenih elementov 83% utilization of I/O pins 132 of 160 80% utilization of CLB FG function generators 1250 of 1568 1% utilization of CLB H function generators 5 of 784 63% utilization of CLB flip-flops. 995 of 1568 V tabeli 2 podana zasedenost vezja kaže na kompleksnost izvedbe vezja za izračunavanje adaptivnih koeficientov za digitalno sito 15. stopnje. Zasedenost programirnega vezja, zaradi uporabe zaporedne logike za izvajanje aritmetično logičnih operacij, narašča linearno s številom koeficientov adaptivnega digitalnega sita. 5. Rezultati v tem poglavju so prikazani rezultati adaptivnega digitalnega sita izvedenega v dveh programirnih vezjih družine Xilinx. Digitalno sito je 15. stopnje z nespremenljivo adaptivno konstanto i']=2"®. Posamezne odzive smo dobili s simulacijo strukture adaptivnega digitalnega sita s programom Express /9/, ki je sestavni del programskega paketa Or-Gad. Simulacije posameznih vezij so bile opravljene na modelu implementiranega vezja adaptivnega digitalnega sita v FPGA strukturi. Pri simulaciji so upoštevane vse fizične postavitve posameznih konfiguracijskih logičnih blokov v FPGA vezju, kakor tudi povezave med njimi. Številne izvedbe različnih aplikacij s FPGA vezji kažejo na dobro ujemanje dobljenih rezultatov simulacije s praktično izvedbo posameznih aplikacij v FPGA strukturi /1/. Na sliki 9 je prikazan diagram poteka izračuna dobljenih rezultatov adaptivnega digitalnega sita. priprava testnih vektorjev s prog. Matlab načtrovanje sita s programom Capture r i implementacija sita v FPGA vezje opis testnih vektorjev v VHDL jeziku opis sita v VHDL jeziku odziv implementiranega sita v FPGA vezju Slika 9: Diagram poteio izračuna rezultatov adaptivnega digitalna sita S programom Capture /8/, ki je sestavni del programskega paketa OrCAD smo načrtali celotno adaptivno digitalno sito. S programom XACT smo izvedli implementacijo adaptivnega sita v dve programirni FPGA vezji. S programom Matlab smo opisali vhodne testne vektorje v VHDL jeziku /10/. Analiza rezultatov je bila opravljena s programom Matlab. Z njim smo opravili analizo časovnega poteka izhodnega signala e{k), analizo izboljšanja razmerja S/N in analizo dobljenih koeficientov adaptivnega digitalnega sita. Z adaptivnim sitom smo napravili aplikacijo za odpravo motil-nega signala iz skupnega signala, ki jo prikazuje slika 2. Koristnemu harmoničnemu signalu s{k) amplitude L/max=0.4 in frekvence f=1 kHz, smo dodali motilni signal vo{k), ki ga je predstavljal pasovno omejen beli šum. Časovni potek obeh signalov prikazuje slika 10. s(h)OA 0.2 O ■0.2 ■0.4 0.01 0.02 '[S] 0.015 0.02 t[s] Za kasnejšo primerjavo rezultatov še na sliki 11 podajamo časovni potek primarnega signala, ki je vsota koristnega signala s{k) in šuma vo{k) prisotnega na primarnem senzorju. 0.005 0.02 '[s] Slika 11: Časovni potek skupnega ali primarnega signala 6(k) v katerem je prisotna komponenta motilnega signala Dodani šum Vo(k) je v obliki frekvenčno omejenega belega šuma z 256 različnimi vzorci v eni periodi. Naloga adaptivnega sita v aplikaciji izločanja interferenc je ocenitev komponente šuma voik) le na osnovi časovnega poteka referenčnega šuma v^ik). Rezultate uspešne odprave motilnega signala prikazuje slika 12. e(k) 1 Slika 10: Časovni potek koristnega signala sfkj in šuma vofk; 0.02 Slika 12: Časovni potek izhodnega signala e(k) Na izhodu iz adaptivnega sita se pojavi ocenjena oblika motilnega signala y(k), razlika med primarnim signalom s{k) in ocenjenim motilnim signalom y{k) je izhodni signal e(k), ki ima izboljšano razmerje S/N. S primerjavo časovnega poteka primarnega signala d(k) s slike 11 in časovnega poteka izhodnega signala e[k) s slike 12 je možno oceniti izboljšanje razmerja S/N. Za točnejšo analizo izboljšanja razmerja S/N smo izračunali razmerje moči S/N vhodnega signala d(k) po enačbi (20) in razmerje moči S/N izhodnega koristnega signala e{k) po enačbi (21) za vsak otipek posebej. P,,,{k)[dB] = mog P„,,{k)[dB]=mog ii{kf + « ......... ^ {e{k)~s{k)f + a (20) (21) Izračun izboljšanja razmerja S/N med vhodom skupnim signalom d(k) in izhodnim signalom e(k) določa enačba (22), H(frt,) 1.4 O 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 PraM = PrjM P^k) (22) Pri prikazu rezultatov razmerja S/N smo se odločili za poprečno vrednost 200-tih otipkov. Slika 13 prikazuje razmerje moči S/N vhodnega signala Pvh, izhodnega signala Pizh in izboljšanje razmerja S/N Praz. 0.2 t[s] Slika 13: Časovni poteki razmerja moči S/N vhodnega signala Pvhi izhodnega signaia P/zh in izboljšanje razmerja S/N P^z Iz slike 13 vidimo, da je potek razmerja moči S/N vhodnega signala Pvh ves čas konstanten, potek razmerja moči S/N izhodnega signala Pizh doseže svojo maksimalno vrednost po 50ms. To je čas adaptacije, ki je potreben adap-tivnemu digitalnemu situ, da oceni šum vo{k) na osnovi referenčnega šuma viik), ki ga sprejema senzor referenčnega signala. Različnost sprejema šumnih signalov na obeh mikrofonih smo simulirali z uporabo dodatnega pasovno prepustnega FIR sita. Njegovo prenosno karakteristiko Hfmif/Q prikazuje slika 14. Slika 14: Prenosna karakteristika FIR digitalnega sita za simulacijo razmer različnega sprejema šumnih signalov na dveh mikrofonih Hrind/fv) in prenosna karakteristika adaptivnega digitalnega sita Hff/fJ po opravljeni adaptaciji koeficientov Na sliki 14 vidimo tudi prenosno karakteristiko adaptivnega digitalnega sita /-/(f//v), ki je izračunana iz poprečnih vrednosti vektorja koeficientov h{k), po opravljeni prilagodiWi le teh na minimalno srednje kvadratično odstopanje. Izračunana prenosna karakteristika adaptivnega digitalnega sita H{f/fv) se v spodnjem delu frekvenčnega spektra dobro ujema s prenosno karakteristiko digitalnega sita HFm{f/fv), v zgornjem delu frekvenčnega spektra pa med njima ni več ujemanja. To je posledica frekvenčno omejenega belega šuma, s katerim smo testirali uspešnost izločanja šuma Vo{k) iz skupnega signala d{k). 6. Zaključek v prispevku smo opisali možnost izvedbe adaptivnega nerekurzivnega digitalnega sita s programirnimi logičnimi (FPGA) vezji v strukturi porazdeljene aritmetike. S programskim paketom OrCad Express smo načrtali celotno adap-tivno digitalno strukturo, s programskim paketom XACTsmo opravili njegovo implementacijo v dve programirni vezji firme Xilinx. Za adaptivno FIR digitalno sito 15. stopnje, s 16-bitno dolžino registrov za zapis vhodnega in izhodnega signala in pri 16 do 24-bitno aritmetično logični enoti smo uporabili vezji XC4013E in XC4020E. Za izvedbo strukture porazdeljene aritmetike smo uporabili postopek sprotnega izračuna delnih vsot koeficientov. Struktura z vnaprejšnjim izračunom delnih vsot koeficientov, ki temelji ROM polju, pri adaptivnih sitih ni primerna. Pri izvedbi vezja digitalnega FIR sita je logična struktura za sprotni izračun koeficientov najkompleksnejši del vezja. Prikazana struktura omogoča dovolj hiter izračun delnih vsot in vpis koeficien- pri tov sita, žal pa aparaturna kompleksnost narašča z A/^ čemer je N število koeficientov digitalnega sita. Aritmetična enota za izračunavanje adaptivnih koeficientov zmore izračunati nove koeficiente vsakih 10 ms in jih posredovati v strukturo digitalnega sita. Pri izvedbi aritmetično logične enote za izračun koeficientov smo uporabili zaporedno logiko za izvajanje aritmetično logičnih operacij. Z zaporedno logiko smo zelo poenostavili aparaturno izvedbo, Kompleksnost aparaturne izvedbe narašča linearno s številom koeficientov sita. Pri osnovnih urinih impulzih sistema s frekvenco 20MHz, smo dosegli frekvenco vzorčenja vhodnega signala 100kHz. Za verifikacijo delovanja smo adaptivno sito in vhodne signale opisali v VHDL jeziku. Opis vezja v VHDL jeziku je upošteval dejansko postavitev posameznih kon-figuracijskih blokov v FPGA vezju kakor tudi povezave med njimi. Izdelano adaptivno sito je bilo namenjeno izločanju šuma iz koristnega signala. Za testiranje adaptivnega sita smo uporabili koristni harmonični signal s frekvenco 1 kHz na katerega je bil superponiran pasovno omejen beli šum. Razmerje signal šum smo uspeli v povprečju povečati za 18 dB. Rezultati izločanja motilnega signala iz skupnega vhodnega signala so prikazani v časovnem in frekvenčnem prostoru. 7. Literatura /1/ Osebik, B. Kostanjevec, B. Jarc, M, Solar, R. Babič, Izvedba nerekurzivnega digitalnega sita s programirljivim poljem logičnih vezij v strukturi porazdeljene aritmetike. Int. MIDEM, 1997, 27, str. 195-202, /2/ C. F. N. Cowan, J. Mavor, New digital adaptive-filter implementation using distributed-arithmetic techniques, lEE Proceedings, Communications, radar and signal processing, Vol. 128, No. 4, August 1981 /3/ Osebik, R. Babič, Izvedba FIR digitalnega sita v porazdeljeni aritmetiki z adaptivno strukturo. Zbornik osme Elektrotehniške in računalniške konference ERKstr. 59-62. '99, september 1999, Portorož, /4/ Stanley A. White, "Applications of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review", IEEE ASSP Magazine, pages 4-19, Jul. 1989 /5/ Simon Haykin, Adaptive Filter Theory, Prentice-Hall, 1991, /6/ Che-Ho-Wei, Jyh-Jeng-Lou, Multimemory block structure for implementing a digital adaptive filter using distributed arithmetic, lEE Proceedings, Vol. 133, Pt, G, No. 1, February 1986 /7/ Xilinx, The Programable Logic Data Book, San Jose, 1997, /8/ OrCAD Capture User's Guide, First edition 30 November 1998, Copyright © 1998 OrCAD, 9300 SW Nimbus Ave. Bea-verton, OR 97008 USA /9/ OrCAD Express User's Guide, First edition 30 November 1998, Copyright © 1998 OrCAD, 9300 SW Nimbus Ave. Bea-verton, OR 97008 USA /10/ Andrew Rutshton, VHDL for Logic Synthesis, Second Edition, John Wiley & Sons Ltd, West Sussex P019 1UD, England, doc. dr. Rudolf Babič, tel, (02) 220 7230, E-mall rudolf.babic@uni-nib.si red. prof. dr. Horvat Bogomir, tel (02) 220 7200, E-mail: bogo.fiorvat@uni-mb.si mag. Davorin Osebik, tel, (02) 220 7238, E-mail: davorin. osebik@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): 01.08.2001 sprejeto (Accepted): 20.08.2001