46
UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA -Diplomski Rad- Kandidat: Zoran Jakšić Podgorica, Decembar 2006. godine

PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET

PRIMJENA FPGA TEHNOLOGIJE U

DIGITALNOJ OBRADI SIGNALA

-Diplomski Rad-

Kandidat: Zoran Jakšić

Podgorica, Decembar 2006. godine

Page 2: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKUTET Broj: _____________ Podgorica, _____________ 2006. godine Kandidat: Zoran Jakšić Broj indeksa: 27/02 Naziv rada:

PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA

Datum izdavanja rada : Datum predaje rada :

Mentor Kandidat:

Doc. Dr Radovan Stojanović Zoran Jakšić

Page 3: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

IZJAVA O SAMOSTALNOM RADU

Ovim izjavljujem da sam diplomski rad uradio samostalno uz pomoć konsultacija sa mentorom i navedene literature.

________________________

Zoran Jakšić

Rad odbranjen dana: ___. ___. 2006. godine pred Komisijom u sastavu:

1. ___________________________ (Predsjednik)

2. ___________________________ (Mentor)

3. ___________________________ (Član)

sa ocenom _____ (__________).

Page 4: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

SADRŽAJ

1. Uvod............................................................................................................................................... 1

2. Osnovni pojmovi o FPGA dizajnu ................................................................................................ 2

2.1 Uslovi nastanka FPGA i osvrt na srodne tehnologje – PLD - ASIC – ASSP ..................................... 2

2.2 Primena FPGA tehnologije............................................................................................................. 2

2.3 Arhitektura FPGA .......................................................................................................................... 3

2.4 Poznati proizvođači FPGA ............................................................................................................. 6

3. Primena FPGA u digitalnoj obradi signala................................................................................... 7

3.1 Kola za digitalnu obradu signala.................................................................................................... 7

3.2 Greška koja nastaje u postupku digitalne obrade signala ................................................................ 8

3.3 Serijski i paralelni pristup .............................................................................................................. 9

4. Primeri realizovanih, FGPA baziranih, operatora za digitalnu obradu signala ........................ 11

4.1 Cilj Istraživanja. Alati. Resursi ..................................................................................................... 11

4.2 Primeri realizacija fleksibilnih, FPGA baziranih, digitalnih filtara ............................................... 13 4.2.1 Opšta forma funkcije prenosa digitalnog sistema ................................................................... 14 4.2.2 Osnovni princip projektovanih digitalnih filtara. Opšta blok šema realizacje .......................... 15 4.2.3 Poređenje rezultata sa Matlabom ........................................................................................... 16 4.2.4 Resursi utrošeni za realizaciju IIR filtra ................................................................................. 17 4.2.5 Primer realizacije, FPGA baziranog, FIR filtra ...................................................................... 18 4.2.6 Poređenje rezultata sa Matlabom ........................................................................................... 20 4.2.7 Resursi potrebni za realizaciju FIR filtra................................................................................ 20 4.2.8 Primer, FPGA realizacije, FIR filtra sa simetričnim koeficientima ......................................... 21 4.2.9 Resursi potrebni za realizaciju FIR filtra sa simetričnim koeficientima................................... 22 4.2.10 Kratko poređenje FIR i IIR sistema ..................................................................................... 22

4.3 Primer realizacije fleksibilnog FFT, FPGA baziranog, core.......................................................... 23 4.3.1 Diskretna Fourieova Transformacija. Osnovni pojmovi ......................................................... 23 4.3.2 Brza Fourierova Transformacija ............................................................................................ 24 4.3.3 FPGA realizacija FFT operatora............................................................................................ 25 4.3.4 Rezultati simulacija FPGA FFT kora i poređenje sa Matlabom .............................................. 27 4.3.5 Resursi ................................................................................................................................. 29

5. Eksperimentalna verifikacija ...................................................................................................... 30

5.1 Način generisanja ulaznih i čitanja izlaznih vrednosti ................................................................... 32

5.2 Preliminarno testiranje................................................................................................................. 33

6. Pravci daljeg razvoja................................................................................................................... 35

7. Zaključak..................................................................................................................................... 36

8. Prilog ........................................................................................................................................... 37

9. Literatura .................................................................................................................................... 38

Page 5: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

POPIS SLIKA Slika 2.1: Osnovna logička jedinica FPGA................................................................................................ 4 Slika 2.2: Raspored ulaza FPGA bloka ..................................................................................................... 4 Slika 2.3: Prikaz ostvarivanja interkonekcije............................................................................................. 5 Slika 2.4: Prikaz veze više blokova............................................................................................................ 5 Slika 2.5: Prikaz FPGA Cyclone-EP1C6Q240C8 kada je na njemu realizovana fft funkcija. Plavo-klasični

blokovi, zeleno-memorijski resursi ............................................................................................................ 6 Slika 3.1: „single cycle“ množač .............................................................................................................. 9 Slika 3.2: Parallel-serial algoritam......................................................................................................... 10 Slika 4.1: UP3 Board Diagram............................................................................................................... 12 Slika 4.2: UP3 edukacioni kit.................................................................................................................. 13 Slika 4.3: a) Prikaz direktne realizacije funkcije prenosa, b) šema ekvivalentna direktnom obliku realizacije

.............................................................................................................................................................. 14 Slika 4.4: Opšta blok šema realizacije filtera........................................................................................... 15 Slika 4.5: IIR core. Prikaz bloka (shematic file)....................................................................................... 16 Slika 4.6: IIR filtar. Prikaz Quartus simulacije ........................................................................................ 16 Slika 4.7: Signal nad kojim je vršena simulacija filtera............................................................................ 17 Slika 4.8: IIR filtar. Rezultat simulacije kada je korišćen:FPGA kor, b)ugrađena Matlab funkcija............ 17 Slika 4.9: IIR filtar. Pregled utrošenih resursa za različiti red filtra i dužine podataka............................. 18 Slika 4.10 Direktni oblik ralizacije FIR sistema....................................................................................... 19 Slika 4.11: FIR core. Prikaz bloka (shematic file).................................................................................... 19 Slika 4.12: Prikaz Quartus simulacije FIR filtra...................................................................................... 19 Slika 4.13: FIR filtar. Rezultat simulacije kada je korišćen: a) FPGA kor b) ugrađena Matlab funkcija.... 20 Slika 4.14: FIR filtar. Pregled utrošenih resursa za različiti red filtra i dužine podataka.......................... 20 Slika 4.15: Prika realizacije FIR sistema sa simetričnim koeficientima .................................................... 21 Slika 4.16: Simetrični FIR sistem. Prikaz bloka (shematic file) ................................................................ 21 Slika 4.17: Prikaz Quartus simulaciije FIR filtra sa simetričnim koeficientima ........................................ 22 Slika 4.18: FIR filtar sa simetričnim koeficientima. Pregled utrošenih resursa za različiti red filtra i dužine

podataka ................................................................................................................................................ 22 Slika 4.19: Potpuni butterfly algoritam razbijanja po frekfenciji za N=8.................................................. 25 Slika 4.20: FFT kor. Prikaz bloka (shematic file)..................................................................................... 25 Slika 4.21: Blok šema sistema za računanje FFT..................................................................................... 26 Slika 4.22: Prikaz Quartus simulacije FFT kora. N=16........................................................................... 27 Slika 4.23: Signal nad kojim je vršena simulacija filtara.......................................................................... 27

Slika 4.24: N=32; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je za računanje fft

korišćen, a) Matlab; b) FPGA kor........................................................................................................... 28

Slika 4.25: N=64; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je za računanje fft

korišćen, a) Matlab; b) FPGA kor........................................................................................................... 28

Slika 4.26: N=128; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je za računanje fft

korišćen, a) Matlab; b) FPGA kor........................................................................................................... 28

Slika 4.27: N=256; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je za računanje fft

korišćen, a) Matlab; b) FPGA kor........................................................................................................... 29 Slika 4.28: Pregled resursa za različite dužine frejma. Dužina podataka je 16. ........................................ 29 Slika 5.1: Eksperimentalna verifikacija. .................................................................................................. 30 Slika 5.2: Fotografija eksperimentalne opreme........................................................................................ 30 Slika 5.3: Mikrokontrolersko kolo za praktičnu verifikaciju FPGA baziranih aplikacija........................... 31 Slika 5.4: Način generisanja clk_in signala............................................................................................. 33 Slika 5.5: Način sinhronizacije sa izlazom............................................................................................... 33 Slika 5.6: Prikaz testiranog signala......................................................................................................... 33

Slika 5.7: FFT spektar signala sa slike 5.6 2 2( )spec x real imag= + ............................................. 34

Page 6: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

POPIS TABELA Tabela 3.1: Poređenje performansi DSP mikrokontrolera i FPGA............................................................. 8 Tabela 4.1: Karakteristike čipa Cyclone EP1C6Q240C8......................................................................... 13 Tabela 5.1: Raspored pinova verifikacionog kola. ................................................................................... 32

Page 7: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

POPIS SKRAĆENICA ASIC Application Specific Integrated Circuits ASSP Application Specific Standard Parts CLB Configurable Logic Block CMOS Complementary Metal-Oxide Semiconductor CPU Central Processing Unit DFT Discreet Fourier Transformation DSP Digital Signal Processing FFT Fast Fourier Transformation FIFO First In First Out FIR Finite Impulse Response FPGA Field Programmable Gate Arrays HDL Hardware Description Language IIR Infinite Impulse Response ISP In-System Programmable JTAG Joint Test Action Group LAB Logic Array Block LUT Look Up Table MC Microcontroller OTP One-Time Programmable PBF Positive Boolean Functions PCI Peripheral Component Interconnect (C)PLD (Complex) Programmable Logic Devices RAM Random Access Memory SoC System on Chip SRAM Static Random Access Memory USB Universal Serial Bus VHDL Very high speed integrated circuits Hardware Description Language VLSI Very Large Scale Integration

