entwurf von iir-filtern - ti.tuwien.ac.at · allem deshalb gewählt, da auch matlab diese...

15
Kapitel 1 Entwurf von IIR-Filtern 1.1 Einleitung 1.1.1 Darstellung von IIR-Filtern im Zeitbereich 1 y[n] = b 0 x[n]+ b 1 x[n 1] + b 2 x[n 2] + ::: + b M x[n M ] (1.1) a 1 y[n 1] a 2 y[n 2] ::: a N y[n N ] = M X k=0 b k x[n k] N X m=1 a m y[n m] 1.1.2 Darstellung von IIR-Filtern im z Bereich Y (z) = b 0 + b 1 z 1 + b 2 z 2 + ::: + b M z M X(z) a 1 z 1 + a 2 z 2 + ::: + a N z N Y (z) H(z) = Y (z) X(z) = M P k=0 b k z k 1+ N P m=1 a m z m = b 0 + b 1 z 1 + b 2 z 2 + ::: + b M z M 1+ a 1 z 1 + a 2 z 2 + ::: + a N z N = B(z) A(z) Das Zhlerpolynom B(z) hat M Nullstellen. Das Nennerpolynom A(z) hat N Nullstellen, die zur Unterscheidung Polstellen genannt werden. 1 Wir whlen die Koe¢ zienten am im Blockdiagramm negativ, aber in der Literatur nden sich auch Darstellungen mit positiven Koe¢ zienten am: Negative Koe¢ zienten werden vor allem deshalb gewhlt, da auch Matlab diese Schreibweise verwendet. 1

Upload: doankhanh

Post on 05-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Kapitel 1

Entwurf von IIR-Filtern

1.1 Einleitung

1.1.1 Darstellung von IIR-Filtern im Zeitbereich1

y[n] = b0x[n] + b1x[n− 1] + b2x[n− 2] + . . .+ bMx[n−M ] (1.1)

−a1y[n− 1]− a2y[n− 2]− . . .− aNy[n−N ]

=

M∑k=0

bkx[n− k]−N∑m=1

amy[n−m]

1.1.2 Darstellung von IIR-Filtern im z−Bereich

Y (z) =(b0 + b1z

−1 + b2z−2 + . . .+ bMz

−M)X(z)−(a1z−1 + a2z

−2 + . . .+ aNz−N)Y (z)

H(z) =Y (z)

X(z)=

M∑k=0

bkz−k

1 +N∑m=1

amz−m

=b0 + b1z

−1 + b2z−2 + . . .+ bMz

−M

1 + a1z−1 + a2z−2 + . . .+ aNz−N=B(z)

A(z)

Das Zählerpolynom B(z) hat M Nullstellen. Das Nennerpolynom A(z) hatN Nullstellen, die zur Unterscheidung Polstellen genannt werden.

1Wir wählen die Koeffi zienten am im Blockdiagramm negativ, aber in der Literatur findensich auch Darstellungen mit positiven Koeffi zienten am. Negative Koeffi zienten werden vorallem deshalb gewählt, da auch Matlab diese Schreibweise verwendet.

1

2 KAPITEL 1. ENTWURF VON IIR-FILTERN

1.1.3 Frequenzgang von IIR-Filtern

H(jω) = H(z)|z=jω =

M∑k=0

bke−jωk

1 +N∑m=1

ame−jωm

|H(jω)| = |H(−jω)| . . . gerade

ϕ(ω) = argH(ejω)

ϕ(ω) = −ϕ(−ω) . . . ungerade

1.1.4 Matlab Unterstützung

Für die Berechnung des Frequenzgangs stellt Matlab die Funktion freqz zurVerfügung. Pole und Nullstellen können mit der Funktion zplane dargestelltwerden. Die numerische Lösung der Differenzengleichung (1.1) für beliebige Ein-gangsfolgen x kann mit Hilfe von filter durchgeführt werden. impz bzw. stepzberechnen Impuls- und Sprungangtwort. Für den Vergleich von Netzwerkfunk-tionen unterschiedlicher Filter eignet sich die Funktion fvtool.

1.1.5 Stabilität von IIR-Filtern

IIR-Filter sind zum Unterschied von FIR-Filtern nicht garantiert BIBO-stabil.Stabilität liegt vor, wenn

• die Impulsantwort des FIR-Filters absolut summierbar∑∞−∞ |h[n] <∞|

ist, bzw. wenn

• die Pole des IIR-Filters innerhalb des Einheitskreises in der z−Ebene lie-gen.

