11.9.2013. Temelj filtera SPIE09 Obrada zvučnih signala 01_04. Projektiranje digitalnih FIR i IIR filtera Ozren Bilan, viši predavač Opdenito, filter je linearan vremenski nepromjenjiv sustav konstruiran za propuštanje pojedinih frekvencija Digitalni filter je numerički postupak ili algoritam; transformira zadanu sekvencu u drugu koja ima poželjnija svojstva PROJEKTIRANJE DIGITALNIH FILTERA Poželjne karakteristike ovise o primjeni: Ulazni zvučni signal Generiran elektroakustičkim pretvaračem (mikrofon) Digitalni filter je linearan vremenski nepromjenjiv sustav konstruiran za propuštanje pojedinih frekvencija. Idealni filter propušta komponente signala određenih frekvencija bez prigušivanja a komponente na ostalim frekvencijama idealno prigušuje. Izlazni signal ima manje šuma i smetnji Govor ima manju redundanciju kako bi se učinkovito transmitirao Idealni filter: 1. 1.1. 1.2. 1.3. 1.4. 2. 3. 4. 5. 6. 7. UVOD Konti nuirani i diskretni signali i DSP Ana liza u vremenskom i frekvencijskom području DSP tra nsformacije Projektiranje digitalnih filtera Zvučni signali visoke razlučivosti HD Audio Di gitalna obrada govora Sa žimanje zvučnih datoteka Uvod u obradu zvučnih signala umjetnim neuralnim mrežama Uvod u obradu i analizu zvučnih signala va lidem Wavelet Ra zlike DSP i procesora 30 s a ti predavanja + 30 sati laboratorijskih vježbi Svi MATLAB kodovi nalaze se u skripti LAB VJEŽBE DOZS propušta komponente signala određenih frekvencija bez prigušivanja, a komponente na ostalim frekvencijama idealno prigušuje. Prema tome: frekvencijska karakteristika ima vrijednost jednaku jedan ili nula. Ozren Bilan 2 Analiza digitalnih filtera DSP algoritme filtera analiziramo određivanjem: Područje frekvencija u kojima frekvencijska karakteristika ima jediničnu vrijednost naziva se propusni pojas, a područje frekvencija gdje je frekvencijska karakteristika jednaka nuli je pojas gušenja. Ozren Bilan 3 Filtri imaju dvije svrhe: odvajanje i restauriranje signala. Odvajanje signala koristi se u slučajevima u kojima je signala pomiješan s interferencijama, šumovima ili drugim signalima. Zamislimo uređaj za mjerenje električne aktivnosti srca fetusa (EKG). Taj signal pomiješan je sa signalom disanja i zvuka srca majke. Potrebno je koristiti filtar koji de odvojiti signale kako bi ih mogli analizirati individualno. Restoracija signala koristi se ako je signal na neki način izobličen. Npr. pri snimanju nesavršenim uređajima mogude je dobiveni signal filtrirati tako da bolje predstavlja zvuk koji je bio pri snimanju. Probleme možemo rješavati s analognim ili digitalnim filtrima. Koji su bolji? Analogni filtri su jeftini, brzi i imaju vrlo veliko dinamičko područje amplitude i frekvencija. Za usporedbu, digitalni filtri su mnogo bolji po pitanju karakteristika koje je mogude postidi. Niskopropusni digitalni filtar može imati pojačanje 1+/- 0.0002 od 0 do 1000 Hz i pojačanje manje od 0.0002 za frekvencije više od 1001 Hz. Čitav prijelaz javlja se samo unutar frekvencijske širine od 1 Hz. Takvi podaci ne mogu se očekivati od sklopova s operacijskim pojačalima! Digitalni filtri postižu tisude puta bolje karakteristike od analognih filtara. Zbog toga nastaje razlika u pristupu problemima pri filtriranju. njihovih karakteristika u vremenskom području preko Jednadžbe diferencija Odziva na jedinični step – impulsnog odziva njihovih karakteristika u frekvencijskom području preko Područja z-transformacije Preko prijenosne funkcije sustava Dijagrama nula i polova u z-ravnini Fourierovom transformacijom preko Frekvencijskog odziva Ozren Bilan 4 Matlab primjeri obrade signala rng default;% rng upravlja generatorom slučajnih brojeva x=ecg(500)'+0.25*randn(500,1); % ecg valni oblik u šumu h=fdesign.lowpass('N,F3dB',12,0.15); d1 = design(h,'butter'); y = filtfilt(d1.sosMatrix,d1.ScaleValues,x); %filtfilt gleda u bududnost signala kako bi eliminirali fazna izobličenja plot(x,'b-.'); hold on; plot(y,'r','linewidth',4); grid; legend('ECG uronjen u šum','Filtriranje nulte faze','location','NorthEast'); QRS kompleks je najvažnija osobina valnog oblika ECG, a na dijagramu, počinje od uzorka 160. Analognim filtrima težište je na obradi problema ograničenja elektronike te točnosti i stabilnosti otpornika i kondenzatora. Digitalni filtri toliko su dobri da se karakteristike filtra zanemaruju. Težište se pomiče prema ograničenjima signala i teoretskih pitanja u smislu obrade. Ozren Bilan 5 Ozren Bilan 6 1 11.9.2013. U DSP uobičajeno govorimo o ulaznim i izlaznim signalima filtra u vremenskom području. Zbog toga što signali najčešde nastaju uzorkovanjem u pravilnim vremenskim intervalima. To nije jedini način nastajanja uzorkovanja. Drugi način je uzorkovanje u jednakim prostornim intervalima. Moguda su i mnoga druga područja; međutim, vrijeme i prostor su najuobičajeniji. Uvijek kad vidimo DSP izraz vremensko područje, ono može stvarno označavati uzorke pribavljene vremenski ali može predstavljati opdenito bilo koje područje u kojem su pribavljeni uzorci. Spektar signala se sastoji od komponenata 60 Hz šum i korisni signal 150Hz i 200Hz. Potrebno je eliminirati komponentu šuma na 60 Hz iz korisnog signala. Koristimo uskopojasno nepropusni (notch) IIR filter točno na frekvenciji smetnje Svaki linearni filtar određen je impulsnim odzivom, odzivom na step i frekvencijskim odzivom. Svaki odziv sadržava cjelovite informacije o filtru u različitim oblicima. Za bilo koji specificirani odziv, druga dva su zadana i mogu se odrediti. Važna su sva tri jer opisuju kako de se filter odazvati u različitim uvjetima. Prvi najučinkovitiji način primjene digitalnog filtra je konvoluiranje ulaznog signala s impulsnim odzivom digitalnog filtra. Ovim načinom mogu se napraviti svi mogudi linearni filtri. Objasnili smo da konvolucija opisuje odnose tri signala: ulaznog signala, izlaznog signala i impulsnog odziva. To je matematička operacija koja svaku vrijednost na izlazu izražava kao sumu vrijednosti ulaza pomnoženu nizom težinskih koeficijenata. Koristimo li impulsni odziv na opisani način, projektanti filtra nazivaju ga : jezgra ili kernel. 7 Ozren Bilan 8 Ozren Bilan Drugi način izrade digitalnih filtra, nazivamo rekurzijski. Ako implementiramo filtre konvolucijom, svaki uzorak izlaznog signala računa se ponderiranjem ulaznih uzoraka i njihovim sumiranjem. Rekurzivni filtri predstavljaju proširenje jer koriste predhodno izračunate vrijednosti izlaznog signala pored vrijednosti ulaznog signala. Umjesto korištenja jezgre filtra, rekurzivni filtri određeni su nizom rekurzijskih koeficijenata, što demo detaljnije opisati. Za sad je najvažnije kako svi linearni filtri posjeduju impulsni odziv, iako ga ne trebamo koristiti kako bi implementirali filter. Za određivanje impulsnog odziva rekurzivnih filtera kroz njih propustimo impuls pa pogledamo oblik signala na izlazu. Impulsni odziv rekurzivnih filtra su sastavljen od sinusoida koje eksponencijalno slabe amplitudu. Zbog toga je njihov izlaz beskonačno dugačak. Međutim, amplituda može oslabiti ispod razine šuma kvantizacije pa preostale uzorke zanemarujemo. Zbog navedenih karakteristika, rekurzivni filtri se nazivaju filtri beskonačnog impulsnog odziva (IIR). Filtri izvedeni konvolucijom nazivaju su filtri konačnog impulsnog odziva (FIR). Impulsni odziv je izlaz sustava ako je na ulazu impuls, a odziv na step je izlaz ako je na ulazu step funkcija. Bududi da je step integral impulsa, odziv na step je integral impulsnog odziva. To nam onda omogudava dva načina određivanja odziva na step: (1) propustiti step valni oblik kroz filtar pa pogledati izlaz ili (2) integrirati impulsni odziv. Parametri filtera. Svaki linearni filter ima impulsni odziv, odziv na step i frekvencijski odziv. Odziv na step, (b), može se odrediti diskretnom integracijom impulsnog odziva, (a). Frekvencijski odziv može se odrediti iz impulsnog odziva Brzom Furierovom transformacijom (FFT), a može se prikazati na linearnoj skali, (c) ili u decibelima (d). Ozren Bilan 9 Kako bi bili matematički ispravni: integracija se koristi s kontinuiranim signalima, a diskretna integracija, tj., tekuda suma running sum, se koristi s diskretnim signalima. Frekvencijski odziv se određuje DFT (korištenjem FFT algoritma) impulsnog odziva, što demo naknadno pokazati. Frekvencijski odziv može se prikazati s linearnom ordinatom ili na logaritamskoj skali u decibelima. Linearna skala najbolje prikazuje gušenje i valovanje u propusnom području, dok skala u decibelima najbolje pokazuje atenuaciju nepropusnog područja. Bel, po Alexander Graham Bellu, označava deseterostruku promjenu snage. Elektronički sklop s 3 Bela pojačanja dat de izlazni signal koji je 10×10×10=1000 puta vede snage od ulaznog. Decibel (dB) je desetina Bela. Dakle, decibel vrijednosti: -20dB, -10dB, 0dB, 10dB i 20dB, označavaju odnose snaga od: 0.01, 0.1, 1, 10 i 100. Drugim riječima, svakih deset decibela označava da se snaga promjenila deseterostruko. Pri radu koristimo amplitude, a ne snage koje su proporcionalne kvadratu napona. Ako neko pojačalo ima pojačanje 20dB to po definiciji označava da se snaga signala povečala 100 puta. Bududi da je amplituda proporcionalna korijenu snage, amplitude izlaza bit de deseterostruka ulazna amplituda. Dakle, 20dB znači faktor 100 snage ali samo faktor 10 amplitude. Za svakih dvadeset decibela amplituda se promjeni za deset puta. Ozren Bilan 11 10 Ozren Bilan Jednadžbom to označavamo: dB= 10 log (P2/P1) dB= 20 log (A2/A1) Definicija decibela. Decibel je način izražavanja odnosa dva signala. Odnos snaga i odnos amplituda koriste različite jednadžbe, jer je snaga proporcionalna kvadratu napona. Gornje jednadžbe koriste dekadske logaritme; međutim, mnogi programski jezici omogudavaju samo funkcije prirodnih logaritama po bazi e. Tada modificiramo gornje jednadžbe prema izrazu: korištenjem odnosa prema nekoj normi. Tako izraz: dBV označava amplitudu prema 1 voltu efektivne vrijednosti. Slično tome, dBm pokazuje snagu signala prema 1 mW, a dBu napon signala prema 0,775V. Izražavamo li razinu zvučnog tlaka u decibelima tada je dBspl vrijednost omjera prema pragu osjeta sluha od 2010-6 Pa. Treba zapamtiti: -3dB znači da se amplituda smanjila za 0.707, pa se snaga smanjila na polovinu. Dobro je zapamtiti slijedede odnose između decibela i amplituda: dB =4.342945 loge (P2/P1) dB =8.685890 loge (A2/A1) Bududi da decibeli predstavljaju način izražavanja odnosa dva signala idealni su za opisivanje pojačanja sustava, tj., odnosa između izlaznog i ulaznog signala. Međutim, decibelima se specificira i Ozren Bilan amplitude ili snaga jednog signala 60dB 40dB 20dB 0dB -20dB -40dB -60dB = 1000 = 100 = 10 =1 = 0.1 = 0.01 = 0.001 12 2 11.9.2013. Kako signal prikazuje informaciju ? Najvažniji dio svake DSP zadade je razumijevanje kako je pohranjena informacija u signalu s kojim radimo. Postoje samo dva uobičajena načina kojim predstavljamo informaciju u signalima koji se javljaju u prirodi: • informacija prikazana u vremenskom području i • informacija prikazana u frekvencijskom području. Informacija prikazana u vremenskom području opisuje kada se nešto dogodilo i kolika je amplituda pojave. Zamislimo pokus kojim se analizira svjetlost sunca. Intenzitet svjetlosti se izmjeri i pohrani jednom svake sekendu. Svaki uzorak signala pokazuje što se dogodilo u određenom trenutku kao i razinu pojave. Pri pojavi solarnog toka, signal neposredno omogudava vremensku informaciju o trenutku pojave, trajanju, vremenskoj promjeni, itd. Svaki uzorak sadržava informaciju koja se može interpretirati bez referencijalne vrijednosti prema bilo kojem drugom uzorku. Čak i kada posjedujemo samo jedan uzorak ovog signala, još uvijek znamo nešto o onome što mjerimo. To je najjednostavniji način pohrane informacije u signalu. Za razliku od toga, informacije u frekvencijskom području prikazuju se indirektno. Mnoge pojave svijeta koje nas okružuju imaju periodičnost. npr., kucnemo li noktom čašu ona de zatitrati što de popratiti istitravajudi zvuk; njihalo antiknog sata njiše se lijevi desno; zvijezde i planeti rotiraju oko osi i okredu se jedni oko drugih i tako dalje. Mjerenjem frekvencije, faze i amplitude ovih periodičnih gibanja, najčešde dobvamo informacije o sustavu u gibanju. Pretpostavimo uzorkovanje zvuka kojeg daje čaša. Fundamentalna frekvencija i harmonici periodičkih vibracija povezuju masu i elastičnost materijala. Jedinstveni uzorak, sam po sebi, ne sadržava informacije o periodičnosti gibanja, pa tako ni informacije o čaši. Informacija je pohranjena u odnosima mnogih točaka signala. To nas dovodi do značaja frekvencijskog odziva i odziva na koračnu pobudu. Odziv na step opisuje kako sustav modificira informaciju predstavljenu u vremenskom području. Za razliku od toga, frekvencijski odziv pokazuje kako se mijenja informacija predstavljena u frekvencijskom području. Ta razlika je kritična pri projektiranju filtra jer ih je nemogude optimizirati za obje primjene. Dobre karakteristike u vremenskom području imaju za poslijedicu loše karakteristike u frekvencijskom području i obrnuto. Ako projektiramo filter za eliminiranje šuma iz EKG signala (što je informacija prikazana u vremenskom područje ), odziv na step je vrlo važan parametar, a frekvencijski odziv nije. Ako nam je zadada projektiranje digitalnog filtra aparata za sluh (s informacijom u frekvencijskom području), frekvencijski odziv je vrlo važan, a odziv na step nije. Upitajmo se: što čini filtre optimalnim za primjene u vremenskom ili frekvencijskom području ? 13 Ozren Bilan Parametri vremenskog područja Možda odmah nije očito zašto odziv na step ima takav značaj u filtrima vremenskog područja, a impulsni odziv nije tako važan parametar. Odgovor je sadržan u načinu kojim ljudski um poima i obrađuje informacije. Pri tome moramo imati na umu da odziv na step, impulsni odziv i frekvencijski odziv sadrže identične informacije ali na različite načine. Odziv na step je koristan pri analizi u vremenskom području jer je prilagođen načinu kojim ljudi sagledavaju informacije pohranjene u signalu. Pretpostavimo za primjer da vam je zadana analize signala nepoznatog porijekla. Prvo što de te napraviti je da ga podijelite u područja sličnih karakteristika. Jednostavno, to je ono što de vaš um napraviti spontano, automatski bez razmišljanja. Neka područja mogu biti glatka; druga mogu imati vrhove visokih amplituda; treda mogu biti uronjena u šum. Opisanu segmentaciju postižemo identificiranjem točaka koja dijele razna područja. To je upravo način gdje je odlučujudi odziv na step. Step funkcija je najjednostavniji i najočitiji način predstavljanja podjele između dva različita područja. Vrlo lako uočavamo početak i kraj neke pojave. Odziv na step nam pokazuje da je nešto što je nastalo prije (s lijeva) različito od nečega kasnije (s desna). Najopdenitije, kazuje nam da je nešto s lijeva različito od nečega s desna. To je način kojim ljudski um sagledava informacije u vremenskom području: grupe step funkcija dijele informacije u područja sličnih karakteristika. Zbog toga je odziv na step važan jer opisuje kako se linije podijela mijenjaju primjenom filtra. Ozren Bilan Najvažnije parametre odziva na step pri projektiranju filtra prikazujemo grafički. Kako bi razlikovali događaje unutar signala, trajanje odziva na step mora biti krade nego što je udaljenost događaja. To uvjetuje da odziv na step bude, DSP žargonom, što je mogude brži. Najčešdi način određivanja vremena porasta je specificiranje broja uzoraka između 10% i 90% razine amplitude. Zašto brzo vrijeme porasta nije uvijek mogude? Tome su uzrok mnogi razlozi: redukcija šuma, inherentna ograničenja sustava za akviziciju podataka, spriječavanje aliasa, itd. Idudi važni parametar je prebačaj u odziv na step. Najopdenitije, prebačaj treba u potpunosti eliminirati jer mijenja amplitude uzoraka signala; To je temeljno izobličenje informacija sadržanih u vremenskom području. Najvažnije je znati odgovoriti na pitanje da li je nastali prebačaj posljedica onoga što želimo izmjeriti ili zbog primijenjenog filtra? Konačno, uvijek je poželjno da gornja i donja polovina odziva na step budu simetrične. Simetrija je potrebna kako bi rubovi porasta signala izgledali isto kao rubovi slabljenja. Ovu simetriju nazivamo linearna faza, jer se frekvencijski odziv sastoji od amplitudnog i faznog odziva. Linearni odziv faze predstavljen je ravnom linijom (što smo ved objasnili u prethodnim poglavljima). Nabrojena tri parametra treba u potpunosti shvatiti jer su ključni za procjenu vremenskog područja filtra 15 Ozren Bilan 14 Ozren Bilan 16 Ozren Bilan 18 Parametri procjene karakteristika u vremenskom području: Odziv na step je mjera ponašanja filtra u vremenskom područje. Važna su tri parametra: Ozren Bilan • brzina prijelaza (transition speed risetime), prikazan na slikama (a) i (b), • prebačaj, prikazan na (c) i (d), i • fazna linearnost (simetrija gornje i donje polovine stepa), pokazuje (e) i (f). 17 Parametri: • Brzina prijelaza (transition speed risetime) • Prebačaj • Fazna linearnost (simetrija gornje i donje polovine stepa) prikazani su na primjeru Besselovog, Butterworthovog i Čebiševljevog filtra 3 11.9.2013. Parametri frekvencijskog područja Postoje četiri temeljna frekvencijska odziva. Svrha filtera je dopustiti da neke frekvencije prođu nepromijenjene, a da se istovremeno potpuno blokiraju druge frekvencije. Propusno područje označava propuštene frekvencije, a nepropusno područje sadržava sve blokirane frekvencije. Između njih je prijelazni ili tranzicijski pojas. Brzo odrezivanje (roll-off) označava vrlo uski prijelazni pojas. Podijela između propusnog područja i prijelaznog pojasa nazivamo odrezna frekvencija. Pri projektiranju analognih filtara, odrezna frekvencija se uobičajeno definira prema mjestu na kojem se amplituda smanji za 0.707 (tj., -3dB). Digitalni filteri nisu normirani !!! Uobičajeno je definiranje odrezne frekvencije pri 99%, 90%, 70.7% i 50% razine amplitude. Ozren Bilan 19 Slika pokazuje tri parametra koja pokazuju karakteristike filtra u frekvencijskom području. Kako bi odijelili bliske frekvencije, filter mora imati brzo odrezivanje, što pokazuju slike (a) i (b). U propusnom području, frekvencije se moraju propuštati kroz filter potpuno nepromijenjene amplitude, što znači da ne smije nastajati valovanje u propusnom području, što prikazuju slike (c) i (d). Ozren Bilan Konačno, kako bi se zadovoljavajude blokirale frekvencije u nepropusnom području, nužno je postidi dobru atenuaciju nepropusnog područja, što pokazuju slike (e) i (f). Ozren Bilan Drugim riječima, frekvencijski odziv filtera bit de ustaljen (kontinuiran) signal između nule i polovine frekvencije uzorkovanja. Izlaz DFT je uzorkovanje ove kontinuirane linije. Pitanje je onda koju dužinu impulsnog odziva treba koristiti pri proračunu frekvencijskog odziva filtra? Prvo pokušamo s N=1024, ali možemo ga i promijeniti ako je to potrebno (npr. ako je nedovoljna rezolucija ili predugo vrijeme proračuna 23 20 Među opisanim parametrima ne spominje se faza? Prvo, faza nema značaj u najvedem broju primjena u frekvencijskom području. Faza audio signala je u potpunosti slučajna i sadržava vrlo malo korisnih informacija. Drugo, kada bi faza bila važna, bilo bi vrlo lako projektirati digitalne filtre s idealnim faznim odzivom, tj., sve frekvencije bi se propuštale kroz filter s nultim pomakom faze. Analogni filtri pokazuju u tom području vrlo loše karakteristike. U prethodnim poglavljima opisali smo kako DFT pretvara impulsni odziv sustava u frekvencijski odziv. Kratko demo ponoviti kako je najbrži način proračuna DFT preko FFT algoritma. Počinje se kernelom filtra dužine N uzoraka, FFT proračunava frekvencijski spektar koji se sastoji od realnog dijela od N točaka i imaginarnog dijela od N točaka. Pri tome samo uzorci od 0 do N/2 realnog i imaginarnog dijela FFT sadržavaju korisne informacije; sve preostale točke su negativne frekvencije i mogu se zanemariti. Bududi da su realni i imaginarni dio ljudima teško shvatljivi, najčešde se pretvaraju u polarni oblik. Tako dobivamo magnitudu i fazu signala, od uzorak 0 do uzoraka N/2 (tj., N/2+1 uzoraka u svakom signalu). Npr., impuls odziv od 256 točaka dat de frekvencijski odziv od točke 0 do 128. Uzorak 0 predstavlja istosmjernu komponentu; tj., nultu frekvenciju. Uzorak 128 predstavlja polovinu frekvencije uzorkovanja. Treba zapamtiti kako se u uzorkovanim podacima ne mogu pojaviti frekvencije više od polovine frekvencije uzorkovanja. 21 Broj uzoraka koji se koristi za prikaz impulsnog odziva može biti po volji velik. Npr., pretpostavimo da želite odrediti frekvencijski odziv kernela filtra koji se sastoji od 80 točaka. Bududi da FFT funkcionira samo sa signalima koji su potencija broja dva, potrebno je dodati 48 nula signalu kako bi imao 128 uzoraka. Ovo dopunjavanje s nulama nede promijeniti impulsni odziv. Kako bi shvatili zašto je to tako, prisjetimo se što de se dogoditi s dodanim nulama ako ulazni signal konvoluiramo s impulsnim odzivom sustava. Dodane nule jednostavno de nestati pri konvoluciji pa nede djelovati na izlazni signal. Očito je da impulsnom odzivu možemo dodati po volji mnogo nula kako bi ga napravili dugačkim 256, 512, ili 1024 točaka. Pri tome je važno uočiti kako duži impulsni odzivi rezultiraju manjom udaljenošdu podatkovnih točaka u frekvencijskom odzivu. Dakle, postoji više uzoraka između nule i polovine frekvencije uzorkovanja. Ako impulsni odziv napunimo s beskonačnim brojem nula, točke podataka u frekvencijskom odzivu bit de infinitezimalno bliske, tj., dobivamo ustaljenu (kontinuiranu) liniju, pa tako u MATLAB-u generiramo pseudoanalogne signale Ozren Bilan Četiri uobičajena frekvencijska odziva. Filtri frekvencijskog područja koriste se da bi propustili neke frekvencije (propusno područje), a blokirali ostale (nepropusno područje). Najčešda su četiri odziva: niskopropusni, visoki propust, pojasni propust i pojasna brana ili pojasno nepropusni filter – (vrlo uzak naziva se klanac ili notch) Ozren Bilan Klasifikacija filtera *Napomena: Poglavlja se odnose na staru skriptu Čebiševljev, Butterworth, Eliptički,… 22 Digitalni filtri implementiraju se na dva načina, konvolucijom (što nazivamo konačni impulsni odziv ili FIR) i rekurzijski (beskonačni impulsni odziv ili IIR). Filtri koji se izvode konvolucijom imaju bolje karakteristike od rekurzijskih, ali se izvode mnogo duže. Uporaba digitalnih filtra dijeli se u tri kategorije: vremensko područje, frekvencijsko područje i posebni slučajevi. Kako smo pokazali, filtri vremenskog područja koriste se sa signalima kojima je informacija kodirana u valnom obliku. Filtriranje u vremenskom području koristi se za glađenje, eliminiranje istosmjerne komponente, oblikovanje signala, itd. Za razliku od njih, filtri frekvencijskog područja koriste se ako je informacija kodirana u amplitudi, frekvenciji i fazi sinusoidalnih komponenti. Cilj tih filtara je odvajanje jednog pojasa frekvencija od drugog. Posebni filtri se koriste ako filtar treba izvesti posebnu akciju, koja je mnogo složenija od temeljnih odziva filtra. Ozren Bilan 24 4 11.9.2013. Matematička analiza filtera Signali koje susredemo u praksi mogu biti digitalni ili analogni. Analogni signali su kontinuirani u vremenu i amplitudi, te su za obradu takvog signala potrebni aktivni i pasivni elementi. Pristup takve obrade signala imamo npr. kod televizijske i radijske obrade, koja se naziva analogna obrada signala (ASP). Analogni signal mogude je obraditi i digitalnim sklopom, multiplekserima, logičkim elementima ili programskim procesorima ali je potrebno prilagoditi analogni signal digitalnom sklopu. Takav sustav uzima vrijednost analognog signala u određenim trenucima (vremenskim odsječcima) i prikazuje ih u binarnom brojevnom sustavu. Proces obrade takve vrste signala nazvan je digitalna obrada signala (DSP). Ozren Bilan frekvencijska ili fazna analiza spektra, prepoznavanje govora, analiza govora, pronalaženje izvora. Filtriranje signala karakteristično je po odnosu signal ulaza-izlaza. Takav sustav naziva se filter i on je obično u vremenskom području. Neke aplikacije su: • • • • uklanjanje neželjenog šuma, uklanjanje smetnji, odvajanje frekvencija, ograničavanje spektra. Ozren Bilan Bitne kategorije vezane za digitalnu obradu signala su analiza i filtriranje signala. Ozren Bilan Primjena digitalnih filtera u odnosu na primjenu analognih filtera ima prednosti koje se uglavnom pripisuju digitalnim sustavima: • karakteristike se mogu programirati, • tolerancije komponenata nisu kritične, • utjecaj okoline i starenja nije značajan, • postiže se visoka pouzdanost i točnost u radu. Osnovni nedostaci digitalnih filtera javljaju se pri nižim brzinama rada i postojanju šuma ali sa razvojem tehnologije ti su nedostaci u značajnom stupnju otklonjeni. 29 26 Analogni filter Električni filter je elektronički sklop čija je funkcija da na određeni način promjeni karakteristiku frekvencijskog spektra ulaznog signala. Cilj je umanjiti neželjena svojstva ulaznih veličina i zadržati ili istaknuti željena svojstva. Postoje pasivni filteri koji su sastavljeni samo od pasivnih komponenata (zavojnica, kondenzatora, otpornika) i aktivni filteri koji pored pasivnih sadrže jednu ili više aktivnih komponenata sa svojstvom pojačanja signala (tranzistori, operacijska i druga pojačala). Aktivni filter može biti analogni ili digitalni. Analogni filter obrađuje analogni signal i može se predstaviti linearnim četveropolom. Digitalni filter obrađuje diskretni signal i realizira se pomodu posebnih integriranih krugova ili kao algoritam kojega izvodi procesor digitalnog signala. 27 Njihovom primjenom ulazni digitalni niz se transformira u izlazni tako da sadržava određene željene karakteristike ulaznog signala, a potiskuje i slabi neželjene karakteristike. Ozren Bilan • sustav razvijen na digitalnoj obradi mogude je razvijati i testirati za vrijeme rada u samome sustavu i programski je prenosiv, • signal obrađen na ovakav način stabilniji je od vanjskih utjecaja (npr. temperature), • omogudava promjene u stvarnom (realnom) vremenu, jednostavnim programskim promjenama pojedinih parametara unutar programa, • korištenjem digitalne obrade (DSP) snižava se cijena proizvoda. 25 Analiza signala ima zadadu mjerenja svojstva signala i odvija se u frekvencijskom području. Neke aplikacije su: • • • • Mogude je obraditi signal analogno i digitalno. Digitalna obrada signala je na prvi pogled dosta složenija od analogne ali ima mnoge prednosti: Ozren Bilan 28 Prijenosna funkcija analognog filtera Električki filter je sustav, pa ga je u tom smislu mogude definirati kao skup specifikacija kojima su određeni odnosi između njegovih ulaza i izlaza. Linearnom i vremenski nepromjenjivom sustavu odnos između ulaza i izlaza sustava definiran je konvolucijskim integralom: y (t ) h(t ) x( )d , gdje su : 0 h (t) impulsni odziv sustava, x (t) ulaz, poticaj ili pobuda, y (t) izlaz ili odziv sustava. Sa matematičkog gledišta sustav je mogude shvatiti kao operator koji djeluje na ulaznu veličinu, što se može opisati izrazom: y (t ) F x(t ) Ozren Bilan 30 5 11.9.2013. Laplace-ovom transformacijom konvolucijskog integrala dobiva se odnos ulaznog i izlaznog signala u frekvencijskoj domeni: Laplace-ovom transformacijom ovoga izraza i izdvajanjem X(s) i Y(s) mogude je M prijenosnu funkciju H(s) izraziti kao: i Y ( s) H ( s) X ( s) , H ( s) gdje je H(s) prijenosna funkcija filtera. Prijenosna funkcija H(s) definirana je kao omjer Laplace-ovih transformacija izlaznog i ulaznog signala, a dana je izrazom: H ( s) Y ( s) X (s) a s i i 0 N b s . j j j 0 Funkcija H(s) je realna racionalna funkcija kompleksne frekvencije s, koju je mogude prikazati u obliku omjera dvaju polinoma s realnim koeficijentima: H ( s) . P( s) Q( s ) . Tu funkciju H(s) je mogude prikazati i u slijededem obliku: s s s s s s ...s s s s Opdi oblik električkog filtera, koji se razmatra, je električna mreža sastavljena od konačnog broja elemenata koji su: • koncentrirani, • linearni, • vremenski nepromjenjivi. Za takve sustave ulazno-izlazne odnose mogude je definirati diferencijalnom jednadžbom N-tog reda: bN Y ( s ) a M s M a M 1 s M 1 ... a1 s a0 X ( s) bN s N bN 1 s N 1 ... b1 s b0 M H ( s) k s s s s ...s s s s k oM oM 1 o2 o1 pN pN 1 p2 p1 , pj s r H ( s) k 2 i 1 t s 2 2 oi s oi 2 2 pj s pj j 1 2 s j 1 M oi M 2 oi 2 s s oi s oi qoi i 1 i 2 r 1 H ( s) k . t N s 2 pj s pj 2 s pj q pj j 1 j 2t 1 i 2 r 1 N s r , pj j 2 t 1 Pošto je kompleksna varijabla s = σ +j Ω , proizlazi da je i funkcija H(s) kompleksna veličina za neki proizvoljni broj σ. U uvjetima stacionarnog stanja sinusne pobude, varijabla s postaje jednaka jΩ, pa i prijenosna funkcija H(s) postaje H(jΩ) koja se naziva kompleksnom frekvencijskom karakteristikom filtera. Osnovna funkcija električnih filtera sadržana je upravo u obliku frekvencijske karakteristike H(j Ω). j dNy d N 1 y dy bN 1 N 1 .... b1 b0 y dt N dt dt dMx d M 1 x dx aM M aM 1 M 1 .... a1 a0 x , dt dt dt H j H j e gdje su bi ( i = 0,N) i aj (j = 0,M) realni koeficijenti. 31 Ozren Bilan oi i 1 N s s . 32 Ozren Bilan Frekvencijska karakteristika analognog filtera Modul prijenosne funkcije električnog filtera često se izražava u logaritamskom mjerilu: ln H j ln H j j N j . Promjene koje električni filter treba unijeti u spektar ulaznog signala najčešde se svode na prigušenje ili eliminaciju određenih nepoželjnih frekvencijskih komponenti tog signala. Za zadani ulazni signal x(t) s pripadajudim frekvencijskim spektrom X(j Ω), Funkcija aN(Ω) naziva se logaritamskom mjerom pojačanja filtera i izražava u Neperima *N+. Ako se modul logaritmira po dekadskoj bazi dobiva se logaritamska mjera pojačanja izražena u decibelima [dB]. X j X j e jx , 20 log H j 8.686 N . spektar izlaznog signala određen je izrazom kao umnožak spektra signala i prijenosne funkcije. Y j Y j e jy H j X j , Pored fazno frekvencijske karakteristike Φ(Ω), često se koristi i karakteristika vremena grupnog kašnjenja Tg(Ω) definirana kao: Tg Za module i faze vrijede slijededi izrazi: d . d Y ( j) H ( j) X ( j) , Y X . 33 Ozren Bilan L Primjer analognog filtera U C 1 R 1 C U 2 2 |H(j Ω )| Amplitudno frekvencijska i fazna karakteristika Amplitudno frekvencijska karakteristika je modul izraza i prikazana na slici 1.4 Prijenosna funkcija H(s)=U2(s)/U1(s) mreže je: 1.2 s 2 o H ( s) k , p 2 s2 s p qp 2 gdje su : k C1 , o C1 C2 1 , LC1 p 34 Ozren Bilan 1 o 2 2 0.8 1 i LC1 C2 qp R C1 C2 . L Uvrstimo R=1 kΩ, C1=C2=1 nF i L=0.5 mH, pa je: s p1, 2 Nule prijenosne funkcije H(s) su: so1, 2 j 2 106 . H ( s) 1 s 2 2 1012 . 2 s 2 0.5 10 6 s 1012 0.4 0 105 106 107 Ω -40 o . p 2 p qp -80 2 j Ozren Bilan -120 Ω -160 35 2 p qp 2 . 0 H ( j) k 2 2P q S 0 arctg 2 P 2 P Ф(Ω) [o ] 4 0 Uvrštenjem s = jΩ u prijenosnu funkciju H(s) dobiva se kompleksna frekvencijska karakteristika filtera H(jΩ): 2 2 2 p Fazno frekvencijska karakteristika filtera dana je slijededim izrazom a prikazana je na slici: 0.2 1 15 106 j 106 . 4 4 Polovi prijenosne funkcije H(s) su: H ( j ) k 0.6 105 106 Nule na imaginarnoj osi uzrokuju skok u faznoj karakteristici na frekvenciji Ω = Ωo, što ima za posljedicu promjenu predznaka funkcije H(j Ω) na toj frekvenciji. 7 10Ozren Bilan 36 6 11.9.2013. Karakteristika vremena grupnog kašnjenja Tipovi analognih filtera Karakteristika vremena grupnog kašnjenja Tg(Ω), dobiva se derivacijom izraza za fazu po frekvenciji Ω: Tg 0 2 P 2 P 2 P / qP 2 P / qP Analogne filtere je mogude s obzirom na oblik frekvencijske karakteristike podijeliti u dvije skupine: 2 Dirakov δ-impuls u točki Ω = Ωo, ima za posljedicu skok u fazi, odnosno postojanje nula prijenosne funkcije na imaginarnoj osi. Tg ( Ω) [ μs] • selektivni filteri, • korektori. 4 3 2 1 Ω 0 106 105 107 37 Ozren Bilan Selektivni filteri Kod selektivnih filtera oblik |H(jΩ)| je takav da omoguduje jasnu razliku frekvencijskih područja u kojima je ulazni signal prigušen od onih u kojima je on propušten. Područje propuštanja filtera: • predstavlja pojas frekvencija u kojima amplitudno frekvencijska karakteristika ima vrijednost približno jednaku jedinici, • komponente pobudnog signala čije su frekvencije unutar tog pojasa pojavljuju se na izlazu filtera s približno istom amplitudom kao i na ulazu. Područje gušenja filtera: • predstavlja pojas frekvencija u kojima amplitudno frekvencijska karakteristika ima vrijednost približno jednaku nuli, • frekvencijske komponente ulaznog signala koje se nalaze unutar tog pojasa nisu propuštene na izlaz. Prijelazno područje filtera: • predstavlja područje frekvencija na prijelazu između područja propuštanja i područja gušenja, • područje je kontinuirano jer amplitudno frekvencijska karakteristika |H(j Ω)| je funkcija bez diskontinuiteta. S obzirom na položaj svakog od spomenutih područja na frekvencijskoj osi mogude je razlikovati četiri osnovna tipa selektivnih filtera: 39 Ozren Bilan 38 Ozren Bilan 1. • • • niskopropusni (NP) filter područje propuštanja za 0 < Ω < Ω 1 , područje gušenja za Ω 2 < Ω < ∞ , vrijedi da je Ω1 < Ω2. 2. visokopropusni (VP) filter • područje propuštanja za Ω2 < Ω < ∞, • područje gušenja za 0 < Ω < Ω1, • vrijedi da je Ω1 < Ω2. 3. • • • pojasno propusni (PP) filter područje propuštanja za Ω2 < Ω < Ω3, područja gušenja za 0 < Ω < Ω1 i Ω4 < Ω < ∞, vrijedi da je Ω1 < Ω2 < Ω3 < Ω4. 4. • • • pojasna brana (PB) područje propuštanja za 0 < Ω < Ω1 i Ω4 < Ω < ∞, područja gušenja za Ω2 < Ω < Ω3, vrijedi da je Ω1 < Ω2 < Ω3 < Ω4. Ozren Bilan j 1 0 1 2 1 2 1 2 j 1 0 j 1 0 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 j 1 0 40 Filterski korektori Filterski korektori za razliku od selektivnih filtera nemaju jasno definirana područja propuštanja, odnosno područja gušenja. Oni služe za korekciju frekvencijske karakteristike nekog drugog sustava. S obzirom na činjenicu korigiraju li amplitudno-frekvencijsku ili faznofrekvencijsku karakteristiku sustava dijele se na: • amplitudne korektore i • fazne korektore. Od faznih korektora najčešde se koriste svepropusni filteri: • amplitudno-frekvencijska karakteristika im je ravna na cijelom frekvencijskom području, • sve su frekvencijske komponente signala prenesene bez prigušenja ali su fazno pomaknute prema definiranim filterskim specifikacijama. j 1 0 Ozren Bilan 41 Analogni filteri u Matlabu Mogu se projektirati slijededi tipovi filtera Projektirat demo pojasno propusni (BP) Chebyshev tip I filter 10.og reda, s 3 dB valovanja u propusnom pojasu: [z,p,k] = cheb1ap(5,3); z, p, i k sadrže polove, nule i pojačanje niskopropusnog analognog filtera s odreznom frekvencijom Wc 1 rad/s. Koristimo lp2bp funkciju za transformaciju LP prototipa u pojasno propusni filter s pojasnim rubovima W1 = p/5 i W2 = p. Ozren Bilan 42 7 11.9.2013. Digitalni filter Digitalni filter je linearan vremenski nepromjenjiv sustav konstruiran za propuštanje pojedinih frekvencija. Idealni filter propušta komponente signala određenih frekvencija bez prigušivanja a komponente na ostalim frekvencijama idealno prigušuje. Prema tome frekvencijska karakteristika ima vrijednost jednaku jedan ili nula. Područje frekvencija u kojima frekvencijska karakteristika ima vrijednost jedan naziva se propusni pojas ωp a područje frekvencija gdje je frekvencijska karakteristika jednaka nuli je pojas gušenja ωs. Osnovni tipovi digitalnih filtera su [z,p,k] = cheb1ap(5,3); [A,B,C,D] = zp2ss(z,p,k); % konvertira u state–space oblik prostora stanja u1 = 0.1*2*pi; u2 = 0.5*2*pi; % u radijanima u sekundi Bw = u2-u1; Wo = sqrt(u1*u2); [At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw); [b,a] = ss2tf(At,Bt,Ct,Dt); % konverzija u TF oblik w = linspace(.01,1,500)*2*pi; % generira frekvencijski vektor h = freqs(b,a,w); % računa frekvencijski odziv semilogy(w/2/pi,abs(h)), grid % crta log. magnitudu u ovisnosti f. Ozren Bilan niskopropusni 43 visokopropusni pojasno propusni pojasno blokirni Ozren Bilan 44 1 H e 1 za Propusni pojas dan je izrazom: H e j S za S Pojas gušenja digitalnog filtera: Često se prijenosna karakteristika filtera zadaje u logaritamskom mjerilu: H 20 log10 H e j tada je: valovitost u propusnom pojasu: P 20 log10 1 P dB minimalno gušenje u pojasu gušenja: S 20 log10 S dB Granične frekvencije područja propuštanja i područja gušenja računaju se na slijededi način 2f S 2f P j P P P P S fT fT gdje je fT frekvencija uzorkovanja, a fp i fs su granične frekvencije pojasa propuštanja i pojasa gušenja u Hz. Maksimalna vrijednost amplitudne karakteristike je jedan. Maksimalna devijacija u propusnom pojasu je: 1/ 1 2 2 maksimalno gušenje u propusnom pojasu iznosi max 20 log10 1 dB Maksimum amplitudne karakteristike u pojasu gušenja je 1/A. 45 Ozren Bilan Podjela digitalnih filtera Za razliku od analognih filtera gdje je karakteristika dana ovisnošdu napona i struje kod digitalnih filtera karakteristika je dana ovisnošdu između ulaza i izlaza. Ulazni niz x(n) i izlazni niz y(n) digitalnog filtera povezani su jednadžbom diferencija sa konstantnim koeficijentima. Jednadžba u opdem obliku: M N k 0 k 1 yn ak xn k bk yn k 46 Ozren Bilan Primijenimo z-transformaciju na lijevu i desnu stranu relacije: Y z a xn k z M n k 0 M ak n 0 n k b yn k z M n xn k z n bk n n 1 M M k 0 k 1 k 1 n yn k z n n x z a k z k y z bk z k , Dobivamo prijenosnu funkciju H(z): M Nizovi aK i bK karakteriziraju dani filter i nazivaju se koeficijentima filtera. U daljem razmatranju bez značajnog utjecaja izjednačit demo M i N, te za daljnju analizu potrebno je definirati početne uvjete i odrediti y(n) za n≥0. Ako su poznati koeficijenti filtera aK i bK, ulazni niz x(n) za n≥-N, početni uvjeti y(-1), Y(-2),…, y(N), korištenjem relacije može se odrediti vrijednost y(n) za bilo koje n≥0. x1(n) a x(n) x(nAnalizirajudi jednadžbu x(n) ax(n) 1) z-1 x1(n)+x2(n) vidimo da je za realizaciju x2(n) digitalnih filtera potrebno izvršiti operacije x1(n) x(n) a ax(n) x(n) x(nz-1 x1(n)+x2(n) sumiranja, množenja i 1) kašnjenja (prikazan je x2(n) način njihovog a) sumiranje b) množenje c) kašnjenje Ozren Bilan 47 označavanja): k M H z Y z X z a z k 0 M k k 1 bk z k . k 0 Prijenosnu funkciju H(z) često nazivamo i funkcijom sustava. To je racionalna funkcija od z čiji su koeficijenti ak i bk identični koeficijentima jednadžbe diferencija. Digitalne filtere dijelimo u dvije grupe: • rekurzivne IIR-filtere, • nerekurzivne FIR-filtere. Ozren Bilan 48 8 11.9.2013. Diferencijalna jednadžba za bk =0, k=1,…,N svodi se na: Stabilnost digitalnih filtera M a prijenosna funkcija na: yn ak xn k , k 0 M H z ak z k Digitalni filter je stabilan ako njegov impulsni odziv zadovoljava slijededi uvjet: . E k 0 M Z hn H z hn z n . K 1 z 1 p z 1 2 z 1 M z 1 1 i i 1 M , 1 k gdje su zi i pi, za i = 1,…,M, nule odnosno polovi H(z), dok je a realna konstanta. Rastavljanjem desne strane na parcijalne razlomke dobivamo slijededi izraz: H z a Re sX ( z ), a lim z a X z . z a 49 50 Ozren Bilan Strukture rekurzivnih digitalnih filtera Potreban i dovoljan uvjet da impulsni odziv zadovoljava uvjet stabilnosti slijedi iz relacije: pi 1 . Iz ove relacije proizlazi da se svi polovi H(z) trebaju nalaziti unutar jediničnog kruga u z-domeni. Kako prijenosna funkcija nerekurzivnih digitalnih filtera, relacije nema konačnih polova zbog toga je ovaj tip filtera uvijek stabilan. Provjera stabilnosti rekurzivnih digitalnih filtera svodi se na neposredno određivanje položaja polova u z-domeni. Ova metoda je jednostavna jer postoje efikasne numeričke metode za pronalaženje korijena polinoma. 51 Ozren Bilan a1 a2 aM , 1 p1 z 1 1 p2 z 1 1 pM z 1 gdje su ai ostaci u polovima pi, za i = 1,…,M i određuju se relacijom: hn a1 p1n a2 p2n ... aM pMn un a n . Direktna struktura rekurzivnog digitalnog x(n) filtera dobivena direktno iz jednadžbe diferencija prikazana je na slici. Za realizaciju je potrebno 2M jediničnih kašnjenja, 2M množača i jedan sumator sa 2M ulaza jer se koriste posebni množači i elementi kašnjenja za brojnik i nazivnik prijenosne funkcije. Ta struktura ima više teoretski nego praktični značaj jer je jako osjetljiva i na male promjene vrijednosti koeficjenata. Direktna struktura I kreirana je tako da je svaka racionalna funkcija od H(z) kaskadno odvojena sa vezom između njih (brojnik je u jednome smjeru, a nazivnik u drugome). Pošto postoje dvije kaskade i veza između njih ova struktura se može reducirati eliminiranjem veze te dobivamo direktnu strukturu II. S ulaznoizlazne točke ove dvije strukture su jednake ali je unutarnja struktura različita kao i Ozren Bilan unutarnji signali. a0 z -1 z -1 z -1 a1 -b1 a2 -b2 aM -bM y(n) z -1 z -1 z -1 52 Implementacija linearnih digitalnih filtera u Matlabu Direktna struktura II realizira se naredbom filter. Funkcija filter filtrira realnu ili kompleksnu ulaznu sekvencu digitalnim filterom. Filter predstavlja direktni oblik II transponirane implementacije standardne jednadžbe diferencija. Format je: b0 x(n) -a1 -a2 -a3 -a4 z -1 z -1 z -1 z -1 y = filter( b, a, x); y(n) b1 gdje su: b2 b = [b0, b1, b2, ... bM ]; a = [ 1, a1, a2, a3, ... aN ]; b3 b4 Za proračun prvih P+1 uzoraka impulsnog odziva filtera koristi se naredba: y = filter( b, a, [1 zeros(1,P)]); Direktna struktura II za M=4 Kanonična struktura Transponirana kanonična struktura Kaskadna struktura Paralelna struktura 1 p k 1 Primjenom inverzne z-transformacije nad relacijom dobivamo: • • • • a 1 z1 z 1 1 z 2 z 1 K 1 z M z 1 1 Ozren Bilan Postoje i druge direktne strukture kod kojih je mogude smanjiti broj memorijskih elemenata ali tada prijenosnu funkciju H(z) treba razložiti na faktore manjeg stupnja: a 1 z z 1 p z M H z Očigledno na osnovi relacije ovakvi filteri imaju konačan impulsni odziv dužine M. Zbog toga se ovi filteri nazivaju i digitalnim filterima konačnog impulsnog odziva, FIR. Rekurzivni filteri su definirani diferencijalnom jednadžbom i prijenosnom funkcijom. Izlazni uzorak ovisi i od prethodnih ulaznih i od prethodnih izlaznih uzoraka. Odziv na niz δ(n) ima beskonačno trajanje, pa se ovi filteri nazivaju i digitalni filteri beskonačnog impulsnog odziva, IIR. Direktna struktura I kreirana je tako da je svaka racionalan funkcija od H(z) kaskadno odvojena sa vezom između njih (brojnik je u jednome smjeru, a nazivnik u drugome). Pošto postoje dvije kaskade i veza između njih ova struktura se može reducirati eliminiranjem veze te dobivamo direktnu strukturu II. Gledano sa ulazno-izlazne točke ove dvije strukture su jednake ali je unutarnja struktura različita kao i unutarnji signali. . Ako razmotrimo uvjete stabilnosti u z-domeni, brojnik i nazivnik prijenosne funkcije zadane relacijom su polinomi kompleksne promjenjive z-1 ravnine sa realnim koeficijentima, pa se prijenosna funkcija može napisati: n 0 hk k Iz relacije slijedi da izlazni uzorak ovisi od ulaznoga signala koji su prethodili promatranom trenutku a ne ovisi od uzorka izlaznoga signala. Takvi filteri nazivaju se nerekurzivni digitalni filteri. Ako je x(n) = δ(n), tada je y(n) = h(n), a kako je z{δ(n)} = 1, tada je: Odziv na step računa se naredbom: y = filter( b, a, [ones(1,P)]); Ozren Bilan 53 Ozren Bilan 54 9 11.9.2013. Strukture nerekurzivnih digitalnih filtera Kod nerekurzivnih digitalnih filtera najčešde se koristi direktna struktura u obliku takozvanog transverzalnog filtera Izraz za izlazni signal y(n) vidljiv je sa slike : yn a xn a xn 1 a xn M Primjenom z-transformacije na lijevu i desnu stranu izraza dobivamo H z 1 a1 z 1 a2 z 2 aM z M . prijenosnu funkciju sustava: 0 1 M Kao i kod analognih filtera projektiranje digitalnih filtera sastoji se iz postupka aproksimacije željene frekvencijske karakteristike i postupka sinteze. Aproksimacija se sastoji iz postupka kojim se željena karakteristika zamjenjuje onom koja još uvijek zadovoljava postavljene uvjete a može se relativno lako realizirati. Na primjer, pri projektiranju niskofrekventnog filtera idealna pravokutna amplitudna karakteristika, koja se ne može realizirati, aproksimira se onom koja se najjednostavnije može realizirati. Kod digitalnih filtera kada se odrede polovi i nule realizacija para kompleksnih nula i polova lako se izvodi, za razliku od analognih filtera, spajajudi kaskadno ili paralelno odgovarajude rezonantne krugove. . M k . znači da promatrana struktura Relacija identična je relaciji H z ak z što k 0 realizira nerekurzivni digitalni filter. Nerekurzivni digitalni filter može se H1i z H 2i z , realizirati i u kaskadnom obliku H z i i ili se H(z) može rastaviti na polinome prvoga i drugoga reda: H1i z a0i a1i z 1 , gdje je: H 2i z a0i a1i z 1 a2i z 2 . Ozren Bilan Sinteza digitalnih filtera 55 Sinteza nerekurzivnih digitalnih filtera Nerekurzivni digitalni filteri (FIR), odnosno filteri s konačnim impulsnim odzivom, imaju linearnu fazu. Simetrija impulsnog odziva je nužan preduvjet za linearnu fazu. Vrijedi slijededi teorem: ako impulsni odziv nerekurzivnog digitalnog filtera zadovoljava relaciju Ozren Bilan 56 Ovisno o tipu simetrije impulsnog odziva definiramo 4 tipa nerekurzivnih digitalnih filtera: Nerekurzivni digitalni filter tipa I prikazan je na slici • simetričan impulsni odziv, • neparan broj uzoraka impulsnog odziva. Nerekurzivni digitalni filter tipa II prikazan je na slici • simetričan impulsni odziv, • paran broj uzoraka impulsnog odziva. hn hM 1 n , Nerekurzivni digitalni filter tipa III prikazan je na slici • asimetričan impulsni odziv, • neparan broj uzoraka impulsnog odziva. za n = 0,1,…M/2-1 ako je M parno, i za n=0,1,…,(M-1)/2 ako je M neparno, tada nerekurzivni digitalni filter ima linearnu karakteristiku Ozren Bilan 57 Nerekurzivni digitalni filter tipa IV prikazan je na slici • asimetričan impulsni odziv • paran broj uzoraka impulsnog odziva. Ozren Bilan 58 Filtri pomične srednje vrijednosti Primjena konvolucijom Moving average Kao što im ime govori, filter pomične srednje vrijednosti funkcionira usrednjavanjem točaka ulaznog signala kako bi proizveo svaku točku izlaznog signala. U obliku jednadžbe to pišemo: Filter pomične srednje vrijednosti (moving average) je najčešdi filtar u DSP. Razlog tome je što je on najlakši digitalni filter za shvadanje i primjenu. Pored svoje jednostavnosti filtar pomične srednje vrijednosti optimalan je za opdu namjenu: reduciranje slučajnog šuma uz istovremeno zadržavanje oštrog odziva na step. To ga čini prvim izborom za signale kodirane u vremenskom području. Međutim, filtar pomične srednje vrijednosti je i prvi izbor za signale kodirane u frekvencijskom području, ali uz malu sposobnost odvajanja frekvencijskih pojaseva. Možemo ga implementirati konvolucijom i rekurzijom. Gdje je x[ ] ulazni signal, y[ ] izlazni signal, a M broj usrednjenih točaka. Tako je filtru pomične srednje vrijednosti u 5 točaka, točka 80 u izlaznom signalu određena je izrazom: Alternativno, mogude je odabrati simetrično oko izlazne točke grupu točaka ulaznog signala: Ozren Bilan 60 10 11.9.2013. To odgovara promjeni sume u jednadžbi Redukcija šuma i odziv na step od: j=0 do M-1, do: j=-(M-1)/2 do (M-1)/2. Filtru pomične srednje vrijednosti u 10 točka, indeks, j, je od 0 do 11 (jednostrano usrednjavanje) ili -5 to 5 (simetrično usrednjavanje). Simetrično usrednjavanje zahtijeva da M bude neparan broj. Programiranje je nešto lakše s točkama na samo jednoj strani; međutim, tako dolazi do relativne translacije između ulaznog i izlaznog signala. Potrebno je prepoznati da je filter pomične srednje vrijednosti (moving average) konvolucija koja koristi vrlo jednostavnu jezgru filtra. Filter s 5 točaka ima jezgru: 0, 0, 1/5, 1/5, 1/5, 1/5, 1/5, 0, 0 . . Filter pomične srednje vrijednosti je krajnje jednostavan pa je zbog toga prvi izbor pri rješavanju problema. Čak i ako se problem u potpunosti riješi oni koji ga primjenjuju još uvijek misle da se moglo nešto bolje napraviti. Situacija je ironična. Ne samo da je filtar pomične srednje vrijednosti vrlo dobar za mnoge primjene, optimalan je za opdi problem, redukcije slučajnog bijelog šum uz zadržavanje najoštrijeg odziva na step. Pokazat demo princip rada. Filter pomične srednje vrijednosti je konvolucija ulaznog signala s kvadratnim impulsom jedinične površine. Ozren Bilan 61 Signal na slici (a) predstavlja impuls. Na slici (b) uronjen je u slučajan šum. Na slikama (c) i (d), prikazano je glađenje signala filtrom pomične srednje vrijednosti s 11 i 501 točaka. Kako broj točaka filtra postaje vedi, šum se snižava (jer je slučajan); međutim, rubovi gube oštrinu. Filtar snižava amplitude slučajnog šuma (što je dobro) ali istovremeno smanjuje oštrinu bridova (što je loše). Od svih mogudih linearnih filtara koje možemo primijeniti, filter pomične srednje vrijednosti (moving average) rezultira najnižim šumom za zadanu oštrinu rubova. Iznos redukcije šuma jednak je kvadratnom korijenu broja točaka u prosjeku. Tako filtar pomične srednje vrijednosti u 100 točka smanjuje šum za faktor 10. Ozren Bilan 63 Filter pomične srednje vrijednosti i njegovi srodnici su podjednaki pri reduciranju slučajnog šuma uz zadržavanje oštrog odziva na step. Razlika leži u načinu kojim se mjeri vrijeme porasta odziva na step. Ako vrijeme porasta mjerimo od 0% do 100% stepa, kako smo pokazali, filter pomične srednje vrijednosti je najbolje što možemo napraviti. Za usporedbu, mjerimo li vrijeme porasta od 10% do 90% Blackmanov otvor postaje bolji od filtra pomične srednje vrijednosti. Smisao je u tome da je riječ o teoretskom nadmudrivanju, pa filtre trebamo shvatiti jednakim po pitanju ovog parametra. Najveda razlika između filtera je brzina izvođenja. Primjenom rekurzivnog algoritma (kojeg demo opisati), filtar pomične srednje vrijednosti je nevjerojatno brz. To je najbrži digitalni filter. Višestruki propusti filtra pomične srednje vrijednosti bit de proporcionalno sporiji ali još uvijek vrlo brz. Za usporedbu, Gaussov i Blackman filtri su vrlo spori jer koriste konvoluciju. Približni faktor je jednak desetorostrukom broju točaka jezgre filtra (temeljem da je množenje oko 10 puta sporije od zbrajanja). Tako možemo očekivati da de Gaussov filtar od 100 točka biti 1000 puta sporiji od filtra pomične srednje vrijednosti korištenjem rekurzije. Ozren Bilan 65 62 Ozren Bilan Frekvencijski odziv Slika pokazuje frekvencijski odziv filtra pomične srednje vrijednosti. Matematički ga opisujemo Fourierovom transformacijom kvadratnog impulsa, kako smo pokazali: Frekvencijski odziv filtra M točaka pomične srednje vrijednosti. Frekvencija, f, između 0 i 0.5. za f=0. H[f]=1 Gušenje mu je vrlo sporo, a atenuacija nepropusnog područja vrlo loša. Potpuno je jasno da filter pomične srednje vrijednosti ne može odvajati frekvencijske pojaseve. Zapamtimo, dobre karakteristike u vremenskom području daju loše karakteristike u frekvencijskom području i obrnuto. Najkrade, filter pomične srednje vrijednosti je izuzetno dobar za glađenje (djelovanje u vremenskom području) ali je izuzetno loš nisko propusni filter (djelovanje u frekvencijskom području ). Ozren Bilan 64 Rekurzivna implementacija Najveda prednost filtra pomične srednje vrijednosti: može se implementirati s algoritmom, dakle izvedba je vrlo brza. Kako bi razumjeli taj alogritam, zamislimo propust ulaznog signala, x[ ] , kroz filtar pomične srednje vrijednosti s ciljem dobivanja izlaznog signala, y[ ]. Pogledamo li kako se računaju dvije susjedne izlazne točke, y[50] i y[51]: y [50] =x [47] + x[48] + x [49] + x[50] + x [51] + x[52] + x [53] y [51] =x [48] + x[49] + x [50] + x[51] + x [52] + x[53] + x [54] vidimo da je riječ o skoro istom proračunu; točke x[48] do x[53] moraju se zbrojiti za y[50], i ponovno za y[51]. Ako je y[50] ved izračunato, najučinkovitiji način proračuna y[51] je: y[51] =y[50] + x [54] - x[47] Nakon što y[51] odredimo korištenjem y[50], tada y[52] možemo izračunati iz uzorka y[51], itd. Nakon što izračunamo prvu točku u y[ ], sve ostale točke možemo odrediti samo s jednim sumiranjem i oduzimanjem po točki. To izražavamo jednadžbom: y[i]=y[i-1]+x[i+p]-x[i-q] gdje je p=(M-1)/2 q=p+1 Ozren Bilan 66 11 11.9.2013. Uočite kako ova jednadžba koristi dva izvora podataka za proračun svake točke izlaza: točke ulaznog i prethodno izračunate točke izlaznog signala. To nazivamo rekurzijska jednadžba, s značenjem da se rezultat jednog proračuna koristi kasnije za druge proračune. (Izraz rekurzivni također ima druga značenje, posebno u računalstvu). Naknadno demo obraditi niz različitih rekurzivnih filtara detaljnije. Moramo biti svjesni da su rekurzivni filtri pomične srednje vrijednosti znatno različiti od ostalih rekurzivnih filtara. Posebno treba naglasiti kako najvedi broj rekurzivnih filtara ima beskonačno dug impulsni odziv (IIR), sastavljen od sinusoida i eksponencijalnih funkcija. Impulsni odziv filtra pomične srednje vrijednosti je kvadratni impuls (konačni impulsni odziv ili FIR). Ovaj algoritam je brži od drugih digitalnih filtra zbog četiri razloga: 1. postoje samo dva proračuna za svaki uzorak, bez obzira na dužinu jezgre filtra. 2. sumiranje i oduzimanje su jedine dvije potrebne matematičke operacije, dok ostali tipovi filtra zahtijevaju dužu operaciju množenja. 3. shema indeksiranja je vrlo jednostavna. Svaki indeks jednadžbe rekurzije određuje se sumiranjem ili oduzimanjem cjelobrojnih konstanti, koje se mogu izračunati prije nego počne postupak filtriranja (tj., p i q). 4. cjelokupni algoritam izvodi se cjelobrojnim vrijednostima. S obzirom na primijenjeno sklopovlje, proračuni cjelobrojnim vrijednostima uvijek su za red veličine brži od proračuna s realnim vrijednostima. Iznenađujude je što proračun ovog algoritma cjelobrojnim vrijednostima radi mnogo bolje nego proračun realnim, pored toga što je brži. Greška zaokruživanja aritmetike s realnim brojevima daje neočekivane rezultate. Zamislimo filtriranje 10000 uzoraka signal opisanim postupkom. Posljednji uzorak filtriranog signala sadržava akumuliranu grešku 10000 sumiranja i 10000 oduzimanja. Greška de se pojaviti u izlaznom signalu kao promjenjiva istosmjerna vrijednost (drifting offset). Cjelobrojne vrijednosti nemaju takav problem jer ne postoji aritmetička greška zaokruživanja. Prijenosne karakteristike nerekurzivnih digitalnih filtera mogu se predstaviti pomodu Fourier-ove transformacije (DFT) kao: M 1 H k H z z e Relacija predstavlja osnovu za realizaciju nerekurzivnih digitalnih filtera uzorkovanjem u frekvencijskoj domeni i pruža mogudnost rekurzivne sinteza FIR-filtera. Naime, navedena relacija odgovara kaskadnoj vezi nerekurzivnih filtera sa prijenosnom funkcijom: 1 j 2k M . Da bi se izvršila sinteza filtera, polazi se od H e , koja je poznata i definirana. Prvo se određuje H k kao niz od M uniformiranih uzoraka: hn pa je: 1 M H z a zatim H(z) pomodu relacije: H z 2k M H k e Primjenom izraza dobivamo: j 2nk M , M M 1 1 z M H z H k k 0 1 1 z 1e j . 2k M 68 H(ejω) H(k) 2π 0 5 10 k 15 H k 2k j 1 z 1e 16 1 1 1 1 z 1e j 0 / 4 1 z 1e j / 8 1 z 1e j 15 / 8 1 z 16 15 16 k 0 16 1 z 16 H 1 z H 2 z H 3 z H 4 z . M 1 H k k 0 1 1 z 1e j 2k M Prijenosne funkcije se realiziraju kaskadnom vezom nerekurzivnog filtera H1(z) sa paralelnom vezom rekurzivnih filtera H2(z), H3(z) i H4(z) gdje je: . H1 z Ovaj postupak omogudava da se dobiveni frekvencijski odziv preklapa sa željenim u točkama: 2k za k = 0,1,…,M-1. M Ozren Bilan 1 z 16 , 16 H 2 z 1 , 1 z 1 69 H 3 z 1 1 , 1 z 1e j / 8 1 z 1 cos / 8 j sin / 8 H 4 z 1 1 . 1 z 1e j 15/ 8 1 z 1 cos / 8 j sin / 8 Ozren Bilan Slika ilustrira ideju filtra vremenskog otvora. Slika pokazuje frekvencijski odziv idealnog nisko propusnog filtra. Sve frekvencije ispod odrezne frekvencija, fc , propuštaju se s jediničnom amplitudom, a sve više frekvencije se ne propuštaju. Propusno područje je idealno ravno, atenuacija u nepropusnom područje je beskonačna, a tranzicija među njima je infinitezimalno mala. FT Izračunamo li Inverznu Fourierovu Transformaciju ovog idealnog frekvencijskog odziva dobit demo idealnu jezgru filtra (impulsni odziv, kernel) prikazan na slici (b). Kako smo ved pokazali dobivena krivulja ima opdi oblik: sin(x)/x, određena izrazom: X POMNOŽIMO sinc sa Blackman Idealni frekvencijski odziv (brick wall) = Dobije se glatka jezgra nakon propusta kroz vremenski otvor FT 71 70 Strategija filtra vremenskog otvora (prozora) IFT Sinteza primjenom prozora i apodizacija Ozren Bilan , k 0 Primjer: Za dane uzorke amplitudne karakteristike niskofrekventnog filtera na slici odrediti odgovarajudu prijenosnu funkciju H(z). , 1 z M M 2 nk M Ozren Bilan j n 0 M 1 j H k h e j hn e U ovom slučaju je: H 0 H 1 H 15 1 , H k 0 k 2,3,4,...,14; M=15. i filtera koji sačinjava paralelna veza M rekurzivnih filtera prvoga reda: 1 z 1e 2 k M ω 1 z M , M H R z H k j pri čemu predstavlja M uniformirano raspoređenih uzoraka frekvencijskog odziva nerekurzivnih filtera. Impulsni odziv h(n) može se izraziti kao: 67 Ozren Bilan H NR z Sinteza uzorkovanjem u frekvencijskoj domeni Ozren Bilan 72 12 11.9.2013. Konvolucijom ulaznog signala s jezgrom filtra dobije se idealan nisko propusni filter. Tada nastaje problem: sinc funkcija se nastavlja u negativnu i pozitivnu beskonačnost bez slabljenja na nulu. U matematici, ovo protezanje u beskonačnost ne predstavlja problem, ali u praksi zaustavlja rad računala. Jednostavni postupak može bitno popraviti situaciju. Slika (e) pokazuje glatko zakrivljenu krivulju nazvanu Blackmanov otvor. Pomnožimo li skradenu sinc, (c), s Blackmanovim otvorom (e), rezultat jezgre (impulsnog odziva) filtra pokazuje (f). Ideja je ublažiti strmine skradenih krajeva što poboljšava frekvencijski odziv. Slika (g) pokazuje ovo poboljšanje. Propusno područje je sada ravno, a atenuacija nepropusnog područje je tako dobra da se na ovom grafu ne može vidjeti. Postoji vedi broj vremenskih otvora, a dobili su imena po autorima u 1950-im godinama. Vrijedi spomenuti Hammingov i Blackmanov vremenski otvor. Definirani su jednadžbama: Kako bi smo riješili problem, uvest demo dvije modifikacije sinc funkcije na slici (b), što rezultira valnim oblikom na slici (c). Prvo, funkcija je skradena na M+1 točku, koje su odabrane simetrično oko glavnog loba, a M je paran broj. Svi ostali uzorci, izvan ovih M+1 točaka, postavljaju se na nulu. Drugo, čitava sekvenca translatirana je na desno, tako da počinje u 0, a završava u M. Tako jezgru filtra prikazujemo korištenjem samo pozitivnih indeksa. Iako mnogi programski jezici dopuštaju korištenje negativnih indeksa, pri radu mogu nastati problemi. Jedini učinak translacije jezgre (impulsnog odziva) filtra za M/2 je translacija izlaznog signal za isti iznos. Bududi da je modificirana jezgra (impulsnog odziva) filtra samo aproksimacija idealne jezgre (impulsnog odziva), očito je da nede imati idealni frekvencijski odziv. Kako bi odredili frekvencijski odziv koji smo postigli možemo izvršiti Fourierovu transformaciju signal na slici (c), pa dobijemo krivulja na slici (d). Valovanje je prenaglašeno u propusnom području, a loše je i slabljenje u nepropusnom području (prisjetimo se Gibbsovog učinka). Problemi nastaju zbog naglih diskontinuiteta na rubovima skradene sinc funkcije. Problemi se ne može riješiti produžimo li dužinu jezgre filtra; utjecaj diskontinuitet ostaje značajan bez obzira na dužinu M. Hammingov otvor. Mijenja se od i=0 do M, za ukupno M+1 Blackman otvor 73 Ozren Bilan Slika pokazuje oblik ova dva otvora za M=64 (tj., ukupno 64 točke na krivuljama). Kada demo i koji demo vremenski otvor upotrijebiti? To ovisi o parametrima. Prema slici, Hamming ima 20% brže gušenje od Blackmana. Međutim, pokazuje da Blackman pokazuje bolje gušenje. Blackman u području gušenja je -74dB (-0.02%), dok je Hamming -53dB (-0.2%). Iako se to na grafovima ne vidi, Blackman pokazuje valovanje od 0.02%, a Hamming 0.2%. Blackman je prvi izbor jer je sporije gušenje manje nepovoljno od lošijeg slabljenja u propusnom dijelu karakteristike. Hamming Window 1 Amplituda Amplituda 0.8 0.6 0.4 0.2 0 10 20 30 40 Vrijeme (uzorak) 50 60 0 10 20 30 40 Vrijeme (uzorak) 50 60 70 0 Magnitude (dB) Magnitude (dB) 0.4 0 70 -20 -40 -60 -80 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Normalizirana frekvencija (perioda/uzorku)) 0.8 0.9 Magnituda (dB) -40 -60 -80 -100 -0.5 -40 -60 -80 0 0.1 0.2 0.3 0.4 0.5 0.6 Normalizirana frekvencija (perioda/uzorku)) 0.7 0.8 -0.4 -0.3 -0.2 -0.1 0 0.1 Normalizirana frekvencija (perioda/uzorku) 0.2 0.3 0.9 1 0.4 0.5 0 -20 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 Normalizirana frekvencija (perioda/uzorku) 0.3 0.4 0.5 Pri projektiranju filtra vremenskog otvora potrebno je odrediti dva parametra: odreznu frekvenciju, fC i dužinu jezgre filtra (impulsnog odziva), M. Odrezna frekvencija se izražava kao dio frekvencije uzorkovanja pa treba biti između 0 i 0.5. Vrijednost M gušenje prema aproksimaciji: M4/BW Dužina filtra u ovisnosti o slabljenju. Dužina jezgre filtra, M, određuje prijelazna širina pojasa filtera, BW. To je samo aproksimacija bududi da gušenje ovisi o karakteristikama vremenskog otvora koji se koristi. -20 -100 1 0 Magnituda (dB) 0.6 0.2 0 0 -100 Projektiranje filtra vremenskog otvora Blackman Window 1 0.8 74 Ozren Bilan -20 -40 -60 -80 -100 -0.5 Ozren Bilan 75 Nakon što smo odabrali fC i M, jezgra filtra proračunava se relacijom: 76 Ozren Bilan Sinteza primjenom prozora – analitičko rješenje Identificiramo tri komponente: sinc funkciju, translaciju M/2 i Blackmanov vremenski otvor. Filtru koji mora imati istosmjerno jedinično pojačanje, konstanta K mora se odabrati tako da suma svih uzoraka bude jednaka jedan. U praksi, K se ignorira za vrijeme proračuna jezgre (impulsnog odziva) filtra, a nakon toga normaliziraju se svi uzorci na potrebnu vrijednost. Potrebno je obratiti pozornost i na način proračuna u centru sinc, i=M/2, gdje dolazi do dijeljenja s nulom. Ova jednadžba je složena ali koristi se s lakodom; jednostavno se upiše u program i računalo obavi proračun. Nije preporučljivo ručno rješavanje. Pokušat demo biti određeniji gdje se jezgra filtra opisanog jednadžbom nalazi u postavi računala. Za primjer demo izabrati M=100. Pri tome M mora biti paran broj. Prva točka u jezgri filtra je lokaciji 0, a posljednja točka u lokaciji 100. To znači da je čitav signal dug 101 točku. Centar simetrije je u točki 50, tj., M/2. 50 točaka na lijevo od točke 50 su simetričnih 50 točaka na desno. Točka 0 ima istu vrijednost kao točka 100, a točka 49 je ista kao točka 51. Ako postoji specifičan broj uzoraka jezgre (impulsnog odziva) filtra, kao pri uporabi FFT, jednostavno dodamo nule na jednu ili drugu stranu. npr., s M =100, možemo pridijeliti uzorcima od 101 do 127 nultu vrijednost, kako bi smo postigli jezgre (impulsnog odziva) filtra dužine 128 točaka. Ozren Bilan BW je širina prijelaznog frekvencijskog područja u Hz. Mjeri se od točke u kojoj je krivulja skoro jednaka jediničnoj vrijednosti do mjesta gdje skoro poprima nultu vrijednost (recimo od 99% do 1%). Prijelazna širina pojasa također se izražava dijelom frekvencije uzorkovanja i mora biti između 0 i 0.5. Oblik frekvencijskog odziva ne ovisi o izabranoj odreznoj frekvenciji. 77 Kako je frekvencijski odziv H e j periodična funkcija od ω, može se rastaviti u Fourier-ov red kao: H e j hn e jn , n gdje je: 1 hn 2 H e e d j j n , Fourier-ovi koeficijenti u izrazu predstavljaju impulsni odziv digitalnog filtera. Kako Fourier-ov red po pravilu ima beskonačan broj koeficijenata, da bi smo dobili FIR filter, potrebno ga je svesti na konačan niz. Svođenje beskonačnog na konačni niz pravokutnim prozorom je uzimanje konačnog broja elemenata niza. Takvo svođenje izaziva Gibbs-ov efekt koji se ogleda u pojavi pulsiranja i prebačaja prije i poslije točke diskontinuiteta na amplitudnoj karakteristici. Slika a. Ovo pulsiranje se ne smanjuje s povedanjem dužine niza pod uvjetom da je niz konačan, Slika b. Ozren Bilan 78 13 11.9.2013. Takvo ograničenje Fourier-ovog reda može se predstaviti kao njegovo množenje sa težinskom funkcijom, tj. pravokutnim prozorskim oblikom: PM n M n 1 0 0 n M 1 za ostale n , čiji je modul Fourier-ove transformacije, odnosno spektar, dan izrazom: PM WM sin M 2 . sin Množenju dva niza u vremenskoj domeni odgovara konvolucija u frekvencijskoj domeni. Ozren Bilan 79 Pravokutni prozor a P n 1, U blizini točke diskontinuiteta konvolucija dovodi do pojave dva efekta: • javlja se greška u rezonantnoj amplitudnoj karakteristici, • javlja se konačna strmina između propusnog i nepropusnog pojasa. Prelazna strmina između propusnog i nepropusnog pojasa ovisi od širine glavne arkade spektra prozora. Ukoliko je širina arkade manja, to je strmina prijelaza veda, odnosno bolje je razdvajanje propusnog od nepropusnog pojasa. Pulsiranje ovisi od amplituda bočnih arkada. Ukoliko su ove arkade više potisnute, to je i pulsiranje manje. Optimalni prozor bi trebao imati maksimalnu širinu glavne arkade i minimalnu površinu pod bočnim arkadama. Ova dva zahtjeva su proturječna i potrebno je nadi odgovarajudi kompromis. Zbog toga je predloženo više tipova prozora. Ozren Bilan 80 Hamming-ov prozor: 0 n M 1 a H n H n 0,54 0,46 cos 2n M 1 0 n M 1 , Barlettov prozor 2n M 1 a B n 2n 2 , M 1 0n Blackman-ov prozor: M 1 2 M 1 n M 1 , 2 a Bl n Bl n 0,42 0,5 cos 2n 4n 0,08 cos M 1 M 1 0 n M 1 . Hammov prozor a Hn n Hn n 1 2n 1 cos 2 M 1 0 n M 1 , Ozren Bilan 81 Ozren Bilan 82 Ozren Bilan 84 Usporedba svih prozora Primjer analize spektra signala u programu SpectraLAB Grafički prikaz prozora i amplitudno-frekvencijske karakteristike prozora Ozren Bilan 83 14 11.9.2013. Apodizacija - poboljšanje zvuka 1. Uzimamo impulsni odziv brickwall filtera odrezne frekvencije fc = 20 kHz i frekvencije sempliranja fs: 2. Biramo prozor w(t,β) vrlo niskih bočnih lobova. 3. Računamo b(t) = w(t,β) g(t) i pripadni spektar. 4. Ponavljamo korake 1 do 3 podešavajudi β i fc dok ne dobijemo željeno slabljenje nepropusnog područja. 5. Lagano mijenjamo fc kako bi maksimizirali slabljenje u okolišu fs. PCM signali koriste idealne niskopropusne (brickwall) 6. Primjenjujemo apodizaciju koristedi drugi prozor kojim filtre koji generiraju čujne učinke. Zbog toga ih oblikujemo prijelazno područje. moramo obraditi posebnim algoritmima. DSD signali ne generiraju ove učinke jer ih pro korisnici ne Objasnit demo na primjerima dužine 4T i 10T s T = 1/fs i fs = 48 filtriraju, a u potrošačkim uređajima koristi se vrlo kHz primjenom Kaiser prozora. blagi nagib filtera. Pretpostavimo Dirac delta impuls preringing (vidi slajd 75.) sa linearnim spektrom do beskonačnosti. Propustimo li ga kroz filter s određenim frekvencijskim odzivom, izlazni spektar impulsa bit de jednak odzivu filtra. Na izlazu de se pojaviti pojasno ograničeni Funkcija sinc x= (sin x)/x impuls b(t). Bududi da je izvedba algoritama temeljenih na b(t) proporcionalna intervalu sempliranja T, moraju biti što brži. Teoretski se koriste brickwall filtri beskonačnog slabljenja izvan audio pojasa, međutim tada na izlazu dobivamo impuls Pojasno ograničeni impuls dužine = 4T, fs = 48 kHz, fc = 15 kHz, normaliziran oblika sinc funkcije koja sporo slabi. U praksi rješenje Glavni prozor Kaiser (β = 8.3), prozor apodizicije 1- 0.5·Kaiser (β = 0.5) je vremensko ograničenje impulsa filtriranjem s Ozren Bilan 85 prozorskom funkcijom konačne dužine. Npr. postupak : Apodizacija pojasno ograničenog impulsa MATLAB kod apodizacija pojasno ograničenog impulsa fs = 48000; % frekvencija sempliranja fc = 19000; % odrezna frekvencija brick wall filtera rlen = 10; % dužina impulsa u intervalu sempliranja ppiv = 100; % broj uzoraka po intervalu sempliranja beta = 9.0; % parameter glavnog prozora apof = 0.9; % faktor apodizacije (0 = bez apodizacije, 1 = max) apobeta = 0.7; % parametar apodizacije prozora % generiranje pojasno ograničenog impulsa pts = ppiv*rlen+1; % dužina impulsa uzoraka x1 = 0:1:pts-1; % dodajemo jedan za simetrični impuls x2 = rlen*2*(x1 - (pts-1)/2 + 0.00001)/(pts-1); x3 = pi*fc/fs*x2; početno rješenje – zvuči loše međukorak cilj apodizacije – dobar zvuk Pojasno ograničen impuls (dužina = 10T, fs = 48 kHz, fc = 20 kHz, normaliziran) Glavni prozor Kaiser (β = 9), bez apodizacije MATLAB vidi skriptu vježbe 86 Ozren Bilan Optimalna sinteza (Remez II) Svodi se na određivanje koeficijenata nerekurzivnih digitalnih filtera pri određenim kriterijima optimalnosti. Razvijeno je više klasa optimalnih filtera koji se međusobno razlikuju po izboru promjenjivih parametara i kriteriju optimalnosti. Prva klasa optimalnih filtera svodi se na minimiziranje veličine: gdje je: h = sin(x3)./x3; % impulsni odziv brickwall filtera w = kaiser(pts,beta); % kaiser prozor g = w.*h'; % impulsu ograničavamo spektar primjenom prozora aw = 1 - apof*kaiser(pts,apobeta); % apodizacija i normalizacija g = aw.*g;g = g/max(g); figure(1);subplot(1,2,1); %crtanje pojasno ograničenog impulsa plot(x2/2,g);axis([-rlen/2 rlen/2 -0.2 1.0001]); xlabel('Vrijeme u intervalima sempliranja');title('Pojasno ograničeni impuls'); subplot(1,2,2); % nacrtaj spektar zpad = 20; % faktor umetanja nula g2 = [g ; zeros((zpad-1)*pts,1)+; % umetanje nula povedava rezoluciju wspec = abs(fft(g2)); wspec = max(wspec/max(wspec), 0.00001); fmax = 60000; % maksimalno prikazana frekvencija rng = round(rlen*zpad*fmax/fs); xidx = 0:1:rng; semilogy(fmax/1000*xidx/rng,wspec(1:(rng+1))); xlabel('Frekvencija u kHz');title('Amplitudni spektar');% markeri hold; plot([20 20], [0.00001 1], 'g'); plot([fs/1000-20 fs/1000-20], [0.00001 1], 'r'); plot([fs/1000 fs/1000], [0.00001 1], 'r'); hold off; Signal prikazan na slici prikladan je ako nam je bitna kompaktnost valnog oblika. Pri tome moramo imati na umu da se ne koristi impuls nego integral impulsa nakon filtriranja u kojem je mnogo manja količina visokofrekvencijskog sadržaja. Dakle, zahtjevi za slabljenjem u nepropusnom području su daleko manji. Moramo ekvalizirati zaobljene rubove propusnog područja kako bi poboljšali zvuk. Mogude ih je je primijeniti kao postfilter ili prefilter pod uvjetom da slabljenje ne prelazi određeni broj dB na 20 kHz. Isto tako možemo sniziti fc impulsa od 4-uzorka kako bi smanjili osjetljivost na alias i izveli intenzivnije filtriranje. Nastali fazni pomak i malo ranije filtriranje signala dobro zvuči velikom broju ljudi, a neki govore da je rezultirajudi zvuk premekan. Digitalni filter kojim se izvodi apodizacija je besplatni algoritam koji se može izvesti odgovarajudim čipovima. Sa stručnog stajališta rješenje je vrlo povoljno jer nije skupo, dok ga proizvođači skupo napladuju. LP 1 s s De H e d j j P , 0 - granica intervala aproksimacije, De - željena spektralna karakteristika, H e - aproksimirana funkcija čije koeficijente određujemo u procesu minimiziranja. Za p = 2, problem se svodi na minimiziranje po metodi najmanjih kvadrata i znatno pojednostavljuje jer se optimizacija svodi na sintezu linearnih jednadžbi. Ako je p > 2, problem je nelinearan, te su ove metode optimizacije računski znatno složeniji od linearnih, pa se zbog toga i rijetko koriste. Drugi pristup, koji je također u literaturi široko razvijen, temeljena je na Chebyshevljevoj aproksimaciji. Greška aproksimacije pri optimalnom rješenju ima M+1 linearnih jednadžbi sa M+1 nepoznanica. Za sintezu filtera sa takvom karakteristikom razvijeno je više pristupa i metoda, od kojih je najprihvatljivija metoda, koju nazivamo: tzv. drugi algoritam Remez ili Remez II s j j Pojasno ograničen impuls (dužina = 10T, fs = 48 kHz, fc = 19 kHz, normaliziran) Glavni prozor Kaiser ( β= 9), prozor apodizacije : 1- 0.9·Kaiser (β = 0.7) Mnogi DAC imaju ugrađene FIR filtre kojima korisnik može djelovati na oblik impulsa opisanim djelovanjem objašnjenim u MATLAB simulaciji 87 Ozren Bilan Sinteza rekurzivnih (IIR) digitalnih filtera Razvoj sinteze rekurzivnih digitalnih filtera bio je omoguden brzim razvojem teorije i metoda projektiranja analognih filtera. Prvi uspjesi su bili ostvareni transformacijom prijenosne funkcije analognog filtera u prijenosnu funkciju odgovarajudeg digitalnog filtera. Kod projektiranja rekurzivnih (IIR) digitalnih filtera imamo dva pristupa: • projektira se analogni niskopropusni prototip, zatim se izvrši frekvencijska transformacija s → s, pa nakon toga izvrši transformacija iz analognog u digitalni filter s → z. • projektira se analogni niskopropusni prototip, zatim se izvrši transformacija iz analognog u digitalni filter s → z, pa nakon toga izvrši frekvencijska transformacija z → z. Prvo demo u opdim crtama iznijeti osnovne osobine najviše korištenog analognog niskofrekventnog filtera. Frekvencijski odziv analognog 1 niskofrekventnog filtera dan je izrazom: H j 1 za , 88 Ozren Bilan gdje su: • ε konstanta koja određuje valovitost, • Ωp frekvencija propuštanje *rad/s+, • Ωs frekvencija gušenje *rad/s+. Frekvencijska karakteristika analognog niskopropusnog filtera dana je na slijededoj slici. Iz karakteristike je vidljivo da je: H j 2 1 1 2 H j 2 1 A2 za p za s 2 1 2 a p 0 H a j 2 Ozren Bilan 1 A2 za s , 89 Ozren Bilan 90 15 11.9.2013. Parametri ε i A na skali u dB ovisni su o parametrima Rp i As koji se mogu izračunati preko izraza: R p 10 log 10 Butterworth-ov filter 1 R / 10 10 p 1 1 2 i As 10 log 10 1 A 10 AS / 20 A2 Ovi parametri na apsolutnoj skali ovisni su o parametrima δ1 i δ2 koji se mogu izračunati preko izraza: i 2 1 1 1 1 1 2 1 1 1 2 2 1 1 1 1 1 A A 2 Prijenosnu funkciju analognog filtera dobivamo pomodu izraza: 2 H a j H a jH a* j H a jH a j H a s H a s s j ili preko: H a s H a s H a j 2 s / j pa su polovi kvadratne amplitudne karakteristike određeni izrazom: 1 j 2N 2 k N 1 H j 2 1 1 j j c 2N gdje je granična frekvencija filtera. Na slici je prikazana ovisnost modula prijenosne funkcije o frekvenciji za razne vrijednosti N. Dijagram pokazuje da je amplitudna karakteristika ravna i monotona i u propusnom i u nepropusnom pojasu. Sa porastom N prijelaz između propusnog i nepropusnog pojasa je sve strmiji s tim što je na graničnoj frekvenciji vrijednost amplitude uvijek jednaka 1 / 2 . Na osnovi relacije dobivamo da je: H a s H a s 91 Ozren Bilan pk 1 2 N j c c e Filteri realizirani ovom aproksimacijom su monotoni u području propuštanja i području gušenja. Kvadrat modula prijenosne funkcije, odnosno kvadratna amplituda karakteristika Butterworth-ovog niskofrekventnog filtera dana je izrazom: , odnosno: cN H a s s p k LHPpolovi H a j 2 s / j Ozren Bilan 1 s 1 j c 2N j2 N s 2 N j C 2N 92 Red Butterworth-ovog filtera određujemo preko izraza: k 0,1,....,2 N 1 Svi 2N polovi nalaze se na radijusu kružnice u s-domeni i uniformirano su raspoređeni simetrično u odnosu na imaginarnu os. Kut između susjednih polova iznosi π/N. Polovi se ne mogu nalaziti na imaginarnoj osi. a za neparno N polovi se nalaze i na realnoj osi. Za N parno prvi pol ima fazu od π/2N. Kako je prvih 2N-1 izvoda amplitudne karakteristike jednako nuli za ω=0, Butterworth-ovi filteri se nazivaju filteri s maksimalnom ravnom amplitudnom karakteristikom. Prikazani je raspored polova za red N=3 i N=4 Butterworth-ovog filtera. log 10 R p / 10 1 / 10 As / 10 1 N 10 2 log 10 p / s parametar Ωc možemo izračunati preko izraza: c p 2N 10 R p / 10 1 Ili c 93 Ozren Bilan s 2N 10 As / 10 1 94 Ozren Bilan Kvadratna amplitudna karakteristika u propusnom pojasu oscilira između 1 i .Za ω=0 i za N neparno jednaka je jedinici. Za N parno jednaka je 1/1 Ukoliko je kvadratna amplitudna karakteristika ima vrijednost 1 /1 Čebiševljev filter 1/ 1 2 2 2 C Za razliku od Butterworth-ovih filtera, Chebyshevi filteri imaju amplitudnu karakteristiku koja oscilira između dvije dane vrijednosti u cijelom propusnom pojasu. Iz toga razloga imamo dvije vrste ovih filtera, Chebyshev tip I i Chebyshev tip II. Chebyshev tip I ima monotonu karakteristiku u području gušenja a valovitu u području propuštanja, dok Chebyshev tip II ima upravo obrnute karakteristike. Kvadratna amplitudna 1 karakteristika dana je izrazom: H j 2 1 2TN2 c Kvadratna amplitudna karakteristika Chebyshev-og filtera za N = neparno gdje je TN - Chebyshev polinom N–tog reda kojeg možemo odrediti pomodu slijededeg izraza: T x 2 xT x T x 0 N 1 N T0 x 0 sa početnim uvjetima: ili pomodu ekvivalentne relacije: gdje je: T1 x x cosN arccos x , TN x chN archx , x N 1 T2 x 2 x 2 1 x 1 x 1 c Ozren Bilan 95 Kvadratna amplitudna karakteristika Chebyshev-og filtera za N = parno Ozren Bilan 96 16 11.9.2013. Pomodne varijable računaju se preko slijededih izraza: Polovi filtera su na elipsi u s-domeni čiji centar leži u koordinatnom ishodištu. Dužina velike osi je 2b C , a male osi 2a C , gdje su b i a određeni izrazom: 1 b, a 2 1 1 2 1/ M 2 1 1 1 / M a N1 b 1 2 N N1 1 1 1 2 K n s p k gdje je K dan izrazom: N neparno 1, H a j 0 1 , N parno 1 2 Red filtera određujemo preko izraza: 2k 1 k a c cos k=0,…,N-1 , 2k 1 k b c sin 2 N 2 k=0,…,N-1 . 2N k 1 k=0,…,N-1 , 2 i N H a s Polove Chebyshev-og filtera izračunavamo prema slijededem izrazu: gdje su: Uvrste li se polovi iz lijeve poluravnine u izraz za prijenosnu funkciju slijedi: Polovi su simetrični u odnosu na imaginarnu os. Za N neparno nalaze se i na realnoj osi, dok za N parno ne leže na realnoj osi. p k k j k 1 2 gdje je: r Ozren Bilan log g g 2 1 10 N log 10 r 2r 1 s p 97 g A 2 1 / 2 Ozren Bilan 98 Tipični odzivi prikazani su na slijededim slikama Eliptički ili Cauerov filter Imaju uniformnu karakteristiku u propusnom i u nepropusnom pojasu čime se za isti red i pri istoj grešci postiže najmanja širina prelaznog područja između propusnog i nepropusnog pojasa, tj. imaju najvedu strminu. Kvadratna amplitudna karakteristika eliptičkog filtera ima oblik: 1 H j Kvadratna amplitudna karakteristika Eliptičkog filtera za N = neparno 2 1 2U n2 c gdje su: • Un - Jacobi-jeva eliptička funkcija, • ε - parametar koji određuje grešku u propusnom pojasu. Za greška je jednaka 1 / 1 2 , gdje je Δ maksimalna vrijednost . sn p Ozren Bilan Analiza izraza H j 2 Kvadratna amplitudna karakteristika Eliptičkog filtera za N = parno 99 gdje su: K k K 1 k12 K k1 K 1 k 2 k 102 Bessel filtar nema valovanje u propusnom području, ali mu je gušenje mnogo lošije od Butterworthovog filtra. Potrebno je još procijeniti karakteristiku odziv na step, koja nam pokazuje kako se filter ponaša u odzivu kada se izlaz brzo promijeni s jedne vrijednosti na drugu. Slika pokazuje odziv na step svakog filtra. s k1 Ozren Bilan Butterworth filtar je najbolji izbor ako želimo postidi najbrže slabljenje bez valovanja u propusnom području. Obično se naziva maksimalno linearan filtar, a identičan je Čebiševljevom projektiranom bez valovanja u propusnom području. p i 100 USPOREDBA TRI FILTERA 1 1 2U n2 c je teška pa za lakšu analizu koristimo slijededi izraz: N Ozren Bilan Vodoravna os pokazuje karakteristike filter s odreznom frekvencijom od 1 Hz. Odziv je mogude skalirati za bilo koju višu odreznu frekvenciju. Npr., odrezna frekvencija 1000 Hz pokazuje odziv na step u milisekundama umjesto sekundama. A2 1 Parametar k1 određuje grešku u nepropusnom pojasu. za Ω ≥ Ωs ta greška je jednaka 1/A2. Ozren Bilan 101 Butterworth i Čebiševljev filtar pokazuje prebačaj i istitravanje (ringing - titranje sa sporim slabljenjem amplitude). Za usporedbu, Bessel filtar ne pokazuje nijedan od spomenutih problema. 17 11.9.2013. Slika ilustrira ovu povoljnu karakteristiku Bessel filtra. Odziv na step tri filtra Vrijeme prikazano na vodoravnoj osi odgovara odreznoj frekvenciji od 1 Hz. Bessel je optimalni filter ako treba minimizirati prebačaj i istitravanje. (a) pokazuje impulsni valni oblik, koju je mogude promatrati kao korak porasta kojeg prati korak pada. (b) i (c) pokazuju kako se ovaj valni oblik pojavljuje nakon filtriranja Besselovim i Čebiševljevim filtrima. Pretpostavimo da je riječ o video signalu. Izobličenje koje nastaje nakon Čebiševljevog filtra bilo bi : Prebačaj valnog oblika promijenio bi svjetlinu rubova svih objekata prema centru slike. Nadalje, lijeva strana svih objekata bila bi vrlo svjetla, a desna strana bila bi vrlo tamna. Mnoge primjene ne podnose loše karakteristike odziva na step funkciju. Tu su najbolji Besselovi filtri jer je oblik simetričan bez prebačaja. 103 Ozren Bilan Transformacija analognih u digitalne filtere Prilikom transformacije analognih filtera u digitalne moramo biti sigurni da digitalni IIR-filteri zadržavaju željene osobine analognih filtera kao što su na primjer amplitudna i fazna karakteristika. Uvjet koji se mora ispuniti da bi dobiveni digitalni filter bio stabilan svodi se na preslikavanje lijeve s-poluravnine u unutrašnjost jediničnog kruga u z-domeni. Taj uvjet se može napisati: s R s 0 z z 1 e Drugi uvjet koji nije obavezan ali je najčešde ispunjen svodi se na to da se imaginarna os s-domene preslikava u z-domenu na rub jediničnog kruga: s j z e j Im (s) 0 Bilinearna transformacija Ova metoda daje najefikasnije rješenje od svih navedenih. 1 z 1 Ona se definira relacijom: s k 1 z 1 ks a inverzan transformacija dana je izrazom: z gdje je k ks konstanta. Iz relacije slijedi da je za s j z 1, pa zaključujemo da se imaginarna os preslikava na rub jediničnog kruga čime je ispunjen uvjet. Ako izraz ima slijededi oblik: z Im (z) k j k j Kako modul od z ima slijededi oblik: jedinični krug z Oba uvjeta prikazana su na slici Metode koje se najčešde koriste su: • bilinearna transformacija, • jednakog impulsnog odziva i • prilagođena z-transformacija. Re(s) s-domena Re(z) 105 odnosno, 1 e jT 1 e jT ktg T Ozren Bilan k C tg CT 2 gdje su i granične frekvencije analognog odnosno digitalnog filtera. Međutim češde se uzima da je k jednako 2/T ili 1, te se bilinearna transformacija može zapisati slijededim izrazom: s 2 ova ovisnost je nelinearna a za k = 1 prikazana je na idudoj slici. Za male vrijednosti ovisnost je uglavnom linearna, dok je za vedi dio frekvencijske skale preslikavanje nelinearno. 106 Ozren Bilan Konstanta k određuje se iz relacije: Relacija između frekvencija analognog i digitalnog filtera dobiva se iz relacije ako se uvrsti s j i z e jT (T-period uzorkovanja) te: j k k 2 2 k 2 2 slijedi da je za 0 z 1 a za 0 z 1 čime je ispunjen uvjet da se lijeva s-poluravnina preslikava u unutrašnjost jediničnog kruga pa je dobiveni digitalni filter stabilan. To grafički prikazujemo: z-domena Ozren Bilan 104 Ozren Bilan 2 1 z 1 1 sT / 2 z T 1 z 1 1 sT / 2 Polazedi od analognog filtera linearne faze ovom metodom se ne može ostvariti digitalni filter s linearnom fazom jer frekvencijska izobličenja izazivaju fazna izobličenja. 107 Ozren Bilan 108 18 11.9.2013. Grafički prikaz bilinearne transformacije Metoda jednakog impulsnog odziva Ova metoda preslikava odziv analognog filtera u odziv digitalnog filtera tako da su oni međusobno jednaki za t=kT . k 0,1,2,...,n Osnovna ideja je nadi prijenosnu funkciju čiji je impulsni odziv jednak jednoliko otipkanom impulsnom odzivu prototipnog analognog filtera. Dobivena frekvencijska karakteristika IIR-filtera znatno odstupa od polaznog analognog filtera i javlja se pojava preklapanja spektra, pa se ta transformacija može primijeniti jedino pri projektiranju niskofrekventnih filtera i filtera propusnika pojasa. Ozren Bilan 109 110 Ozren Bilan REKAPITULACIJA SINTEZE U MATLABU Prilagođena z-transformacija IIR FIR Ova metoda je eksponencijalna transformacija polova i nula H(s) analognog filtera u odgovarajude polove i nule H(z). Realni polovi i nule preslikavaju se pomodu zamjene: s a 1 z 1 a kompleksni polovi ili nule preslikavaju se transformacijom: s a2 b 2 1 2z 1 cosbT z 1e 2aT Dobivena prijenosna funkcija H(z) je u obliku parcijalnih razlomaka prvoga ili drugoga reda. Oni se mogu lako realizirati, npr. u direktnom ili transponiranom kanoničnom obliku. Ova transformacija daje istu konfiguraciju polova kao i standardna z-transformacija. Međutim konfiguracija nula zahtjeva neke modifikacije da bi se dobili zadovoljavajudi rezultati. Ova metoda ne daje zadovoljavajude rezultate za širokopojasne filtere. Ozren Bilan 111 Projektiranje FIR i IIR filtera u MATLAB-u Projektiranje frekvencijski selektivnih FIR filtera Problem pri projektiranju frekvencijski selektivnih filtera je određivanje impulsnog odziva h[n] željenog frekvencijskog odziva H(Ω) Opdenito se rješava primjenom inverzne diskretne Fourierove transformacije (DTFT): FIR filteri Finite Impulse Response Filter CILJ • Opisati opdi pristup projektiranja FIR filtra pomodu matematičkog modela. • Definirati izobličenja faze signala i pokazati djelovanje na izlazni signal. • Pokazati kako odzivom linearne faze eliminiramo fazna izobličenja. • Pokazati uvjet simetrije impulsnog odziva FIR filtra koji kao posljedicu imaju linearni fazni odziv. • Izvesti impulsni odziv idealnog niskopropusnog i visokopropusnog filtra linearne faze. • Opisati i pokazati postupke projektiranja primjenom filtera vremenskog otvora kojim se dobivaju fazno linearni FIR filtri. • Pokazati projektiranje nisko-propusnog, visoko-propusnog, pojasno-propusnog i pojasno-nepropusnog FIR filtra. • Opisati i pokazati projektiranje fazno linearnog FIR filtra postupkom sampliranja. • Pokazati MATLAB alate za optimalno projektiranje FIR filtera postupkom ParksMcClellan algoritma. Ozren Bilan 112 Ozren Bilan H () h[n]e jn n h[n] 113 1 2 H ()e jn d Ozren Bilan for - n 114 19 11.9.2013. Linearna faza Fazna izobličenja analogni filter Fazna izobličenja su posljedica promjenjivog (vremenskog ili faznog) kašnjenja za različite frekvencijske komponente signala. Ako je fazni odziv filtera linearna funkcija frekvencije, tada je fazno kašnjenje konstantno za sve frekvencije pa nema faznih izobličenja. sin (ωt1+θ1) ωt1 θ1 ω(t2 sin (ωt2+θ2) (t 2 t1 ) (θ2 θ1 ) t θ θ ω θ kf n Phase delay kašnjenje faze n promjena faze Phase change Δn je konstantno ako je Δt konstantno n k k θ 2πf delay grupnoGroup kašnjenje Uvjet promjene faze pri konstantnom grupnom kašnjenju neovisnom o frekvenciji: promjena faze je linearna funkcija frekvencije Konstantno grupno kašnjenje je znak linearne faze t=0:.04/1000:.04; f0=50; komp1=(2/pi)*sin(2*pi*(f0)*t+pi/6); komp2=(2/(3*pi))*sin(2*pi*(3*f0)*t+pi/6); komp3=(2/(5*pi))*sin(2*pi*(5*f0)*t+pi/6); komp4=(2/(7*pi))*sin(2*pi*(7*f0)*t+pi/6); komp5=(2/(9*pi))*sin(2*pi*(9*f0)*t+pi/6); s=komp1+komp2+komp3+komp4+komp5; plot(t*1000,s); grid title('Kvadratni valni oblik od 5 komponenti s konstantnim faznim pomakom od 30 stupnjeva '); xlabel('ms'); 117 k Dovoljan uvjet linearne faze Ako se FIR filter sastoji od neparnog broja koeficijenata, M + 1, gdje je M paran i simetričan s obzirom na izraz M/2, filter de imati linearni fazni odziv Δθ = −(M/2)Ω. Grupno kašnjenje filtera de biti M/2. Takav filter nazivamo filter tip I (neparne dužine i pozitivne simetrije). Drugi tipovi filtera imaju različite permutacije dužine i simetrije. Filter tip I je najčešdi i najlakši za projektiranje. Translatirani impulsni odziv 1. Neparni broj točaka impulsnog odziva 2. Točka simetrije n=2 3. Jednake vrijednosti impulsnog odziva s obje strane centra simetrije 4. Grupno kašnjenje = 2 2 k 2π Translacija centar simetrije .01π θ 118 Ozren Bilan Proračun s konstantnim faznim (vremenskim) kašnjenjem 5 ms i linearnom fazom. Linearna faza nema faznog izobličenja. kf 2πf 116 Konstantna promjene faze od +30 stupnjeva za svaku sinusoidu daje fazno izobličenje. komp1=(2/pi)*sin(2*pi*(f0)*t-.01*pi*(f0)); komp2=(2/(3*pi))*sin(2*pi*(3*f0)*t-.01*pi*(3*f0)); komp3=(2/(5*pi))*sin(2*pi*(5*f0)*t-.01*pi*(5*f0)); komp4=(2/(7*pi))*sin(2*pi*(7*f0)*t-.01*pi*(7*f0)); s=komp1+komp2+komp3+komp4; plot(t*1000,s); grid; title('Kvadratni val od 4 komponente s 5ms faznog kašnjena'); xlabel('ms') θ 2πf d θ d Ozren Bilan Razlika konstantne i linearne faze .005 Konstantna faza i linearna faza t=0:.04/1000:.04; f0=50; % vrlo mali prirast t aproksimira analogni signal izraz1=(2/pi)*sin(2*pi*(f0)*t); izraz2=(2/(3*pi))*sin(2*pi*(3*f0)*t); izraz3=(2/(5*pi))*sin(2*pi*(5*f0)*t); izraz4=(2/(7*pi))*sin(2*pi*(7*f0)*t); izraz5=(2/(9*pi))*sin(2*pi*(9*f0)*t); s= izraz1+ izraz2+ izraz3+ izraz4+izraz5; plot(t*1000,s);grid title('Kvadratni valni oblik s 5 komponenti'); xlabel('ms'); Nulta promjena faze svake komponente kvadratnog valnog oblika = generirani valni oblik nalikuje na kvadratni t 0 t tf s sample delay kašnjenje uzorka Ts n 0 Konstantna faza i linearna faza Ozren Bilan θ ulaznoj t nTs 0 115 Ozren Bilan t=0:.04/1000:.04; f0=50; % vrlo mali prirast t aproksimira analogni signal izraz1=(2/pi)*sin(2*pi*(f0)*t); izraz2=(2/(3*pi))*sin(2*pi*(3*f0)*t); izraz3=(2/(5*pi))*sin(2*pi*(5*f0)*t); izraz4=(2/(7*pi))*sin(2*pi*(7*f0)*t); s= izraz1+ izraz2+ izraz3+ izraz4; plot(t*1000,s);grid title(‘Sintetiziran kvadratni valni oblik s 4 komponente'); xlabel('ms'); θ2 θ1 ) θ t t2 Linearna faza: Ulazni signal plava sinusoida obrađena digitalnim filtriranjem (pojasni propust) pokazat de se na izlazu kao izlazni signal (crvena sinusoida). Pri tome de opdenito pretrpjeti promjenu faze (ϴ1 u ϴ2) i vremensko zatezanje ili kašnjenje (t1 u t2). ωt2 t1 ) (θ2 ω t t1 digitalni filter Izlazna amplituda jednaka je amplitudi u propusnom području Izlazna amplituda jednaka je ulaznoj amplitudi u propusnom području .01πf Ozren Bilan 119 Ozren Bilan 120 20 11.9.2013. H(Ω) Dovoljan uvjet linearne faze Idealni niskopropusni filter 1 h=[-1,1,2,1,-1]; fvtool(h,1) Magnitude (dB) and Phase Responses 0 -1 -14.2352 -2 -27.2654 -3 -40.2955 -π Phase (radians) -1.205 0.3 0.4 0.5 0.6 0.7 Normalized Frequency ( rad/sample) 0.8 1 H ()e jn d 2 1 -0 0 H() = inače 0 otherwise 1 0 jn h[n] e d 2 0 0 1 e jn 0 2 jn 1 1 jn0 e e jn0 n 2 j 0.9 0 3.6 -60 2.7 -120 1.8 -180 0.9 0 Phase (degrees) Magnitude Magnitude and Phase Responses 4.5 -240 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Normalized Frequency ( rad/sample) 0.8 -300 0.9 Pole/Zero Plot 1 0.8 0.6 0.4 4 h[n] -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 Real Part Ozren Bilan • h[n] • • • • h[n] 0 1 n sinc(0 n) - n 1 sin(0 n) 0 n sin c(0 n) n 0 sinc(0 n) - n Ozren Bilan 122 Primjer: niskopropusni filter s 21 koeficijentom gdje je Ω0 = π/4 Translatirani niskopropusni impulsni odziv Magnitude Response Estimate 0.3 Impulsni odziv ima linearnu fazu zbog svojstva simetrije h[-n] = h[n] Impulsni odziv ne može se izračunati jer je beskonačan i antikauzalan Za proračun moramo konačni skup vrijednosti M+1 h[n] kasniti za M/2 uzoraka kako bi h[n] postao konačan i kauzalan Napravimo li impulsni odziv konačnim, djelovat demo na svojstva filtera ali ne i na linearni odziv faze 0 0.25 -5 0.2 0.15 0.1 -10 -15 -20 0.05 -25 0 -30 -0.05 0 2 4 6 n 8 10 0 0.2 0.4 0.6 0.8 Normalized Frequency ( rad/sample) niskopropusni filter s 11 koeficijenata gdje je Ω0 = π/4 Uočavamo svojstvo linearne faze impulsnog odziva 10 Ozren Bilan 1 n h[n] sin( 0 n) n=0:20; % broj uzoraka 21 omega=pi/4; % odrezna frekvencija h=(omega/pi)*sinc(omega*(n-10)/pi); % translacija centra simetrije za 10 uzoraka na desno stem(n,h) title('Translatirani niskopropusni impulsni odziv') xlabel('n') ylabel('h[n]') fvtool(h,1) Impulsni odziv idealnog niskopropusnog filtera: n0 or ili 121 Impulsni odziv idealnog niskopropusnog filtera n0 sin( x) sinc( x) x ilior 0.2 0 0 h[n] 1 sin( n) 0 n Magnitude (dB) 0.2 h[n] 0.1 1 0 j 0 1 0 e d d 2 0 2 0 1 1 0 (0 ) (20 ) 0 2 2 h[0] π h[n] -5 0 Ω0 -Ω0 Impulsni odziv -4 -53.3257 translacija 123 Ozren Bilan 124 Učinak Hamming vremenskog otvora Primjer: niskopropusni filter s 201 koeficijentom gdje je Ω0 = π/4 Magnitude Response (dB) 0 n=0:200; % postavljamo red filtera dužine (n)=201 uzorak omega=pi/4; h=(omega/pi)*sinc((n-100)*omega/pi); % pomak na desno za 100 uzoraka fvtool(h,1) Ublažuju naglo odrezivanje impulsnog odziva prema nuli primjer: Hamming vremenski otvor ili prozor filter -10 -20 Magnitude (dB) Imaginary Part Magnitude (dB) 11.8252 -30 -40 w[n] -50 -60 .54 .46 cos 2πn N 1 hW [n] w[n]h[n] -70 0 0.1 0.2 0.3 0.4 0.5 0.6 Normalized Frequency ( rad/sample) 0.7 0.8 0.9 niskopropusni filter s 501 koeficijentom gdje je Ω0 = π/4 Viši red filtera ima strmiji prijelaz Valovanje Gibbsovog učinka nastaje zbog naglog odrezivanja impulsnog odziva Ozren Bilan 125 n=0:20; omega=pi/4; h=(omega/pi)*sinc((n-10)*omega/pi); w=0.54+0.46*cos(2*pi*(n-10)/20); % Hamming prozor kojemu je N-1=20 hw=h.*w; % koristimo “ .* “ za množenje h i w uzorak po uzorak stem(n,w) title('Hamming prozor') figure,stem(n,h,'ro') hold stem(n,hw,'bd') title('Usporedba impulsnog odziva pravokutnog i Hammingovog prozora ') legend('pravokutni','Hamming') fvtool(hw,1) Ozren Bilan 126 21 11.9.2013. Idealni visokopropusni filter 1 π H ( )e j n d 2π π 0 1 1 ej n d ej n d 2π π 2π 0 1 1 j n 0 1 1 j nπ e e π 0 2π jn 2π jn 1 1 1 1 jπn j 0n jπn e e e e j 0n πn 2 j πn 2 j 1 1 1 1 jπn e j 0n e j 0n e e jπn πn 2 j πn 2 j 1 1 sin(πn) sin( 0 n) πn πn h[n] 1 -π Ω0 -Ω0 π H(Ω) h[n] sinc(πn) 0 π sinc( 0 n) 1 ΩH 128 Primjer pojasno-nepropusni i pojasno-propusni hbr = hLP + hHP ΩL Ozren Bilan >> n=0:200; >> fs=2000; >> omegaL=2*pi*400/fs; >> omegaH=2*pi*600/fs; >> hLPL=(omegaL/pi)*sinc(omegaL*(n-100)/pi).*hamming(201)'; >> hLPH=(omegaH/pi)*sinc(omegaH*(n-100)/pi).*hamming(201)'; >> hHP=(sinc(n-100)-(omegaH/pi)*sinc(omegaH*(n-100)/pi)).*hamming(201)'; >> h_bandpass=hLPH-hLPL; >> h_bandreject=hLPL+hHP; >> fvtool(h_bandpass,1) >> fvtool(h_bandreject,1) HBR = HLP + HHP 0 Blackman prozor više potiskuje bočne lobove nepropusnog područja 127 Pojasno-nepropusni i pojasno-propusni filter Nastaje sumiranjem niskopropusnog i visokopropusnog filtera >> n=0:200; >> omega=3*pi/4; >> h=sinc(n-100)-(omega/pi)*sinc(omega*(n-100)/pi); % Both terms shifted by 100 samples >> hw=h.*blackman(201)'; >> fvtool(hw,1) n Ozren Bilan pojasno-nepropusni Primjer: Idealni visokopropusni filter s 201 koeficijentom gdje je Ω0 = 3π/4 π HHP HLP pojasno-propusni filter hbp = hLPH - hLPL 1 HLPH - HLPL Nastaje oduzimanjem niskopropusnog s višom odreznom frekvencijom i niskopropusnog filtera s nižom odreznom frekvencijom ΩL 0 ΩH HLPL π HLPH Ozren Bilan 129 Ozren Bilan 130 Projektiranje FIR filtera postupkom sempliranja Učinak grupnog kašnjenja filtra 200. reda DFT i DTFT filtera Temelj postupka sempliranja je svojstvo po kojem DFT predstavlja uzorak DTFT Kako bi se u to uvjerili napravit demo DFT frekvencijskog odziva filtera: m=1:250; % sinusoida dužine 250 uzoraka fs=2000; n=0:10; % Projektiramo niskopropusni %filter postupkom prozora omega=pi/4; h1=(omega/pi)*sinc(omega*(n-5)/pi); dtft_demo(h1,0,2*pi,512); % Prikaz DTFT filtera hold [H1,f]=dft_demo(h1); % Računamo DFT filtera stem(f/pi,abs(H1), 'r‘, ‘filled'); legend('DTFT od h1','DFT od h1') title('Fourierova transformacija impulsnog odziva h1') hold off f=2*pi*100/fs; x=sin(f*m); y=filter(hLPL,1,x); % Naredba filter izvršava filtriranje signala x subplot(2,1,1), plot(x), title('Sinusoida frekvencije 100 Hz na ulazu'), axis([0,250,-2,2]); grid; Izlazni signal kasni 100 uzoraka subplot(2,1,2), plot(y), title('Izlaz niskopropusnog filtra'),axis([0,250,-2,2]); grid; Ozren Bilan 131 Ozren Bilan 132 22 11.9.2013. Projektiranje FIR filtera postupkom sempliranja Jednoliko udaljeni uzorci frekvencijskog odziva u frekvencijskom području Ω = 0 do 2π predstavljaju diskretnu Fourierovu transformaciju (DFT) konačnog impulsnog odziva iste dužine: N 1 H [k ] h[n]e j 2 Projektiranje FIR filtera postupkom sempliranja 1: Određujemo kritičnu frekvenciju Ω0 2: Određujemo red filtera M, koji mora biti paran 3: Konstruiramo vektor sastavljen od M+1 realnih vrijednosti frekvencijskog odziva jednoliko udaljenih od Ω = 0 do 2π. Za lakši rad koristimo gotove funkcije. k n N [H,omega]=selectH_lp(Ω0,M+1) ili [H,omega]=selectH_hp(Ω0,M+1) n 0 k 0,1, 2,...N 1 4: Kreiramo kauzalni frekvencijski odziv tako da kasnimo odziv za M/2. H_delay=exp(-j*omega*M/2).*H Ako je zadan frekvencijski odziv, impulsni odziv računamo inverznom DFT frekvencijskog odziva h=inv_dft_demo(H_delay) k j 2 n 1 N 1 H [k ]e N N k 0 n 0,1,...N 1 h[n] Ozren Bilan 5: Računamo impulsni odziv filtera s frekvencijskim odzivom koji kasni za M/2 primjenom inverzne diskretne Fourierove transformacije: 6: Impulsni odziv propuštamo kroz funkciju prozora: npr. hamming: hw=h.*hamming(length(h))' 133 134 Ozren Bilan Primjer : projektiranje FIR filtera postupkom sempliranja Projektiranje sempliranjem FIR2 Specifikacija filtera. • Niskopropusni 100. reda • Odrezna frekvencija 500 Hz • Frekvencija sempliranja 3000 Hz • Hammingov prozor B=fir2(N,F,A) • N = red filtera • F = Odrezna frekvencija Ω izražena pomodu π • A = Amplituda koja odgovara odreznoj frekvenciji F n=0:100; fs=3000; fc=500; omega_cutoff=2*pi*fc/fs; [x,f]=selectH_lp(omega_cutoff,length(n)); % kreiramo uzorke odziva M=length(x)-1; H=exp(-j*f*M/2).*x; % računamo frekvencijski odziv kauzalnog filtera h=inv_dft_demo(H); % računamo impulsni odziv h_hamming=h.*hamming(length(n))'; % Hamming prozor subplot(2,1,1),dtft_demof(h,0,1500,512,3000);grid; % crtanje magnitudnog odziva title('Projektiranje sempliranjem – pravokutni prozor') subplot(2,1,2), dtft_demof(h_hamming,0,1500,512,3000);grid; title('Projektiranje sempliranjem - Hamming prozor') F = [0, 0.3, 0.3, 1] A = [1, 1, 0, 0] 0 Ozren Bilan 135 π 0.3π Ozren Bilan 136 Optimalni projekt filtera Projektiranje sempliranjem FIR2 filter N=100; % red filtera fs = 3000; % frekvencija sempliranja fc=500; % odrezna frekvencija F=[0,2*fc/fs,2*fc/fs,1]; % vektor frekvencijskih točaka A=[1,1,0,0]; % Amplitude koje odgovaraju F B=fir2(N,F,A); %računamo impulsni odziv dtft_demof(B,0,1500,512,3000);grid; title('Projektiranje sempliranjem FIR2 filtera') Red filtera, širinu prijelaznog područja i valovanje su relacijski međusobno povezani pa ih nije mogude specificirati neovisno. Zadaju se dva parametra, a vrijednost tredeg određuju zadani. MATLAB pri proračunu FIR2 koristi Hamming Za unaprijed određeno valovanje i širinu prijelaznog području, proračun daje optimalni red filtera Parks-McClellan postupkom projektiranja. Ozren Bilan 137 Ozren Bilan 138 23 11.9.2013. Projektiranje Parks-McClellan niskopropusnog filtera Specifikacija: • Niskopropusni 20. reda • Kritična frekvencija π/4 • Širina prijelaznog područja 0.2π • Specificiranjem reda i prijelazne širine proračunava se valovanje u propusnom i nepropusnom području % Projekt pomodu prozora n=0:20; omega=pi/4; hwin=(omega/pi)*sinc(omega*(n10)/pi).*blackman(21)'; Usporedba postupaka % Projekt sempliranjem [H,f]=selectH_lp(pi/4,21); %funkcija koja generira uzorke odziva % i frekvencije niskopropusnog filtera M=20; Hk=exp(-j*f*M/2).*H; hs=inv_dft_demo(Hk); hsamp=hs.*blackman(21)'; % propušteno kroz Blackman prozor f=[0 .15 .35 1]; % određujemo rubove pojasa normaliziranom frekvencijom % prijelazno područje je između 0.15 i 0.35 tj. = 0.20 a=[1 1 0 0]; % željeni amplitudni odziv u propusnom i nepropusnom području dobiva se određenjem amplitude na rubovima područja N=20; % red filtera % dužina filtera je onda N + 1. h=firpm(N,f,a); grid; fvtool(h,1) % Optimalni projekt f=[0,.15,.35,1]; a=[1,1,0,0]; w=[1,1]; N=20; hopt=firpm(N,f,a,w); fvtool(hwin,1) %Filter Visualization Tool fvtool(hsamp,1) fvtool(hopt,1) Najbolje prijelazno područje za zadani red filtera fvtool(hwin,1,hsamp,1,hopt,1) Kako bi popravili valovanje potrebno je povisiti red ili proširiti prijelazno područje Ozren Bilan 139 Ozren Bilan 140 Primjena antikauzalnog filtra nulte faze FIR filterima mogude je projektirati filter linearne faze koji u primjeni kasne izlaz za nepromjenjivi broj uzoraka. IIR filteri su po pitanju faznih izobličenja vrlo nelinearni. filtfilt funkcija koristi informaciju u signalu u točkama prije i nakon trenutne točke. U biti gledaju u budućnost signala kako bi eliminirali fazna izobličenja. Kako bi se uvjerili u takvo ponašanje filtera projektiranog funkcijom filtfilt, prisjetimo se: ako je z-transformacija realne sekvence x(n) -> X(z), ztransformacija vremenski obrnute sekvence x(n) je X(1/z). Tako signal trajanja 2 sekunde sampliran sa 200 Hz, a sastavljen od dvije sinusoidalne komponente na 3 Hz i 25 Hz bit de u Matlabu: Fs = 200; t = 0:1/Fs:1; x = sin(2*pi*t*3)+.25*sin(2*pi*t*40); Kreiramo usrednjavajudi averaging FIR filter u 10 točaka kako bi filtrirali x. Za usporedbu demo primjenit funkcije filter i filtfilt : b = ones(1,10)/10; y = filtfilt(b,1,x); yy = filter(b,1,x); plot(t,x,t,y,'--',t,yy,':') % usrednjavajuci filter u 10 tocaka % nekauzalno filtriranje % normalno filtriranje Ozren Bilan filter filtfilt x(t) Obje verzije filtera očito eliminiraju sinusoidu od 25 Hz vidljivu u izvornom signalu (plava puna linija). Vidimo i razliku filter i filtfilt; isprekidana zelena linija (filtfilt) u fazi je s izvornom sinusoidom od 3 Hz. Točkasta crvena linije (filter) kasni za 5 uzoraka i vidljivo je nepravilnog oblika. Amplituda isprekidane linije je manja zbog učinka filtfilt. Nadalje filtfilt, smanjuje učinke tranzijenata pri uključivanju pažljivim izborom početnih uvjeta i dodavanja na izlaznu sekvencu kratkog reflektiranog dijela ulazne sekvence. Najbolji rezultati se postižu ako je sekvenca koju filtriramo bar tri puta duža od reda filtera i podešena na nulu na oba kraja signala. Više na vježbama. 141 Ozren Bilan Zaključak: FIR filteri IIR filteri Infinite Impulse Response Filter • Prikazali smo tri postupka projektiranja fazno linearnog FIR filtera: Postupak idealnog prozora Postupak sempliranja Optimalni Parks-McClellan postupak • FIR filterima se lako projektiraju fazno linearni filteri koji nemaju fazna izobličenja signala. IIR filteri su fazno nelinearni • 142 CILJ Ozren Bilan Opis opdeg koncepta i pristupa pri projektiranju IIR filtera. Pokazati projekt digitalnog oscilatora lokacijom polova. Pokazati projekt uskopojasnog pojasno nepropusnog filtera lokacijom polova i nula. Opisat karakteristike četiri klasična prototipa analognih filtera Prikazati projekt prototipnog analognog filtera MATLABom. Izvod i opis bilinearne transformacije. Pokazati postupak projekta IIR filtera bilinearnom transformacijom Prikazati primjenu MATLAB funkcija za projektiranje IIR filtera s odzivima klasičnih analognih filtera. Prikazati učinak kvantizacije koeficijenata na karakteristike IIR filtera. 143 24 11.9.2013. Temeljni koncept projektiranja IIR filtera Tipična primjena IIR Filtera • Frekvencijski odziv DSP filtera je vrijednost prijenosne funkcije na jediničnoj kružnici u z-području. • Položaj polova i nula određuje oblik prijenosne funkcije u kompleksnoj ravnini. • Stabilnom sustavu polovi moraju biti unutar jedinične kružnice • Digitalni oscilatori • Uskopojasni nepropusni notch filteri • Digitalni ekvivalenti analognih prototipova: H () – – – – b0 b1e j b2e j 2 b3e j3 ... bM e jM a0 a1e j a2e j 2 a3e j3 ... aN e jN Butterworthovog Čebiševljevog I Čebiševljevog II Eliptičkog ili Cauerovog filtera 145 Ozren Bilan 146 Ozren Bilan Rezultati projektiranja digitalnog oscilatora Digitalni oscilator Y ( z) H ( z) X ( z) X ( z ) Z [n] 1 onda je so Y ( z) H ( z) Z 1 Y ( z ) Z 1 H ( z ) A sin(0 n)u[n] • H ( z) A sin(0 ) z 1 1 2cos(0 ) z 1 z 2 Prijenosna funkcija digitalnog oscilatora Pri frekvenciji sempliranja 8 kHz trajanje uzorka je 0.125 ms. 40 uzoraka = 5 ms = period sinusne funkcije 200 Hz. f=200; fs=8000; omega=2*pi*f/fs; b=[0,sin(omega)]; a=[1,-2*cos(omega),1]; fvtool(b,a) % Pomodu fvtool prikazujemo različite podatke x su lokacije polova = ±Ω0 = ±2π (200/8000) = ±0.1571 radijana 147 Ozren Bilan Uskopojasno nepropusni notch filteri • Projektiraju se položajem polova i nula • Nule su locirane na frekvenciji klanca Ω • Polovi su u blizini nula, unutar jedinične kružnice, a upravljaju širinom klanca. • Na svim ostalim frekvencijama je jedinični faktor pojačanja • Na višestrukim frekvencijama projektira se pomodu kaskade ili konvolucije a i b vektora koeficijenata individualnih filtera. 148 Ozren Bilan Prijenosna funkcija uskopojasno nepropusnog filtera Magnitude Response 1.4 g [1 2cos(0 ) z 1 z 2 ] H ( z) 0 1 2r cos(0 ) z 1 r 2 z 2 Pole/Zero Plot 0.76 g0 0.74 0.72 |1 2r cos(0 ) r 2 | 2 |1 cos(0 ) | 1.2 1 Pole/Zero Plot 1 0.8 0.8 0.6 0.4 0.6 Imaginary Part • • Ω0 predstavlja digitalnu frekvenciju oscilatora u radijanima A je amplituda dobivene sinusoide Ponekad se naziva dvopolni rezonator jer prijenosna funkcija ima 2 pola na +/- Ω0 točno na jediničnoj kružnici pa je stabilan Frekvencija u Hz Ω = 2πf/fs Zadatak: Projektiraj oscilator frekvencije 200 Hz u sustavu kojemu je frekvencija sempliranja 8 kHz. 0.4 0.2 0 -0.2 -0.4 -0.6 0.2 -0.8 -1 Imaginary Part • A sin(0 ) z A sin(0 ) z 1 z 2 2 cos(0 ) z 1 1 2 cos( 0 ) z 1 z 2 Magnitude Z A sin(0 n)u[n] H ( z ) 0.7 r 1 0.68 2 Q 0 -1.5 0 0 0.1 0.2 -1 -0.5 0.3 0.4 0.5 0.6 0.7 Normalized Frequency ( rad/sample) 0 Real Part 0.8 0.5 1 1.5 0.9 0.66 • Prijenosna funkcija uskopojasno nepropusnog filtera s frekvencijom klanca Ω0 0.64 • ΔΩ je širina s odzivom -3 dB, što još nazivamo faktor dobrote. 0.62 0.64 0.66 0.68 0.7 Real Part 0.72 0.74 0.76 • parameter r je polumjer pola • Faktor pojačanja g0. • Projektiranje usklađuje polumjer pola i širinu klanca. Ozren Bilan 149 Ozren Bilan 150 25 11.9.2013. Primjer 1: uskopojasno nepropusnog filtera Primjer 2: uskopojasno nepropusnog filtera Projektiraj uskopojasno nepropusni filtera s frekvencijom Ω0 = π/4 i Q faktorom 20 Pretpostavimo da je zadan uskopojasno nepropusni (notch) filter s impulsnim odzivom (jezgrom ili kernelom) filtra H(z): omega=pi/4; Q=20; delta_omega=omega/Q; r=1-delta_omega/2; g=abs(1-2*r*cos(omega)+r^2)/(2*abs(1-cos(omega))); % g0 faktor pojačanja bn=g*[1,-2*cos(omega),1]; % b koeficijenti filter an=[1,-2*r*cos(omega),r^2]; %The a coefficients of the notch filter fvtool(bn,an) Uočavamo nule na jediničnoj Primijenimo na ulaz sinusnu funkciju: Pole/Zero Plot 0.76 x(n)= sin((2pi f1 n)/fs) + sin((2pi f2 n)/fs) + sin((2pi f3 n)/fs) 0.74 Imaginary Part 0.72 gdje je f1=150 Hz , f2=60 Hz, f3=200 Hz i fs, frekvencija sampliranja 1000Hz. 0.7 0.68 0.66 0.64 kružnici s pripadajudim polovima unutar jedinične kružnice u kompleksnoj ravnini na Ω0 = π/4 Primjenom programa nacrtajmo: Ulazni spektar, Magnitudni odziv filtera, Izlazni spektar 0.62 0.72 0.74 0.76 151 Ozren Bilan PROGRAM: subplot(1,3,1); clear; N=4096; % ukupni broj uzoraka fs=1000; % frekvencija sampliranja f1=150; % prva frekvencijska komponenta f3=200; % treda frekvencijska komponenta f2=60; % druga frekvencijska komponenta n=0:N-1; x=sin(2*pi*(f1/fs)*n)+sin(2*pi*(f2/fs)* n)+sin(2*pi*(f3/fs)*n); [pxx,fx]=psd(x,2*N,fs); plot(fx,20*log10(pxx)); grid; title('Magnitudni spektar x(n)'); xlabel('Frekvencija (Hz)'); ylabel('Magnituda (dB)'); sin(2*pi*(f2/fs)*n); [pxx,fx]=psd(x,2*N,fs); plot(fx,20*log10(pxx)); grid; title('Magnitudni spektar signala x(n) s tri komponente'); xlabel('Frekvencija Hz'); ylabel('Magnituda dB'); Ozren Bilan magnitudu u dB u % ovisnosti o frekvenciji grid; % dodaje mrežu na slici title('Magnitudni odziv filtera koji eliminira 60Hz'); xlabel('Frekvencija'); ylabel('Magnituda dB'); y=filter(b,a,x); *pyy,fy+=psd(y,2*N,fs); % određuje spektar *h,f+=freqz(b,a,1024,fs); % određuje frekvencijski odziv subplot(1,3,3); % bira tredi stupac slike % filtera s koeficijentima 'b' i 'a' % korišenjem 4096 točie oko plot(fy,20*log10(pyy)); % jedinične kružnice uz frekvenciju % crta izlazni spektar u dB % sampliranja fs. Funkcija grid; % dodaje mrežu % vrada vrijednost prijenosne title('Magnitudni spektar y(n) % funkcije h, za svaku frekvenciju f u Hz. filtriranog signala'); magH=abs(h); % određuje magnitudu xlabel('Frekvencija Hz'); filtera ylabel('Magnituda dB'); phaseH=angle(h); % određuje fazni kut filtera Spektar signala sastoji od tri sinusne komponente na 60Hz, 150Hz i 200Hz. Iz magnitudnog odziva filtera vidljivo je da filter atenuira komponentu na frekvenciji od 60 Hz. Magnitudni spektar signala x(n) s tri komponente subplot(1,3,2); Magnitudni odziv filtera koji eliminira 60Hz 60 2 40 0 20 0 -20 -40 -60 Magnitudni spektar y(n) filtriranog signala 60 40 -2 20 -4 -6 -8 -10 -60 -80 -16 0 100 200 300 Frekvencija Hz 400 500 -18 0 100 200 300 Frekvencija 400 500 153 Analogni tip Valovanje propusnog područja Valovanje nepropusnog područja Prijelazno područje monotono široko monotono ili maksimalno ravno jednoliko Čebiševljev-II Eliptički (Cauerov) Razlika tipa I i II 0 100 200 300 Frekvencija Hz Ozren Bilan Prototipni analogni filteri i specifikacije Butterworth -100 400 500 Izlazni spektar sastoji od signala na 150 i 200 Hz te prigušenog signala na 60Hz. Ozren Bilan Čebiševljev-I -40 -14 % dijeli sliku u dva retka i % jedan stupac i aktivira prvi red plot( f, 20*log10(magH)); % crta figure(1); 0 -20 -12 -80 -100 -120 b=[1 -1.8596 1]; a=[1 -1.8537 0.9937]; k=0.9969; b=k*b; 152 Magnituda dB 0.7 Real Part gušenje 0.68 Magnituda dB 0.66 Magnituda dB 0.64 monotono usko monotono jednoliko usko jednoliko jednoliko vrlo usko 154 Prijenosne funkcije Analogni filter: H ( s) Y ( s) b0 s m b1s m1 b2 s m2 ... bm n X (s) s a1s n 1 a2 s n 2 ... an Digitalni filter: H ( z) Ozren Bilan 155 Y ( z ) b0 b1 z 1 b2 z 2 ... bM z M X ( z ) a0 a1 z 1 a2 z 2 ... aN z N Ozren Bilan 156 26 11.9.2013. Primjer analognog filtera MATLAB naredbe za projektiranje prototipova filtera Projektiramo Eliptički analogni filter 4. reda s odreznom frekvencijom 10 Hz, maksimalnim valovanjem propusnog pojasa 1 dB i minimalnim slabljenjem nepropusnog pojasa -20 dB. [B,A] = BUTTER(N,Wn) [B,A] = CHEBY1(N,R,Wn) [B,A] = CHEBY2(N,R,Wn) [B,A] = ELLIP(N,Rp,Rs,Wn) • N = red filtera • R = valovanje u dB, propusnog područja (cheby1) • R = valovanje u dB, nepropusnog područja (cheby2) • Rp i Rs označuju isto za eliptični filter. • Wn = odrezna frekvencija u rad/s za analogni filter ili normalizirana digitalna frekvencija izraženi u pi za digitalni filter • [B,A] = koeficijenti analognog filtera u s-području ili digitalnog u z-području cutoff=2*pi*10; % odrezna frekvencija 2 pi f % parametri filtera order=4;% 4. red Rp=1; % valovanje u propusnom pojasu Rs=20; % valovanje u nepropusnom pojasu [b,a]=ellip(order,Rp,Rs,cutoff,'s'); % s opcija za analogni filter označava s-područje W=linspace(0,2*pi*20); % kreiramo linearni frekvencijski vektor od 100 točaka 0 do 20 Hz [H,f]=freqs(b,a,W); % Naredba freqs vrada kompleksnu vrijednost prijenosne funkcije frekvencijskog vektora W kopiranog u vektor f plot(f/(2*pi),abs(H)); grid; % crtamo magnitudu H u ovisnosti frekvencije u Hz title('Eliptički filter 4. reda s odreznom frekvencijom 10 Hz') xlabel('Frekvencija Hz') ylabel('Magnitudni odziv') 157 Ozren Bilan Ozren Bilan Postupak projektiranja filtera DSP implementacijom Digitalni projekt analognog prototipa Bilinearna transformacija s Bilinearna transformacija mapira kompleksnu varijablu s u analognoj prijenosnoj funkciji u kompleksnu varijablu z u digitalnoj prijenosnoj funkciji S ravnina 2 z 1 T z 1 • • • • ili or z Z ravnina s j 2 sT 2 sT 2 z 1 2 e j 1 T z 1 T e j 1 2 e [e e ] T e j / 2 [e j / 2 e j / 2 ] j / 2 j / 2 j / 2 2 j sin 2 2 T 2 cos 2 j2 tan T 2 or Bilinearno mapiranje ili Kompleksna varijabla s preslikava se u analognu prijenosnu funkciju kompleksne varijable z digitalne prijenosne funkcije Ozren Bilan 2 tan T 2 MATLAB postupak projektiranja IIR filtera sastoji se od dvije naredbe za: 1) određivanje reda filtera i kritične frekvencije, 2) proračuna koeficijenata filtera. Primjer: Butterworth Ozren Bilan 160 Primjer: Čebiševljev visokopropusni filter II-tipa Specifikacija filtera: • Odziv Čebiševljev tip-II valovanje u nepropusnom pojasu • Granica propusnog pojasa = 1000 Hz • Granica nepropusnog pojasa = 900 Hz • Valovanje u propusnom pojasu = 1 dB • Slabljenje u nepropusnom pojasu= -40 dB • Frekvencija sempliranja= 8 kHz fs=8000; Wp=[2*1000/fs]; % normalizirana digitalna frekvencija granice propusnog pojasa Ws=[2*900/fs]; % normalizirana digitalna frekvencija granice nepropusnog pojasa [N,Wn]=cheb2ord(Wp,Ws,1,40); % red filtera [B,A]=cheby2(N,40,Wn,'high'); % naredba projektiranja filtera koja zahtjeva slabljenje nepropusnog pojasa kao parametar fvtool(B,A) -1dB i -20 dB Ozren Bilan MATLAB IIR Design Tools opdi pristup projektiranju 159 Rub propusnog i nepropusnog pojasa fs=2000; Wp=[2*400/fs,2*600/fs]; % Normalizirana digitalna frekvencija rubova propusnog pojasa Ws=[2*300/fs,2*700/fs]; % Normalizirana digitalna frekvencija rubova nepropusnog pojasa [N,Wn]=buttord(Wp,Ws,1,20); % naredba reda [B,A]=butter(N,Wn); % naredba projekta filtera fvtool(B,A) %prikazuje sve parametre (str. 158.) Parametri naredbe su: Wp = Ω rubovi propusnog pojasa izraženi pomodu π Ws = Ω rubovi nepropusnog pojasa izraženi pomodu π Rp = valovanje propusnog pojasa u dB Rs = valovanje nepropusnog pojasa u dB or ili T 2tan -1 2 Odredi željenu odreznu frekvenciju za digitalni filter, Ω0 Izračunaj ekvivalentnu odreznu frekvenciju analognog filtera ω0, primjenom jednadžbe Projektiraj analogni filter određenjem koeficijenata vektora a i b. Bilinearnom transformacijom s→z odredi koeficijente digitalnog filtera [N, Wn] = BUTTORD(Wp, Ws, Rp, Rs) [B,A] = BUTTER(N,Wn,'tip') gdje je tip high (visokopropusni) ili stop, ako je određeno. Primjer Butterworth Specifikacija željenog filtera: • Butterworth odziv • Rub propusnog pojasa= 400 Hz i 600 Hz • Rub nepropusnog pojasa = 300 Hz i 700 Hz • Valovanje propusnog pojasa = 1 dB • Slabljenje nepropusnog pojasa = -20 dB • Frekvencija sempliranja = 2000 Hz 158 161 Ozren Bilan 162 27 11.9.2013. Usporedba eliptičkog filtra s Parks-McClellan Parks-McClellan projekt prema specifikaciji Specifikacija filtera: • niskopropusni • Širina propusnog pojasa = 475 Hz • Širina nepropusnog pojasa= 525 Hz t.j. prijelazno područje širine 50 Hz • Valovanje u propusnom pojasu manje od 0.01 u apsolutnom iznosu ili 20log(1-0.01) = 0.0873 dB • Slabljenje u nepropusnom pojasu vede od -40 dB t.j. 0.01 valovanje u apsolutnom iznosu • Frekvencija sempliranja 2000 Hz Određivanje reda Parks-McClellan filtera [N,Fo,Ao,W] = FIRPMORD(F,A,DEV,Fs) B = FIRPM(N,Fo,Ao,W) F = [475,525]; A = [1,0]; DEV = [.01,.01]; Fs = 2000; [N,Fo,Ao,W] = firpmord(F,A,DEV,Fs); B = firpm(N,Fo,Ao,W); fvtool(B,1) >> N N= 78 red filtera N = red filtera F = opseg, Ω izražen pomodu π ili u Hz ako je zadana Fs A = amplituda unutar opsega određenim rubovima u F *dužina (F) jednaka je 2*length(A)-2] DEV = devijacija ili valovanje u svakom području određen F u apsolutnim jedinicama, a ne u dB Fs = frekvencija sempliranja u Hz Ozren Bilan 163 164 Ozren Bilan Utjecaj kvantizacije koeficijenata Čebiševljevog visoko propusnog filtera tipa II dvostrukom preciznosti i 16 bitnom točnosti Projekt eliptičkog filtera prema specifikaciji Polovi x stabilnog IIR filtera moraju biti unutar jedinične kružnice u kompleksnoj ravnini Kvantizacija i greške zaokruživanja mogu uzrokovati pomak polova što daje nestabilni IIR filter Magnitude Response (dB) 0 -10 -20 Magnitude (dB) fs=2000; fpass=475; fstop=525; Wp=2*fpass/fs; Ws=2*fstop/fs; Rp=0.0873; Rs=40; [N,Wn]=ellipord(Wp,Ws,Rp,Rs); [Be,Ae]=ellip(N,Rp,Rs,Wn); fvtool(Be,Ae) N -30 stabilni filter -40 -50 -60 fs=8000; Wp=[2*1000/fs]; MATLAB HELP % normalizirana digitalna frekvencija ruba help quantize Y=quantize(X,BITS) This function takes the numbers in x and quantizes the range of x with the propusnog pojasa number of BITS. For example, if BITS=3, the function rounds the values of x to he nearest of 8 equally spaced levels between the maximum and minimum of x. Ws=[2*900/fs]; % normalizirana digitalna frekvencija ruba nepropusnog pojasa [N,Wn]=cheb2ord(Wp,Ws,1,40); % red filtera [B,A]=cheby2(N,40,Wn,'high'); % Odznači A i B da vidiš učinak proračuna % 16 bitne točnosti na IIR filter % A=quantize(A,16); nestabilni filter % B=quantize(B,16); % cheby2 je naredba filter pa sintaksa zahtjeva % drugi parametar slabljenje nepropusnog pojasa % Naredbom fvtool prikazujemo karakteristike fvtool(B,A) 0 N= 7 0.1 0.2 0.3 0.4 0.5 0.6 Normalized Frequency ( rad/sample) 0.7 0.8 0.9 Isti filter s različitom preciznosti koeficijenata Magnitude Response (dB) 21.9117 13.3673 Koeficijenti brojnika i nazivnika filtera 4.8229 Magnitude (dB) -3.7215 -12.2659 -20.8103 -29.3547 -37.8992 -46.4436 -54.988 0 Ozren Bilan 165 Zaključak: IIR filteri • 0.1 0.2 0.3 0.4 0.5 0.6 Normalized Frequency ( rad/sample) 0.7 0.8 0.9 Ozren Bilan 166 Primjer usporedbe dva niskopropusna filtera Zadana su dva niskopropusna filtera sustav br. 1 i br. 2. s različitom atenuacijom u propusnom području. Razlika je posebno izražena na frekvencijama ulaznog signala. Interesira nas koji filter ima bolju karakteristiku potiskivanja visokofrekvencijske komponente ulaznog signala x[n]? Vremenski diskretni sustavi karakterizirani su jednadžbama diferencije: IIR filteri mogu se projektirati lokacijama nula i polova na jediničnoj kružnici • Digitalni oscilatori imaju polove na jediničnoj kružnici • Uskopojasni nepropusni Notch filteri: nule na jediničnoj kružnici sa bliskim polovima koji upravljaju širinom filtera • Klasični analogni filteri projektiraju se bilinearnom transformacijom Sustav br. 1 y[n] = 0.5 x[n] + 0.27 x[n − 1] + 0.77 x[n − 2], • IIR filteri imaju prednost nižeg reda za zadani frekvencijski odziv. • IIR filteri imaju nedostatak mogude nestabilnosti zbog učinka kvantizacije koeficijenata i nelinearnog odziva faze. Sustav br. 2 y[n] = 0.45 x[n] + 0.5 x[n − 1] + 0.45 x[n − 2] + 0.53 y[n − 1] − 0.46 y[n − 2]. MATLAB Program računa izlaz oba sustava ako je zadan ulaz: Ozren Bilan 167 Ozren Bilan % Generiraj ulaznu sekvencu clf; n = 0:299; x1 = cos(2*pi*10*n/256); x2 = cos(2*pi*100*n/256); x = x1+x2; % Izracunaj izlazne sekvence num1 = [0.5 0.27 0.77]; y1 = filter(num1,1,x); % Izlaz sustava br. 1 den2 = [1 -0.53 0.46]; num2 = [0.45 0.5 0.45]; y2 = filter(num2,den2,x); % Izlaz sustav br. 2 % Nacrtaj izlazne sekvence subplot(2,1,1); plot(n,y1);axis([0 300 -2 2]); ylabel('Amplituda'); title('Izlaz sustava br. 1');grid; subplot(2,1,2); plot(n,y2);axis([0 300 -2 2]); xlabel('vremenski indeks n'); ylabel('Amplituda'); title('Izlaz sustava br. 2');grid; 168 28 11.9.2013. Usporedba rekurzivnih i nerekurzivnih digitalnih filtera Ni jedan postupak sinteze FIR i IIR filtera nije najbolja za sve primjene. Izbor između FIR i IIR-filtera ovisi od parametara koji imaju najvedu težinu pri projektiranju i primjeni zadanog filtera. IIR-filter ima prednost ako se zahtjeva brzo projektiranje jer se čitave familije frekvencijsko selektivnih filtera mogu projektirati direktnom zamjenom koeficijenata (polova i nula) u sustavu jednadžbi analognih filtera. Kod FIR-filtera ta mogudnost ne postoji, a vedina metoda sinteze je invertirana, zahtjeva više vremena i složena je za realizaciju. IIR-filter možemo proračunati ručnim kalkulatorom i tablicama analognih filtera pod uvjetom da se ne razmatra fazna karakteristika. Cijena brzog projektiranja je i smanjena fleksibilnost amplitudne karakteristike IIR-filtera. Brzim proračunom IIR-eliptičnog niskofrekvencijskog filtera sa odličnom amplitudnom karakteristikom dobiti demo jako nelinearnu faznu karakteristiku na granicama propusta. Uz to, filter može oscilirati. FIR možemo lako postidi linearnu fazu i stabilnost. 169 Ozren Bilan Ozren Bilan 170 FIR-filteri imaju linearnu faznu karakteristiku ali su proračuni za dobivanje aproksimacijske amplitudne karakteristike vrlo složeni. FIR-filteri nemaju povratnu spregu pa su uvijek stabilni. Bitan parametar je i sklopovska složenost i vrijeme potrebno za izvršavanje funkcije filtera. Ovi faktori su direktno povezana sa redom filtera koji je neophodan da bi se ostvarila željena amplitudna karakteristika. • Ako zanemarimo faznu karakteristiku, mnogo vedu selektivnost i oštriju amplitudnu karakteristiku možemo ostvariti sa IIR-filterom. • Ako je značajna linearnost fazne karakteristike FIR-filteri su nezamjenjivi. U pogledu utjecaja konačne dužine riječi, a posebno utjecanja kvantizacije koeficijenata, FIR-filteri su znatno pogodniji za primjenu. Drugim riječima izbor IIR ili FIR-filter ovisi o više faktora. Bessel je optimalni filter ako treba minimizirati prebačaj i istitravanje. Konačna odluka ovisi od inženjerske intuicije, proračuna, realizacije, a naročito primjene filtera. Ozren Bilan 171/171 29
© Copyright 2024 Paperzz