Page 8: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Sažetak:

U radu je prestavljena primena FPGA tehnologije u digitalnoj obradi signala. U prvom poglavlju ukratko je dat pregled razvoja FPGA, njena primene kao i njene prednosti i mane u odnosu na druge tehnologije. U drugom delu rada približena je primena FPGA u digitalnoj obradi signala. Prikazana su neka konkretna rešenja operatora koji se koriste u ovoj oblasti (FFT, FIR filtar, IIR filtar). Za dizajnirane operatore dati su simulacioni dijagrami kao verifikacija urađenog, kao i poređenja sa rezultatima dobijenih kada su za računanje pomenutih operacija korišćene funkcije programskog paketa Matlab. Takođe, prikazani su resursi FPGA potebni za realizaciju konkretnih sistema. Data je praktična potvrda pojedinih operatora na Alterinom razvojnom oruženju UP3. Na kraju je dat zaključak, pravci budućeg rada, kao i moguća poboljšanja.

Abstract:

This paper presents the application of FPGA technology in digital signal processing. First chapter shortly explains history of developing FPGA, its appliance and advantages and disadvantages related to other technologies. Second part of the paper closely gives appliance of FPGA in digital signal processing. Some concrete solutions of DSP operator are also presented (FFT, FIR filter, IIR filter). For experimental approval of presented approach the simulation diagrams resulted from developed VHDL code, comparison with results from Matlab are given. The necessary silicon resources needed for realization of concrete operators are also elaborated. Some hardware designs are tested on Altera’s UP3 education kit. Direction for some future work, posible improvement and conclusion are given at then end of the paper.

Page 9: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

1

1. Uvod

Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije omogućio je šoroku primenu prethodno razrađene teorije, pa su i sistemi koje je tebalo projektrovati postajali sve složeniji. Samim tim i vreme potrebno za njihov razvoj bivalo je sve duže i (možda još važnije) skuplje. U takvim uslovima javila se težnja za stvaranjem tehnologija koje bi omogućile što fleksibilniji pristup problemu, kao i, što je moguće trajniju primenu stečenih znanja. Jedna od takvih tehnologija je i FPGA (Field Programable Gate Arrays).

Cilj rada bio je prezentovanje čitaocima jedne trenutno aktuele tehnologije koja u oblasti digitalne obrade signala uzima sve više maha. Tako su u prvom delu rada dati opšti uslovi nastanka FPGA, njene poredbe u odnosu na srodne tehnologije, kao i trendovi budućeg razvoja.

U drugom delu rada prestavljena su neka konkretna rešenja operatora za digitalnu obradu signala. Prilikom dizajniranja komponenti težilo se, gde je god to bilo moguće, parametrizaciji istih. Naime, iako ovakav pristup često povećava vreme potrebno za realizaciju, dizajnirane komponenete su vrlo fleksibilne što omogućava njihovo trajnije korišćenje. Ovakav pristup se u literaturi često naziva „design for reuse“. Kreiran je FFT (Fast Fourier Transform) core, kao i filtri sa konačnim i beskonačnim impulsnim odzivom (FIR i IIR filter). Za realizaciju sistema korišćeno je Alterino razvojno okruženje Quartus 6.0. web edition dok su pomooćne funkcije kreirane u Matlabu koji je korišćen i za grafički prikaz rezultata.

Takođe je u okviru rada data i eksperimentalna verifikacija pojedinih operatora izvrčena na Alterinom razvojnom okruženju UP3.

Sastavni deo rada je CD koji pored elektronske verzije rada sadrži i odgovarajuće kodove.

Page 10: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

2

2. Osnovni pojmovi o FPGA dizajnu

Field Programable Gate Array (ili FPGA) u najkraćem bi se mogla definisati kao kola visoke integracije koja se po potebi mogu programirati tako da obavljaju određenu funkciju. FPGA sadrže veliki broj programabilnih komponenti (blokova) koji su međusobno povezani preko „programabilnih prekidača“. Korisnički dizajn se realizuje na taj način što se kreiraju jednostavne logičke funkcije za svaki blok. Zatvaranjem „programabilnih prekidača“ ostvaruje se veza između samih blokova.

Sam naziv tehnologije upućuje da se programiranje ovih kola obavlja „in the filed“ (u samom polju primene), suprotno uređajima čiju funkcijonalnost određuje sam proizvođač.

Zbog svoje fleksibilnosti, kao i zbog velikih kapaciteta, FPGA je našla veliku primenu u različitim oblastima primenjene elktronike o čemu će biti više reči u nekom od narednih poglavlja.

2.1 Uslovi nastanka FPGA i osvrt na srodne tehnologje – PLD - ASIC – ASSP

Početak razvoja FPGA bi se mogao tražiti u prvoj polovini ’80-tih godina prošloga veka. Naime, u tom periodu se uočavaju neki bitni nedostaci aktuenih tehnologija:

ASIC (Aplication Specific Integrated Circuit) dizajni sadrže veliki broj logičih kola na jednom čipu što im daje mogućnost realizacije veoma složenih funkcija. Sa druge strane arhitekturu ovakvih kola određuje sam proizvođač i ona se ne može menjati (za ovakva kola se još kaže da su „hard wired“). Slično je i sa ASSP tehnologjom. Tačnije, jedina bitna razlika izmedju ASIC-a i ASSP-a je u tome što se ASIC dizajnira za određenu kompaniju (po narudžbi), dok se ASSP proizvode za šire tržište. Naravno, zbog svoje složenosti, ove tehnologije karakteriše veliko vreme izrade, kao i velika cena što predstavlja njihov najveći nedostatak.

Nasuprot pomenutim tehnologijama, PLD (CPLD) sadrže mnogo manji broj logičkih kola pa su njihove mogućnosti znatnono skromnije od onih koje pružaju ASIC i ASSP. Sa druge strane funkcija ovakvih kola se ne određuje fabrički već se ovakva kola mogu reprogramirati veliki broj puta. Takođe vreme izrade ovakvih kola je zantno manje pa su njihove cene prihvatljivije.

FPGA tehnologija je zadržala dobre osobine i jednog i drugog navedenog pristupa. Ovakvi dizajni sadrže veliki broj logičkih kola što im daje mogućnost realizacije veoma složenih funkcija što bi bila glavna odlika ASIC-a, a opet, funkcija ovakvih kola se ne konfiguriše fabrički već se skoro neograničen broj puta mogu reprogramirati, kako je to ranije rečeno „in the filed“. Ovakav prisup značajno smajuje vreme izrade kao i troškove proizvodnje što je učinilo FPGA tehnologiju vrlo popularnom.

2.2 Primena FPGA tehnologije

Kada su se na tržištu pojavili prvi FPGA dizajni, oni su bili prilično skromnih mogućnosti. Ta njihova „skromnost“ nije davala neke velike mogućnosti za praktičnu primenu pa se FPGA koristio uglavom za realizaciju nekih jednostavnih funkcija (state

machine i sl).

Page 11: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

3

Međutim uvidevši velike prednosti koje ova tehnologija pruža, značajno je ulagano u njen razvoj, što je uskoro dalo izvanredne rezultate. Tako danas postoje kola kapaciteta i brzina kakve se do pre desetak godina nisu mogle ni pretpostaviti.

Zbog visokih preformansi koje pružaju, sa jedne, i prihvatljive cene, sa druge strane, FPGA je našla primenu u širokom spektru delatnosti. Ovde će biti pomenute samo neke od njih.

Sistemi mašinske vizije. Ukratko bi se ova oblast mogla objasniti težnjom za stvaranje mogućnosti u kome bi kompjuter analizirao i obrađivao podatke koji mu se prezentuju u vidu slike. Naime, signal se uzima sa nekog optičkog senzora (najčešće kamere) i u zavisnosti od slike koja mu se prezentuje sistem obavlja potebnu operaciju. Ova ideja se vrlo brzo razvija i tenutno je našla velike primene u proizvodnji sistema za video nadzor, automaizaciju u proizvodnji, robotici i sl.

Prepoznavanje govora. Analizom zvučnih talasa koji joj se prosleđuje mašina vrši određenu funkciju. Sistem za prepoznavanje govora (speech recognition) našao je primenu u automackim pisačima koji reaguju na glas, indentifikacionim sistemima zasnovanim na ovome principu, automackim komercijalnim transakcijama...

Enkripcija podataka pretstavlja proces u kome se digitalni podaci transformišu u zaštićen niz čije se značenje može ispravno protumačiti samo ukoliko se poseduje odgovarajuća šifra. Dakle, enkripcija pretstavlja jednu vrstu zaštite podataka od neovlašćenog pristupa. Ovo je posebno zančajno u poslovnom svetu, vojnim sistemima kao i svugde gde je skrivanje informacija od fundamentalnog značaja.

Primena elektronike u medicini. Savremeno lečenje podrazumeva metode čiji bi razvoj bio gotovo nezamisliv bez prethodnog razvoja elektronike. U uređajima u kojima je potebna brza analiza podataka (slike, zvuka itd) FPGA predstavlja jedno od najčešće korišćenih rešenja.

Emulacija hardvera. Emulator bi se mogao definisati kao uređaj dizajniran tako da radi kao neki drugi. Ovo je često potebno vršiti prilikom dizajniranja različitih interfejsa, komunikacionih protokola itd. Prilikom razvoja nekog sistema često se ispostavlja da emulacija nekog dela značajno olakšava rad (ili smanjuje troškove) nego kada se koristi konkretan uređaj namenjen za tu svrhu. Zbog prihvatljive cene i jednostavnosti dizajna FPGA je često korišćen u ovakvim slučajevima.