1.2 Filterstrukturen

1.2.1 Direkte Form I und II

Die Systemfunktion eines FIIR-Filters kann in Form eines Blockdiagramms dar-gestellt werden. Abbildung 1.1 zeigt die Realisierung eines IIR-Filters 4. Ord-nung in der Direkten Form 1.

H(z) = H1(z)H2(z) =

M∑k=0

bke−jωk

︸ ︷︷ ︸All-zero System

1

1 +∑Nm=1 ame

−jωm︸ ︷︷ ︸All-pole System

Der linke Teil des Blockdiagramms zeigt den Feed-forward (All-zero System),der rechte Teil den Feed-back (All-pole System).Aus dem Blockdiagramm kann man leicht erkennen, wie die Struktur von

IIR-Filtern höherer Ordnung aussehen muss.

1.2. FILTERSTRUKTUREN 3

Abbildung 1.1: IIR-Filter 4. Ordnung, Direkte Form I

Abbildung 1.2: IIR-Filter Direktform Typ 2

4 KAPITEL 1. ENTWURF VON IIR-FILTERN

Abbildung 1.3: Transponierte Form

Für die Systemfunktion gilt, dass H(z) = H1(z)H2(z) = H2(z)H1(z). Ver-tauscht man die Reihenfolge, dann liegen die Speicherelemente z−1 in der Schal-tung parallel, man kann daher mit der halben Zahl der Speicherelemente aus-kommen. Abbildung 1.2 stellt die Zusammenhänge dar.Durch Transposition kann eine weitere Netzwerktopologie gefunden werden.

Dabei geht man wie folgt vor:

• Der Ausgang wird zum Eingang und der Eingang wird zum Ausgang.

• Alle Richtungspfeile im Signalflussgraphen werden umgedreht.

• Aus den Verzweigungen werden Addierer.

• Aus den Addierern werden Verzweigungen.Abbildung 1.3 zeigt die transponierte Form eines Netzwerks in DirekterForm, Typ 2.

Transponierte und direkte Form I & II reagieren sehr empfindlich auf Quanti-sierungsfehler, da die Quantisierungsfehler rückgekoppelt und summiert werdenund werden daher in der Regel nicht verwendet.

1.2.2 Kaskadierte Sektionen 2. Ordnung

Kaskadierte Realisierungen zerlegen die Systemfunktion in Subsysteme 2. Ord-nung.

H(z) = G

K∏k=1

Hk(z) = G

K∏k=1

b0k + b1kz−1 + b2kz

−2

1 + a1kz−1 + a2kz−2

1.2. FILTERSTRUKTUREN 5

Abbildung 1.4: IIR-Filter in Kaskadenrealisierung

Wenn die Systemfunktion H(z) ungerade ist, ist eine Kaskade von 1. Ord-nung. Kaskaden werden in der Regel in der 2. Direktform realisiert. Abbildung1.4 zeigt die Anordnung von zwei kaskadierten Subsystemen 2. Ordnung.Kaskadierte Filter sind einfach zu entwerfen und sind weniger anfällig für

Quantisierungsfehler und Stabiltätsprobleme als Filter der Direktformen. Aller-dings ist die Aufteilung der Pole und Nullstellen auf die Subsysteme zweiterOrdnung nicht trivial.

H(z) = G(z − z1) (z − z2) . . . (z − zm)

(z − p1) (z − p2) . . . (z − pn)

Man wählt folgende Vorgangsweise

1. Suche des dem Einheitskreis nächstgelegenen Poles oder Polpaares

2. Suche der dem Einheitskreis nächstgelegenen Nullstelle oder Nullstellen-paares

3. Zusammenfassen der gefundenen Pole und Nullstellen in eine Sektion zwei-ter OrdnungH(z) = G (z−z1)(z−z2)

(z−p1)(z−p2)

4. Fortsetzen von 1 bis 3, bis alle Pole und Nullstellen in abnehmendemAbstand vom Einheitskreis geordnet sind

5. Implementierung der gefundenen Sektionen

Matlab-Unterstützung

Die Matlab-Funktion [z,p,G]=tf2zp(b,a)macht aus der Darstellung der Trans-ferfunktion eine Pol- Nullstellen-Darstellung (z. . . Nullstellen, p. . . Polstellen,G. . . Verstärkung).Mit Hilfe der Matlabfunktion [sos,g]=tf2sos(b,a) können die Koeffi zien-

