Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FIR- und IIR-Filter-Struktur

Ähnliche Präsentationen


Präsentation zum Thema: "FIR- und IIR-Filter-Struktur"—  Präsentation transkript:

1 FIR- und IIR-Filter-Struktur
DSV 1, 2005/01, Rur, Filterentwurf, 1 x[n] T T x[n-2] b0 b1 b2 FIR-Filter y[n] + + + T + -a1 b0 b1 b2 y[n] x[n] x[n-2] -a2 y[n-2] IIR-Filter

2 Vor- und Nachteile FIR- und IIR-Filter
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

3 Filterspezifikation Stempel-Matrizen-Schema
DSV 1, 2005/01, Rur, Filterentwurf, 3 Stempel-Matrizen-Schema 1 dB Amax Rp Durch- lass- bereich Amin, Rippel Rs Sperrbereich fDB fSB fs/2 Filterordnung (Aufwand) abhängig von Steilheit im Übergangsbereich

4 FIR-Filter mit linearer Phase
DSV 1, 2005/01, Rur, Filterentwurf, 4 Linearphasige FIR-Filtern der Ordnung N Filterkoeffizienten symmetrisch sind, d.h. bn = bN-n Filterkoeffizienten antisymmetrisch sind, d.h. bn = - bN-n 4 Typen linearphasiger FIR-Filter und H(f)-Restrikitionen Beispiel: H(z) = b0·(1+z-1) FIR-Filter der Ordnung N=1 vom Typ 2 Frequenzgang: H(f) = 2b0·cos(πfTs)·e-jπfTs Nullstelle H(fs/2) = 0 linearer Phasengang φ(f) = -π·f·Ts bzw. Zeitverzögerung Δ = Ts/2 Typ Symmetrie Ordnung N H(0) H(fs/2) 1 sym. gerade - - 2 sym. ungerade - Nullstelle 3 anti-sym. gerade Nullstelle Nullstelle 4 anti-sym. ungerade Nullstelle -

5 FIR-Filterentwurf mit Fenstermethode
DSV 1, 2005/01, Rur, Filterentwurf, 5 Ziel: bn = h[n] so bestimmen, dass H(f) die Spezifikationen erfüllt Fenstermethode 1. Analoge Referenzstossantwort abtasten: hd[n] = Ts·h(t=nTs) idealer TP: ∞ < n < ∞ 2. relevanten Anteil ausschneiden: hc[n] = w[n]·hd[n] für -N/2 ≤ n ≤ N/2 Fenster w[n]: 3. FIR-Filter mit Zeitverschiebung kausal machen: h[n] = hc[n-N/2] Rechteck-Fenster Blackman-Fenster Hamming-Fenster Hanning-Fenster -N/ N/2

6 Beispiel zum Windowing
DSV 1, 2005/01, Rur, Filterentwurf, 6 Gibbs‘sches Phänomen

7 Einfluss des Fensters hFIR[n] = w[n] · hd[n] HFIR(f) = W(f) * Hd(f)
DSV 1, 2005/01, Rur, Filterentwurf, 7 hFIR[n] = w[n] · hd[n] HFIR(f) = W(f) * Hd(f) Hd(f) IW(f0-f)I fDB Gibbs‘sches Phänomen: Überschwingen von HFIR(f0 ≈ fDB) Nebenkeule von W(f) klein => Überschwingen von HFIR(f) klein Hauptkeule von W(f) schmal => Übergangsbereich von HFIR(f) steil

8 Spektren verschiedener Fenster
DSV 1, 2005/01, Rur, Filterentwurf, 8 L=N+1=51 A = - 13 dB A = - 41 dB Δf ≈ (1/L)·fs Δf ≈ (2/L)·fs A = - 31 dB A = - 57 dB Δf ≈ (2/L)·fs Δf ≈ (3/L)·fs

9 TP – BP/BS/HP-Transformationen
DSV 1, 2005/01, Rur, Filterentwurf, 9 Ziel: Erhalt der linearen Phase TP-BP-Frequenztranslation Typ 1,2: bBP[n] = 2·cos(ω0·nTs)·bTP[n] Typ 3,4: bBP[n] = 2·sin(ω0·nTs)·bTP[n] BP-BS-Transformation BS und BP sind komplementär: HBP(z) + HBS(z) = z-N/2 bBS[n] = δ[n-N/2] - bBP[n] TP-HP-Frequenztranslation TP-BP-Trafo mit f0=fs/2: bHP[n] = (-1)n·bTP[n] Beispiel linearphasiges Typ 2 FIR-Filter 1. Ordnung mit fDB=fs/4 TP: HTP(z) = 0.5·(1+z-1) => HP: HHP(z) = 0.5·(1-z-1)