ASIC prototyping. Ranije su navedene prednosti ASIC, odnosno FPGA dizajna. Rečeno je da je loša strana ASIC-a visoka cena proizvodnje. Međutima, u pojedinim etapama razvoja, kada je potebno ispitati funkcionalnost pojedinih algoritama, sasvim rgularno može se koristiti FPGA čime se troškovi prizvodnje značajno umanjuju.

2.3 Arhitektura FPGA

Tipična arhitektura FPGA podrazumeva postojanje niza logičkih blokova međusobno povezanih programabilnim vezama. Programabilne veze ustvari predstavljaju prekidače čijim se zatvaranjem ostvaruju veze između samih blokova.

FPGA omogućava korisnicima da konfigurišu: • Vezu između blokova • Funkciju koju će obavljati sami blok

Page 12: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

4

Klasičan FPGA blok ima 4 ulaza u logički deo, po jedan D flip-flop i multiplekser, kako je prikatano na donjoj slici.

Slika 2.1: Osnovna logička jedinica FPGA

Postoji samo jedan izlaz, koji može biti sinhronizovan sa taktom (preko D flip-flopa), ili se može direktno voditi sa izlaza iz logičkog bloka. Pošto je clk signal od posebne važnosti i kako je njegova uloga uglavnom standardna za svako kolo, on se bloku pridružuje kao poseban signal (odvojen od ostalih ulaza).

Logički blok se može realizuje na više načina:

•••• kombinovanjem klasičnih I i ILI (and, or) logičkih kapija •••• n-ulazne lookup tabele

•••• multipleksera...

Dugo se postavljalo pitanje optimalnog broja ulaza u ovaj blok. Iako se povećanjem toga broja mogu realizovati znatno složenije logičke funkcije, silicijumski resursi potrebni za njihovu realizaciju vrlo brzo rastu. Ustanovljeno je da je optimalan broj ulaza 4, pa se danas ovaj deo najčešće realizuje kao 4-ulazna lookup tabela. Ulogu lookup tabele može da obavlja 16x1 RAM, ili 16-bitni shift registar.

Ulazi su raspoređeni tako da se na svakoj od 4 strane nalazi po 1 (sl. 2.2.). Na ovaj način se postiže lakše povezivanje između samih blokova.

Slika 2.2: Raspored ulaza FPGA bloka

Blokovi su međusobno povezani preko programabilnih linija. U preseku svake vertikalne i horizontalne veze nalazi se takozvani switch box (sl. 2.3.). Ovaj deo čine 6 prekidača (izmedju svake linije po 1) koji se mogu programirati.

Page 13: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

5

Slika 2.3: Prikaz ostvarivanja interkonekcije

Slika 2.4: Prikaz veze više blokova

Kako se FPGA tehnologija sve više razvijala i kako su se samim tim implementirale sve složenije funkcije sa velikim brojem međurezultata, javila se potreba za povećanjem kapaciteta koji su korišćeni za privremeno smeštanje tih međurezultata. Za ovu svrhu bi se mogli koristiti i klasični FPGA blokovi ali bi se tako silicijumski resursi nepotebno trošili. Tako su posebno ugrađeni i memorijski blokovi. Kako im samo ime kaže ovi

Page 14: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

6

delovi se koriste za realizaciju različitih tipova memorija (RAM, ROM). Danas se proizvode FPGA koji poseduju i do 1MB memorijskih resursa.

Slika 2.5: Prikaz FPGA Cyclone-EP1C6Q240C8 kada je na njemu realizovana fft funkcija. Plavo-klasični blokovi, zeleno-memorijski resursi

Pored navedenih resursa današnji FPGA mogu imati i neke dodatne blokove (DSP, PLL...) koji imaju neke posebne funkcije. Od ovih vih specijalnih delova približeni će biti samo DSP blokovi.

Iz samog imena zaključuje se da se radi o kolima koja se koriste za realizaciju funkcija koje imaju primene u oblasti digitalne obrade signala. Naime, ovi blokovi sadrže brze paralelne sabirače, množače i sl. Za ralizaciju ovakvih kola potrebni su veliki silicijumski resursi (naročito za realizaciju paralelnih množača) pa se ispostalvja da se značajno može uštedeti ako se ovakva kola realizuju kao posebni delovi. O DSP blokovima će biti još reči u drugom delu rada.

2.4 Poznati proizvođači FPGA

• Xilinix • Altera • Lattice Semiconductor • Actel • QuickLogic • Cypress Semiconductor • Atmel • Achronix Semiconductor

Page 15: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

7

3. Primena FPGA u digitalnoj obradi signala

Digitalna obrada signala se zasniva na numeričkoj obradi funkcija i podataka kojima su signali predstavljeni, a kao glavni cilj ima dobijanje izlaza što je moguće boljeg kvaliteta. Koreni digitalne obrade signala mogu se tražiti još u vremenu nastanka prvih numeričkih metoda, međutima intenzivan razvoj ova naučna disciplina doživela je zadnje dve decenije XX veka. Naime, računarske mašine razvijene u tom periodu omogućile su veliku primenu prethodno razrađenih algoritama, i još više podstakli razvoj novih.

Primena digitalne obrade signala je veoma velika. Telekomunikacije, gde se numeričke obrade koriste za filtriranje, smanejnje uticaja šuma i deformacije signala, računarsko upravljanje u sistemima sa visokim stepenom automatizacije, digitalna televizija, digitalna obrada slike i zvuka, samo su neki primeri koji pokazuju koliko je ova oblast raširena.

Ono što digitalnu obradu signala stavlja u prvi plan je njena fleksibilnost u odnosu na analogni pristup. Naime, za razliku od analogne obrade signala u kojoj je vrlo teško, ili gotovo nemoguće, menjati parametre sistema (kapacitivnost, induktivnost...), digitalni sistemi su vrlo prilagodljivi. Fleksibilnost ovakvih sistema ogleda se u mogućnosti lake izmene parametara u samom toku programa. Takođe, rezultati dobijeni na ovakav način, znatno su bolji od onih koji se dobijaju kada se koristi klasičan metod. Još jedna, vrlo bitna, prednost digitalne obrade signala u odnosu na analognu, ogleda se u tome što se rezultati dobijeni digitalnom obradom mogu memorisati i nakon izvesnog vremena po potebi ponovo koristiti.

Sve gorenavedeno imalo je za posledicu gotovo izvesno napuštanje analognih sistema i njihovu potpuu zamenu digitalnim.

3.1 Kola za digitalnu obradu signala

Kao što je ranije rečeno, eksplozivan razvoj digitalne obrade signala uslovio je prethodan razvoj elektronike. Naime, za digitalnu obradu signala potebna su kola vrlo velikih brzina i kapaciteta. Ako se nadovežemo na priču sa uvoda rada, vidimo da su kola dizajnirana po ASIC principu mogla donekle zadovoljiti potrebe obrade signala. Međutim tu se vraćamo na staru priču o velikom vremenu neophodnom za realizaciju ovakvih sistema kao i krajnjoj visokoj ceni. U takvim uslovima uvek se pribegava, kada je god to moguće, projektovanju kola opšte namene koje bi sami korisnici po potrebi prilagođavali za određenu funkciju.

Već duže vreme se za digitalnu obradu signalu koriste kola realizovana na takozvanom principu „ugrađenog mikroprocesora“. Osnovni deo ovakvog kola je mikroprocesor koji radi na veoma visokom taktu (frekfencije i do 1GHz). Željena operaciju se najpre realizuje u nekom progarmsom jeziku (C, Paskal,..). Nakon kompajliranja program se downloaduje u fleš memoriju mikrokontrolera nakon čega mikroprocesor izršava instrukciju po instrukciju napisanog koda. Ovo je takozvani softtverski pristup. Pisanje programa u nekom od programskih jezika neuporedivo je lakše u odnosu na samo projektovanje hardvera. Ako se na to još dodaju i prihvatljive cene ovakvih kola, nije ni čudo što je ovakav pristup u digitalnoj obradi signala bio opšteprihvaćen.

Page 16: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

8

Međutim, pojavom FPGA vrlo visokog kapaciteta stvari na tržištu se znatno menjaju. Iako su prethodno pomenuta kola zadovoljavala potebe potrošača, u poređenju sa onim što pruža FPGA tehnologija DSP microprocessor circuits polako gube na značaju. Na donjoj tabeli dato je poređenje resursa i performansi koje pružaju trenutno najbolja kola jedne, odnosno druge tehnologije.

Digital Signal Processor FPGA

Max frekfencija takta 1GHz 400 MHz Max broj paralelnih množača 4 (16x16) Više od

700(18x18) Maximalan broj instrukcija

za jedan takt 4 do 8 100 do 1000

Programski jezik C, C++, Pascal... HDL Tok Softverski Hardverski

Potrošnja Znatno se povećava prilikom računanja

Minimalna

Fleksibilnost ulaznih i izlaznih pinova Nefleksibila Fleksibila

Tabela 3.1: Poređenje performansi DSP mikrokontrolera i FPGA

Ako se pogleda prikazana tabela prednosti FPGA tehnologije su jasne. Iako je maksimalna učestanost takta mikrokontrolera više od dva puta veća nego za FPGA, ako se imaju u vidu resursi kojima se raspolaže kod druge tehnologije, kao i broj maksimalnih paralelnih operacija za istu, prednosti FPGA su jasne. Takođe fleksibilnost FPGA se ogleda i u tome što podaci nisu striktno definisani za određenu dužinu podatka već se po potrebi mogu prilagođavati za različite dužine reči.

Prema proračunima potrošnje jednog i drugog pristupa dolazi se do podataka da se ušteda energije kod FPGA u odnosu na DSP mikrokontroler kreće i do 20% što je još jedan podatak koji ovu tehnologiju gura u prvi plan.