ten der Subsysteme 2. Ordnung ermittelt werden. G ist der Verstärkungsfaktor,der die Gesamtsystemverstärkung darstellt.SOS =[b01 b11 b21 1 a11 a21

b02 b12 b22 1 a12 a22...b0L b1L b2L 1 a1L a2L ]

6 KAPITEL 1. ENTWURF VON IIR-FILTERN

Bemerkung 1 TF2SOS(B,A,DIR_FLAG) specifies the ordering of the 2nd or-der sections. If DIR_FLAG is equal to ’UP’, the first row will contain the polesclosest to the origin, and the last row will contain the poles closest to the unitcircle. If DIR_FLAG is equal to ’DOWN’, the sections are ordered in the op-posite direction. The zeros are always paired with the poles closest to them.DIR_FLAG defaults to ’UP’.

Bemerkung 2 TF2SOS(B,A,DIR_FLAG,SCALE) specifies the desired sca-ling of the gain and the numerator coeffi cients of all 2nd order sections. SCALEcan be either ’NONE’, Inf or 2 which correspond to no scaling, infinity normscaling and 2-norm scaling respectively. SCALE defaults to ’NONE’. The fil-ter must be stable in order to scale in the 2-norm or inf-norm sense. Usinginfinity-norm scaling in conjunction with ’UP’ordering will minimize the pro-bability of overflow in the realization. On the other hand, using 2-norm scalingin conjunction with ’DOWN’ordering will minimize the peak roundoff noise.

1.2.3 Realisierung durch parallele Filter 2. Ordnung

Bei der parallelen Realisierung wird die Systemfunktion durch Partialbruchzer-legung in Subsysteme 2. Ordnung zerlegt.

H(z) =B(z)

A(z)=b0 + b1z

−1 + . . .+ b2kz−M

1 + a1z−1 + a2z−N

=b′

0 + b′

1z−1 + . . .+ b

2kz−(N−1)

1 + a1z−1 + a2z−N+

M−N∑k=0

ckz−k

Wenn der Grad des Zählerpolynom größer als der Grad des Nennerpolynoms

ist, muss zuerst dividiert werden und es entsteht der TermM−N∑k=0

ckz−k. Das ist

aber nicht anderes als ein parallel geschaltetes FIR-Filter.Der wesentlichste Vorteil der Parallelrealisierung ist die höhere Verarbei-

tungsgeschwindigkeit, da die Ordnung auf zwei reduziert ist.Abbildung 1.5 zeigt die Struktur eines parallelen IIR-Filters.

Matlab-Unterstützung

Die Matlabfunktion [r,p,k] = residuez(b,a) unterstützt die Berechnung derFilterkoeffi zienten.

H(z) =r1

1− p1z−2+ . . .+

r1

1− p1z−2+ k1 + k2z

−1 + . . .+ kM−Nz−(M−N)

Die konjugiert komplexen Pole und Residuen werden zusammengefasst, umSubsysteme 2. Ordnung und damit reelle Koeffi zienten zu erhalten.

Stabilität von Subsystemen 2. Ordnung

Ein IIR-Filter 1. Ordnung ist stabil, wenn H(z) = 11+az−1 |a| < 1. Für IIR-

Filter 2. Ordnung können wir den Stabiltitätsbereich graphisch darstellen.

1.2. FILTERSTRUKTUREN 7

Abbildung 1.5: IIR-Filter in Parallelrealisierung

H(z) =1

1 + a1z−1 + a2z−1=

1

(1− p1z−1)(1− p2z−1)

Nach Koeffi zeintenvergleich erhalten wir a1 = −p1−p2, a2. Stabilität liegtvor, wenn die Pole innerhalb des Einheitskreises liegen, d.h. |p1| < 1, |p2| < 1.Daraus folgt, dass |a2| = p1p2 < 1, |a1| < 1+a2. Die Koeffi zienten a1, a2 müsseninnerhalb des Stabilitätsdreiecks liegen, wie in Abbildung 1.6 gezeigt.

1.2.4 Zählergrad > Nennergrad

Wenn Zählergrad > Nennergrad muss durch Division zunächst eine eigentlicherationale Funktion (Zählergrad < Nennergrad) erzeugt werden. Im Blockdia-gramm treten dann reine FIR-Filter auf.

Abbildung 1.6: Stabilitätsdreieck für IIR 2. Ordnung

8 KAPITEL 1. ENTWURF VON IIR-FILTERN