10 FIR-Differentiator-Filter
DSV 1, 2005/01, Rur, Filterentwurf, 10 Referenzfilter: Ha(f) = j2πf => hd[n] = cos(nπ)/n - sin(nπ)/(n2π) Beispiel: FIR-Differentiator 10. Ordnung (Hamming-Fenster) FIR-Differentiatoren, die höhere Frequenzen (Rauschen) unterdrücken HDiff(z) HTP(z) siehe auch Matlab fdatool zwei FIR-Filter

11 FIR-Hilbert-Filter DSV 1, 2005/01, Rur, Filterentwurf, 11 Referenzfilter: Ha(f) = -j·sgn(f) => hd[n] = [1 - cos(nπ)] / (nπ) Anwendung: breitbandige 900-Phasenschieber (z.B. Einseitenband-Signale in Telekommunikation) Beispiel: FIR-Hilbert-Filter 10. Ordnung (Rechteck-Fenster) „Allpass“ Phasensprung von -900 Linearer Abfall (Zeitverschiebung beim Windowing)

12 Raised-cosine-FIR-Filter
DSV 1, 2005/01, Rur, Filterentwurf, 12 Anwendung: Pulsformung bei der Signalübertragung Beispiel: Raised-Cosine-FIR-Filter, N=20, Rechteck-Fenster Datenrate R = 2 kb/s, fs = 8 kHz, Rolloff r=0.5 Pulsform T=1/R Übergangsbereich (r=0.5)

13 FIR-Filterentwurf: Frequenzabtastung
DSV 1, 2005/01, Rur, Filterentwurf, 13 1. Vorgabe N+1 äquidistante Abtastwerte von H(f) im Bereich [0,fs] periodisch! N+1=80 H[m] fs= 2. IFFT h[n] 3. Zeitverschiebung (oder Vorgabe Phase) bFIR[n] Verbesserungen: Vorgabe weniger steil (siehe ) oder Windowing HFIR(f) Vorgabe wird eingehalten dazwischen aber Überschwingen

14 FIR-Filterentwurf im z-Bereich
DSV 1, 2005/01, Rur, Filterentwurf, 14 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 Amin Least-Square Optimierungsverfahren Amin

15 FIR- und IIR-Filter-Struktur
DSV 1, 2005/01, Rur, Filterentwurf, 15 x[n] T T x[n-2] b0 b1 b2 FIR-Filter y[n] + + + T + -a1 b0 b1 b2 y[n] x[n] x[n-2] -a2 y[n-2] IIR-Filter

16 haben doppelte Ordnung)
IIR-Filterentwurf: Analoge Prototypen DSV 1, 2005/01, Rur, Filterentwurf, 16 Approximation von ‘Brickwall‘-Filtern ist im Analogen gelöst Beispiel: Butterworth-TP N. Ordnung IIR-Filterentwurf N=1 N=2 N=3 sz-Trafo (bilinear) HTP(s) [ => HBP(s) ] => H(z) => b-,a-Filterkoeffizienten TP-HP/BP/BS-Trafo (Achtung: BP und BS haben doppelte Ordnung)

17 IIR-Filterentwurf: Analoge Prototypen
DSV 1, 2005/01, Rur, Filterentwurf, 17 Vergleich mit Filter 4. Ordnung => Amax=1dB, fDB=1 kHz, Amin=30 dB, fSB=2 kHz Butterworth-Filter Steilheit: klein IH(f)I: monoton φ(f): Nichtlinearität klein Chebyscheff-Filter Steilheit: mittel IH(f)I: Rippel im DB oder SB φ(f): Nichtlinearität mittel Elliptisches Filter (Cauer) Steilheit: gross IH(f)I: Rippel im DB und SB φ(f): Nichtlinearität gross Besselfilter Steilheit: sehr klein φ(f): Nichtlinearität sehr klein Amin=3 dB

18 Bilineare Transformation
DSV 1, 2005/01, Rur, Filterentwurf, 18 Potenzreihen-Approximation für ln Nach dem ersten Glied abgebrochen

19 Bilineare Transformation
DSV 1, 2005/01, Rur, Filterentwurf, 19 sz-Trafo kein Aliasing ! aber Frequenzstauchung ! mit Tangensfunktion f-Trafo: j2πfanalog = j(2/Ts)·tan(πfdigitalTs) IHa(f)I fanalog fanalog -fs/2 fs/2 prewarping fdigital fDB IH(f)I fdigital fDB fs/2

20 Bilineare Transformation
DSV 1, 2005/01, Rur, Filterentwurf, 20 s-Ebene z-Ebene Im Re z-Ebene Im Re Dreht nur einmal rund um dem Einheitskreis  kein Aliasing-Effekt!! s-Ebene