Što se same cene tiče ona još uvek nije na strani FPGA. Tako za jednostavnije sisteme, ova tehnologija još uvek ne predstavlja broj 1. Međutim za projekte gde je potrebno izvršiti veliki broj operacija za što kraće vreme, kao i u sistemima u kojima se zahteva obrađivanje podataka koji se primaju sa više različitih ulaza, FPGA polako postaje standard.

3.2 Greška koja nastaje u postupku digitalne obrade signala

Pri realizaciji sistema za digitalnu obradu singnala mora se imati u vidu sledeće. Ma kolikim resursima da se raspolaže, oni ipak nisu neograničeni. U tom cilju, pri projektovanju sistema, značajno treba voditi rašuna o izboru dužine reči.

Jasno je da se sa povećanjem dužine podataka smanjuje greška prilikom njegove obrade. Ova greška je kumulativnog karaktera, i za veliki broj operacija zna da predstavlja izrazit problem. Dakle, pri obradi signala potrebno je koristiti podatke što većih dužina. Međutim, sa povećanjem dužine reči i realizacijom željenih aritmetičkih funkcija potrebni resursi FPGA se znatno povećavaju.

Znači, sa jedne strane se javlja težnja za što preciznijim rezultaima, a sa druge, potreba za realizacijom sistema sa što je moguće manjim silicijumskim resursima.

Page 17: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

9

Složenim matematičkim postupcima (kojima se ovaj rad neće baviti) pokazuje se, da je za dobijanje rezultata minimalne tačnosti, podatke potebno predstavljati bar sa 8 bita. Takođe, ista analiza pokazuje da se prilikom predstavljanja signala sa 16 bita dobijaju rezultati koji su skoro savršeni. Daljim povećavanjem dužine reči poboljšanja su neznatna.

3.3 Serijski i paralelni pristup

Prilikom realizacije sistema za digitalnu obradu signala potrebno je implementirati veliki broj aritmetičkih operacija. Sa razvojem tehnologije sve više istraživača nastoji da dizajnira operatore koji bi imali sledeće osobine:

• Veliku brzinu • Malu potrošnju energije

• Što je moguće kompaktniju implementaciju Ovi zahtevi su uglavnom oprečni jedni drugima, pa se zato pri dizajniranju sistema

mora pristupati različitim vrstama kompromisa. U takvim uslovima razvija se veliki broj algoritama od kojih svaki ima svoje dobre i loše strane.

U opštem slučaju, ukliko je primarni cilj postizanje velike brzine, a pritom se raspolaže dovoljnom količinom silicijumskih resursa, pribegava se paralelnom pristupu. Sa druge strane ukoliko je inženjer projektant ograničen po pitanju resursa čipa, pribegava se serijskom rešenju. Prednosti, odnosno nedostatke paralelnog i serijskog pristupa najlakše je objasniti na primeru množača.

Naime, množenje je jedna od hardverski najzahtevnijih aritmetičkih operacija. Iz toga razloga, za njegovu realizaciju razrađeni različiti algoritmi. Sigurno jedan od najpoznatijih algoritama je „single cycle“ množač (sl. 3.2.).

Slika 3.1: „single cycle“ množač

Page 18: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

10

Glavna prednost ovakvog rešenja je velika brzina. Rezultat ovakvog računanja se dobija za vreme jednog taktnog ciklusa. Međutim gledajući sliku, odmah se primećuje i glavni nedostatak ovakvog pristupa. Ukoliko je dužina podataka N, za njegovu realizaciju je potrebno 2N sabirača. Ovaj broj je naročito izražen za veće dužine podataka.

Slika 3.2: Parallel-serial algoritam

Na prethodnoj slici dato je jedno alternativno rešenje hardverske realizacije množenja. Kao što se vidi, za realizaciju množenja kada se primenjuje ovakav algoritam potrebno je rezervisati znatno manji broj resursa. Ušteda je naročito značajna za veće dužine podataka (više od 16 bita). Međutim glavna mana ovoga algoritma je veliko vreme potrebno za izvršenje operacije (ako je dužina reči N, za izvršenje operacije potebno je 2N taktnih ciklusa).

Razlika između paralelnog i serijskog pristupa je objašnjena na najprostijem primeru. Pri projektovanju većih sistema i složenijih funkcija, odabir jednog ili drugog pristupa zauzima ključno mesto u radu, koje će odrediti čitav njegov dalji tok. U praksi se često sreće „mešavina“ jednog i drugog rešenja. Naime, često je potebno da jedan deo sistema svoju funkciju obavlja što je moguće brže, dok za neki drugi deo brzina nije od fundamentalnog značaja. U takvim slučajevima treba dobro razmotriti raspoložive resurse i opredeliti se za „pravi“ put.

Page 19: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

11

4. Primeri realizovanih, FGPA baziranih, operatora za digitalnu obradu signala

4.1 Cilj Istraživanja. Alati. Resursi

U ovom delu rada biće izložena neka praktična rešenja operatora koji se često koriste u digitalnoj obradi signala. Data je realizacija operatora za računanje Brze Fourierove Transformacije, kao i neke realizacije digitalnih filtara (dizajnirani su filtri sa konačnim, odnosno beskonačnim impulsnim odzivom).

Realizovani operatori su prilagodljivi za različite dužine podataka kao i za različitu dužinu okvira (FFT) ili red filtra (FIR i IIR filter). Projektovanje parametrizovanih komponenti je trenutno vrlo aktuelna stavka u oblasti razvoja FPGA. Ovakvim pristupom problemu stiče se mogućnost trajnije primene urađenog, pa tako uglavnom svi veći proizvođači FPGA problemima pristupaju na ovakav način.

Cilj rada je pre svega, demonstracija mogućnosti koje FPGA tehnologija pruža u oblasti digitalne obrade signala. Prilikom izarade pomenutih operatora korišćen je programski jezik VHDL. Iako se za dizajniranje FPGA koriste i neki drugi HDL programski jezici (Verilog HDL, AHDL...), VHDL je zbog svoje univerzalnosti i opšteprihvaćenosti sigurno najčešće korišćeno rašenje u razvoju FPGA tehnologije.

Svi operatori su dizajnirani u Alterinom razvojnom okruženju Quartuss II 6.0. web

edition. Dobra strana ovog softvera je što omogućavaju modeliranje i testiranje sistema na računaru pre same konfiguracije hardvera, čime se značajno smanjuju tročkovi ispitivanje. Pomoćne funkcije su kreirane u programskom paketu Matlab. Quartuss II

6.0. web edition ne poseduje mogućnost grafičkog prikazivanja rezultata simulacije pa je korišćeno alternativno rešenje. Matlab programski paket je dugo korišćen alat u analizi signala, pa je bilo najjednostavnije poslužiti se njime u otklanjanju nedostataka Alterinog softvera. Posebna njegova pogodnost je ta što ima ugrađene funkcije za filtriranje i računanja FFT pa je korišćen i za poređenje sa rezultaima simulacije FPGA dizajna.

Neki od dizajniranih operatora su provereni na UP3 edukacionom Kitu (slike 4.1 i 4.2). UP3-1C6 je moćan edukacioni alat koji služi za razvijanje hardverski baziranih sistema, implementaciju i testiranje IP cores ili bilo kog drugog hardverskog dizajna razvijenog uz pomoć nekog HDL programskih jezika.Ukratko, ovaj alat može da posluži za razvijanje VLSI sistema, kao i za kreiranje i razvoj mikroprocesorski baziranog dizajna.

Quartuss II automatski generiše *.sof i *.pof fajlove koji mogu biti download-ovani pomoću Byte Blaster II ili USB Blaster kabla za ostvarivanje AS, tj. JTAG konfiguracije. Sledi pregled karakteristika UP3-1C6 ploče.

• Altera EP1C6Q240 čip i EPCS1 konfiguracioni uređaj

• Podržava IP (Intelectual Property) dizajn sa i bez mikroprocesora

• USB 1.1 (Full speed & Low Speed)

• RS 232 Port

Page 20: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

12

• Parallel port (IEEE 1284)

• PS/2 Port

• IDE (Integrated Drive Elecronics)

• 2Kbytes I2C PROM (proširiv)

• 128Kbytes SRAM

• 2Mbytes FLASH

• 8Mbytes SDRAM

• Podržava mnoge clock-ove kao CPU clock, USB clock, PCI clock i IOAPIC

clock

• JTAG i Active Serial download capaciteti

• 5V Santa Cruz long Expansion Card Header koji podržava 74 I/O

• 4-bitni switch blok

• 4 prekidača i globalni reset prekidač

• 4 LED

• 16x2 karaktera LCD

• I2C Real Time Clock

Slika 4.1: UP3 Board Diagram

Page 21: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

13

Slika 4.2: UP3 edukacioni kit.

Logic Elements 5980 RAM Blocks 20 Total RAM Bits 92160 PLLs 2 Maximum User I/Os 185

Tabela 4.1: Karakteristike čipa Cyclone EP1C6Q240C8.

4.2 Primeri realizacija fleksibilnih, FPGA baziranih, digitalnih filtara

U obradi signala vrlo bitne komponente su filtri. Osnovni zadatak svakog filtra je da eliminiše neželjene komponente signala (npr. šum), ili da iz njega izdvoji ono šta se smatra korisnim delom (npr. komponente koje se nalaze u tačno određenom frekfencijskom opsegu).

Digitalni filtri vrše numeričke operacije nad obrađivanim nizom podataka u cilju dobijanja željenih rezultata. Za potrebno računanje se može koristiti i sam PC ili neko kolo specijalizovano za digitalnu obradu signala (ili u ovom slučaju digitalno filtriranje).

