Post on 07-Mar-2018
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
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.
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
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.
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)
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.
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)
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.
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.
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.
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)
)
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)
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 11
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 11
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.
14 KAPITEL 1. ENTWURF VON FIR-FILTERN
z �1
z �1
z �1
x[n]
x[n1]
x[n2]
x[n3]
z �1
z �1
z �1
b0
b1
b2
b3
y[n]
Typ 1, L ungerade
x[n4]
x[n5]
x[n6]
Abbildung 1.12: Symmetrisches FIR-Filter Typ 1
z �1
z �1
z �1
x[n]
x[n1]
x[n2]
z �1
z �1
b0
b1
b2
y[n]
Typ 2, L gerade
x[n3]
x[n4]
x[n5]
Abbildung 1.13: Symmetrisches FIR-Filter Typ 2
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.
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
1.4. ENTWURFSKRITERIEN 17
Abbildung 1.16: Vergleich der Fenster im Frequenzbereich
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.980
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
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 =
2π
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)
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 200.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 160
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.
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.
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.970
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