21 IIR-Filterentwurf im z-Bereich
DSV 1, 2005/01, Rur, Filterentwurf, 21 Ziel H(f) soll möglichst gut mit Vorgabe übereinstimmen (least-square) Filterkoeffizienten von H(z) variieren bzw. optimieren (CAD) Beispiel Yule-Walker-Filter 10. Ordnung mit 2 Durchlassbereichen

22 Direktstruktur 1 Direkte Umsetzung der Differenzengleichung
DSV 1, 2005/01, Rur, LTD-Systeme, 22 Direkte Umsetzung der Differenzengleichung x[n] y[n] b0 z-1 z-1 b1 -a1 x[n-1] y[n-1] bN -aM x[n-N] y[n-M] Realisierung FIR-Filter mit Direktstruktur 1 x[n-1] x[n-N] z-1 z-1 x[n] b0 b1 bN-1 bN R=R+X·Y y[n]

23 Direktstruktur 2 w[n] bo x[n] y[n] z-1 -a1 b1 -aM bN w[n-N]
DSV 1, 2005/01, Rur, LTD-Systeme, 23 w[n] bo x[n] y[n] z-1 -a1 b1 -aM bN w[n-N] Schritt 0: (zirkulärer) w-Buffer {w[n-1], ..., w[n-N]} mit Nullen initialisieren Schritt 1: w[n] = x[n] - a1·w[n-1] -…- aM·w[n-M] Schritt 2: y[n] = b0·w[n] +…+ bN·w[n-N] ausgeben Schritt 3: w-Buffer schieben, w[n] speichern (besser: im Ringbuffer ältesten Wert w[n-N] mit w[n] überschreiben) Schritt 4: neuen Eingangswert x[n+1] lesen und mit Schritt 1 weiterfahren

24 Transponierte Direktstruktur 2
DSV 1, 2005/01, Rur, LTD-Systeme, 24 x[n] y[n] bo z-1 w1[n] -a1 b1 z-1 wN[n] -aM bN y[n] = b0·x[n] + w1[n-1] w1[n] = b1·x[n] - a1·y[n] + w2[n-1] wN-1[n] = bN-1·x[n] - aM-1·y[n] + wN[n-1] wN[n] = bN·x[n] - aM·y[n]

25 Kaskadierung von Biquads
DSV 1, 2005/01, Rur, LTD-Systeme, 25 x[n] ... y[n] K1 b10 KL bL0 z-1 z-1 b11 -a11 bL1 -aL1 z-1 z-1 b12 -a12 bL2 -aL2 Pol-Nullstellenpaarung (Normalfall): letzter Biquad enthält komplexes Polpaar am nächsten beim Einheitskreis und dazu nächstgelegenes konjugiert komplexes Nullstellenpaar. b) übrig gebliebenen Pole und Nullstellen werden nach Regel a) kombiniert.

26 Zahlendarstellung Festkomma Gleitkomma (IEEE 754/854) bW-1 b0
DSV 1, 2005/01, Rur, LTD-Systeme, 26 Festkomma bW-1 b0 signed integer -2W-1 2W-2 2W-3 20 sign-bit unsigned integer 2W-1 2W-2 2W-3 20 signed fractional -20 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 b31 b30 b23 b22 b0 hidden 1

27 k1·k2· max(IH1(f)·H2(f)I) < 1
Festkomma-Filter (Beispiel) DSV 1, 2005/01, Rur, LTD-Systeme, 27 Filterspezifikation PN-Darstellung UTF Filterart (elliptisches) TP Filterordnung N=4 Abtastfrequenz fs=8000 Hz Eckfrequenz DB fDB=1000 Hz Eckfrequenz SB fSB=1300 Hz max. Rippel im DB Rp=3 dB min. Rippel im SB Rs=40 dB Wortbreite W=8 Bit Biquad-Kaskade Skalierung H1(z) H2(z) k1·max(IH1(f)I) < 1 k1·k2· max(IH1(f)·H2(f)I) < 1 k1 k2 H(z) = k1·H1(z) · k2·H2(z)

28 Festkomma-Filter (Beispiel)
DSV 1, 2005/01, Rur, LTD-Systeme, 28 Biquad 1 Biquad 2 Kaskade Spec erfüllt ! Direktform Spec nicht erfüllt !

29 FIR-Tiefpass-Filter im Vergleich
DSV 1, 2006/01, Hrt, Filterentwurf, 29

30 FIR-Hochpass-Filter im Vergleich
DSV 1, 2006/01, Hrt, Filterentwurf, 30

31 IIR-Tiefpass-Filter im Vergleich
DSV 1, 2006/01, Hrt, Filterentwurf, 31

32 IIR-Hochpass-Filter im Vergleich
DSV 1, 2006/01, Hrt, Filterentwurf, 32


Herunterladen ppt "FIR- und IIR-Filter-Struktur"

Ähnliche Präsentationen


Google-Anzeigen