Za samu realizacju ovakvih sistema prethodno su razvijeni mnogobrojni algoritmi čije detaljno objašnjenje daleko prevazilazi granice ovoga rada. Naime, ovaj rad se neće baviti složenom teorijom računanja koeficienata filtra, već će se u njemu prikazati neka konkretna rešenja za FPGA tehnologiju. Prezentovaće se rešenja za filtar sa beskonačnim

Page 22: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

14

impulsnim odzivom (Infinite Impuls Response - IIR), odnosno filtar sa konačnim impulsnim odzivom (Finite Impuls Response - FIR).

4.2.1 Opšta forma funkcije prenosa digitalnog sistema

Svaki digitalni sistem se može predstaviti takozvanom funkcijom prenosa, čiji je opšti oblik dat formulom (4.1.)

10 1

11

...( )( )

( ) 1 ...

N

N

M

M

A A z A zY zH z

X z B z B z

− −

− −

+ + += =

− − − (4.1)

Datoj funkciji prenosa u vremenskom domenu odgovara diferencna jednačina:

0 1 1( ) ( ) ( 1) ... ( ) ( 1) ... ( )N M

y n A x n A x n A x n N B y n B y n M= + − + + − + − + + − (4.2)

Ovakav zapis omogućava realizaciju sistema koristeći se nekom od poznatih tehnologija. Izlazni signal se jednostavno može izračunati na osnovu N prethodnih vrednosti ulaznog signala kao i M prethodnih vrednosti izlaza. Ovakav vid realizacije naziva se direktnim. U praksi se sreću i neki drugi vidovi realizacija (npr kaskadni, paralelni..), međutim, zbog svoje jednostavnosti, ovaj je uglavnom najčešće primenjivan.

Što se same realizacije tiče, ona može biti hardverska, ili softverska. Ako se pogleda prethodna formula vidi se da je softversko rešenje prilično jednostavo. Dalji rad će se isključivo baviti hardverskim realizacijama (konkretno za FPGA tehnologiju) čiji je osnov gorepomenuta jednačina.

Slika 4.3: a) Prikaz direktne realizacije funkcije prenosa, b) šema ekvivalentna direktnom obliku realizacije

Sistem opisan jednačinom (4.2.) često se prikazuje šemacki. Na slici (4.3.) dat je jedan mogući prikaz njegove realizacije. Takođe, na istoj, slici data je ekvivalentna šema koja se zbog svojih prednosti (konkretno manje kola za kašnjenje) u praksi češće primenjuje. Upravo ova šema biće osnov kasnije realizovanog IIR filtra.

Page 23: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

15

4.2.2 Osnovni princip projektovanih digitalnih filtara. Opšta blok šema realizacje

Na slici (4.4) data je opšta blok šema ralizovanih filtara.

Slika 4.4: Opšta blok šema realizacije filtera

Sistem se sastoji iz više blokova. Ključni deo je Filter Algorithm u kome se realizuje sama funkcija filtra. Naime, u njemu se obavljaju potrebne numeričke operacije (množenja i sabiranja - formula 4.2.). Ovom bloku je paraleno potrebno proslediti vrednosti sa ulaza (i izlaza) i tu funkciju obavlja sklop Data Menager.

Takođe, bloku Filter Algorithm potrebno je prosledi koeficiente filtra. U tom cilju kreiran je deo Coef Menager. Funkcija ovog bloka je smeštanje koeficienta koji se serijski upisuju preko ulaza coef_in. Sam blok se može shvatiti kao serijska veza više registara (broj registara jednak je broju množača koje poseduje ralizovan filtar). Prilikom upisivanja koeficienata (programiranje filtra) kontrolni signal write_coef potebno je postaviti na „1“. Prvo se upisuju takozvani „direktni koeficienti“ (A0, A1, ...AN), a zatim i „povratni koeficienti“ (B0, B1,...,BN). Kada se upis obavi, signal coef_complete ima vrednost „1“ i time označava da je upis završen, a filtar spreman za puštanje u rad. To se postiže kratkim pozitivnim impulsom na start ulazu.

Signali data_valid i clk_out služe kao indikacija da su rezultati na izlazu spremni za preuzimanje, odnosno za sinhronizaciju sa ostatkom sistema. Podaci se preuzimaju kada je na izlazu clk_out ostvari pozitivna tranzicija. Ukoliko je filter potrebno reprogramirati, sistem prethodno mora biti resetovan (pozitivni impuls na ulazu rst). Primer realizacije, FPGA baziranog, IIR filtra

U okviru rada realizovan je fleksibilan core koji će obavljati funkciju IIR filtra. Na slici (4.5.) dat je šemacki prikaz ponuđenog rešenja.

Page 24: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

16

Slika 4.5: IIR core. Prikaz bloka (shematic file)

Core je potpuno prilagođen za različite dužine podataka kao i za različiti red filtra. Ove vrednosti je pre kompajliranja potrebno uneti kao generic parametre (word_length i

order). Prilikom programiranja filtra potrebno je znati sledeće. Za njegovu realizaciju

korišćena je takozvana integer aritmetika. Pošto se u opštem slučaju prilikom računanja koeficienata filtra, dobijaju realni brojevi (u opsegu 1 1− ÷ ), dobijene vrednosti je pre unošenja potrebno preskalirati u odnosu na opseg _ 1 _ 12 2word length word length− −

− ÷ , gde je word_length dužina reči. Dakle dobijeni realni koeficienti se pomnože sa _ 12word length− i dobijeni rezultat se zaokruži na najbližu celobrojnu vrednost.

Što se samog interfejsa tiče on je u potpunosti objašnjen u prethodnom poglavlju pa je ovde samo dat prikaz jedne Quartus simulacije koja najbolje ilustruje gorepomenuto.

Slika 4.6: IIR filtar. Prikaz Quartus simulacije

4.2.3 Poređenje rezultata sa Matlabom

Da bi se gafički prikazali rezultait u matlabu su kreirane pomoćne funkcije iir_tbl_write, koja služi za kreiranje falja nad kojim će se vršti simulacija, i funkcija iir_tbl_read, za čitanje rezultata simulacije.

U matlabu je generisan jednostavan prostoperiodični signal: x=round(200*sin(1000*pi*t)+20*cos(10000*pi*t)); Grafički prikaz ovog signala dat je na narednoj slici.

Page 25: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

17

Slika 4.7: Signal nad kojim je vršena simulacija filtera

Koristeći se Matlabovim paketom Filter Design & Analys Tool (koji se poziva jednostavnom naredbom fdatool) proračunati su koeficienti za filtar 3 reda koji bi trebao da obavlja funkciju propusnika niskih učestanosti. Granična učestanost dizajniranog filtra je fc=3500Hz. Na narednoj slici prikazani su rezultati koji se dobijaju kada je za računanje korišćen FPGA, a radi poredbe dat je i rezultat koji se dobija kada se za filtriranje koristi ugrađena Matlab funkcija.

Prilikom simulacije korišćena je dužina reči 16. Vidi se da su rezultati simulacije prilično dobri. Naravno, greška zavisi, pre svega od, broja bita kojima se predstavljaju podaci. Vidi se da je ona kada je dužina reči 16 neznatna što potvrđuje priču iz prethodnog poglavlja.

Slika 4.8: IIR filtar. Rezultat simulacije kada je korišćen: a) FPGA core; b)ugrađena Matlab funkcija

4.2.4 Resursi utrošeni za realizaciju IIR filtra

Na donjem grafiku dati su resursi potrebni poterbni za realizaciju predloženog rešenja IIR filtra. Grafik je dat za različite dužine podataka kao i za različit red filtra. Resursi su snimani za FPGA Cyclone - EP1C6Q240C8.

Page 26: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

18

0

500

1000

1500

2000

2500

3000

3500

4000

4500

Logic

Cels

2 3 4 5 6

Red Filtra

8

16

Slika 4.9: IIR filtar. Pregled utrošenih resursa za različiti red filtra i dužine podataka

Komentar: Vidi se da je broj logičih kola potrebnih za realizaciju IIR filtra srazmeran redu filtra.

Bino je naglasiti da se najveći resursi troše za paralelne množače kojih svaki IIR filtar ima 2*order. Ukoliko se za realizaciju opisanog rešenja izabere neko novije kolo koje sadrži DSP blokove broj logičkih kola potrebnih za ovakvu realizaciju će se znatno smanjiti naravno baš na uštrb DSP blokova. Za realizaciju paralelnog množača se može upotrebiti 1 DSP blok (ako je dužina reči manja od 9), odnosno 2 (ako je dužina reči manja od 18). U ovoj činjenici će se najbolje ogledati preraspodela resursa ukoliko bi se za realizaciju koristio neki noviji FPGA.

4.2.5 Primer realizacije, FPGA baziranog, FIR filtra

Sistem sa konačnim impulsnim odzivom opisan je funkcijom prenosa 1

0

( )( ) ( )

( )

Nn

n

Y zH z h n z

X z

−−

=

= =∑ (4.3)

U vremenskom domenu, FIR sistem ima oblik ( ) (0) ( ) (1) ( 1) ... ( 1) ( 1)y n h x n h x n h N x n N= + − + + − − + (4.4)

Zapaža se da odziv ( )y n ne zavisi od prethodnih vrednosti izlaznog signala. Pošto nema rekurzije ovakvi signali se još nazivaju nerekurzivnim. Iz izraza (4.4) se vidi da se na osnovu vrednosti ulaza u n-tom i prethodnih n-N trenutaka jednostavnim računom može odrediti vrednost izlaza u n-tom tenutku.

