Vor- und Nachteile FIR- und IIR-Filter DSV 1, 2005/01, Rur, Filterentwurf, 1 Filterspezifikation DSV 1, 2005/01, Rur, Filterentwurf, 2 FIR-Filter sind nichtrekursive LTD-Systeme werden meistens in Transversalstruktur (Direktform 1) realisiert + linearer Phasengang realisierbar + immer stabil (alle Pole im Ursprung) + toleranter gegenüber Quantisierungseffekten als IIR-Filter - höhere Filterordnung als vergleichbare IIR-Filter (mehr Realisierungsaufwand, dafür effiziente Struktur für DSP) - Zeitverzögerung bzw. Gruppenlaufzeit relativ gross IIR-Filter sind rekursive LTD-Systeme werden meistens als Biquad-Kaskade realisiert + kleine Filterordnung (Aufwand) dank Pol-Selektivität + kleine Zeitverzögerung - linearer Phasengang für kausale Filter nicht realisierbar - mehr Probleme mit Quantisierungseffekten als bei FIR-Filter Stempel-Matrizen-Schema 1 db A max R p Durchlassbereich A min, Rippel R s Sperrbereich f DB f SB f s /2 Filterordnung (Aufwand) abhängig von Steilheit im Übergangsbereich FIR-Filter mit linearer Phase DSV 1, 2005/01, Rur, Filterentwurf, 3 FIR-Filterentwurf mit Fenstermethode DSV 1, 2005/01, Rur, Filterentwurf, 4 Linearphasige FIR-Filtern der Ordnung N Filterkoeffizienten symmetrisch sind, d.h. b n = b N-n Filterkoeffizienten antisymmetrisch sind, d.h. b n = - b N-n 4 Typen linearphasiger FIR-Filter und H(f)-Restrikitionen Typ Symmetrie Ordnung N H(0) H(f s /2) 1 sym. gerade - - 2 sym. ungerade - Nullstelle 3 anti-sym. gerade Nullstelle Nullstelle 4 anti-sym. ungerade Nullstelle - Beispiel: H(z) = b 0 (1+z -1 ) FIR-Filter der Ordnung N=1 vom Typ 2 Frequenzgang: H(f) = 2b 0 cos(πft s ) e -jπfts Nullstelle H(f s /2) = 0 linearer Phasengang φ(f) = -π f T s bzw. Zeitverzögerung Δ = T s /2 Ziel: b n = h[n] so bestimmen, dass H(f) die Spezifikationen erfüllt Fenstermethode 1. Analoge Referenzstossantwort abtasten: h d [n] = T s h(t=nt s ) sin(nπf DB/(f s/2)) idealer TP: h[n]= d - < n < nπ 2. relevanten Anteil ausschneiden: h c [n] = w[n] h d [n] für -N/2 n N/2 Rechteck-Fenster Fenster w[n]: Blackman-Fenster Hamming-Fenster Hanning-Fenster -N/2 0 N/2 3. FIR-Filter mit Zeitverschiebung kausal machen: h[n] = h c [n-n/2]
Beispiel zum Windowing DSV 1, 2005/01, Rur, Filterentwurf, 5 Einfluss des Fensters DSV 1, 2005/01, Rur, Filterentwurf, 6 h FIR [n] = w[n] h d [n] H FIR (f) = W(f) * H d (f) H d (f) IW(f 0 -f)i Gibbs sches Phänomen f DB Gibbs sches Phänomen: Überschwingen von H FIR (f 0 f DB ) Nebenkeule von W(f) klein => Überschwingen von H FIR (f) klein Hauptkeule von W(f) schmal => Übergangsbereich von H FIR (f) steil Spektren verschiedener Fenster DSV 1, 2005/01, Rur, Filterentwurf, 7 TP BP/BS/HP-Transformationen DSV 1, 2005/01, Rur, Filterentwurf, 8 L=N+1=51 Ziel: Erhalt der linearen Phase A = - 13 db A = - 41 db TP-BP-Frequenztranslation Typ 1,2: b BP [n] = 2 cos(ω 0 nt s ) b TP [n] Typ 3,4: b BP [n] = 2 sin(ω 0 nt s ) b TP [n] Δf (1/L) fs A = - 31 db Δf (2/L) fs Δf (2/L) fs A = - 57 db Δf (3/L) fs BP-BS-Transformation BS und BP sind komplementär: H BP (z) + H BS (z) = z -N/2 b BS [n] = δ[n-n/2] - b BP [n] TP-HP-Frequenztranslation TP-BP-Trafo mit f 0 =f s /2: b HP [n] = (-1) n b TP [n] Beispiel linearphasiges Typ 2 FIR-Filter 1. Ordnung mit f DB =f s /4 TP: H TP (z) = 0.5 (1+z -1 ) => HP: H HP (z) = 0.5 (1-z -1 )
FIR-Filterentwurf: Frequenzabtastung DSV 1, 2005/01, Rur, Filterentwurf, 9 FIR-Filterentwurf im z-bereich DSV 1, 2005/01, Rur, Filterentwurf, 10 1. Vorgabe N+1 äquidistante Abtastwerte von H(f) im Bereich [0,f s ] H[m] N+1=80 f s = periodisch! 2. IFFT Iterative Optimierungsverfahren (CAD) am bekanntesten ist der Remez-Algorithmus (Parks-McClellan) Vorgabe Stempel-Matrize (auch Multiband) => Minimax-Optimierung Equiripple im Durchlass- und Sperrbereich => kleinste Ordnung für A min b FIR [n] h[n] 3. Zeitverschiebung (oder Vorgabe Phase) A min H FIR (f) Verbesserungen: Vorgabe weniger steil (siehe ) oder Windowing Least-Square Optimierungsverfahren Vorgabe wird eingehalten dazwischen aber Überschwingen Zahlendarstellung DSV 1, 2005/01, Rur, LTD-Systeme, 12 Kap.5a : DSV 1, 2005/01, Rur, Filterentwurf, 13 Festkomma b W-1 b 0 signed integer -2 W-1 2 W-2 2 W-3 2 0 sign-bit unsigned integer 2 W-1 2 W-2 2 W-3 2 0 signed fractional -2 0 2-1 2-2 2 -(W-1) sign-bit unsigned fractional 2-1 2-2 2-3 2 -W Gleitkomma (IEEE 754/854) s Exponent 1 E 254 Mantisse 1 M < 2 b 31 b 30 b 23 b 22 hidden 1 s E 127 F = ( 1) M 2 b 0 Quantisierung Ueberlauf
DSV 1, 2005/01, Rur, Filterentwurf, 14 DSV 1, 2005/01, Rur, Filterentwurf, 15 DSV 1, 2005/01, Rur, Filterentwurf, 16 DSV 1, 2005/01, Rur, Filterentwurf, 17 Skalierung von Signalen und Filterkoeffizienten Eingangssignal Filterkoeffizienten Ausgangssignal Filter-Normen
DSV 1, 2005/01, Rur, Filterentwurf, 18 DSV 1, 2005/01, Rur, Filterentwurf, 19 Filter-Normen Skalierung des Eingangs- und des Ausgangssignals Q15-Skalierung der Filterkoeffizienten DSV 1, 2005/01, Rur, Filterentwurf, 20 DSV 1, 2005/01, Rur, Filterentwurf, 21 Ringbuffer
DSV 1, 2005/01, Rur, Filterentwurf, 22 DSV 1, 2005/01, Rur, Filterentwurf, 23 Ringbuffer or Circular-Buffer DSV 1, 2005/01, Rur, Filterentwurf, 24 DSV 1, 2005/01, Rur, Filterentwurf, 25 Ueberlauf vermeiden: Anwenden der l1-norm => SNR schlechter Aufsummieren mit internen Registern (mit Guard-Bits) => Assembler Zwischenresultate in Q8.23-Format => Aufwand Wie???
: Lab Uebung 11 DSV 1, 2005/01, Rur, Filterentwurf, 26 : Lab Uebung 11 DSV 1, 2005/01, Rur, Filterentwurf, 27 Code Composer : Code Composer : : Lab Uebung 11 DSV 1, 2005/01, Rur, Filterentwurf, 28 : Lab Uebung 11 DSV 1, 2005/01, Rur, Filterentwurf, 29 Code Composer : Clock Function Code Composer : Set breakpoints before and after the command line you want to measure Run till break point then reset clock and run again till next breakpoint Clock measure gives you number of DSP cycles between the 2 stop points