Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in...

22
Kapitel 1 Entwurf von FIR-Filtern 1.1 Einleitung 1.1.1 Darstellung von FIR-Filtern im Zeitbereich y[n] = b 0 x[n]+ b 1 x[n 1] + b 2 x[n 2] + ::: + b L1 x[n (L 1)] = L1 X k=0 b k x[n k] = b T x b =[b 0 ;b 1 ;:::;b L1 ] x = fx[n];x[n 1];:::;x[n (L 1)g = L1 X k=0 h[k]x[n k] L wird Filterlnge genannt und ist gleich der Zahl der Koe¢ zienten, (L 1) = N ist die Ordnung des Filters. 1.1.2 Darstellung von FIR-Filtern im z Bereich Y (z) = b 0 X(z)+ b 1 z 1 X(z)+ ::: + b L1 z (L1) X(z)= X(z) L1 X k=0 b k z k H(z) = Y (z) X(z) = b 0 + b 1 z 1 + ::: + b L1 z (L1) = L1 X k=0 b k z k = b 0 z L1 + b 1 z L2 + ::: + b L1 z L1 H(z) ist die Systemfunktion des FIR-Filters, sie hat (L 1) Nullstellen und (L 1) Polstellen. Die Polstellen liegen im Punkt z =0: 1

Transcript of Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in...

Page 1: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

Kapitel 1

Entwurf von FIR-Filtern

1.1 Einleitung

1.1.1 Darstellung von FIR-Filtern im Zeitbereich

y[n] = b0x[n] + b1x[n− 1] + b2x[n− 2] + . . .+ bL−1x[n− (L− 1)]

=

L−1∑k=0

bkx[n− k]

= bT · x b = [b0, b1, . . . , bL−1] x = {x[n], x[n− 1], . . . , x[n− (L− 1)}

=

L−1∑k=0

h[k]x[n− k]

L wird Filterlänge genannt und ist gleich der Zahl der Koeffi zienten,(L− 1) = N ist die Ordnung des Filters.

1.1.2 Darstellung von FIR-Filtern im z−Bereich

Y (z) = b0X(z) + b1z−1X(z) + . . .+ bL−1z

−(L−1)X(z) = X(z)

L−1∑k=0

bkz−k

H(z) =Y (z)

X(z)= b0 + b1z

−1 + . . .+ bL−1z−(L−1) =

L−1∑k=0

bkz−k

=b0z

L−1 + b1zL−2 + . . .+ bL−1zL−1

H(z) ist die Systemfunktion des FIR-Filters, sie hat (L− 1) Nullstellen und(L− 1) Polstellen. Die Polstellen liegen im Punkt z = 0.

1

Page 2: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

2 KAPITEL 1. ENTWURF VON FIR-FILTERN

Abbildung 1.1: FIR-Filter im z− und Frequenzbereich

1.1.3 Frequenzgang von FIR-Filtern

H(ω) = H(z)|z=jω =L−1∑k=0

bke−jωk

= |H(jω)| ejϕ(ω)

H(ω) ist der Frequenzgang des FIR-Filters. Der Betrag des Frequenzgangsist eine gerade Funktion |H(ω)| = |H(−ω)|, die Phase des Frequenzgangs isteine ungerade Funktion ϕ (ω) = −ϕ (−ω) .Abbildung 1.1 fasst die Darstellung im z−Bereich und im Frequnezberiech

zusammen.

1.1.4 Stabilität von FIR-Filtern

Die Impulsantwort des FIR-Filters ist absolut summierbar∑∞−∞ |h[n] <∞|,

daher sind FIR-Filter BIBO-stabil. Die Pole des FIR-Filters liegen innerhalbdes Einheitskreises der z−Ebene, daher sind FIR-Filter BIBO-stabil.

1.2 Filterstrukturen

1.2.1 Direkte Form

Bei der direkten Form können die Koeffi zienten der Multiplizierer direkt aus derÜbertragungsfunktion abgeleitet werden. Abbildung 1.2 zeigt die direkte Form,Abbildung 1.3 zeigt die transponierte direkte Form. Die transponierte direkteForm ist empfindlicher für Rundungsfehler als die direkte Form, da Teilsummenin nachfolgende Stufen gespeist werden.

Page 3: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.2. FILTERSTRUKTUREN 3

Abbildung 1.2: FIR-Filter in Direktform

Abbildung 1.3: FIR-Filter in transponierter Direktform

1.2.2 Kaskadierte Sektionen 2. Ordnung

Die Systemfunktion H(z) =L−1∑k=0

bkz−k kann ist Subsysteme 2. Ordnung zerlegt

werden und als Kaskadenschaltung realisiert werden

H(z) =

K∑k=1

Hk(z)

Hk(z) = bko + bk1z−1 + bk2z

−2, k = 1, 2, . . . ,K

b0 kann entweder auf alle Subsystem aufgetielt werden, d.h. b0 = b10b20b30 . . . bK0,oder nur einem Subsystem zugewiesen werden. Konjugiert komplexe Nullstellenwerden zusammengefasst, um reelle Koefizienten in den Subsystemen 2. Ord-nung zu erhalten. Abbildung 1.4 zeigt ein Subsystem 2. Ordnung und die Kas-kadenschaltung von Subsystemen.

1.2.3 Kaskadierte Kettenleiter (Lattice-Filter)

Kettenleiter1 werden aus Grundelementen, wie in Abbildung 1.5 gezeigt, auf-gebaut.

1Der Begriff Kettenleiter bzw. Lattice-Filter kommt aus der Theorie der elektrischen Lei-tungen bzw. elektrischen (analogen) Filter und wurde für die digitalen Filter übernommen.

Abbildung 1.4: FIR-Subsystem 2. Ordnung, Kaskadenschaltung

Page 4: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

4 KAPITEL 1. ENTWURF VON FIR-FILTERN

Abbildung 1.5: Basiselement eines Kettenleiter-Filters

Abbildung 1.6: Kettenleiter-FIR-Filter

Die Filterstruktur entsteht durch Hintereinanderschaltung der Grundele-mente, wie in Abbildung 1.6 gezeigt.Die Systemfunktion des Kettenleiters der Abbildung 1.6 hat die Form

HN (z) =XN (z)

X0(z)= 1 + . . .+ kNz

−N

Die Koeffi zienten k 1, k2, . . . , kN dieser Gleichung bestimmen wir durch Ko-effi zientenvergleich mit der Systemfunktion des gewünschten FIR-Filters. Diese

lautet Hm(z) =N∑n=0

h[n]z−n. Um leichter vergleichen zu können bringen wir Hm

durch herausheben von h[0] in die normierte Form2 und schreiben

HN = 1 +

N∑n=1

pnz−n (1.1)

Für die erste Stufe des Kettenleiters erhalten wir aus Abbildung 1.5 folgendeBeziehungen

X1(z) = X0(z) + k1z−1X0(z)

Y1(z) = k1X0(z) + z−1X0(z)

mit den zugehörigen Systemfunktionen

2Schaltungstechnisch muss ein Multiplizierer h[0], dem Eingang der Struktur, die HNm (z)

realisiert, vorgeschaltet werden.

Page 5: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.2. FILTERSTRUKTUREN 5

H1(z) =X1(z)

X0(z)= 1 + k1z

−1

G1(z) =Y1(z)

X0(z)= k1 + z

−1 = z−1H(z−1)

Das Verhältnis H1(z)G1(z)

= 1+k1z−1

k1+z−1beschreibt einen Allpass 1. Ordnung.

Entsprechend erhalten wir für die zweite Stufe

X2(z) = X1(z) + k2z−1Y1(z)

Y2(z) = k2X1(z) + z−1Y1(z)

H2(z) =X2(z)

X0(z)= H1(z) + k2z

−1G1(z)

G2(z) =Y2(z)

X0(z)= k2H1(z) + z

−1G1(z) = z−2H(z−1)

für Stufe i wird allgemein

Xi(z) = Xi−1(z) + kiz−1Yi−1(z) (1.2a)

Yi(z) = kiXi−1(z) + z−1Yi−1(z) (1.2b)

Hi(z) =Xi(z)

X0(z)= Hi−1(z) + kiz

−1Gi−1(z) (1.2c)

Gi(z) =Yi(z)

X0(z)= kiHi−1(z) + z

−1Gi−1(z) (1.2d)

Gi(z) = z−iHi(z−1) (1.2e)

Setzen wir Gleichung (1.2e) in Gleichung (1.2c) ein, dann erhalten wir

Hi(z) = Hi−1(z) + kiz−iHi−1(z

−1) (1.3)

Zur Bestimmung der Koeffi zienten gehen wir vom Ausgang zum Eingang desKettenleiters. Wir setzen i = N in Gleichung (1.2c) ein und erhalten

HN (z) = HN−1(z) + kNz−1GN−1(z) (1.4a)

GN (z) = kNHN−1(z) + z−1GN−1(z) (1.4b)

Multiplizieren wir Gleichung (1.4b) mit kN und subtrahieren von Gleichung(1.4a), dann erhalten wir

HN−1(z) =1

1− k2N[HN (z)− kNGN (z)] (1.5)

Wir setzen Gleichung (1.2e) in Gleichung (1.5) ein und erhalten schließlich

HN−1(z) =1

1− k2N

[HN (z)− kNz−NHN (z

−1)](4) (1.6)

Page 6: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

6 KAPITEL 1. ENTWURF VON FIR-FILTERN

Ersetzen wir in Gleichung (1.6) HN aus Gleichung (1.1) ein, dann wird

HN−1(z) =1

1− k2N

[(1 + p1z

−1 + p2z−2 + . . .+ pNz

−N)− kN (pN + pN−1z−1 + pN−2z−2 + . . .+ p1z−(N−1) + z−N)]=

1

1− k2N

[(1− kNpN ) + (p1 − kNpN−1) z−1 + (p2 − kNpN−2) z−2 + . . .+ (pN − kN ) z−N

]Obiger Ausdruck ist von der Ordnung N − 1. Das bedeutet, dass der Term

z−N verschwinden muss, woraus folgt, dass kN = pN . Wir berechnen nur dieweiteren Koeffi zienten

HN−1(z) =1

1− k2N

[(1− kNpN ) + (p1 − kNpN−1) z−1 + (p2 − kNpN−2) z−2 + . . .

](1.7a)

= 1 + p′

1z−1 + p

2z−2 + . . .+ p

N−1z−(N−1) (1.7b)

p′

i =pi − kNpN−i1− k2N

(1.7c)

kN−1 = p′

N−1 (1.7d)

Damit haben wir kN und kN−1 berechnet. Wir setzen mit HN−2(z) fort underhalten kN−2. Wir setzen fort, bis wir alle Koeffi zienten für das Lattice-Filterermittelt haben.Als Beispiel berechnen wir das Filter H3(z) = 1+0.75z

−1+0.5z−2+0.25z−3.Matlab stellt uns dafür die Funktion tf2latc zur Verfügung3 .b = [1 0.75 0.5 0.25]; k = tf2latc(b) k’ = [0.5 1/3 0.25]Aus Gleichung (1.5) sehen wir, dass 1

1−k2Nberechnet werden muss. Wenn

kN = 1 (oder kN−1 = kN−2 = . . . = 1) wird durch Null dividiert und wirerhalten kein Ergebnis.Bei Linear-Phasen-Filtern kann diese Situation vorliegen, wie am Beispiel

eines FIR-Filters Typ 1 zeigen.

H5(z) = 1 + h1z−1 + h2z

−2 + h2z−3 + h1z

−4 + z−5 → k5 = 1 (1.8)

Mit Hilfe der Beziehung Gleichung (1.3) Hi(z) = Hi−1(z) + kiz−iHi−1(z

−1)können wir umformen

H5(z) = H4(z) + z−5H4(z

−1) (1.9)

Wir schreiben Gleichung (1.8) um und erhalten mit Gleichung (1.9)

H5(z) =

1 + h1z−1 + h2z−2︸ ︷︷ ︸H4(z)→H2(z)

+ z−51 + h1z1 + h2z2︸ ︷︷ ︸

H4(z)

H4(z) ist vierter Ordnung, die Koeffi zienten h3 und h4 sind aber Null, d.h.

k3 = k4 = 0.Aus H2(z) = 1 + h1z

−1 + h2z−2 folgt k2 = h2. Aus Gleichung (1.7c) finden

wir k1 = h11+h2

3Wenn Nullstellen auf dem Einheitskreis liegen, liefert tf2latc eine Fehlermeldung.

Page 7: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.2. FILTERSTRUKTUREN 7

Abbildung 1.7: FIR Typ1-Filter in Lattice-Realisierung

Beispiel h = [1 2 3 3 2 1] → H2(z) = 1+2z−1+3z−2 → k1 =

21+3 , k2 =

3

Mit Hilfe der Matlab-Funktion latc2tf können wir die Lattice-Form in dieTransfer-Funktion umrechnen latc2tf([0.5 3 0 0 1],’fir’) und erhaltenwieder h = [1 2 3 3 2 1].Abbildung 1.7 zeigt die Lattice-Realisierung unseres Beispiels.Als zweites Beispiel wenden wir diese Vorgangsweise für ein FIR-Filter Typ

2 an:

H4(z) = 1 + h1z−1 + h2z

−2︸ ︷︷ ︸↑

+ h1z−3 + z−4

= H3(z) + k4z−4H3(z

−1)

=

(1 + h1z

−1 +h22z−2)+ z−4

(1 + h1z +

h22z

)H3(z) = 1 + h1z

−1 +h22z−2 → H2(z)

k3 = 0, k2 =h22, k1 =

h1

1 + h22

Für h = [1 2 3 2 1] erhalten wir k2 = 32 , k1 =

45 . Die Transferfunktion

dafür ermitteln wir mit latc2tf([4/5 3/2 0 1],’fir’) und erhalten wiederh = [1 2 3 2 1]. Die Schaltungsrealisierung zeigt Abbildung .Die Umformung, wie für FIR Typ 1 und 2 gezeigt, kann in entsprechen-

der Weise auch für Typ 3 und 4. angewendet werden und damit Lattice-Filterrealisiert werden.Bei FIR-Filtern ohne lineare Phase aber mit Filterkoeffi zient 1 für die höchste

Ordnung, können wir die Systemfunktion in einer Funktion mit lienarer Phaseund Rest umwandeln. Das wir an Hand eines Beispiels gezeigt.

H4(z) = 1 + h1z−1 + h2z

−2 + h3z−3 + z−4

= 1 + h3z−3 + h2z

−2 + h3z−3 + z−4 (Linearphasen-FIlter)

+(h1 − h3)z−1 (Rest)

Page 8: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

8 KAPITEL 1. ENTWURF VON FIR-FILTERN

Abbildung 1.8: FIR Typ2-Filter in Lattice-Realisierung

Abbildung 1.9: Lattice-Realisierung eines allgemeinen FIR-Filters

Die Realisierung des Linearphasen-Filters haben wir bereits behandelt. Inder Realiseirung muss lediglich der Rest, das zusätzliche FIR-Filter verwirklichtwerden. Abbildung 1.9 zeigt die dazu gehörige Schaltung.

1.2.4 Vorteile und Nachteile von FIR-Filtern

• FIR-Filter können exakt lineare Phase haben, eine wichtige Eigenschaftfür Anwendungen, in denen keine Phasenverzerung zulässig ist. Die Eigen-schaft der linearen Phase ist ein Alleinstellungsmerkmal der FIR-Filter.Daher werden FIR-Filter in der Regel als als Linear-Phasen-Filter reali-siert.

• FIR-Filter sind garantiert stabil.4

• FIR-Filter sind einfach zu implementieren. Der Einfluss endlicher Wortlän-ge auf Rundungs- und Quantisierungsfehler ist geringer als bei IIR-Filtern.

• FIR-Filter können auf einfache Art beliebige Frequenzgänge realisieren.

• Bei gleicher Selektivität als IIR-Filter brauchen die FIR-Filter mehr Ko-effi zienten, der Implementierungsaufwand ist daher höher.

4Wenn sie nicht-rekursiv implementiert werden, was in der Regel der Fall ist.

Page 9: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.3. LINEARE PHASE 9

Abbildung 1.10: Gegenüberstellung Magnitude-Amplitude-Response

• IIR-Filter können aus analogen Filtern abgeleitet werden. FIR-Filter ha-ben kein analoges Gegenstück.

• Die FIR-Synthese ist algebraisch schwieriger als die Synthese von IIR-Filtern, man ist daher auf CAD-Unterstützung angewiesen.

1.3 Lineare Phase

Ein FIR-Filter linearer Phase erkennt man an der symmetrischen bzw. an derantisymetrischen Impulsantwort

h[n] = h[N − n]h[n] = −h[N − n]

Eine Systemfunktion H(z) hat lineare Phase, wenn gilt

H(ejω) = ej(αω+β)Hr(ω) (1.10)

Hr ist eine reelle Funktion und wird Amplitudengang oder Null-Phasen-Antwort5 genannt.Hr kann negativ werden und ist nicht identisch mit

∣∣H(ejω)∣∣ .Abbildung 1.10 zeigt den Betrag des Frequnezgangs im Vergleich zum Am-

pitudengang.Der Betrag des Frequenzgangs ist eine gerade Funtion von ω. Da

∣∣H(ejω)∣∣r=

|Hr(ω)| , ist der Amplitudengang entweder eine gerade oder eine ungerade Funk-tion von ω, d.h Hr(−ω) = ±Hr(ω).

Aus H(ejω) = H∗(e−jω) folgt

ej(αω+β)Hr(ω) = e−j(α(−ω)+β)Hr(−ω) (1.11)

Wenn Hr(ω) eine gerade Funktion ist, dann folgt aus Gl. (1.11), dass ejβ =e−jβ , was nur für β = 0 oder β = π erfüllt ist. Wir erhalten daher aus Gl. (1.11)

5Matlab stellt zur Berechnung von Hr die Funktion zerophase zur Verfügung.

Page 10: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

10 KAPITEL 1. ENTWURF VON FIR-FILTERN

Hr(ω) = ±ejαωH(ejω) = ±N∑n=0

h[n]e−jω(α+n) (1.12)

Hr(−ω) = ±N∑l=0

h[l]ejω(α+l)

Ersetzen wir l = N − n und setzen ein, dann wird

Hr(−ω) = ±N∑n=0

h[N − n]ejω(α+N−n) (1.13)

Aus Gl. (1.11) und (1.13) und Hr(−ω) = Hr(ω), erhalten wir die Bedingung

h[n] = h[N − n], 0 ≤ n ≤ N

α = −N2

Das bedeutet, dass FIR-Filter mit geradem Amplitudengang (H r gerade) einelineare Phase haben, wenn die Impulsantwort symmetrisch ist.Wenn Hr(ω) eine ungerade Funktion ist, dann folgt aus Gl. (1.11), dass

ejβ = −e−jβ . Diese Bedingung ist nur erfüllt, wenn β = π/2 oder β = −π/2.Eingesetzt in Gl. (1.10)

H(ejω) = je−jαωHr(ω) (1.14)

Hr(ω) = −je−jαωH(ejω) = −jN∑n=0

h[n]e−jω(α+n)

Für Hr(ω) ungerade, ist Hr(−ω) = −Hr(−ω) und wir erhalten

Hr(−ω) = j

N∑l=0

h[l]ejω(α+l) (1.15)

Wir ersetzen wieder l = N − n und erhalten

Hr(−ω) = j

N∑n=0

h[N − n]ejω(α+N−n)

Aus Gl. (1.14) und (1.15) erhalten wir schließlich die Bedingung

h[n] = h[N − n], 0 ≤ n ≤ N

α = −N2

Das bedeutet, dass FIR-Filter mit ungeradem Amplitudengang (H r ungera-de) eine lineare Phase haben, wenn die Impulsantwort antisymmetrisch ist.

Page 11: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.3. LINEARE PHASE 11

1.3.1 Typen von FIR-Filtern mit linearer Phase

Da die Filterlänge gerade oder ungerade sein kann, die Impulsantworten sym-metrisch oder antisymmetrisch sein können, erhalten wir vier Typen von FIR-Filtern mit linearer Phase.

FIR-Filter Typ 1(h[n] = h[N − n], Länge L ungerade, Ordnung N gerade)

Wir zeigen die Zusammenhänge am Beispiel für L = 7 :h = [1, 2, 3, 4, 3, 2, 1]

h[0] = h[6] = 1;h[1] = h[5] = 2;h[2] = h[4] = 3;h[3] = 4

H(ω) =6∑k=0

h[k]e−jkω = h[0]+h[1]e−jω+h[2]e−jω2+h[3]e−jω3+h[4]e−jω4+

h[5]e−jω5 + h[6]e−jω6

= e−jω3{h[0]ejω3 + h[1]ejω2 + h[2]ejω1 + h[3] + h[4]e−jω1 + h[5]e−jω2 + h[6]e−jω3

}= e−jω3 {2h[0] cos 3ω + 2h[1] cos 2ω + h[2] cosω + h[3]}

Allgemein erhalten wir

Hr(ω) = h[N/2] + 2

N/2∑n=1

h

[N

2− n

]cos(ωn)

Typ 1 ist die allgemeinste Form, alle Filtertypen (TP, HP, BP, BSp) könnenrealisiert werden.

FIR-Filter Typ 2(h[n] = h[N − n], Länge L gerade, Ordnung N ungerade)

Hr(ω) = 2

(N+1)/2∑n=1

h

[N + 1

2− n

]cos

(ω(n− 1

2)

)FIR-Filter Typ 2 kann kein Hochpassfilter sein.

FIR-Filter Typ 3(h[n] = −h[N − n], Länge L ungerade, Ordnung N gerade)

Hr(ω) = 2

N/2∑n=1

h

[N

2− n

]sin(ωn)

FIR-Filter Typ 4(h[n] = −h[N − n], Länge L ungerade, Ordnung N gerade)

Hr(ω) = +2

(N+1)/2∑n=1

h[N + 1

2− n] sin

(ω(n− 1

2)

)

Page 12: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

12 KAPITEL 1. ENTWURF VON FIR-FILTERN

1.3.2 Nullstellen von FIR-Filtern Typ 1 − 4Für symmetrische Impulsantwort ist

H(z) =

N∑n=0

h[n]z−n =

N∑n=0

h[N − n]z−n

Setzen wir m = N − n, so wird aus obiger Gleichung

H(z) =

N∑m=0

h[m]z−N+m = z−NN∑m=0

h[m]zm = z−NH(z−1)

Für den Fall der antisymmetrischen Impulsantwort erhalten wir

H(z) =

N∑n=0

h[n]z−n = −N∑n=0

h[N − n]z−n = −z−NH(z−1)

Aus H(z0) = ±z−N0 H(z−10 ) = 0 folgt, wenn z0 eine Nullstelle ist, dann istauch z−10 eine Nullstelle. Da H(z) eine gebrochen rationale Funktion mit reellenKoefizienten ist, sind die Nullstellen entweder reell oder konjugiert komplex. Imallgemeinen Fall erhalten wir bei Filtern ungerader Länge L (gerader OrdnungN) daher folgende Nullstellen

(1− rejϕz−1

) (1− re−jϕz−1

)(1− 1

rejϕz−1

)(1− 1

re−jϕz−1

)Liegt eine Nullstelle auf dem Einheitskreis z0 = ejϕ, dann ist z−10 = e−jϕ, die

Nullstellen sind daher(1− ejϕz−1

) (1− e−jϕz−1

). Haben wir eine reelle Null-

stelle, die nicht auf dem Einheitskreis liegt, dann erhalten wir(1± rz−1

) (1± 1

r z−1) .

Wir untersuchen noch die Nullstellen bei ±1, H(z) = 1± z−1.Symmetrische Impulsantwort:

• Wir setzen ein und erhaltenH(1) = 1−NH(1) bzw.H(−1) = (−1)−N H(−1).Diese beiden Gleichungen sind erfüllt für N gerade, was bedeutet, dassNullstellen bei ±1 auftreten können. (Typ 1 FIR-Filter)

• Für N ungerade ist H(1) = 1−NH(1) erfüllt, es können also Nullstellenbei 1 auftreten.Bei einer Nullstelle bei −1 wird H(−1) = (−1)−N H(−1) = −H(−1).Diese Gleichung ist nur erfüllt, wenn H(−1) = 0. Bei −1 muss also eineNullstelle sein. (Typ 2 FIR-Filter)

Unsymmetrische Impulsantwort:

• Wir setzen ein und erhalten H(1) = −1−NH(1) = −H(1). Diese Glei-chung ist nur erfüllt, wenn H(1) = 0. Bei 1 muss also eine Nullstelle sein,und zwar unabhängig davon, ob N gerade oder ungerade ist. (Type 3 undTyp 4 FIR-Filter)

Page 13: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.3. LINEARE PHASE 13

­1 0 1 2

­1

­0.5

0

0.5

1

10

Real Part

Imag

inar

y P

art

Typ 1: h[n] symmetrisch, Ordnung gerade

­1 0 1 2

­1

­0.5

0

0.5

1

11

Real Part

Imag

inar

y P

art

Typ 2: h[n] symmetrisch,  Ordnung ungerade

­1 0 1­1

­0.5

0

0.5

1

10

Real Part

Imag

inar

y P

art

Typ 3: h[n] antisymmetrisch, Ordnung gerade

­1 ­0.5 0 0.5 1­1

­0.5

0

0.5

1

7

Real Part

Imag

inar

y P

art

Typ 4: h[n] antisymmetrisch, Ordnung ungerade

Abbildung 1.11: Nullstellen von FIR-Filtern Typ 1−4

• Schließlich finden wir, dass H(−1) = −1−NH(−1) = −H(−1). Diese Glei-chung ist nur erfüllt, wenn H(−1) = 0. Bei −1 muss also eine Nullstellesein. (Typ 3 FIR-Filter)

Zusammenfassend halten wir folgende Eigenschaften der FIR-Filter Typ 1−4fest.

• Typ 1 ist der allgemeinste Typ und kann alle Filtertypen (TP, HP, BP,BSp) relisieren.

• Typ 2 kann kein Hochpass sein.

• Typ 3 kann weder Hochpass noch Tiefpass sein.

• Typ 4 kann kein Tiefpass sein.

Abbildung 1.11 zeigt typische Nullstellen-Lagen von FIR-Filtern der Typen1 bis 4.

1.3.3 Realisierung von symetrischen Filtern

Die Symmetrieeigenschaften der Linear-Phasen-Filter können bei der Realisie-rung ausgenützt werden, um die Zahl der Multiplizierer zu reduzieren. Abbil-dung zeigt ein Beispiel für symmetrische Impulsantwort und Ordnung N = 6,Abbildung 1.13 zeigt ein Beispiele für symmetrische Impulsantwort und Ord-nung N = 5.

Page 14: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

14 KAPITEL 1. ENTWURF VON FIR-FILTERN

z �1

z �1

z �1

x[n]

x[n­1]

x[n­2]

x[n­3]

z �1

z �1

z �1

b0

b1

b2

b3

y[n]

Typ 1, L ungerade

x[n­4]

x[n­5]

x[n­6]

Abbildung 1.12: Symmetrisches FIR-Filter Typ 1

z �1

z �1

z �1

x[n]

x[n­1]

x[n­2]

z �1

z �1

b0

b1

b2

y[n]

Typ 2, L gerade

x[n­3]

x[n­4]

x[n­5]

Abbildung 1.13: Symmetrisches FIR-Filter Typ 2

Page 15: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.4. ENTWURFSKRITERIEN 15

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90

0.2

0.4

0.6

0.8

1

Normalized Frequency ( ×π rad/sample)

Mag

nitu

de

Magnitude Response

N  =10, 50, 100

Abbildung 1.14: Gibbs’sches Phänomen

1.4 Entwurfskriterien

Im Gegensatz zu IIR-Filtern können FIR-Filter nicht aus analogen Filtern abge-leitet werden. Bei FIR-Filtern muss daher der gewünschte Frequenzgang direktangenähert werden. Die FIR-Synthese ist algebraisch schwieriger als die Synthe-se von IIR-Filtern, man ist daher auf CAD-Unterstützung angewiesen.

1.4.1 Fenstermethode

Die Impulsantwort eines idealen Tiefpass-Filters ist

HTP =

{1, |ω| ≤ ωc0, ωc < |ω| ≤ π

hTP [n] =sinωcn

πn, −∞ < n <∞

Die Impulsantwort hTP [n] des idealen Tiefpassfilters ist nichtkausal, durchAbschneiden (Multiplikation mit einem Rechteckfenster)und Verschieben erhal-ten wir die Impulsantwort h eines kausalen Tiefpassfilters

h =

{sin(ωc(n−M))π(n−M) , 0 ≤ n ≤ N − 10, sonst

Steigendes M kann das oszillatorische Verhalten der Betragsantwort nicht ver-hindern, die größte Welligkeit tritt insbesondere an beiden Seiten der Grenzfre-quenz auf. Abbildung 1.14 zeigt das Verhalten für verschiedene Ordnungen desFilters.Die Ursache des stark oszillierenden Verhaltens ist der steilflankige Über-

gang von Durchlass- zu Sperrbereich. Abhilfe kann ein sanfterer Übergang vomDurchlass- in den Sperrbereich bewirken, allerdings auf Kosten geringerer Flan-kensteilheit des Filters. Anstelle des Rechteckfensters werden andere Fensterfor-men eingesetzt.

Page 16: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

16 KAPITEL 1. ENTWURF VON FIR-FILTERN

0 20 40 60 80 100 120 1400

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

BlackmanHannHammingDreieck

Abbildung 1.15: Vergleich von Fenstern im Zeitbereich

Fenster : hreal[n] = w[n]hideal[n] Fensterlänge N = 2M + 1

Rechteck : wR =

{1, −M ≤ n ≤M0, sonst

Dreieck : wD = 1−|n|

M + 1, −M ≤ n ≤M

Hann : wHn = 0.5

[1 + cos

(2πn

2M + 1

)], −M ≤ n ≤M

Hamming : wHm = 0.54 + 0.46 cos

(2πn

M + 1

), −M ≤ n ≤M

Blackmann : wB = 0.42 + 0.5 cos

(2πn

M + 1

)+ 0.08 cos

(4πn

M + 1

), −M ≤ n ≤M

Abbildung vergleicht diese Fenstertypen im Zeitbereich.Abbildung 1.16 vergleicht diese Fenstertypen im Frequenzbereich. Zur Be-

wertung der Fenster führt man zwei Größen ein:

• die Breite der Hauptkeule, gemessen in den Nulldurchgängen, als Maßfürdie Flankensteilheit des Fensters

• die relative Nebenkeulendämpfung,der Unterschied zwischen Hauptkeuleund größter Nebenkeule in dB

Typ Hauptkeulenbreite Rel. NebenkeuleRechteck 4π/(2M + 1) 13.3 dBDreieck 4π/(2M + 1) 26.5 dBHann 8π/(2M + 1) 31.5 dB

Hamming 8π/(2M + 1) 42.7 dBBlackman 12π/(2M + 1) 58.1 dB

Page 17: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.4. ENTWURFSKRITERIEN 17

Abbildung 1.16: Vergleich der Fenster im Frequenzbereich

Page 18: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

18 KAPITEL 1. ENTWURF VON FIR-FILTERN

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

­90

­80

­70

­60

­50

­40

­30

­20

­10

0

Normalized Frequency ( ×π rad/sample)

Mag

nitu

de (d

B)

Magnitude Response (dB)

Blac k mann

H amming

Abbildung 1.17: Hamming- und Blackman-Tiefpass 20. Ordnung.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9­80

­70

­60

­50

­40

­30

­20

­10

0

Normalized Frequency ( ×π rad/sample)

Mag

nitu

de (d

B)

Magnitude Response (dB)

Abbildung 1.18: Hamming-Tiefpass N = 20, 40, 60

Die Auswirkung eines Hamming- und eines Blackman-Fensters auf einenTiefpass der Ordnung N = 20 ist in Abbildung 1.17 gezeigt. Man kann erken-nen, dass der Hamming-TPr eine größere Flankensteilheit, aber eine geringereSperrdämpfung aufweist als der Blackman-TP.

Die Ordnung hat zwar einen Einfluss auf die Flankensteilheit, aber keinenEinfluss auf die minimale Sperrdämpfung der Fenster-Filter, wie in Abbildung1.18 gezeigt

Bei Filtern wird die Dämpfung im Durchlassbereich und im Sperrbereichauf Grund der Aufgabenstellung festgelegt. Bei Fenster-Filtern ist die Welligkeitim Durchlass- und Sperrbereich gleich, was zu unnötig kleinen Welligkeiten imDurchlassberich führen kann, um eine gewünschte Welligkeit im Sperrbereich zuerreichen.

Kaiser-Fenster

Das Kaiser-Fenster ist zum Unterschied von den bisher vorgestellten eineinstellbares Fenster. Seine Fensterfunktion ist

Page 19: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.4. ENTWURFSKRITERIEN 19

wK =I0

(β√1− (n/M)2

)I0(β)

, µµ−M ≤ n ≤M

I0(µ) = 1 +

∞∑r=1

((µ/2)r

r!

)2I0(µ) ist die modifizierte Besselfunktion 0.Ordnung und kann mit der Matlab-

Funktion besseli berechnet werden. Der Parameter β steuert die minimaleSperrdämpfung. Durch geeignete Wahl von β können die bereits besprochenenFenstertypen angenähert werden.

β0 Rechteck5 (Hamming)6 (Hann)8.6 (Blackman)

1.4.2 Vor- und Nachteile der Fenstermethode

• Die Fenstermethode ist einfach zu verstehen und anzuwenden. Der Be-rechnungsaufwand der Filterkoeffi zienten ist gering, außer beim Kaiser-Fenster.

• Die Welligkeit im Durchlass- und im Sperrbereich sind gleich.

• Die Anpassung an Toleranzfleder ist nur sehr eingeschränkt möglich, außerbeim Kaiser-Fenster.

• Die Grenzfrequenz von Durchlass- und Sperrbereich kann nicht angegebenwerden, aueßer beim Kaiser-Fenster.

• Die Sperrdämpfung eines gewählten Fensters (außer beim Kaiser-Fenster)liegt fest.

1.4.3 Entwurf von Linearphasen-FIR-Filtern mit Hilfe derFrequenzabtastung

Die Ermittlung der Filterkoeffi zienten eines FIR-Filters aus dem Frequenzgangist konzeptuell einfach, da Impulsantwort und Frequenzgang über die DFT ver-knüpft sind. Der gewünschte Frequenzgang (z.B. ein ideales Tiefpassfilter) wirdabgetastet, die iDFT der abgetasteten Punkte liefert die Impulsantwort desFIR-Filters.Der gewünschte Frequenzgang ist periodisch Hd(e

jω) = Hd(ejω+2π) und wir

tasten in gleichen Intervallen ab

Hd(ejω) = H(k), ωk =

Nk, k = 0, 1, 2, . . . , N − 1

Sie abgetasteten Werte sind die DFT von h[n] bzw. hd[n] = iDFT {H(k)}

hd[n] =1

N

N−1∑k=0

H(k)ej2πN kn (1.16)

Page 20: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

20 KAPITEL 1. ENTWURF VON FIR-FILTERN

0 0.5 10

0.5

1

Frequency Samples: N = 20

Frequency in pi units

Hr(

k)

0 10 20­0.1

00.10.2

Impulse Response

n

h(n)

0 0.5 10

0.5

1

Amplitude Response

Frequency in pi units

Hr(

w)

0 0.5 1­60

­40

­20

0

Magnitude Response

Frequency in pi units

Dec

ibel

s

Abbildung 1.19: Entwurf eines FIR-Filters durch Frequenzabtastung

Da die Impulsantwort reell sein muss, gelten für die Abtastwerte folgendeEinschränkungen:

H(0) muss reell sein, die anderen Werte von Gleichung (1.16) müssen kon-jugiert komplex sein, damit hd[n] reell wird.

(H(k)ej

2πN kn

)∗= H∗(k)e−j

2πN kn = H∗(k)e−j

2πN (N−k)n

H(N − k) = H∗(k)

Abbildung 1.19 stellt den gewünschten (idealen) Frequenzgang dem erreich-baren realen Frequenzgang gegenüber.

• Der Frequenzgang des Filters hd[n] stimmt in den Abtastwerten exakt mitden Abtastwerten H(k) überein, der Frequenzgang zwischen den Abtast-punkten lässt sich aber nicht beeinflussen.

• Je steiler der Übergang von Durchlass- in den Sperrbereich ist, desto größerist die Abweichung vom idealen Verhalten. Die Abweichung ist an derBandgrenze größer als innerhalb der Bänder

• Durch Einfügen von einem oder mehreren Punkte im Übergang zwischenDurchlass- und Sperrbereich kann ein flacherer Übergang erzwungen wer-den und die Welligkeit wird geringer.

Page 21: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

1.4. ENTWURFSKRITERIEN 21

Für den Entwurf von FIR-Filtern mit linearer Phase und beliebigem Fre-quenzgang stellt Matlab die Funktion fir2 zur Verfügung. FIR2 kombiniertdie Methode der Frequenzabtastung mit der Fenstermethode. Auf Grund derFensterung geht aber die Frequenzantwort nicht exakt durch die Abtastpunkte.

1.4.4 Optimale Approximation von FIR-Filtern

Die Fenster- und Frequenzabtastungsmethode sind einfach zu verstehen undimplementieren, haben aber Nachteile.

• Die Frequenzen für Durchlass- und Sperrbereich können nicht genau spe-zifiziert werden. Man muss daher überprüfen, ob das Ergebnis des Ent-wurfsprozesses zufriedenstellen ist.

• Die Welligkeit im Durchlass- und Sperrbereich können nichtr unabhängigvoneinander festgelegt werden.

• Der Approximationsfehler, die Abweichung von tatsächlicher zu gewünsch-ter Frequenzantwort, ist über das Frequenzband nicht gleichverteilt. DerFehler ist an den Bandgrenzen größer als innerhalb der Bänder.

Mit dem Parks-Clellan-Algorithmus steht aber ein Entwurfsverfahren fürLinear-Phasen-Filter zur Verfügung, das die erwähnten Schwachpunkte besei-tigt. Dieses Verfahren ist nicht einfach zu verstehen und kann nur mit Rech-nerunterstützung realisiert werden. Der Parks-McClellan-Algorithmus steht inMatlab als Funktion firpm mit mehreren Parametern zur Verfügung. Die An-wendung von firpm soll anhand eines Beispiels gezeigt werden.Tiefpass: Grenzfrequenz Duchlassbereich ωp = 0.2π, Sperrbereich ωs = 0.3πWelligkeit im Durchlassbereich Rp = 0.5 dB, minimale Sperrdämpfung As =

50 db.h = firpm(N,F,A,W)N. . . Ordnung, F. . . Frequenzen DB und SpB (zwischen 0 und 1), A. . . gewünschte

Ampitude, W. . . Gewichtung Durchlass- und Sperrbereich ([δ1, δ2])firmpm verlangt die Welligkeiten in linearem Maß, wir müssen daher erst

umrechnen:K = 10

Rp20 , δ1 =

K−1K+2 , δ2 = (1 + δ1)10

−As20

[δ1, δ2] = [0.028774368331997, 0.028774368331997]Die erforderliche Ordnung kann mit Hilfe der Funktion firpmord abgeschätzt

werden.[N,F,A,W] = firpmord([wp,ws]/pi,[1 0],[delta1,delta2]) ⇒ N = 38h = firpm(N,F,A,W)fvtool(h,1)Aus Abbildung 1.20 sehen wir, dass firpmord eine zu geringe Ordnung ab-

geschätzt hat.

Page 22: Entwurf von FIR-Filtern - ti. · PDF file1.2. FILTERSTRUKTUREN 3 Abbildung 1.2: FIR-Filter in Direktform Abbildung 1.3: FIR-Filter in transponierter Direktform 1.2.2 Kaskadierte Sektionen

22 KAPITEL 1. ENTWURF VON FIR-FILTERN

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9­70

­60

­50

­40

­30

­20

­10

0

Normalized Frequency ( ×π rad/sample)

Mag

nitu

de (d

B)

Magnitude Response (dB)

Abbildung 1.20: FIR-Filter mit firpm