Sistem opisan prethodnom relacijom se hardverski jednostavno može realizovati. Na slici (4.10) dat je direktni oblik realizacije FIR filtra. Vidi se da je ovakav vid realizacije sličan onome koji je korišćen kada je realizovan IIR filtar. Gledajući priloženu arhitekturu, vidi se da se FIR filtar jednostavno može realizovati kada se IIR filtru eliminiše povratna sprega.

Page 27: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

19

Slika 4.10 Direktni oblik ralizacije FIR sistema

Slično FPGA realizaciji IIR filtra, i ovde je dizajniran fleksibilan core prilagođen za različite dušine reči kao i za različiti red filtra.

Slika 4.11: FIR core. Prikaz bloka (shematic file)

Što se tiče samoga interfejsa priloženoga rešenja, razlike u odnosu na onaj koji je dizajniran kada je korišćen IIR filtar, gotovo da i nema. Kontrolni signali koji se prosleđuju sistemu su zadržali svoje ime i funkciju, tako da nema potrebe za posebnim objašnjavanjem. Jedina razlika se odnosi na unošenje koeficienata (programiranje filtra). Naime, ranije je rečeno da FIR filter nema rekurzije pa samim tim nema ni potrebu za takozvanim „povratnim“ koeficientima. Samo je potrebno uneti direktne koeficiente i to po redu( (0), (1),..., ( 1)h h h n N− + ).

Zbog velike važnosti još jednom će se napomenuti sledeće: i ovde je prethodno proračunate koeficiente (koji se nalaze u opsegu 1 1− ÷ ) pre uošenja potrebno preskalirati u odnosu na opseg _ 1 _ 12 2word length word length− −

− ÷ i kao takve ih prosleđivati filtru.

Slika 4.12: Prikaz Quartus simulacije FIR filtra

Na prethodnoj slici dat je prikaz jedne Quartus simulacije iz koje se najbolje može videti sličnost (ili možda bolje reći identičnost) interfejsa IIR i FIR sistema.

Page 28: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

20

4.2.6 Poređenje rezultata sa Matlabom

Na narednim slikama biće dat grafički prikaz jedne simulacije FIR filtra. Radi bolje predstave, standardno je dat i rezultat dobijen kada je za računanje korišćena Matlabova funkcija. I ovde je za proračun koeficienata filtera korišćen Matlabov paket Filter Design & Analys Tool. Dizajniran je filter 5 reda istih karakteristika kao i onaj koji je korišćen prilikom simulacije IIR filtra. Takođe korišćen je i identični probni signal. Sve je ovo urađeno u cilju poredbe rezultata koji se dobijaju kada se koristi jedan, ili drugi sistem.

Slika 4.13: FIR filtar. Rezultat simulacije kada je korišćen: a) FPGA core; b) ugrađena Matlab funkcija

4.2.7 Resursi potrebni za realizaciju FIR filtra

0

500

1000

1500

2000

2500

3000

Logic

Cels

2 3 4 5 6

Red Filtra

8

16

Slika 4.14: FIR filtar. Pregled utrošenih resursa za različiti red filtra i dužine podataka

Komentar: Slično ko i kod IIR filtra i kod FIR sistema broj logičih ćelija potebnih za realizaciju srazmeran je redu filtra i dužini reči što se vidi iz priloženog grafika.

Page 29: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

21

4.2.8 Primer, FPGA realizacije, FIR filtra sa simetričnim koeficientima

Vrlo čest slučaj u praksi je filter koji ima simetrične koeficiente. Simetričnost se ogleda u tome što je (0) ( 1), (1) ( ),...h h n N h h n N= − + = − Koristeći se ovom pogodnosti značajno je moguće umanjiti resurse potrebne za relizaciju FIR sistema.

Neka je red filtra paran. Ako se pođe od jednačine (4.4.) jednostavnim menjanjem mesta sabircima dolazi se do sledećeg zapisa

( ) (0)[ ( ) ( 1)] (1)[ ( 1) ( 2)] ...

( / 2 1)[ ( / 2 1) ( / 2)]

y n h x n x n N h x n x n N

h N x n N x n N

= + − + + − + − + + +

+ − − + + − (4.5)

Vidimo da je prilikom ovakvog zapisa potrebno izvršiti dva puta manje množenja što predstavlja značajnu uštedu prilikom realizacije pogotovu ako se ima u vidu da su množači najveći potrošači FPGA resursa. Prikaz ovakve realizacije dat je na sledećoj šemi.

Slika 4.15: Prika realizacije FIR sistema sa simetričnim koeficientima

Slično bi se mogao realizovati i FIR filter koji je čiji je red neparan. Realizovan je poseban core (fir_sim) koji će obavljati funkciju FIR filtra koristeći

gornje predloženo rešenje. Interfejs sistema je skoro isti kao i kod realizacije klasičnog FIR (i IIR) filtra. Jedina

razlika bi se ogledala u tome što je pri programiranju ovakvog sistema potrebno uneti duplo manji broj koeficienata, što bi bilo i logično ako se ima u vidu sama ideja realizacije ovakvog sistema.

Prikaz shematic fajla, kao i jedne Quartuss simulacije dati su na narednim slikama.

Slika 4.16: FIR_sim core. Prikaz bloka (shematic file)

Page 30: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

22

Slika 4.17: Prikaz Quartus simulaciije FIR filtra sa simetričnim koeficientima

4.2.9 Resursi potrebni za realizaciju FIR filtra sa simetričnim koeficientima

0

200

400

600

800

1000

1200

1400

1600

1800

Logic

Cels

2 3 4 5 6

Red Filtra

8 16

Slika 4.18: FIR filtar sa simetričnim koeficientima. Pregled utrošenih resursa za različiti red filtra i dužine podataka

4.2.10 Kratko poređenje FIR i IIR sistema

Glavna prednost IIR sistema u odnosu na FIR je ta što se dobijanje istih karakteristika može postići sa manjim brojem aritmetičkih operacija pa su samim tim porebni manji resursi za njihovu realizaciju.

Međutim, prednost FIR filtra u odnosu na IIR je pre svega jednostavniji dizajn. Naime, često je lakše projektovati FIR filtar koji bi imao zahtevane numeričke karakteristike.

Kako je ranije rečeno koeficienti se predstavljaju sa konačnim brojem bita što uslovljava veću ili manju grešku u računu. Može se pokazati da ova konačna preciznost znatno veće probleme zadaje kod IIR nego kod FIR sistema. Zbog toga se FIR filtri skoro uvek koriste kada se podaci zapisuju sa manjim brojem bita (npr 8). Za razliku od IIR sistema, sistemi sa konačnim impulsnim odzivom se uvek mogu realizovati tako da im je pojačanje manje od jedan što je vrlo bitna činjenica kada se koristi integer aritmetika (kao npr u predloženim FPGA dizajnima).

Page 31: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

23

Još jedna dobra strana FIR sistema je što se mogu projektovati(i uglavnom se uvek i projektuju) tako da imaju linearnu faznu karakteristiku. Kada FIR filter ima linearnu faznu karakteristiku koeficitienti su mu simetrični pa to znatno smanjuje resurse (prethodno rešenje). Kada se saberu sve prednosti i nedostaci jednog i drugog rešenja vidi se da FIR sistemi u slučajevima kada se koristi integer aritmetika imaju veći broj prednosti pa su zato češće primenjivano rešenje.

4.3 Primer realizacije fleksibilnog FFT, FPGA baziranog, core

Fourieova analiza predstavlja proces u kome se signal razbija na sinusne (kosinusne) funkcije, različitih amplituda, faza i frekfencija. Naime, vremenska prezentacija signala često nije pogodna za obradu pa je u tom cilju signal potebno prikazati na neki pogodniji način. Predstavljanje signala preko periodičnih sinusnih i kosinusnih funkcija pokazalo se veoma pogodno u analizi signala što je za posledicu imalo razvoj posebne naučne discipline, nazvane Fourijeova analiza, po francuskom naučniku Jean Baptiste Joseph

Fourier. U zavisnosti da li je signal koji se obrađuje analogni ili digitalni, odnosno da li je

periodičan ili aperiodičan, definišu se različiti tipovi Fourijeovih Transformacija. U nastavku će bliže biti objašnjena Diskretna Fourijeova transformacija, kao i jedan od algoritama za njeno brzo računanje (FFT algoritam sa osnovom 2 sa razbijanjem po frekfenciji). Najvažniji deo rada zauzima predloženo hardversko, FPGA bazirano, rečenje algoritma za brzo račuanje Fourierove Transformacije ( FFT core).

4.3.1 Diskretna Fourieova Transformacija. Osnovni pojmovi

Neka je posmatran diskretni signal x(n) koji je ograničen sa N odbiraka ( ); 0 1

( )0; 1

x n n Nx n

n N

≤ ≤ − =

> − (4.6)

Za dati signal moguće je pronaći Fourierovu transformaciju po formuli

( ) ( )j j n

n

X e x n eω ω∞

=−∞

= ∑ (4.7)

Dobijena funkcija je kontinualna, periodična i definisana je za vrednosti ω−∞ < < ∞ . Da bi se nad njom mogle vršiti numeričke operacije potrebno je izvršiti njeno odabiranje. Matematičkom analizom se pokazuje da se odabrane vrednosti mogu izračunati po formuli:

12 /

0

( ) ( ) , 0 ,N

nk j N

N N

n

X k x n W k N W e π−

=

= ≤ < =∑ (4.8)

Prethodni izraz predstavlja definiciju Diskretne Fourierove Transformacije (DFT). Prilikom odabiranja Fourierove Transformacije potrebno je uzeti bar onoliko

odbiraka kolika je dužina niza koji se obrađuje tj. koliko je njegoov trajanje. Ukoliko je iz nekog razloga potrebna gušća podela u frekfencijskom domenu (npr. povećanje tačnosti u računu ili preciznost prilikom crtanja), to se jednostavno može postići dodavanjem nula (zero padding). Signal se dopuni nulama do željenog broja pa se od novodobijenog niza DFT računa po izrazu (4.8.).