Wir untersuchen das Filter b=[1 2 3 4 5 4 3 2 1], a =[1 0.3 0.1 0.20.25] mit der Systemfunktion

HBsp(z) =b0 + 2z−1 + 3z−2 + 4z−3 + 5z−4 + 4z−5 + 3z−6 + 2z−7 + z−8

1 + 0.3z−1 + 0.1z−2 + 0.2z−3 + 0.25z−4

Da der Zählergrad ≥ Nennergrad , dividieren wir um Zählergrad ≤Nennergrad zu erhalten. Wir führen die Division mit der Matlabfunktion[q,r]=deconv(b,a) durch und erhalten q=[1 1.7 2.39 2.91 3.30], r=[0 00 0 0 1.8 1.49 0.61 0.18]

HBsp(z) = 1 + 1.7z−1 + 2.39z−2 + 2.91z−3 + 3.3z−4

+

(1.8z3 + 1.49z2 + 0.61z1 + 0.18

z4 (z4 + 0.3z3 + 0.1z2 + 0.2z1 + 0.25)

)= 1 + 1.7z−1 + 2.39z−2 + 2.91z−3 + 3.3z−4

+z−4

(1.8z−1 + 1.49z−2 + 0.61z−3 + 0.18z4

1 + 0.3z−1 + 0.1z−2 + 0.2z−3 + 0.25z−4

)= 1 + 1.7z−1 + 2.39z−2 + 2.91z−3 + 3.3z−4︸ ︷︷ ︸

FIR-Teil

+ z−5︸︷︷︸Verschiebung

1.8 + 1.49z−1 + 0.61z−2 + 0.18z3

1 + 0.3z−1 + 0.1z−2 + 0.2z−3 + 0.25z−4︸ ︷︷ ︸IIR-Teil

Abbildung 1.2.4 zeigt das Blockdiagramm von HBsp. Die Verzögerung um

z−5 kann durch Verlängerung und Abgriff des FIR-Teils realisiert werden.

Blockdiagramm zu HBsp

1.2. FILTERSTRUKTUREN 9

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

Butterworth 5. Ordnung

Hamming 20. Ordnung

Abbildung 1.7: Vergleich FIR- IIR-Filter

1.2.5

1.2.6 Vorteile und Nachteile von IIR-Filtern

• IIR-Filter haben kompliziertere Blockdiagramme, sind schwerer zu ent-werfen und analysieren als FIR-Filter, haben keine lineare Phase, abersie sind selektiver! Abbildung 1.7 vergleicht ein Hamming-FIR-Filter 20.Ordnung mit einem Butterworth-IIR-Filter 5. Ordnung.

• IIR-Filter sind nicht garantiert stabil.

1.2.7 Ermittlung der Filterkoeffi zienten

Die Filterkoeffi zienten von IIR-Filtern werden in der Regel aus analogen Filternabgeleitet. Man geht wie folgt vor:

1. Entwurf eines analogen Tiefpass-FiltersFür analoge Tiefpässe gibt es umfangreiche Literatur und Entwurfstabel-len.

2. Hochpass-, Bandpass oder Bandsperren-Filter werden durch Frequenz-transformation in der s−Ebene aus dem Tiefpass-Filter erzeugt.

3. Umwandeln in ein IIR-Filter durch Abbildung der s−Ebene in die z−Ebene.Matlab stellt Funktionen zur Verfügung, die den direkten Entwurf vonIIR-Filtern ermöglichen und die Entwurfsschritte 1−3 umsetzen.

Alternativ kann auch das analoge Tiefpass-Referenzfilter in den z−Bereichtransferiert werden und die Hochpass-, Bandpass-, Bandsperren-Tranformationim z−Bereich durchgeführt werden

Platzieren von Polen und Nullstellen

Für einfache Filter erster oder zweiter Ordnung kann durch geeignetes Platzie-ren von Polen und Nullstellen die gewünschte Filterfunktion realisiert werden.Abbildung zeigt 1.2.7 ein Bandpassfilter, Abbildung 1.2.7 zeigt ein Bandsper-renfilter, das auf diese Weise gefunden wurde.

10 KAPITEL 1. ENTWURF VON IIR-FILTERN

Invariante Impulsantwort

Diese Methode findet zum analogen Filter ein digitales Filter mit ähnlicherImpulsanwort. Man geht wie folgt vor:

1. Ermittlung der Systemfunktion Ha(s) des analogen Referenz-Filters.

2. Berechnung der Impulsantwort ha(t) durch inverse Laplace-TransformationL−1

