DigSig AV Repetition Leif Sörnmo 10 maj 2007 1
Syftet med digital filterdesign Att bestämma en realiserbar överföringsfunktion G(z) så att den approximerar en given specifikation på frekvensfunktion. För ett IIR-filter är det dessutom viktigt att G(z) är garanterat stabil. Lämplig filterstruktur för implementering. 2
Filterspecifikation Det digitala filtrets frekvensfunktion specificeras vanligen mha av magnitud- och/eller fasfunktion. I praktiken är dock specifikation av endast magnitudfunktionen det absolut vanligaste, och därför behandlas endast denna typ av design i kursen. Fasfunktionen kan vid behov justeras med ett seriekopplat allpassfilter ( all-pass phase equalizer ). Notera dock ett filter även kan specificeras i termer av hur impulssvaret ska se ut (dvs i tidsplanet!). 3
Ideala filterspecifikationer Det finns fyra huvudtyper av ideala filter, nämligen: 4
Storheter vid filterspecifikation Passband: 1 δ p G(e jω ) 1+δ p, ω ω p Spärrband: G(e jω ) δ s, ω ω s Övergångszonens bredd: Δω = ω s ω p 5
Logaritmisk filterspecifikation En specifikation anges ofta som en dämpning uttryckt i logaritmerad form, dvs och anges i decibel (db). G(ω) = 20 log 10 G(e jω ) Maximalt rippel i passbandet α p spärrbandet α s ges då av och minimal dämpning i α p = 20 log 10 (1 δ p ) respektive α s = 20 log 10 δ s. 6
IIR filterstruktur Överföringsfunktionen för ett IIR-filter ges av H(z) = p 0 + p 1 z 1 + p 2 z 2 + + p M z M d 0 + d 1 z 1 + d 2 z 2 + + d N z N + Stränga specifikationer kan uppnås med små M och N Ej linjär fas Ej alltid stabilt 7
FIR filterstruktur Överföringsfunktionen för ett FIR-filter ges av H(z) = N n=0 h(n)z n + Kan designas med linjär fas, och kräver då ett symmetriskt eller antisymmetriskt impulssvar h(n), dvs h(n) = ±h(n n). + Alltid stabilt, även vid kvantisering av h(n):s koefficienter. 8
Jämförelse FIR-filter behöver N FIR mult./utsampel medan IIR-filter behöver 2N IIR + 1 mult./utsampel. För att få samma magnitudfunktion med FIR-filter som med IIR-filter krävs betydligt större ordning, dvs N FIR >> 10N IIR, och därför är FIR-filter generellt sett mera beräkningskrävande. Dock, FIR har inga stabilitetsproblem vid begränsad precision. 9
Val av filterordning För IIR-filter ingår beräkning av den modellordning som krävs i designproceduren. För FIR-filter finns olika approximationer som typiskt är inverst beroende av övergångszonens bredd: ju smalare och brantare en övergångszon är desto högre ordning krävs. Notera att dessa val är vägledande och måste testas för att kunna justeras rätt. 10
Vanligaste designtekniken för digitala IIR-filter 1. Transformera de digitala filterspecifikationerna till motsvarande för ett analogt prototyp-lågpassfilter. 2. Bestäm överföringsfunktionen H a (s) = P a(s) för det analoga D a (s) prototyp-lågpassfiltret (index a betecknar analog ). 3. Transformera H a (s) till den eftersökta digitala överföringsfunktionen H(z) = P (z) D(z). 11
Hur transformera från s- till z-planet? Bilinjär transformation är den vanligaste transformationen och definieras av ( ) 1 z 1 s = 2 T 1+z 1 Det intressanta och eftersökta sambandet mellan H(z) och H a (s) ges av G(z) =H a (s) ( ) s= 2 1 z 1 T 1+z 1 12
Bilinjär transformation i grafiska termer Avbildning av s-planet till z-planet: 13
Bilinjär transformation och frekvensaxeln Specifikt för s = jω, z = e jω och med T =2så har vi att jω = 1 e jω = j tan(ω/2), dvs Ω = tan(ω/2) 1+e jω 14
Bilinjär transformation och filterkaraktäristik 15
Design med bilinjär transformation 1. Transformera ω p och ω s med Ω = tan(ω/2) för att bestämma de motsvarande analoga storheterna Ω p och Ω s. 2. Designa det analoga filtret H a (s) med lämplig metod. 3. Bestäm det digitala filtret G(z) genom att transformera det analoga filtret H a (s) mha G(z) =H a (s) ( ) s= 2 1 z 1 T 1+z 1 Fasen bevaras ej genom transformen. 16
Impulssvar för idealt lågpassfilter (F3) h LP (n) = 1 2π π π H LP (e jω )e jωn dω h LP (n) = sin ω cn πn, n Idealt filter har skarpa kanter och nollfas. Detta ger ett filter med oändlig längd och ett icke-kausalt impulssvar. 17
FIR-filter design 1: Fönstermetoden (Windowed Fourier series) För att bli användbart måste ett impulssvar med oändlig längd trunkeras (och skiftas åt höger för att bli kausalt). Trunkering förändrar det ideala hos magnitudfunktionen och introducerar ett oscillatoriskt beteende (rippel) Gibbs fenomen, se exemplet nedan för två olika filterlängder. e 1.5 d u t i 1 n g a 0.5 M Magnitude N = 20 N = 60 0 0 0.2 0.4 0.6 0.8 1 ω / π 18
Gibbs fenomen som faltning Trunkering innebär att h d (n) multipliceras med ett rektangulärt fönster w(n): en operation som i frekvensplanet svarar mot att H d (e jω ) faltas med fönstrets Fourier-transform Ψ(e jω ). 19
Magnitudfunktion för vanliga fixa fönster Magnitudfunktionen för de vanligaste fönstren, dvs. rektangulärt, Hanning, Hamming och Blackman; M = 25. 20
Fönstring av idealt LP-filter samband 21
Justerbara fönster för FIR-filter design Det är ibland önskvärt att kunna justera sidlobernas amplitud ( ripplet ) och därför finns fönster med en sådan frihetsgrad. De två vanligaste är Dolph-Chebyshev och Kaiser (se nedan). 0 Kaiserfönster, beta=2 0 Kaiserfönster, beta=4-10 -10-20 -20 magnitud (db) -30 magnitud (db) -30-40 -40-50 -50-60 0 0.05 0.1 0.15 0.2 0.25 normerad frekvens -60 0 0.05 0.1 0.15 0.2 0.25 normerad frekvens 22
FIR-filter design 2 (ekvirippel): Parks-McClellans algoritm Ett annat sätt att konstruera FIR-filter efter en specifikation är att matcha amplitudfunktionen till en mallfunktion för den filtertyp som önskas. Matchningen görs genom att felet mellan funktionerna minimeras utifrån ett kriterium. Strategin bygger in att filtret ska ha linjär fas och jämn amplitud (ekvirippel) i såväl passband som spärrband. 23
Remez utbytesalgoritm 24
Viktiga räkningar i kapitel 7 Filterspecifikationer Digital IIR-design enligt blockschema i föreläsning 2. Kunskaper motsvarande exempel på föreläsning som är utlagd på hemsida (LP, HP) innefattande filterspec, prewarp, frekvenstransform, analog design, bilinjär transform. IDTFT av idealt filter t.ex tal 7.38, 7.40 25
Beräkningsbarhet av filterstrukturer (F4) Ett digitalt filter kan beskrivas med ett antal differensekvationer som relaterar utsignal till insignal. Filtret nedan kan t.ex. beskrivas med sex ekvationer: 26
Beräkningsbarhet av filterstrukturer, forts Ekvationerna är följande: w 1 (n) =x(n) αw 5 (n) w 2 (n) =w 1 (n) δw 3 (n) w 3 (n) =w 2 (n 1) w 4 (n) =w 3 (n)+εw 2 (n) w 5 (n) =w 4 (n 1) y(n) =βw 1 (n)+γw 5 (n) Hur möjliga är dessa att beräkna?? 27
Kompakt matrisrepresentation Det tidigare ekvationssystemet kan kompakt uttryckas som: y(n) =x(n)+fy(n)+gy(n 1) y(n) = [ w 1 (n) w 2 (n) w 3 (n) w 4 (n) w 5 (n) y(n) ] T x(n) = [ x(n) 0 0 0 0 0 ] T F = 0 0 0 0 α 0 1 0 δ 0 0 0 0 0 0 0 0 0 0 ε 1 0 0 0 0 0 0 α 0 0 β 0 0 0 γ 0, G = 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 28
Kompakt representation och beräkningsbarhet Ett filter är beräkningsbart om alla element i och ovanför diagonalen i matrisen F är lika med noll. I vårt specifika fall: filtret är inte beräkningsbart eftersom flera element är skilda från noll ovanför diagonalen. 29
Beräkningsbart filter - ändra ordningen! w 3 (n) w 5 (n) w 1 (n) w 2 (n) y(n) w 4 (n) = + 0 0 x(n) 0 0 0 + 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 α 0 0 0 0 δ 0 1 0 0 0 0 γ β 0 0 0 1 0 0 ε 0 0 w 3 (n 1) w 5 (n 1) w 1 (n 1) w 2 (n 1) y(n 1) w 4 (n 1) w 3 (n) w 5 (n) w 1 (n) w 2 (n) y(n) w 4 (n) 30
Precedensgrafen hjälpmedel för systematisk bedömning av beräkningsbarhet kan ritas om till en s.k. precedensgraf där varje signalvariabel w i (n) representeras med en nod och varje multiplikation eller fördröjning med en gren. Resultatet för filtret ovan blir då 31
Gruppering av noder Grupperingen i noder och den sekvensiella strukturen i beräkningen av signalvariabler kan grafiskt representeras på följande vis: 32
Diskreta Fouriertransformen (DFT) Beräkning av ett värde i DFTn X(k) =X(e jω ) ω=2πk/n = N 1 n=0 x(n)e j2πkn/n, 0 k N 1 kräver N komplexa multiplikationer och N 1 komplexa additioner. För att beräkna alla N värdena behövs således N 2 komplexa multiplikationer och (N 1)N komplexa additioner. Man kan visa att det motsvarande antalet reella multiplikationer är 4N 2 och antalet reella additioner (4N 2)N. Slutsats: uppsnabbning av beräkningarna är nödvändig! 33
Goertzels algoritm för beräkning av DFT Huvudmotiv: vi vill beräkna DFTn rekursivt för vissa frekvenser X(k) så att multiplikationer kan tjänas. X(k) = N 1 n=0 x(n)e j2πkn/n = x(0) + x(1)e j2πk/n + + x(n 1)e j2πk(n 1)/N Låt oss studera följande rekursion y k (n) =x(n)+e j2πk/n y k (n 1), n =0,...,N med begynnelsevillkoren y k ( 1) = 0 och x(n) =0. 34
Snabba Fouriertransformen (FFT) Huvudide: Dela upp DFT-summan successivt i DFT-summor med färre punkter så att periodicitet och symmetriegenskaper i e j2πkn N kan utnyttjas effektivt. Resultat: Dramatisk uppsnabbning av DFT-beräkning, resulterandes i N log 2 N muliplikationer istället för de N 2 som krävs vid rakfram beräkning. 35
Snabba Fouriertransformen (FFT) 2 Låt oss göra en enkel uppdelning av DFTn, nämligen: X(k) = = = N 1 x(n)e j2πkn/n n=0 N 2 1 n=0 N 2 1 n=0 x(2n)e j2πk2n/n + N 2 1 n=0 x(2n)e j2πkn/n 2 + e j2πk/n x(2n +1)e j2πk(2n+1)/n N 2 1 n=0 x(2n +1)e j2πkn/n 2 dvs. summan av N/2-punkters DFT av x(2n) respektive x(2n+1) där den senare DFTn multipliceras med faktorn e j2πk/n. Denna DFT är periodisk med längden N/2. 36
Snabba Fouriertransformen (FFT) 3 Följaktligen kan vi då uttrycka X(k) som X(k) =X 0 ( k N/2 )+e j2πk/n X 1 ( k N/2 ), 0 k N 1 där k N/2 = k modulo(n/2) och X 0 ( k N/2 ) N/2-punkters DFT av x 0 (n) =x(2n) X 1 ( k N/2 ) N/2-punkters DFT av x 1 (n) =x(2n +1) z 1 2 2 37
Beräkning av DFT mha två N/2-punkters DFT Flödesgraf för fallet N =8. 38
Beräkning av DFT mha två N/4-punkters DFT För fallet N = 8 så är detta den maximala uppdelningen, eftersom en 2-punkters DFT är den minsta möjliga! 39
Uppdelning av DFT: antal multiplikationer I varje steg krävs 8 komplexa mult. vilket med tre steg kräver 24 komplexa mult. allmänt krävs N log 2 N komplexa mult. 40
Decimering i tid (DIT) Den uppdelning av DFTn som är gjord här kallas ( decimeringi-tid ) X(k) = = N 1 x(n)e j2πkn/n n=0 N 2 1 n=0 x(2n)e j2πk2n/n + N 2 1 n=0 där varannat sampel går till vardera grenen. x(2n +1)e j2πk(2n+1)/n 41
Snabba Fouriertransformen (FFT) 4 Om decimeringen i varje steg är R så kallas FFT-algoritmen radix-r FFT. Här alltså radix-2. Det går bra att göra andra uppdelningar, t ex radix-3 X(k) =X 0 ( k N/3 )+e j2πk/n X 1 ( k N/3 )e j2π2k/n X 2 ( k N/3 ) 42
Viktiga räkningar i kapitel 8 Precedensgraf t.ex. i tal 8.2 Strukturverifiering i tal 8.7 och 8.9 Komplexitetsberäkning enl. tal 8.13 43
Kvantisering (F5) Värdet x kvantiseras med en funktion Q(x) till ett b-bitars värde medelst operationerna trunkering eller avrundning. 44
Kvantisering och digitala filter I samband med digitala filter finns flera frågor kring kvantisering. 1. Vad händer med ett filter när dess koefficienter kvantiseras? IIR/FIR? 2. Hur påverkar kvantisering av insignalen systemet? Kommer kvantiseringsfelet på insignalen att förstärkas genom filtret? 3. Vad får kvantiseringen i de aritmetriska operationerna (tex en produkt) för effekt? 45
1. Kvantisering av filterkoefficienter Ett filter med ändlig ordlängd för att representera dess koefficienter påverkar: frekvensfunktionen (olika mycket beroende på vilken specifik filterstruktur som valts såsom direktform, kaskadkopplad, lattice, osv). stabiliteten hos IIR-filter. Stabilitet vid oändlig ordlängd kan tyvärr inte garanteras vid ändlig ordlängd; detta gäller naturligtvis inte för FIR-filter. 46
Ändlig ordlängd i IIR-filter polplaceringar Ett andra ordningens IIR-filter direkt form I och möjliga polplaceringar för 4 respektive 7 bitars kvantisering av filterkoefficienterna. 47
Ändlig ordlängd i IIR-filter polplaceringar 2 Ett andra ordningens IIR-filter sk kopplad form och möjliga polplaceringar för 4 respektive 7 bitars kvantisering av filterkoefficienterna. 48
Vilken struktur är minst känslig för kvantisering? Ovan beskrivna analysteknik ger, efter diverse räknande, följande resultat (kom ihåg att θ bestämmer polernas vinkel): Δθ I = ΔK 2r sin θ Δθ II = 1 r sin θδα + 1 r cos θδβ Slutsats: struktur I är mera känslig för kvantisering om en pol ligger nära θ = 0 eller π, dvs. ett smalbandigt låg- eller högpassfilter. 49
Kvantisering av FIR-koefficienter ett exempel Logmagnitudfunktion okvantiserat 16 bitar 8 bitar Ekvirippel lågpassfilter med linjär fas designat med Parks-McClellans algoritm med specifikationer δ p =0.01, δ s =0.001 (dvs. 60 db). 50
Utsignalens varians vid kvantiserad insignal Kvantiseringsbrus med variansen σe 2 förstärks i ett filter H(e jω ) till σ 2 v = σ2 e 2π π π H(ejω ) 2 dω Normerat till insignalvariansen blir detta σ 2 v,n = 1 2π π π H(ejω ) 2 dω = 1 2πj C H(z)H(z 1 )z 1 dz 51
Utsignalens varians vid kvantiserad insignal Eftersom H(z) kan partialbråksuppdelas i första och andra ordningens rationella, reella och stabila överföringsfunktioner H i (z) H(z) = så kan utsignalvariansen skrivas σ 2 v,n = R k=1 1 2πj C R i=1 H k (z)h k (z 1 )z 1 dz +2 H i (z) R 1 R k=1 l=k+1 1 2πj C H k (z)h l (z 1 )z 1 dz där I i finns givna i tabell 9.4 för olika kombinationer av H k (z) och H l (z) 1 2πj C H k(z)h l (z 1 )z 1 dz 52
Kvantisering vid aritmetriska operationer Ett generellt linjärt filter beskrivs av följande differensekvation y(n) = N k=1 d k y(n k)+ M k=0 p k x(n k) Om alla sampel och koefficienter i denna ekvation representeras som fixtal med (b + 1)-bitars noggrannhet, så måste längden på de (2b + 1)-bitars produkter som resulterar trunkeras till (b + 1). Denna operation kan representeras med y(n) = N k=1 Q[d k y(n k)] + M k=0 Q[p k x(n k)] 53
Viktiga räkningar i kapitel 9 Kvantisering av filterkoefficienter (polkänslighet) i tal 9.5. Förstärkning av kvantiseringsbrus genom filter i tal 9.11. Kvantisering av produkter före nästa addition i 9.13 och 9.18 54
Single-rate och multi-rate system (F6) I single-rate system är samplingsfrekvensen samma vid såväl ingång och utgång som vid alla interna noder. I många system är det dock fördelaktigt att använda olika samplingsfrekvens i olika delar av systemet multi-rate system. 55
Ändring av samplingsfrekvens: uppsampling 56
Frekvenstolkning av uppsampling (L =2) X u (z) = = n= m= x u (n)z n = n= neven x(n/2)z n x(m)z 2m = X(z 2 ) X u (e jω )=X(e jω2 ) 57
Ändring av samplingsfrekvens: nersampling 58
Nersampling och resulterande spektrum, forts Efter diverse räkningar erhålls att z-transformen för x int (n) är X int (z) = 1 M där W M = e j2π/m.följaktligen Y (z) = 1 M som i frekvensplanet ges av Y (e jω )= 1 M M 1 k=0 M 1 k=0 M 1 k=0 X(zW k M ) X(z 1/M W k M ) X(e j(ω 2πk)/M ) Detta uttryck tolkas som att resulterande spektrum är en summa av M ursprungliga spektrum men där bredden skalats om med faktorn 1/M och skiftats till olika lägen längs med frekvensaxeln. 59
Frekvenstolkning av nersampling Exempel för M = 2 där det ursprungliga spektrumet inte leder till överlappning vid nersampling. 60
Frekvenstolkning av nersampling vikning Exempel för M = 2 där det ursprungliga spektrumet är så pass brett att det leder till överlappning vid nersampling ett välkänt fenomen som kallas vikningsdistorsion. 61
Interpolering och decimering två byggblock Digital lågpass filtrering är nödvändig vid såväl interpolering som decimering för att hantera de oönskade effekter som uppstår vid dessa två operationer. 62
Interpolering och decimering Komplexitet Tidigare har vi sagt att IIR-filter är mer beräkningseffektiva i det att även om de kräver fler beräkningar per ordning så kan samma prestanda som för ett FIR-filter åstadkommas med betydligt lägre ordning så att IIR-filter föredras. Detta gäller i single-rate system. En intressant fråga är vilken av filtertyperna FIR och IIR som passar bäst i sammanhang där samplingsfrekvensen ska ändras. 63
Decimering i två eller tre steg - skillnad? 64
Polyfasuppdelning av signal En signal kan ekvivalent representeras av M stycken nersamplade signaler (med en faktor M) 65
Polyfasstruktur för effektiv decimering och interpolering Vi har tidigare sett att alla FIR-filter kan realiseras med polyfasstruktur. Polyfasstrukturen har samma komplexitet som direktstrukturerna men det visar sig att den är speciellt lämplig vid decimering och interpolering. 66
Polyfasstruktur för effektiv decimering och interpolering 67
Vad är en filterbank? Analys-filterbank Syntes-filterbank Utsignalerna v 1 (n),...,v L 1 (n) från analys-filterbanken behandlas på lämpligt sätt, t.ex. med en kodningsalgoritm, för att senare återskapas med syntes-filterbanken från ˆv 1 (n),...,ˆv M 1 (n). 68
Uniform DFT filterbank Lågpassfiltret H 0 (e jω )överst har ω p och ω s runt π/m. 69
Uniform DFT filterbank 2 De andra M 1 filtren fås genom att skifta prototypfiltret H 0 (e jω )längs med frekvensaxeln i steg om 2πk/M, dvs. H k (e jω )=H 0 (e jω e j2πk/m ), 0 k M 1 I tidsplanet ges impulssvaret för h k (n) av h k (n) =h 0 (n)e j2πkn/m, 0 k M 1 Om vi plottar H k (e jω ) för olika värde på k så erhålls diagrammet på föregående sida. Den resulterande filterbanken kallas uniform eftersom alla delbandsfilter ges av ekvidistanta frekvensskift av H 0 (e jω ), dvs. H k (e jω ) = H 0 (e j(ω 2πk/M) ) 70
Uniform DFT filterbank med polyfasstruktur Detta är ett effektivt sätt att implementera DFT-filterbanken eftersom det visar sig att polyfasuppdelningen av H 0 (e jω ) kan användas också för att skapa de olika H k (e jω ). Hur de olika polyfaskomponenterna ska kombineras anges av en invers DFTmatris. 71
DFT analys-filterbank med polyfasstruktur 2 Vi utgår ifrån H 0 (z) uttryckt som ett M-bands polyfasfilter, dvs H 0 (z) = M 1 l=0 z l E l (z M ) där E l (z) är den l:te polyfaskomponenten, E l (z) = e l (n)z n = n=0 h 0 (l + nm)z n, 0 l M 1 n=0 Polyfasform för filtren H k (z) erhölls med frekvensskift, som i z- planet svarar mot att z ersätts med ze j2πkn/m, dvs H k (z) = = M 1 l=0 M 1 l=0 z l e j2πkl/m E l (z M e j2πkm/m ) z l e j2πkl/m E l (z M ) 72
DFT analys-filterbank med polyfasstruktur 3 För specialfallet M =2så blir är H 0 (z) =E 0 (z 2 )+z 1 E 1 (z 2 ) och H 1 (z) blir H 1 (z) = 1 l=0 z l e j2πl/2 E l (z 2 e j2πk ) = E 0 (z 2 ) z 1 E 1 (z 2 ) 73
DFT analys-filterbank med polyfasstruktur 4 Z-transformen för alla M olika filter i banken kan skrivas som en produkt av två vektorer, och därefter samlas ihop i följande matrisekvation H 0 (z) H 1 (z). H M 1 (z) = 1 1... 1 1 e j2π/m... e j2π(m 1)/M...... 1 e j2π(m 1)/M... e j2π(m 1)2 /M E 0 (z M ) z 1 E 1 (z M ). z (M 1) E M 1 (z M ) eller mera kompakt uttryckt som vektorer och matris, H(z) =MD 1 E(z) Anledningen till att matrisen D här skrivs som inverterad beror på att D definierar den M M matris som används vid beräkning av en DFT; se mera om detta på nästa sida. 74
DFT och IDFT i matrisform Transformparet för DFT:n ges av X(k) = M 1 n=0 x(n)e j2πnk/m x(n) = 1 M M 1 k=0 X(k)e j2πnk/m Med beteckningarna x = [ x(0) x(1)... x(m 1) ] T, X = [ X(0) X(1)... X(M 1) ] T,och D = 1 1... 1 1 e j2π/m... e j2π(m 1)/M...... 1 e j2π(m 1)/M... e j2π(m 1)2 /M så kan transformparet även uttryckas som X = Dx x = D 1 X 75
DFT analys-filterbank med polyfasstruktur prestanda För ett prototypfilter med N koefficienter så kräver denna typ av filterbank vid direkt implementering: N M multiplikationer polyfas-implementering: (M/2) log 2 M + N multiplikationer. Alltså, en dramatisk förbättring av prestanda! 76
DFT syntes-filterbank med polyfasstruktur 77
L-bandsfilter Detta är en grupp av filter som är beräkningsmässigt attraktiva eftersom ett stort antal koefficienter är lika med noll, bevarar de ursprungliga samplens värde vid interpolering (dvs dessa går opåverkade genom interpolationsfiltret). Ett annat namn på dessa filter är Nyquistfilter. 78
Egenskaper hos L-bandsfilter Ett L-bandsfilters systemfunktion ges på polyfasform av H(z) = E 0 (z L )+z 1 E 1 (z L )+...+ z (k 1) E k 1 (z L )+αz k + z (k+1) E k+1 (z L )+...+ z (L 1) E L 1 (z L ) där en polyfaskomponent är konstant, dvs E k (z L )=αz k. Vid interpolering erhålls utsignalen som Y (z) =H(z)X(z L ), eller Y (z) =αz k X(z L )+ L 1 l=0 l k z l E l (z L )X(z L ) som i tidsplanet innebär att y(nl + k) = αx(n) dvs insignalens sampel återfinns odistorderade i utsignalen, medan de övriga samplen i utsignalen interpoleras fram. 79
Impulssvar för L-bandsfilter Allmänt: h(ln) = α, n =0 0, för övrigt. L =3 80
Frekvenssvar för skiftade L-bandsfilter Om det är E 0 (z) som är α så blir L 1 k=0 H(zW k L )=Lα. 81
Halvbandsfilter specialfall av L-bandsfilter Om L =2så kallas filtret för halvbandsfilter och ges då av H(z) =E 0 (z 2 )+z 1 E 1 (z 2 )=α + z 1 E 1 (z 2 ) där vi utnyttjat att E 0 (z 2 )är den konstanta polyfaskomponenten, oftast vald med α = 1 2.Följaktligen är impulssvaret (varannat sampel) lika med h(2n) = 1 2, n =0 0, för övrigt. För alla halvbandsfilter kan man visa att H(z)+H( z) = 1 2 + z 1 E 1 (z 2 )+ 1 2 z 1 E 1 (z 2 )=1 vilket har en intressant tolkning i frekvensplanet... 82
Halvbandsfilter specialfall av L-bandsfilter Om vi sätter z = e jω så erhålls H(e jω )+H( 1 e jω )=H(e jω )+H(e j(π ω) )=1 som kan tolkas enligt nedan (h(n) antas vara FIR med N = 11). obs! varannan nolla obs! reell funktion obs! skiftad obs! summan=1 h(n),n =11 H(e jω ) H(e j(π ω) ) H(e jω )+H(e j(π ω) ) Eftersom flera koefficienter (ibland uppåt 50%) är noll sparas många multiplikationer. (N = 101 ger endast 25 mult.) 83
Quadrature-mirror filter bank QMF-bank Samma samplingshastighet på in- och utsignalen. 84
QMF-bank standardversionen Om vi väljer följande analys- och syntesfilter: H 0 (z) =H(z), H 1 (z) =H( z), G 0 (z) =2H(z), G 1 (z) = 2H( z) så elimineras vikningsdistorsionen, dvs A(z) = 0. Detta är synnerligen anmärkningsvärt eftersom samplingsteoremet inte uppfylls i någon av filterbankens grenar. Med dessa filter fås kravet på rekonstruktion via T (z) som H 2 (z) H 2 ( z) =z k som med antagandet att H(z) är ett FIR-filter med linjär fas, dvs på formen H(z) = H(z)z (N 1)/2 där H(z) har noll-fas och N antas vara jämn, leder till H 2 (z)+ H 2 ( z) =1 85
QMF-bank standardversionen, forts Uttryckt i frekvensplanet blir detta H 2 (e jω )+ H 2 (e j(π ω) )=1 Alltså, den kvadrerade amplitudfunktionen A 2 (e jω )är ett halvbands lågpassfilter medan A 2 (e j(π ω) )är ett halvbands högpassfilter (dvs en filtertyp som vi redan stött på!). Eftersom dessa två filterfunktioner är varandras spegelbilder i frekvensen ω = π 2 så kallas de kvadraturspegelfilter. 86
Vikningsfri IIR QMF-bank För E 0 (z) = 1 2 A 0(z) oche 1 (z) = 1 2 A 1(z) där A 0 (z) ocha 1 (z) är stabila allpassfilter ges analysfilterna av [ ] H0 (z) = 1 [ ][ 1 1 A0 (z 2 ] ) H 1 (z) 2 1 1 z 1 A 1 (z 2 ) och syntesfilterna av Se Fig. 10.55. G 0 (z) = 1 2 [A 0(z 2 )+z 1 A 1 (z 2 )] = H 0 (z) G 1 (z) = 1 2 [A 0(z 2 )+z 1 A 1 (z 2 )] = H 0 (z) 87
Viktiga räkningar i kapitel 10 Spektrum och signal vid upp- och nedsampling. Se tal 10.7, 10.8, Uppg 2 på extentan. Att använda upp- och nedsamplingsekv. som i sista talet på extentan. Multi-stage decimering enligt tal 10.11 Komplexitet vid FIR decimering tal 10.13 Polyfasuppdelning av IIR-filter som i tal 10.16 och extenta Effektiv decimering med polyfas enl tal 10.18 88
Polyfasstruktur för uniform filterbank tal 10.32 Testning av perfekt rekonstruktion i QMF-bank 10.33 IIR QMF med allpassfilter 10.39
Audio/video-materialet Materialet som ingår är: Föreläsningsanteckningar Datorövningar Laborationer 89
Tentamen Första talet blir teorifrågor från föreläsningar, datorövningar och laborationer. Tillåtna hjälpmedel är teoriboken (utan anteckningar), räknedosa och formelsamling från grundkursen. 90