Page 32: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

24

Vrednosti signala x(n), kada je poznata njegova DFT, računaju se prema sledećem obrascu:

12 /

0

1( ) ( ) , 0 ,

Nnk j N

N N

k

x n X k W k N W eN

π−

− −

=

= ≤ < =∑ (4.9)

Formula (4.9), ujedno je definicija Inverzne Fourierove Transformacije (IDFT).

4.3.2 Brza Fourierova Transformacija

Računanje Diskretne Fourierove Transformacije je prilično zahtevno sa aspekta broja operacija koje je potrebno izvršiti. Naime, za računanje DFT po definiciji neophodno je izvršiti N2 sabiranja i množenja. U cilju smanjenja broja potrebnih operacija razvijeni su algoritmi koji broj ovih operacija znatno umanjuju. Zbog svoje važnosti ovi algoritmi su dobili posebno ime – „Brza Fourierova Transformacija“ ili kraće FFT (Fast Fourier

Transform). Ovde će biti objašnjen jedan takav algoritam – takozvani algoritam sa osnovom 2 (2-radix butterfly) sa razbijanjem po frekfenciji.

Neka je trajenje dužina niza oblika N=2m. Podelimo ulazni niz na dve polovine i napišimo DFT u obliku

/ 2 1 1

0 / 2

( ) ( ) ( )N N

nk nk

N N

n n N

X k x n W x n W− −

= =

= +∑ ∑ (4.10)

Kada se druga suma prenumerizuje dobija se: / 2 1 / 2 1

( / 2)

0 0

( ) ( ) ( / 2)N N

nk N k nk

N N N

n n

X k x n W x n N W W− −

= =

= + +∑ ∑ (4.11)

Ako se zna da je ( / 2) 2 / 2 ( 1)N k j Nk N j k k

NW e eπ π− −

= = = − izraz (4.11.) možemo napisati

kao / 2 1

0

( ) ( ) ( 1) ( / 2)N

k nk

N

n

X k x n x n N W−

=

= + − + ∑ (4.12)

Razbijanjem prethodnog izraza u dva posebna, i to jedan za k=2r (parno) i k=2r+1 (neparno), dobijaju se sledeće formule.

[ ]/ 2 1

2

0

(2 ) ( ) ( / 2)N

rn

N

n

X r x n x n N W−

=

= + +∑ (4.13)

[ ]/ 2 1

2

0

(2 1) ( ) ( / 2)N

rn n

N N

n

X r x n x n N W W−

=

+ = − +∑

Ako se ima u vidu da je 2 2 2 / 2 /( / 2)/ 2

rn j rn N j rn N rn

N NW e e Wπ π− −

= = =

Izrazi (4.13.) se transformišu u:

[ ]/ 2 1

/ 20

(2 ) ( ) ( / 2)N

rn

N

n

X r x n x n N W−

=

= + +∑ (4.14)

[ ]/ 2 1

/ 20

(2 1) ( ) ( / 2)N

rn n

N N

n

X r x n x n N W W−

=

+ = − +∑

Prepoznaje se da su dobijene dve Diskretne Fourierove Transformacije sa po N/2 članova, a ove se dalje mogu razbijati na DFT od N/4 člana itd. Ovakvim postupkom se svaka DFT od N=2m članova može deljenjem na pola u m koraka dovesti do elementarnih množenja i sabiranja.

Page 33: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

25

Jednostavnim računom pokazuje se da je broj potrebnih množenja i sabiranja za računanje DFT kada se koristi ovakav algoritam jednak 2log ( )N N što je velika ušteda u

odnosu na broj kada se DFT računa po definiciji. Smanjenje broja operacija naročito je izraženo kada je N veće.

Ovaj algoritam se u literaturi često nalazi pod nazivom 2-radix butterfly. On se često prikazuje grafički i na sledećoj slici dat je njegov prikaz kada je N=8.

Slika 4.19: Potpuni butterfly algoritam razbijanja po frekfenciji za N=8

4.3.3 FPGA realizacija FFT operatora

U narednom delu rada dato je jedno rešenje FPGA implementacije FFT algoritma. Svi dizajni prikazani u onome što sledi realizovani su u VHDL-u.

Realizovan je fleksibilan kor (sl 4.20.) prilagođen za različite dužine frejma i dužine reči. Dužina frejma može biti N=2m i ta vrednost se pre kompajliranja zadaje kao generic parametar. Kor je takođe prilagođen za različite dužine podataka. Podaci se prosleđuju kao bit_vector i prilagodjeni su signed notaciji.

Slika 4.20: FFT core. Prikaz bloka (shematic file)

Page 34: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

26

Prilikom realizacije primenjen je prethodno opisani 2-radix butterfly algorithm. Pored goreopisanog algoritma, u praksi se često primenjuju i neki drugi (npr radix-4 butterfly). Za koji će se pristup odlučiti dizajner zavisi, pre svega, od vremena neophodnog za izvršenje operacije nad jednim frejmom, kao i od hardverskih resursa kojima se raspolaže. Prednosti korišćenog pristupa ogledaju se u tome što su FPGA resursi, potebni za njegovu realizaciju, najmanji. Sa druge strane vreme koje je potebno za izvršenje operacije nad jednim okvirom, kada se primenjuje ovaj algoritam, duže je u odnosu na vreme koje je potebno kada se koristi neki drugi pristup.

Slika 4.21: Blok šema sistema za računanje FFT

Ključni blok na slici je butterfly2 koji predstavlja osnovnu ćeliju FFT algoritma. Njemu se preko kola ser_par_switch iz memorije prosleđuju po dve kompleksne vrednosti (realni i imaginarni deo svakog broja prosledjuje se preko različitih ulaza). Takođe ovom bloku se dovodi još jedna konstantna kompleksna vrednost ( i

NW ) koja se

čita iz ROM-a (rom_coef). Inicijalizacija ovog bloka vrši se pre kompajliranja, i u tom cilju u Matlab-u je kreirana pomoćna funkcija (coef_value_package_write). Dakle, pre postupka kompjaliranja potebno je izvršiti ovu funkciju da bi se kreirao fajl koji će sadržati potrebne koeficiente.

Rezultati dobijeni iz butterfly2 se preko blokova Par_Ser_Switch i MUX2 smeštaju u RAM. Blok MUX2, u zavisnosti od kontrolnog signala, na ulaz RAM-a propušta podatke sa ulaza, odnosno podatke dobijene računanjem (butterfly2). Kada se izvrši poteban broj operacija, dobijeni rezultati se prosleđuju preko linija data_out_real i data_out_imag. Podaci se izbacuju prvo za pozitivne, a nakon toga za negativne učestanosti. Čitav sistem opslužuje kontrolna logika (control).

Što se tiče samog interfejsa prikazanog sistema, pored ulaznih i izlaznih data_linija preko kojih se prosleđuju podaci, kolo poseduje jedan ulazni kontrolni ulaz (start_frame). Jedan pozitivan inpuls na njemu označava početak preuzimanja podataka jednog frejma. Kolo daje end_frame signal koji (takođe pozitivnim impulsom) označava

Page 35: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

27

kraj operacije nad jednim nizom podataka, kao i signale clk_out i clk_in koji služe za sinhronizaciju sitema sa ulazom i izlazom. Naime, blok predaje i prima data signale kada se na izlazima clk_in i clk_out pojavi pozitivna ivica. Naravno, sastavni deo interfeejsa su i ulazi clk i rst koji imaju standardne funkcije globalnog takta i asinhronog reseta.

Na narednoj slici dat je prikaz jedne simulacije čitavog sistema koji najbolje opisuje pomenute signale.

Slika 4.22: Prikaz Quartus simulacije FFT core. N=16

4.3.4 Rezultati simulacija FPGA FFT kora i poređenje sa Matlabom

Kako Alterin software Quartus 6.0 web edition ne poseduje mogućnost grafičkog prikazivanja rezultata simulacije, i ovde su u Matlab-u su napravljene pomoćne funkcije (fft_tbl_write i fft_tbl_read) za kreiranje i čitanje fajlova nad kojim se može vršiti simulacija (*.tbl fajlovi). Pomoćne funkcije se takođe nalaze na priloženom CD-u. Na narednim graficima prikazan je signal nad kojim je vršena simulacija kao i rezultati tih simulacija. Takođe, radi poređenja, prikazani su rezultati koji su dobijeni računanjem FFT kada je korišćena ugrađena Matlab funkcije. Simulacije su vršene za različite dužine frejma. Za simulaciju je korušćen prosti signal:

x=round(40*sin(120*pi*t)); (sl.4.23.)

Slika 4.23: Signal nad kojim je vršena simulacija filtara

Page 36: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

28

•••• N=32

Slika 4.24: N=32; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je za

računanje fft korišćen, a) Matlab; b) FPGA core

• N=64

Slika 4.25: N=64; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je za

računanje fft korišćen, a) Matlab; b) FPGA core

• N=128

Slika 4.26: N=128; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je

za računanje fft korišćen, a) Matlab; b) FPGA core

Page 37: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

29

• N=256

Slika 4.27: N=256; Amplitudski spektar 2 2( )spec x real imag= + , dobijen kada je

za računanje fft korišćen, a) Matlab; b) FPGA core

4.3.5 Resursi

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Logic

Cels

32 64 128 256

Dužina Niza

Logic Elements

Memory Bits

Slika 4.28: Pregled resursa za različite dužine frejma. Dužina podataka je 16.