3. Abtastung der Impulsantwort ha(nT ) = hd [n]

4. z−Transformation von hd(n) führt zu Hd(z)

Wir zeigen diese Methode am Beispiel eines analogen Tiefpass-Filters 1.Ordnung

Ha(s) =Ai

s− pi

ha(t) = L−1 Ha(s) = L−1

Ai

s− pi

= Aie

pit

Durch Abtastung erhalten wir

hd[n] = ha(nT ) = AiepiT , n = 0, 1, 2, . . .

Wir bringen in den z−Bereich und erhalten

1.2. FILTERSTRUKTUREN 11

Hd(z) =

∞∑n=0

ha(nT )z−n =

∞∑n=0

(Aie

piT)z−n = Ai

∞∑n=0

(epiT z−1

)n︸ ︷︷ ︸

1

1−epiT z−1

Wir erhalten also die Abbildung

Ais− pi︸ ︷︷ ︸

s−Bereich

→ Ai1− epiT z−1︸ ︷︷ ︸z−Bereich

Bei Filtern höherer Ordnung wird die Partialbruchzerlegung durchgeführtund die einzelnen Pole werden vom s−Bereich in den z−Bereich abgebildet.Für Subsysteme 2. Ordnung erhalten wir die Beziehungen

Ha(s) =λ

(s+ β)2

+ λ2

Hd(z) =ze−βT sin(λT )

z2 − 2ze−βT cos(λT ) + e−βT

Ha(s) =s+ β

(s+ β)2

+ λ2

Hd(z) =z2 − ze−βT cos(λT )

z2 − 2ze−βT cos(λT ) + e−βT

Vom Abtasttheorem wissen wir, dass das Spektrum des analogen Signalsperiodisch fortgesetzt wird. Wir tasten die Impulsantwort ha(t) ab, es wird alsoHa(ω) periodisch fortgesetzt. Diese Methode kann daher nur für scharf begrenzteTiefpass- oder Bandpassfilter verwendet werden und verlangt ein kleines T , umdie Impulsantwort genau abzutasten. Für Hochpässe und Bandsperren ist diesesVerfahren wegen des Aliasings nicht geeignet.Die Matlabfunktion impinvar unterstützt die Berechnung eines IIR-Filters

aus dem analogen Referenzfilter.

Sprung-Invarianz

Das dargestellte Verfahren ist invariant für die Impulsanwort, aber nicht z. B.für die Sprungantwort. Für die Sprungantwort erhalten wir

Yastep =1

sHa(s) =

1

s

Ais− pi

=Aipi

(−1

s+

1

s− pi

)Wir führen die Laplace-Transformation durch und erhalten

yastep(t) =Aipi

(epit − 1

)δ−1(t)

Nach Abtastung wird daraus

12 KAPITEL 1. ENTWURF VON IIR-FILTERN

yastep(nT ) =Aipi

(epinT − 1

)δ−1(t)

Berechnen wir die Sprungantwort für unser Impuls-invariantes Filter imz−Bereich, müsssen wir mit der z−Transformierten der Sprungantwort mul-tiplizieren und erhalten

Ydstep =Ai

1− epiT z−1

1

1− z−1=

Ai1− epiT

(−epiT

1− epiT z−1+

1

1− z−1

)nach Durchführung der z−Transformation wird daraus

ydstep(n) =Ai

1− epiT(−epiT epiTn + 1

)δ−1(t) =

Ai1− epiT

(1− epiT (n+1)

)δ−1(t)

Wir sehen, dass

yastep(nT ) 6= ydstep(n)

Aipi

(epinT − 1

)δ−1(t) 6= Ai

1− epiT(

1− epiT (n+1))δ−1(t)

Das berechnete Filter ist Impuls-invariant, aber nicht Sprung-invariant!Wir berechnen noch die Sprung-Invarianz

yastep(nT ) =Aipi

(epinT − 1

)δ−1(t)

die z−Tranformation liefert

Yastep(z) =Aipi

(1

1− epiT z−1− 1

1− z−1

)δ−1(t) = H(z)

1

1− z−1

H(z) =Aipi

(1− z−1

1− epiT z−1− 1

)=Aipi

(epiT − 1

)z−1

1− epiT z−1

=Ai(epiT − 1

)pi︸ ︷︷ ︸

Konstante

z−1

1− epiT z−1︸ ︷︷ ︸1

z−epiT

Impulsinvarianz H(z) = Ai1−epiT z−1