Komentar: Kada se pogleda priloženi grafik vidi se da broj potrebnih lokičkih kola praktično ne zavisi od dužine frejma, tj on je skoro konstan. Sa druge starane broj memorijskih resursa upravo je srazmeran dužini frejma. Takodje, potebno je naglasiti da je FPGA nad kojim su vršena sva ispitivanja prilično skromnih mogućnosti (bar kada je oblast digitalne obrade signala u pitanju). Ukoliko se priloženo rešenje za FFT implementira na nekom od kola novije proizvodnje (npr FPGA iz familija Stratix, Stratix II i sl), prilikom kompajliranja zauzeće se (maksimalno) 10 DSP blokova. Naravno broj potrebnih logičih kola će se znatno smanjiti (čak i do dva puta).

Page 38: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

30

5. Eksperimentalna verifikacija

U sklopu rada izvršena je eksperimentalna verifikacija pojedinih operatora. U ovom delu biće izložen način na koji je izvršena provera funkcionalnosti FFT kora.

Zamišljeno je da se prilikom eksperimenta FFT koru prosleđuju realni podaci. Zbog toga je imaginarni data ulaz postavljen na „0“. Takođe, napravljen je interfejs kojim bi se realni i imaginarni rezultati prosleđivali preko jedne data magistrale što je jednostavno postignuto (prosti multiplekser).

Pored UP3-1C6 ploče na raspolaganju je bila i jedna mikrokontrolerska eksperimentalna ploča (MC-board). Jedan 8-bitni port MC ploče povezan je sa FPGA data ulazom, dok je drugi (isto 8-bitni port) povezan sa FPGA data izlazom. Jedan port mikrokontrolera je iskorišćen za sinhronizaciju sa FPGA (clk_in, clk_out...). Prikaz opisanih sistema dat je na narednim slikama.

Slika 5.1: Eksperimentalna verifikacija.

Slika 5.2: Fotografija eksperimentalne opreme.

Page 39: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

31

Slika 5.3: Mikrokontrolersko kolo za praktičnu verifikaciju FPGA baziranih aplikacija

Page 40: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

32

QUARTUS FPGA MC FPGA

clk_in 133 PD2 53-D6

clk_out 132 PD3 54-D5

start_frame 135 PB0 48-SW4

Rst 134 PB1 62-SW7

end_frame 128 PD4

clk_main 29

data_input[0] 140 PA0

data_input[1] 141 PA1

data_input[2] 143 PA2

data_input[3] 156 PA3

data_input[4] 158 PA4

data_input[5] 159 PA5

data_input[6] 160 PA6

data_input[7] 161 PA7

data_out[0] 166 PC0

data_out[1] 167 PC1

data_out[2] 168 PC2

data_out[3] 169 PC3

data_out[4] 180 PC4

data_out[5] 181 PC5

data_out[6] 175 PC6

data_out[7] 177 PC7

Tabela 5.1: Raspored pinova verifikacionog kola.

5.1 Način generisanja ulaznih i čitanja izlaznih vrednosti

Pritiskom na taster start_frame FPGA daje clk_input signal na čiju svaku pozitivnu ivicu MC izbacuje vrednost jednog odbirka probnog signala (sl. 5.4). Nakon izvršenja potrebnog broja operacija, FPGA generiše signal clk_out čija jedna pozitivna tranzicija daje znak da treba primiti jedan podatak (sl. 5.5). Realna i imaginarna vrednost svakog odbirka se šalju naizmenično i to, prvo imaginarna pa onda realna. Rezultati se nalaze u opsegu 0 255÷ pa ih je za ispravno tumačenje potrebno prevesti u opseg 128 127− ÷ . Dobijeni rezultati se preko RS-232 interfejsa šalju na PC gde se smeštaju u poseban fajl.

Page 41: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

33

Slika 5.4: Način generisanja clk_in signala

Slika 5.5: Način sinhronizacije sa izlazom

5.2 Preliminarno testiranje

FFT kor je testiran za dužinu frejma N=64. Za testiranje su uzete vrednosti odbirka pravougaonog signla. Za ulazni vektor uzeta je povorka pravougaonih impulsa prikazana na slici (5.4).

Slika 5.6: Prikaz testiranog signala

Vrednosti probnog signla 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40 0 0 0 0 0 0 0 0 40 40 40 40 40 40 40 40

Vrednosti izlaza

Page 42: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

34

80 0 0 0 -28+42i 0 0 0 0 0 0 0 -17-3i 0 0 0 0 0 0 0 -2-11i 0 0 0 0 0 0 0 8-5i 0 0 0 0 0 0 0 8+5i 0 0 0 0 0 0 0 -2+11i 0 0 0 0 0 0 0 -17+3i 0 0 0 0 0 0 0 -28-42i 0 0 0

Slika 5.7: FFT spektar signala sa slike 5.6 2 2( )spec x real imag= +

Page 43: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

35

6. Pravci daljeg razvoja

Realizacija fleksibilnog core vrlo je bitna etapa na polju automatizovanog dizajna elektronskih kola. Pored poznavanja programskog jezika i snimanja potrebnih silicijumskih resursa, u proizvodnji FPGA cores vrlo bitnu stvar predstavlja ispitivanje maksimalne učestanosti na kojoj kolo može da radi, kao i proračun potrošnje energije za konkretne FPGA čipove. Zadnje dve stavke su pomalo zapostavljene u ovome radu pa bi to mogao da bude predmet nekog daljeg istraživanja.

Takođe, bilo bi interesantno raditi na realizaciji interfejsa između FPGA i računara bez posredstva dodatnog mikrokontrolera. U radu je za komunikaciju PC i FGPA korišćen RS-232 interfejs čija je dobra strana lako programiranje, međutim kada su u pitanju brzina i fleksibilnost, ovakva veza polako gubi na svom značaju. Realizacija nekog aktuelnijeg interfejsa (npr USB) za FPGA bi takođe mogla biti tema nekog novog rada.

Sve ovo bi moglo da vodi realizaciji projektoanju operatora i sistema koji bi vršili obradu signala u realnom vremenu.

Page 44: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

36

7. Zaključak

FPGA je tehnologija koja u oblasti digitalne obrade signala polako postaje standard. Cilj rada je bio, pre svega, da se izlože glavne prednosti koje ovaj pristup pruža u odnosu na neka, do skoro, najčešće korišćena rešenja.

Druga, vrlo bitna, stavka koju je je ovaj rad trebao da ispuni, bi bila predstavljanje nekih konkretnih rešenja operatora koji se primenjuju u oblasti digitalne obrade signala. U tom cilju su realizovani, sigurno najčešće korišćene funkcije za ovu oblast (filtri, FFT operator). Pored maksimalne fleksibilnosti realizovanih sistema, akcenat je stavljen i na interfejs za primanje i slanje podataka.

Gde god je postojala mogućnost, težilo se uopštavanju i prilagođenju interfejsa za različite tipove operatora (u čemu se prilično i uspelo). Sve je to urađeno u cilju standardizovanja i usvajanja jednog univerzalnog šablona kojeg bi se pridržavalo i u realizaciji nekih novih sistema.

Page 45: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

37

8. Prilog

Prilog radu je CD koji sadrži: • Elektronsku verziju rada

• Izvorne kodove

Page 46: PRIMJENA FPGA TEHNOLOGIJE U DIGITALNOJ OBRADI SIGNALA _Diplomski .pdf · Digitalna obrada signala je oblast koja se svakim danom sve više i više razvija. Eksplozivan razvoj tehnologije

Zoran Jakšić – Primena FPGA Tehnologije U Digitalnoj Obradi Signala

38

9. Literatura

[1] Doc. Dr. Radovan Stojanović, "Automatizovani dizajn elektronskih kola (ADEK –

CAED)", Elektrotehnički Fakultet, Univerzitet Crne Gore, 2005.

[2] Clive "Max" Maxfield, "The Design Warrior's Guide to FPGAs", Mentor Graphics Corporation and Xilinx, Inc., 2004.

[3] Eric Ericson Fabris, Gustavo André Hoffmann, Altamiro Susin, Luigi Carro, “A

bit-serial FFT processor”, UFRGS Federal Univ. – Microelectronics Group, 2001.

[4] I.S.Uzun, “FPGA Implementations of Fast Fourier Transforms for Real-Time

Signal and Image Processing”, School of Computer Science, The Queen’s University of Belfast, 2003.

[5] Grant Hampson, “A Possible 100 MSPS Altera FPGA FFT Processor”, 2002

[6] Zhang Xinxi, Song Zhuzhen, and Yao Zongzhong, Xu Jun and Wang Xinzhong, “Portable Vibration Spectrum Analyzer”, Institute of PLA Armored Force Engineering, 2005.

[7] Chi-Jui Chou, Satish Mohanakrishnan, Joseph B. Evans, “FPGA Implementation

Of Digital Filters”, Telecommunications & Information Sciences Laboratory Department of Electrical & Computer Engineering University of Kansas, 2000.

[8] Knut Arne Vinger and Jim Torresen, “Implementing Evolution of FIR-Filters

Efficiently in an FPGA”, Department of Informatics, University of Oslo, 2003.

[9] Joseph B. Evans, “Efficient FIR Filter Architectures Suitable for FPGA

Implementation”, Telecommunications & Information Sciences Laboratory Department of Electrical & Computer Engineering University of Kansas, 1997.

[10] M.Zogović, G. Blagojević, Z.Jakšić, M. Jovanović, R. Stojanović, "Primer

realizacije fleksibilnog FPGA baziranog median filtra", 50. Konferencija ETRAN-a, Beograd 2006.

[11] M. Zogović, “Primena FPGA Tehnologije u Digitalnoj Obradi Slike”, diplomski rad, Univerzitet Crne Gore, Elektrotehnički Fakultet, Podgorica, 2006.

[12] www.altera.com

[13] www.xilinix.com