Sprunginvarianz H(z) =Ai(epiT−1)

piz−1

1−epiT z−1

Bilineare Transformation

Die Filtergleichungen sind Differentialgleichungen, die wir auf einem » Analog-rechner« darstellen können. Wir benötigen dazu die Operation Addition, Mul-tiplikation mit einer Konstanten und Integration. Die Lösung der Differential-gleichung wollen wir aber numerisch über eine Differenzengleichung finden, wirbenötigen daher einen digitalen Integrator.

1.2. FILTERSTRUKTUREN 13

ya(t) =

∫xa(t)dt

ya(nT ) =

( ya(n− 1)︸ ︷︷ ︸Anfangsbedingung

)+

nT∫(n−1)T

xa(t)dt

≈ ya(n− 1) +T

2xa(nT ) + xa(n− T )︸ ︷︷ ︸

Trapezregel

y(n)− y(n− 1) =T

2x(n) + x(n− 1)

Wir führen die z−Transformation durch und erhalten

Y (z)

X(z)=

1

2

(1 + z−1

1− z−1

)Aus dem analogen Integrierer 1/s wird also

1

s→ 1

2

(1 + z−1

1− z−1

)s =

2

T

(1− z−1

1 + z−1

)z =

1 + sT/2

1− sT/2

Aus der analogen Systemfunktion Ha(s) wird die digitale SystemfunktionHd(z)

Hd(z) = Ha(s)|s= 2

T

(1−z−1

1+z−1

)Die Abbildung s = 2

T

(1−z−1

1+z−1

)nennt man bilineare2 Transformation. Durch

diese Transformation wird s−Ebene in die z−Ebene abgebildet. Wir schreiben Ωfür die Kreisfrequenz in der s−Ebene und ω für die Kreisfrequenz der z−Ebeneund erhalten durch Einsetzen von s = σ + jΩ

z =1 + σT

2 + j ΩT2

1− σT2 − j

ΩT2

σ < 0 ⇒ |z| =∣∣∣ 1+σT

2 +j ΩT2

1−σT2 −jΩT2

∣∣∣ < 1

σ = 0 ⇒ |z| =∣∣∣ 1+j ΩT

2

1−j ΩT2

∣∣∣ = 1

σ > 0 ⇒ |z| =∣∣∣ 1+σT

2 +j ΩT2

1−σT2 −jΩT2

∣∣∣ > 1

• Die gesamte linke offene s−Halbebene wird innerhalb des Einheitskreisesder z−Ebene abgebildet. Die Transformation ist daher stabil.

2Durch Umformung erhalten wir T2sz + T

2s− z + 1 = 0. Eine lineare Beziehung, wenn die

jeweils andere Variable konstant bleibt, oder bilinear in s und z.

14 KAPITEL 1. ENTWURF VON IIR-FILTERN

Abbildung 1.8: Abbildung z−Ebene s−Ebene durch die bilineare Transforma-tion

• Die imaginäre Achse der s−Halbebene wird auf den Einheitskreises derz−Ebene abgebildet. Es gibt daher kein Alisiasing. Allerdings ist die Ab-bildung sehr nichtlinear, da die imaginäre Achse von 0 bis +∞ auf denEinheitskreis von 0 bis π,die imaginäre Achse von 0 bis −∞ auf den Ein-heitskreis von 0 bis −π abgebildet wird.

Wir setzen s = jΩ in der s−Ebene und z = ejω in der z−Ebene und erhalten

jΩ =2

T

(1− e−jω1 + e−jω

)= j

2

Ttan

(ω2

)Ω =

2

Ttan

(ω2

)Die Verzerrung der Frequenzachse durch die nichtlineare Abblidung wird

» frequency warping« genannt. Abbildung 1.9 zeigt den Zusammenhang zwi-schen analogem und digitalem Filter am Beispiel eines Cauerfilters 5. Ordnung.Um ein digitales Filter mit einem gewünschten Toleranzschema zu erhalten,

müssen die Grenzfrequenzen ωp und ωs vorverzerrt (prewarped) werden, um diekorrespondierenden Grenzfrequenzen Ωp und Ωs des Referenzfilters Ha(s) zu er-halten. Aus Ha(s) wird durch Bilineartransformation Hd(z).Matlab unterstütztdie Bilineartransformation und Prewarping mit der Funktion bilinear.

1.2. FILTERSTRUKTUREN 15

Abbildung 1.9: Darstellung der Verzerrung der Frequenzachse