dsv1kap4_digisys

Werbung
Digitale Signal-Verarbeitung 1
Kapitel 4: Digitale Systeme
Inhaltsverzeichnis
4.1. EINLEITUNG ................................................................................................................................................ 2
4.2. LTD-SYSTEME ............................................................................................................................................. 3
4.3. DIFFERENZENGLEICHUNG .................................................................................................................... 3
4.4. IMPULSANTWORT UND SCHRITTANTWORT .................................................................................... 5
4.5. FALTUNGSSUMME..................................................................................................................................... 6
4.6 AUSGANGS-FOLGE = EINGANGS-FOLGE  STOSSANTWORT ....................................................... 8
4.7. FREQUENZGANG........................................................................................................................................ 9
4.8 AUSGANGS-SPEKTRUM = EINGANGS-SPEKTR ∙ FREQUENZGANG ........................................... 11
4.9. Z-TRANSFORMATION ............................................................................................................................. 12
4.10. ÜBERTRAGUNGSFUNKTION ............................................................................................................... 15
4.11. VERGLEICH LAPLACE-, Z- UND FOURIER-TRANSFORMATION ............................................. 18
4.12. KORRELATION ....................................................................................................................................... 20
4.13. ANHANG: FORMELN UND MATLAB-BEFEHLE ............................................................................. 27
Literatur- bzw. Quellenverzeichnis
[1]
M. Meier: „Signalverarbeitung“, ISBN 3-528-16955-9, Vieweg Verlag, Oktober 2000.
[2]
A.V. Oppenheim, R.W. Schafer, J. R. Buck: „Zeitdiskrete Signalverarbeitung“,
2., überarbeitete Auflage, ISBN 3-8273-7077-9, Pearson Studium, 2004.
68622712 / 14.05.16
Seite 1 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.1. Einleitung
Ein digitales System transformiert eine zeitdiskrete (oder digitale) Eingangszahlenfolge
mit Hilfe eines Algorithmus in eine zeitdiskrete (oder digitale) Ausgangszahlenfolge, siehe
Abbildung 4-1.
zeitdiskrete
Zahlenfolge
x[n]
Digitales System
(Digitalfilter)
y[n]
zeitdiskrete
Zahlenfolge
Abbildung 4-1: Digitales System.
In der digitalen Signalverarbeitung verwendet man statt dem Begriff „digitales System“ oft
auch den Begriff „Digitalfilter“, auch wenn die Filterfunktion nicht im Vordergrund steht.
Digitale Systeme haben gegenüber analogen Systemen grosse Vorteile, siehe [1]:

Reproduzierbarkeit: Das Systemverhalten wird durch exakte numerische Werte und nicht
durch Schaltungskomponenten bestimmt, deren Werte innerhalb eines Produktionsloses
streuen, mit der Zeit altern und/oder mit der Temperatur driften.

Flexibilität: Die numerischen Parameter lassen sich einfach modifizieren (konfigurieren)
oder im Betrieb sogar verändern (adaptive Systeme).

Vorhersagbarkeit: Das digitale System kann in der Entwurfsphase sehr gut simuliert und
in der Realisierungsphase dann „1:1“ implementiert werden.

Komplexität: Dank der Reproduzierbarkeit und der Vorhersagbarkeit können mit digitalen
Systemen komplexe Algorithmen realisiert werden.

Integrierbarkeit: In einem digitalen System werden oft mehrere Anwendungen integriert.
Natürlich gibt es auch Nachteile:

Geschwindigkeit: Auch wenn die digitale real-time Signalverarbeitung grosse Fortschritte
macht, ist sie im Vergleich zur analogen Signalverarbeitung langsam. Filter bei hohen
Frequenzen werden nach wie vor analog realisiert.

Preis: Für eine einzelne, einfache Anwendungen ist die analoge Lösung kostengünstiger.
In diesem Kapitel werden nur lineare, zeitdiskrete und zeitinvariante Systeme, sogenannte
linear, time-invariant, discrete bzw. LTD-Systeme, betrachtet. Die Beschreibung im Zeit- und
im Frequenzbereich ist eng mit der Beschreibung der analogen, linearen Systeme verwandt.
Im Folgenden wird der Einfachheit halber die diskrete Zeit statt mit (nTs) nur noch mit [n]
dargestellt, solange klar ist, wie gross die Abtastperiode Ts ist.
68622712 / 14.05.16
Seite 2 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.2. LTD-Systeme
Für ein lineares, zeitdiskretes System gilt das Superpositionsprinzip:
aus x1[n] → y1[n] und x2[n] → y2[n] folgt: c1·x1[n] + c2·x2[n] → c1·y1[n] + c2·y2[n].
Diskrete Systeme bezeichnet man als zeitinvariant, wenn 2 gleiche, aber um k Abtastperioden zeitverschobene Eingangsfolgen in 2 gleiche, um k Abtastperioden zeitverschobene
Ausgangsfolgen transformiert werden:
x[n] → y[n] => x[n-k] → y[n-k] für alle k.
Die Zeitinvarianz bedeutet, dass die Systemparameter bzw. -koeffizienten konstant bleiben.
Ein LTD-System bezeichnet man als kausal, wenn der n-te Eingangswert x[n] nur den
aktuellen Ausgangswert y[n] und die zukünftigen Ausgangswerte y[n+1], ... beeinflusst.
Oder anders ausgedrückt: Der Ausgangswert y[n] eines kausalen Systems hängt nur von
den bis zu diesem Zeitpunkt eingetroffenen Eingangssignalen x[n], x[n-1], …, x[n-] ab. Das
Kausalitätsprinzip entspricht dem Gesetz von Ursache und Wirkung.
Nichtkausale Systeme werden z.B. in der Bildverarbeitung eingesetzt. Anstelle der Zeit n
treten hier aber die x- und y-Koordinaten der Bildpunkte.
Ein LTD-System bezeichnet man als stabil, wenn es beschränkte Eingangsfolgen (Ix[n]I<∞
für alle n) in beschränkte Ausgangsfolgen transformiert.
4.3. Differenzengleichung
Ein lineares, zeitinvariantes, analoges System kann mit einer Differentialgleichung vollständig beschrieben werden.
Ein LTD-System hingegen kann mit einer Differenzengleichung vollständig beschrieben
werden. Das soll an einem kleinen Beispiel demonstriert werden.
Beispiel
Das in Abbildung 4-2 dargestellte analoge RC-Tiefpass-Filter kann mit der folgenden
Differentialgleichung vollständig beschrieben werden

dy(t)
 y(t)  x(t)
dt
R
(Maschensatz für elektrische Spannungen).
b0
τ = RC
y[n]
x[n]
x(t)
C
y(t)
Ts
-a1
Abbildung 4-2: Analoges RC-Tiefpass-Filter und digitales Approximationsfilter.
68622712 / 14.05.16
Seite 3 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Die Differentialgleichung kann digital approximiert werden, indem man die kontinuierliche
Zeit t durch die diskrete Zeit nTs ersetzt und für die Ableitung z.B. die folgende Näherung
verwendet,
dy(t)
1

[y(nTs )  y((n  1)Ts )] .
dt
Ts
Das resultierende digitale Approximationsfilter kann jetzt mit der Differenzengleichung
y[n]  b 0  x[n]  a1  y[n  1]
beschrieben werden, wobei b0=Ts/(Ts+τ) und a1=b0-1.
In Abbildung 4-2 ist das Blockschaltbild des digitalen Approximationsfilters dargestellt.
Es enthält alle Realisierungselemente eines LTD-Systems, nämlich einen Multiplikator
mit einer Konstanten, einen Addierer und ein Verzögerungsglied (mit Ts bezeichnet).
Die allgemeine Form der Differenzengleichung eines LTD-Systems lautet
N
M
k 0
k 1
y[n]   b k  x[n  k]   a k  y[n  k] .
(4.1)
In Abbildung 4-3 ist das zugehörige Blockdiagramm dargestellt.
x[n-N]
x[n-1]
x[n]
Ts
b0
...
b1
Ts
bN-1
bN
...
-aM
-aM-1
Ts
y[n-M]
y[n]
-a1
...
Ts
y[n-1]
Abbildung 4-3: Blockdiagramm eines LTD-Systems (ausgezogen: nicht-rekursiver
bzw. Feed-Forward-Teil, gestrichelt: rekursiver bzw. Feed-Back-Teil).
Man unterscheidet zwei Klassen von LTD-Systemen:

Nichtrekursive LTD-Systeme
Alle Koeffizienten ak, k=1,...,M, in der Differenzengleichung (4.1) sind Null. Der in Abbildung 4-3 gestrichelt dargestellte Teil fällt weg. Der Ausgangswert y[n] hängt nur vom
aktuellen Eingangswert x[n] und den N letzten Eingangswerten x[n-1], ..., x[n-N] ab. Die
Impulsantwort ist endlich lang (siehe unten). Diese Systeme werden meistens Finite
Impulse Response bzw. FIR-Filter genannt. Weitere Bezeichnungen: Transversalfilter,
moving average (= MA-System), All-Zero-Filter (= Übertragungsfunktion hat Nullstellen,
aber keine Pole, resp. alle Pole liegen bei z = 0).
68622712 / 14.05.16
Seite 4 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW

Rekursive LTD-Systeme
Der Ausgangswert y[n] hängt nicht nur vom aktuellen Eingangswert x[n] und den N letzten Eingangswerten x[n-1], ..., x[n-N] ab, sondern auch von den letzten M Ausgangswerten y[n-1], ..., y[n-M]. Die Impulsantwort ist normalerweise unendlich lang (siehe unten).
Diese Systeme werden deshalb Infinite Impulse Response bzw. IIR-Filter genannt.
Der in Abbildung 4-3 gestrichelt eingezeichnete Feedback-Teil wird manchmal auch als
Auto-Regressiv- (= AR-System) oder als All-Pole-Filter (= der gestrichelte Teil hat keine
Nullstellen) bezeichnet.
4.4. Impulsantwort und Schrittantwort
Neben der Differenzengleichung gibt es bei den LTD-Systemen noch eine andere Beschreibung der Ein-/Ausgangscharakteristik.
Wird ein LTD-System mit einem Kronecker-Delta- bzw. einem Einheitsimpuls
0
für
1
 n   
n  0

n  0
(4.2)
angeregt, so reagiert das System mit der Impulsantwort h[n], siehe Abbildung 4-4.
δ[n]
h[n]
LTDSystem
1
n
n
Abbildung 4-4: Impulsantwort eines LTD-Systems.
Die Impulsantwort ist für die Analyse und den Entwurf von digitalen Systemen sehr praktisch,
da das Eingangssignal aus lauter Nullen besteht ausser zum Zeitpunkt n = 0 ist das Signal 1.
Für analoge Systeme ist die Messung der Impulsantwort durch Anregung mit einem DiracStoss nicht praktikabel. Die Amplitude des Dirac-Stosses am Eingang muss sehr gross sein
(Gefahr der Übersteuerung), damit am Ausgang überhaupt etwas gemessen werden kann.
Deshalb wird anstelle der Impulsantwort oft die Schrittantwort verwendet und daraus die
Impulsantwort berechnet.
Wird ein LTD-System mit einem Einheitsschritt
0
für
1
 n  
n  0

n  0
(4.3)
angeregt, so reagiert das System mit der Schrittantwort g[n], siehe Abbildung 4-5.
68622712 / 14.05.16
Seite 5 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
[n]
g[n]
LTDSystem
1
n
n
Abbildung 4-5: Schrittantwort eines LTD-Systems.
Impuls- und Schrittantwort lassen sich einfach ineinander umrechnen:
Für digitale Systeme mit diskreter Zeitvariablen gilt:
n
n
 n     k  und als Folge der Linear ität g n    hk 
k  
k  
resp.  n    n    n  1 und hn   g n   g n  1
(4.4)
Für analoge Systeme mit kontinuierlicher Zeitvariablen gilt:
t
 t        d
und als Folge der Linear ität

d t 
resp.  t  
und
dt
dg t 
ht  
dt
g t  
t
 h   d

(4.5)
Impuls- und die Schrittantwort sind gleichwertig
und beschreiben ein LTD-Systems vollständig und eindeutig.
Die Impulsantwort lässt sich bei einem digitalen System messtechnisch einfach ermitteln.
Die Schrittantwort ist messtechnisch vorteilhaft bei analogen Systemen.
4.5. Faltungssumme
Jede Eingangsfolge x[n] kann in der folgenden Form dargestellt werden (siehe [1]):
xn  

 xk    n  k 
(4.6)
k  
weil δ[n-k] immer 0 ist ausser für n = k.
Wegen der Linearität dürfen die Ausgangssignale, die durch die einzelnen Summanden in
Gleichung (4.6) angeregt werden, einfach aufsummiert werden.
Für den Eingang x0[n] = x[0]·δ[n] resultiert der Ausgang y0[n] = x[0]·h[n]. Wegen der Zeitinvarianz resultiert für den Eingang xk[n] = x[k]·δ[n-k] der Ausgang yk[n] = x[k]·h[n-k]. Die Summe
über alle k ergibt dann das Ausgangssignal
yn  

 xk  hn  k 
k  


 hk  xn  k 
 xn   hn 
(4.7)
k  
Die Summen in diesem Ausdruck werden Faltungssummen genannt. Die zweite Summe
folgt durch Variablensubstitution u=n-k in der ersten Summe und sind somit gleichwertig.
Die Schreibweise mit dem Multiplikations-Stern  steht abgekürzt für die Faltungssumme.
68622712 / 14.05.16
Seite 6 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Für die Auswertung der Faltungssumme zum Zeitpunkt n muss entweder das Eingangssignal
x[k] oder die Impulsantwort h[k] in der Zeit umgekehrt bzw. gefaltet und n Positionen nach
rechts verschoben werden.
Beispiel
Das in Abbildung 4-2 dargestellte digitale RC-Tiefpass-Filter hat die Impulsantwort
h[n]  {b 0 ,  b 0  a1, b 0  a12 ,  b 0  a13 , ...}
für
n  0.
(4.8)
In Abbildung 4-6 ist die Berechnung des Ausgangswerts y[10] grafisch dargestellt, wobei
die rechte Faltungssumme in Gleichung (4.4) verwendet wird und am Eingang der Einheitssprung
1 wenn n  0
0 wenn n  0
 [ n]  
(4.9)
anliegt.
In Abbildung 4-6 (Demo: dsv1kap4_digisys_faltungschritt.m) ist auch die
Sprungantwort dargestellt für den Fall τ=RC=1s (Grenzfrequenz 0.16 Hz) und Ts=0.1s
(Abtastfrequenz fs=10 Hz) bzw. b0 = 0.0909 und a1 = -0.9091.
y[10]
Abbildung 4-6: Berechnung des Ausgangswerts y[n] mit der Faltung.
Aus Abbildung 4-6 ist auch ersichtlich, dass die Impulsantwort des FIR-Filters
(a-Koeffizienten sind Null)
hFIR[n] = {b0, b1, ..., bN} für n=0, ..., N
direkt durch die Filterkoeffizienten gebildet wird und endlich lang ist.
68622712 / 14.05.16
Seite 7 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.6 Ausgangs-Folge = Eingangs-Folge  Stossantwort
Die im letzten Kapitel hergeleiteten Formeln gelten nicht nur für den Schritt als Eingangsfolge
sondern ganz allgemein. Die Demo dsv1kap4_digisys_faltung.m führt diesen
Sachverhalt schrittweise für beliebige Filter und Eingangsfolgen vor.
diskrete Zeit n = 0
0
5
10
15
0
15
0
0
5
10
15
0
5
10
0
5
10
0.5
15
0
5
10
x[n]
10
0
0
0
5
10 15
Filter: b = 0.2 a = -0.8
0
5
10 15
Filter: b = 0.2 a = -0.8
10
15
0
5
10
15
0
5
10
15
0.5
15
0.5
0.5
0
5
10
15
1
1
0.5
5
1
0
y[n]
0.5
0
0
5
0
15
1
y[n]
1
0.5
1
0
0
15
1
0
x[n-k]
0.5
10
0
15
1
x[n-k]
1
5
1
0.5
0.5
0
0
h[k]
0.5
0
x[n-k]
10
0
1
h[k]
h[k]
1
5
0.5
h[k]
0
y[n]
0.5
x[n-k]
0
1
1
x[n]
x[n]
x[n]
0.5
diskrete Zeit n = 12
diskrete Zeit n = 1
1
y[n]
diskrete Zeit n = -1
1
0.5
0.5
0
0
0
5
10 15
Filter: b = 0.2 a = -0.8
0
5
10 15
Filter: b = 0.2 a = -0.8
Abbildung 4-7: Ausgangswerte y[n] mit Hilfe der Faltung berechnet
für RC-Tiefpass-Filter und Sägezahnimpuls.
Aus Abbildung 4-7 ist gut ersichtlich:
Solange der Eingang x[n] Null ist (n < 0), ist der Ausgang y[n] Null (kausales System).
h[k] ist die Impulsantwort, die das Filter beschreibt.
x[n-k] stellt den bis zum Zeitpunkt n eingetroffenen Eingang zeitlich gespiegelt dar.
Der Ausgang wird als Faltungssumme berechnet: y[n] = ∑x[n-k]∙h[k]
Rechts ist ersichtlich, dass der Ausgang abklingt, wenn der Eingag wieder länger auf Null ist.
diskrete Zeit n = 0
10
0
15
10
15
0
0
10
0
15
x[n-k]
0
-1
0
5
10
10
0
0
y[n]
0
15
5
10
0
-1
0
5
10
15
-0.8 a = -0.8Filter: b = 0.8
5
10
15
0
5
10
15
0
5
10
15
0
-1
5
10
15
1
0
-1
15
0
1
0
0
1
-1
10
0
15
-1
15
1
0
5
Filter: b = 0.8
5
1
x[n-k]
5
5
-1
5
10
0
-1
1
0
-1
10
15
0
5
-0.8 a = -0.8Filter: b = 0.8
1
15
1
y[n]
0
1
x[n]
0
-1
0
-1
1
h[k]
h[k]
h[k]
5
1
-1
0
-1
h[k]
5
1
x[n-k]
0
x[n-k]
0
-1
1
diskrete Zeit n = 12
1
x[n]
x[n]
x[n]
0
-1
y[n]
diskrete Zeit n = 1
1
y[n]
diskrete Zeit n = -1
1
0
-1
10
15
0
5
-0.8 a = -0.8Filter: b = 0.8
10
15
-0.8 a = -0.8
Abbildung 4-8: Ausgangswerte y[n] mit Hilfe der Faltung berechnet
für RC-Hochpass-Filter und Rechtecksignal.
68622712 / 14.05.16
Seite 8 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.7. Frequenzgang
Zur messtechnischen Erfassung des Frequenzganges werden am Eingang nacheinander
Sinussignale unterschiedlicher Frequenz angelegt. Bei einem linearen zeit-invarianten
System erscheint nach kurzer Zeit am Ausgang ein Sinus gleicher Frequenz. Bei jeder
Frequenz werden die Amplituden von Ein- und Ausgang, sowie die Phasenverschiebung
gemessen (=> Bode-Diagramm zeichnen).
Der Frequenzgang H(f) besteht somit aus dem Amplitudengang |y(f)| / |x(f)| und dem
Phasengang y(f) - x(f).
So wie die Impulsantwort beschreibt der Frequenzgang ein LTD-System vollständig und
eindeutig. D.h. in der Impulsantwort (oder in der Schrittantwort) und im Frequenzgang
stecken die gleichen Informationen, obwohl sie messtechnisch verschieden erfasst werden.
Der Frequenzgang H(f) eines Digitalfilters ist die Fouriertransformierte der Impulsantwort h[n]
und periodisch mit der Abtastfrequenz fs. H(f) beschreibt den Einfluss des Digitalfilters auf die
Amplitude und die Phase der Frequenzkomponente f im Eingangssignal.
Hinweis: Mit der Formel (4.21) kann man aus der Übertragungsfunktion H(z) den
Frequenzgang H(f) berechnen,
H(f)
IH(f)I
Im[H(f)]
φ(f)
Re[H(f)]
Abbildung 4-9: Polarkoordinatendarstellung von H(f).
Der Frequenzgang H(f) ist normalerweise komplexwertig und kann deshalb wie folgt in Polarkoordinaten dargestellt werden, siehe auch Abbildung 4-9:
H(f ) 
H(f )  e j(f ) .
(4.10)
IH(f)I in Gleichung (4.10) nennt man Amplitudengang. Er wird oft in dB angegeben, d.h.
H(f ) dB  20  log10 ( H(f ) )
(4.11)
Das Argument von H(f) in Gleichung (4.10) nennt man Phasengang. Er ist gegeben durch
(f )  arctan(
Im[H(f )]
)
Re[H(f )]
(4.12)
und ist nur bis auf Vielfache von 2π bestimmt.
Für reellwertige Impulsantworten h[n] gilt die Symmetrie
H(f )  H*(f )  H(f )  e j( f ) ,
68622712 / 14.05.16
Seite 9 / 28
(4.13)
Rumc&Hhrt@ZSN@SoE@ZHAW
wobei H* die konjugiert komplex zu H ist. Der Vergleich der Gleichungen (4.10) und (4.13)
zeigt, dass der Amplitudengang gerade und der Phasengang ungerade ist, d.h.
H(f )  H(f )
(4.14)
(f )   (f )
In Abbildung 4-10 ist ein typischer Amplituden- und Phasengang eines IIR-Filters dargestellt.
Abbildung 4-10:
Tiefpass-Filters.
Typischer Amplituden- und Phasengang (Bode-Diagramm) eines IIR-
Bei harmonischer Anregung kann der Filterausgang mit Hilfe des Amplituden- und Phasengangs einfach wie in Abbildung 4-10 dargestellt bestimmt werden.
cos(2πf0·nTs)
Abbildung 4-11:
H(f)
IH(f0)I·cos[2πf0·nTs+φ(f0)] = IH(f0)I·cos[2πf0·(nTs-Δ0)]
Bedeutung des Amplituden- und Phasengangs.
Eine einzelne Frequenzkomponente bei f0 wird in der Amplitude mit IH(f0)I gewichtet und
erleidet eine Phasenverschiebung von φ(f0) bzw. eine Zeitverzögerung von
Δ0 
  (f 0 )
.
2π  f0
(4.15)
Unterschiedlich verzögerte Frequenzkomponenten eines Signals können sich zu störenden
Signalverzerrungen summieren.
Wenn der Phasengang in einem bestimmten Frequenzbereich linear ist bzw. wenn in einem
bestimmten Frequenzbereich φ(f) = -K·f gilt, wobei K eine Konstante ist, werden gemäss
Gleichung (5.6) alle betreffenden Frequenzkomponenten beim Durchlaufen des Filters um
die gleiche, konstante Zeit Δ = K/2π verzögert.
68622712 / 14.05.16
Seite 10 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Beispiel
In Abbildung 5-2 ist der Phasengang am Anfang des Durchlassbereichs fast linear, d.h.
die Signalkomponenten bis ca. 700 Hz werden durch das Filter fast gleich verzögert.
Mit (kausalen) IIR-Filtern können keine vollständig linearen Phasengänge realisiert werden.
Mit FIR-Filtern hingegen schon (dafür ist die Zeitverzögerung grösser)!
Beispiel (Matlab Signal Processing Toolbox)
Wenn der Vektor H den komplexen Frequenzgang darstellt, kann der Amplitudengang
HdB in [dB] und der Phasengang phi in [rad] wie folgt bestimmt werden:
HdB=20*log10(abs(H));
phi=unwrap(angle(H));
Die Funktion unwrap korrigiert 2π-Sprünge, die bei der Auswertung der arctanFunktion entstehen, siehe Gleichung (5.3).
Der Frequenzgang (Betrag und Phase) beschreibt ein LTD-System vollständig und eindeutig.
Der Frequenzgang H(f) ist die Fourier-Transformierte der Impulsantwort h(t).
H(z) = H(e^j∙2∙f/fs) ist die Fourier-Transformierte von h(n) bei einem digitalen System.
Der Frequenzgang lässt sich messtechnisch einfach ermitteln.
Am Eingang werden Sinus-Signale x(f) verschiedner Frequenz eingespeist.
Bei LTD-Systemen ist der stationäre Ausgang y(f) ein Sinus gleicher Frequenz.
Frequenzgang (Bode-Diagramm): |H(f)| = |y(f)| / |x(f)| und H(f) = y(f) - x(f)
4.8 Ausgangs-Spektrum = Eingangs-Spektr ∙ Frequenzgang
Im Kapitel „Ausgangs-Folge = EingangsStossantwort“ wurde gezeigt, wie mit Hilfe
der Impulsantwort und der Faltungssumme das Signal am Ausgang als Funktion der Zeit
berechnet werden kann.
Da im Frequenzgang die gleiche Information steckt wie in der Impulsantwort, ist es möglich
das Ausgangssignal im Frequenzbereich (Amplitude und Phase) direkt zu bestimmen.
Amplitude (Beträge multiplizieren):
Phase (Winkel addieren):
|y[f]| = |x[f]||H[f]|
y(f) = x(f) + H(f)
Beispiel:
Das Signal x(500Hz) = 2.5Vpp47° liegt am Eingang des TP-Filters von Abb. 4.9.
Welches Signal erscheint am Ausgang?
Aus der Abbildung 5.2 liest man bei 500Hz heraus: 0.98-2rad = 0.98-115°
Signal am Ausgang: y(500Hz) = (2.5Vpp0.98)(47°+(-115°)) = 2.45Vpp-68°
68622712 / 14.05.16
Seite 11 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.9. z-Transformation
Wie die Laplace-Transformation bei den analogen Systemen spielt die z-Transformation bei
der Beschreibung der digitalen Systeme im Bild- bzw. Frequenzbereich eine wichtige Rolle.
Ausgehend von der Definition der Laplace-Transformation und Gleichung (2.2) erhält man
die Laplace-Transformierte des zeitdiskreten Signals x[n] in der Form

X s    xn   e nsTs .
(4.16)
z  esTs
(4.17)
n 0
Mit Hilfe der Abkürzung
kann man die Laplace-Transformierte eines zeitdiskreten Signals auch wie folgt darstellen

X s    xn   z n .
(4.18)
n 0
X(z) bezeichnet man als z-Transformierte des zeitdiskreten Signals x[n]. Wie aus der Herleitung ersichtlich ist, handelt es sich bei der z-Transformation eigentlich nicht um eine neue
Transformation, sondern um eine Anpassung der Laplace-Transformation für zeitdiskrete
Signale bzw. um eine Erweiterung der Fouriertransformation für zeitdiskrete Signale, wie wir
weiter unten noch sehen werden.
Die z-Transformierte existiert nur in ihrem Konvergenzbereich. In diesem Kurs wird dieser
Aspekt aber nicht weiter verfolgt, weil wir keine „kritischen“ Signale betrachten.
Beispiel
Die z-Transformierte des Kronecker-Delta- bzw. Einheitsimpulses lautet
δ[n]
(4.19)
1
Beispiel
Mit Hilfe der z-Transformation der in Gleichung (4.8) gegebenen Impulsantwort erhält
man die z-Übertragungsfunktion des digitalen RC-Tiefpass-Filters
H(z) =
b 0  (1 - a1  z -1 + a12  z -2 -+ ...) =
b0
1+a1  z -1
(4.20)
wobei im zweiten Schritt die Summenformel für die geometrische Reihe
1 + q + q2 + ... = 1/(1-q), verwendet worden ist für den Fall IqI<1 bzw. Ia1I<1.
Es gibt einen einfachen Zusammenhang zwischen der Fourier- und der z-Transformierten.
Die Fouriertransformierte X(f) erhält man aus der Laplace-Transformierten X(s), indem man
s=j2πf setzt. Die Laplace-Transformierte X(s) erhält man aus der z-Transformierten X(z),
indem man die Abkürzung (4.17) verwendet. Damit folgt:
68622712 / 14.05.16
Seite 12 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
X ( f )  X ( z  e j2 f Ts ) .
(4.21)
Interpretation
Wenn man die z-Transformierte X(z) auf dem Einheitskreis z=ej2πfTs auswertet, erhält man
die Fouriertransformierte X(f) des zeitdiskreten Signals. X(f) ist offensichtlich periodisch mit
fs. Dieser Zusammenhang ist übrigens schon in Gleichung (2.6) hergeleitet worden.
Beispiel:
Der Frequenzgang H(f) des digitalen RC-Tiefpass-Filters kann aus der z-Übertragungsfunktion (4.20) wie folgt bestimmt werden:
H(f) 
b0
1  a1  e  j 2π f Ts
(4.22)
In Abbildung 4-12 ist der Amplitudengang IH(f)I des digitalen RC-Tiefpass-Filters mit der
Grenzfrequenz fg=100 Hz und der Abtastfrequenz fs=10 kHz dargestellt (τ=1/(2πfg) bzw.
b0 = 0.06 und a1 = -0.94). Im Sperrbereich f>fg kann der Amplitudengang wie erwartet
durch eine Gerade mit der Steigung -20 dB pro Dekade approximiert werden.
Abbildung 4-12: Amplitudengang des digitalen RC-Tiefpass-Filters.
Es existiert eine Formel für die inverse z-Transformation, nämlich
x[n] 
1
2j
 X ( z)  z
n 1
(4.23)
dz
C
Sie hat in der Praxis aber nur wenig Bedeutung. Das C in Gleichung (4.23) steht für „contour“
und stellt eine geschlossene Kurve um den Nullpunkt dar, die im Gegenuhrzeigersinn durchlaufen werden muss.
Es gibt Alternativen, um aus der z-Transformierten X(z) das zeitdiskrete Signal x[n] zu
bestimmen:
68622712 / 14.05.16
Seite 13 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW

Integral-Inversionsformel (siehe [2])

Fortlaufende Division
Beispiel
Das zeitdiskrete Signal h[n] der in Gleichung (4.20) gegebenen z-Transformierten H(z)
kann man z.B. durch ausdividieren wie folgt bestimmen:
b0·z : z+a1 = b0 - b0a1·z-1 + b0a12·z-2 ...
b0z + b0a1
-b0a1
-b0a1-b0a12·z-1
b0a12·z-1

Partialbruchzerlegung
Wie wir gleich sehen werden, sind die Filter-Übertragungsfunktionen (UTF) H(z) rationale
Funktionen mit einem Zähler- und einem Nenner-Polynom (in z bzw. z-1). Solche Funktionen kann man in Partialbrüche zerlegen, wobei für jeden Partialbruch eine geometrische
Reihe im Zeitbereich resultiert [vgl. auch Gleichung (4.20)].
H ( z )  A0 
Ak  z

k 1 z  pk
N
h[n]  A0   [n] 
N
A
k 1
k
 pkn
(n  0)
(4.24)
Die z-Transformation besitzt folgende Eigenschaften, welche ausgehend von der Definitionsgleichung (4.18) der z-Transformierten bewiesen werden können:
Linearität:
a  x1[n]  b  x 2 [n]
a  X1(z)  b  X2 (z)
Zeitverschiebung:
z k  X(z)
x[n  k]
Faltung:
x[n]  h[n]
X(z)  H(z)
Multiplikation mit einer Exponentialfolge:
an  x[n]
X(z/a)
Multiplikation mit der Zeit:
n  x[n]
68622712 / 14.05.16
 z  dX(z)/dz
Seite 14 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.10. Übertragungsfunktion
Im Zeitbereich kann die Ausgangsfolge y[n] eines LTD-Systems durch Faltung der Eingangsfolge x[n] mit der Impulsantwort h[n] gebildet werden. Mit Hilfe der z-Transformation kann die
Faltung im Zeitbereich in eine Multiplikation im z-Bereich transformiert werden, siehe Abbildung 4-13.
Zeitbereich
x[n]
Bildbereich
X(z)
h[n]
y[n] = x[n]*h[n]
Y(z) = X(z)·H(z)
H(z)
Abbildung 4-13:
Ein- und Ausgang eines LTD-Systems im Zeit- und Bildbereich.
Die z-Transformierte H(z) der Impulsantwort h[n] wird (z-) Übertragungsfunktion des LTDSystems genannt. Aus Abbildung 4-13 ist ersichtlich, dass gilt
H(z) 
Y(z)
.
X(z)
(4.25)
Neben der Faltungsumme beschreibt auch die Differenzengleichung den Zusammenhang
zwischen x[n] und y[n] am Ein- und Ausgang eines LTD-Systems.
Wenn man die Differenzengleichung (4.1) z-transformiert, erhält man mit Hilfe der Zeitverschiebungseigenschaft der z-Transformation den Ausdruck
N
M
k 0
k 1
Y(z)   b k  z k  X(z)   a k z k  Y(z) .
(4.26)
Aus den Gleichungen (4.25) und (4.26) kann man nun die Übertragungsfunktion in Funktion
der Koeffizienten der Differenzengleichung bestimmen
N
H(z) 
Y(z)

X(z)
b
k 0
M
k
 z k
1   ak  z

k
b 0  b1  z 1  ...  b N  z N
.
1 a1  z 1  ...  a M  z M
(4.27)
k 1
Die Übertragungsfunktion H(z) eines LTD-Systems ist eine rationale Funktion bestehend
aus einem Zähler- und einem Nennerpolynom in z oder z-1, je nachdem, ob man Zähler und
Nenner mit zN erweitert oder nicht.
Jedes Polynom mit Grad n hat n Nullstellen. Die Nullstellen zk des Zählerpolynoms von H(z)
nennt man die Nullstellen der Übertragungsfunktion und die Nullstellen pk des Nennerpolynoms von H(z) nennt man die Pole der Übertragungsfunktion. Für ein stabiles H(z) liegen die
Pole innerhalb des Einheitskreises.
68622712 / 14.05.16
Seite 15 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Die Übertragungsfunktion H(z) eines LTD-Systems kann in die folgende Pol-NullstellenDarstellung gebracht werden:
N
H(z)  b
 (z  z
k
)
 z MN
k 1
0 M
 (z  p
k
(4.28)
)
k 1
Den Frequenzgang H(f) des Digitalfilters erhält man durch Auswerten dieses Ausdrucks auf
dem Einheitskreis, d.h.
N
H(f)  H(z  e
j 2π f Ts
)b
 (e
j 2π f Ts
 (e
j 2π f Ts
k 1
0 M
 zk )
 e j2π f Ts (MN) .
(4.29)
 pk )
k 1
Diese Methode ist sehr praktisch für ein schnelles Abschätzen des Frequenzganges. Die
Terme (z-zk) resp. (z-pk) können als komplexe Zeiger (oder als Vektoren) aufgefasst werden.
Für die Bildung der Produkte können deshalb die Zeiger-Beträge multipliziert und die Winkel
addiert/subtrahiert werden:
N
Amplituden gang : H z   K
 zz
k 1
M
k
 z p
k 1
(4.21)
k
N
M
k 1
k 1
Phasengang : H z    z  z k    z  pk  
M
 z
k  N 1
Das Betragsspektrum kann man bestimmen, indem man vom Punkt z=ej2πfTs auf dem
Einheitskreis die Abstände zu den Nullstellen bzw. den Polen multipliziert bzw. dividiert.
Dies soll an einem Beispiel veranschaulicht werden.
Beispiel
In Abbildung 4-14 ist das Pol-Nullstellen-Diagramm eines Hochpass-Filters in der zEbene dargestellt. Die Übertragungsfunktion H(z) lautet
H(z)  K 
(z  1)  (z  j)  (z  j)
 K  (1  z 1  z 2  z 3 ) ,
z3
wobei K einen beliebigen Normierungsfaktor darstellt.
68622712 / 14.05.16
Seite 16 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
z-Ebene
s2
f=fs/2
s4
P=ej2πfTs
für f=fs/8
s1
x[n]
Ts
K
1
f=0
Ts
-1
Ts
1
-1
3 Pole
s3
+
y[n]
Nullstelle
Abbildung 4-14: Hochpass-Filter und Pol-Nullstellendiagramm der
Übertragungsfunktion.
Der Amplitudengang IH(f)I an der Stelle f=fs/8 kann mit den in Abbildung 4-14
dargestellten Abständen bestimmt werden, d.h.
H ( f s / 8)
 K
s1  s 2  s3
s 43
Weiter ist IH(f=0)I=0 und IH(f=±fs/4)I=0, weil in diesen Fällen eine der Strecken s1, s2 oder
s3 die Länge Null aufweist.
Aus der 2. Darstellung von H(z) oben und der Zeitverschiebungseigenschaft der z-Transformation folgt (für K=1), dass
Y(z)  X(z)  (1  z 1  z 2  z 3 )
y[n]  x[n]  x[n  1]  x[n  2]  x[n  3]
Diese Differenzengleichung kann mit dem in Abbildung 4-14 dargestellten FIR-Filter
realisiert werden. Aus dem Blockdiagramm ist gut ersichtlich, dass ein konstantes
Eingangssignal (DC) vollständig unterdrückt wird.
In Abbildung 4-15 ist der Amplitudengang des Hochpass-Filters (für K=1) dargestellt.
Abbildung 4-15: Amplitudengang des Hochpass-Filters.
68622712 / 14.05.16
Seite 17 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.11. Vergleich Laplace-, z- und Fourier-Transformation
Der Zusammenhang zwischen der Laplace- und der z-Transformation ist gegeben durch die
Substitution z=ej2πfTs . Deshalb gelten die Eigenschaften der Laplace-Tranformation auch für
die z-Transformation.
s-Ebene
z-Ebene
Im(s)
Im(z)
j2π·fs
j2π·fs/2
Re(s)
Re(z)
-j2π·fs/2
-j2π·fs
Abbildung 4-16: z-Transformation der s-Ebene
Aus der Abbildung ist ersichtlich dass die Substitution z=ej2πfTs eine Periodizität mit 2
bewirkt. Die Abbildung s  z ist eindeutig. Die Abbildung z  s ist vieldeutig.
Die imaginäre Achse der s-Ebene wird auf den Einheits-Kreis der z-Ebene abgebildet.
Die linke s-Halbebene wird ins Innere des Einheits-Kreises der z-Ebene abgebildet. Bei
stabilen Systemen liegen alle Pole in der linken s-Halbebene resp. innerhalb des zEinheitskreises.
Die s-Ebene wird für kontinuierliche Signale und Systeme genutzt, die z-Ebene für
zeitdiskrete (abgetastete). Damit ergibt sich eine ergänzende Sichtweise auf die Phänomene
die im Kapitel 2 „AD/DA-Umsetzung“ beschrieben wurden.
Beim Abtasten eines kontinuierlichen Signals (s  z) erzeugen um fs verschobene Signale
die gleiche Werte-Folge und können nicht mehr unterschieden werden.
Deshalb werden vor dem AD-Wandler Anti-Aliasing-Filter benötigt.
Undersampling ist hiermit ebenfalls bildlich erklärt.
Bei der Rekonstruktion (z  s) werden Spiegel-Spektren, die um Vielfache der
Abtastfrequenz fs verschoben sind, erzeugt. Die unerwünschten Frequenz-Bereiche müssen
mit einem Anti-Imaging-Filter am Ausgang des DA-Wandlers unterdrückt werden.
68622712 / 14.05.16
Seite 18 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
kontinuierlich in der s-Ebene (Laplace): s = +j*
Amplitudengang entlang der imaginären Achse (Fourier)
2
2
abs(H)
abs(H)
1.5
1
0
10
1
0.5
1
0
0
-10
Im(s) = 
-1
-2
0
-10
Re(s) = 
zeitdiskret in der z-Ebene (z-Transformation): z = exp(s*Ts)
-5
0

5
10
Amplitudengang entlang dem Einheistkreis (Fourier)
2
1
abs(H)
abs(H)
1.5
0
1
0.5
0
Im(z)
1
-1
0
-0.5
0.5
1
0
-10
Re(z)
-5
0
 /Ts
5
10
Abbildung 4-17: z-Ebene und s-Ebene, sowie Fourier-Transformation
Demo: dsv1kap4_digisys_vergleich.m
Betrachtet man in der s-Ebene nur den Verlauf entlang der imaginären Achse so kommt man
zur Fourier-Transformation für kontinuierliche Signale.
Betrachtet man in der z-Ebene nur den Verlauf entlang des Einheitskreises so kommt man
zur Fourier-Transformation für abgetastete Signale.
Die Periodizität der z-Ebene ist gut ersichtlich.
Bei tiefen Frequenzen stimmen die s- und z-Kurvenverläufe gut überein. In der Nähe von 
gibt es Abweichungen als Folge des Einflusses des „nächsten Frequenz-Bandes“. Das muss
beim Entwurf von Hochpass-Filtern berücksichtigt werden.
68622712 / 14.05.16
Seite 19 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.12. Korrelation
Die Korrelation zweier Signale ist ein Mass für deren Ähnlichkeit in Funktion der
Zeitverschiebung.
Die Korrelation wird angewendet um
 die Phasen- resp. Zeitverschiebung zwischen zwei Signalen zu messen (Laufzeit
resp. Phasengang eines Filters, Ausbreitungsgeschwindigkeit auf einer Leitung oder
in einem System)
 die Start-Sequenz zu finden in einem Bit-Strom (Frame-Synchronisation in der
Nachrichtentechnik)
 eine erwartete Signal-Sequenz zu detektieren in einem verrauschten Signal-Strom
(Astronomie, Quantenphysik)
 mittels Autokorrelation die Leistung eines Signals zu bestimmen
 mit Hilfe von weissem Rauschen die Impulsantwort eines LTD-Systems
auszumessen (System-Identifikation)
 in adaptiven Systemen die Filter-Koeffizienten iterativ anzupassen
Die Grafiken zur Illustration der Korrelation wurden erzeugt mit dem Matlab-Skript
dsv1kap4_digisys_korrelation.m
Definition der Korrelation
Formal ist die Korrelation für eine Zeitverschiebung  definiert als Integral über das Produkt
zweier Signale, wobei das zweite Signal um  vorverschoben wird.
 > 0 heisst vorverschieben (= nach links) und  < 0 heisst verzögern des zweiten Signals m.
rxm   

 xt   mt   dt
für kontinuier liche Signale

rxm   

 xk   mk   
für zeitdiskre te Signale
k  
(4.22)
Für kontinuierliche Signale bedeutet  eine Zeitverschiebung.
Im zeitdiskreten Fall ist  eine natürliche Zahl und bezeichnet die Anzahl Samples (t = n·Ts)
um die verschoben wird.
Bei derjenigen Verschiebung , bei der rxm() ein Maximum hat, stimmen die beiden Signale
am Besten überein. Dieses max sagt aus, um wie viel das Signal m gegenüber dem Signal x
vorverschoben werden muss für maximale Ähnlichkeit.
max > 0 bedeutet also, dass das Signal m gegenüber x nacheilend ist.
68622712 / 14.05.16
Seite 20 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Ähnlichkeit von zwei Signalen
1
0
-1
-25
-20
-15
-10
-5
0
5
10
15
20
25
15
20
25
15
20
25
Signal x (oben) und Muster m (unten)
1
0
-1
-25
-20
-15
-10
-5
0
5
10
Korrelation mit Maximum bei  = -10Ts
5
0
-5
-25
-20
-15
-10
-5
0
5
10
Abbildung 4-18: Die beiden Signale sind sich am ähnlichsten, wenn  = 0 oder  = -10 ist.
 = 0 : das Muster m wird gegenüber dem Signal x nicht verschoben
 = -10 : das Muster m wird um 10 Samplingzeiten Ts verzögert (nach rechts verschoben)
Vertauschen der Signale
Werden die Signale x und m in der Formel 4.22 vertauscht, ändert nur das Vorzeichen von .
Anschaulich erklärt: Nacheilendes m lässt sich auch als voreilendes x interpretieren.
rxm    rmx   
rxm    rmx   
(4.23)
Vergleich der Korrelation mit der Faltung
Die Formel 4.22 sieht aus, wie die Formel für die Faltung (Formel 4.7). Der einzige
Unterschied ist das Minus-Vorzeichen im Index des zweiten Signals.
Interpretation:
Bei der Faltung wird das zweite Signal gespiegelt, bevor es über das erste geschoben wird.
Bei der Korrelation wird nicht gespiegelt, da die Ähnlichkeit der Signale interessiert.
rxm    x k  mk  k 
Korrelatio n mit Hilfe der Faltun g berechnen
(4.24)
Dank der Verwandtschaft mit der Faltung, kann die Korrelation statt mit der Formel 4.22
wesentlich effizienter über den Umweg via FFT und IFFT berechnet werden.
68622712 / 14.05.16
Seite 21 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Korrelation mit Hilfe von FIR-Filtern
FIR-Filter bilden das Ausgangs-Signal, indem sie das Eingangs-Signal mit den bKoeffizienten falten. Die Gleichung 4.24 lässt sich somit durch ein FIR-Filter effizient in
Hardware realisieren. Für die b-Filter-Koeffizienten muss nur das gesuchte Muster in
umgekehrter Reihenfolge verwendet werden. Am Ausgang des FIR-Filters erscheint in
Echtzeit die Korrelations-Sequenz.
Wenn z.B. für die b-Koeffizienten die Synchronisations-Sequenz der Datenübertragung
eingesetzt wird, erscheint am Ausgang immer bei Beginn eines Frames ein Maximum. Damit
lässt sich der Empfänger effizient mit dem Sender synchronisiseren.
Start-Sequenz finden in einem Bit-Strom
1
0
-1
-40
-30
-20
-10
0
10
20
30
40
30
40
30
40
Signal x (oben) und Muster m (unten)
1
0
-1
-40
-30
-20
-10
0
10
20
Korrelation mit Maximum bei  = -28Ts
10
0
-10
-40
-30
-20
-10
0
10
20
Abbildung 4-19: Die Synchronisations-Sequenz in der Mitte beginnt im oberen Bit-Strom ein
erstes Mal nach 5 Samples und ein zweites Mal nach 28 Samples.
68622712 / 14.05.16
Seite 22 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Signal-Sequenz finden in einem verrauschten Signal-Strom
2
0
-2
-30
-20
-10
0
10
20
30
Signal x (oben) und Muster m (unten)
2
0
-2
-30
-20
-10
0
10
20
30
Korrelation mit Maximum bei  = -10Ts
10
0
-10
-30
-20
-10
0
10
20
30
Abbildung 4-20: Im sehr stark verrauschten Signal x findet sich die gesuchte
Synchronisations-Sequenz m mit grosser Wahrscheinlichkeit nach 10 Samples.
Auto-Korrelation
Wird das Signal mit sich selbst korreliert, spricht man von Autokorrelation.
rxx   

 xk   xk   
k  
rxx    rxx    die Autokorrel ation ist eine gerade Funktion
(4.25)
Werden zwei verschiedene Signale miteinander verglichen spricht man von KreuzKorrelation.
Für  = 0 ist rxx[0] gleich der Energie des Signals:
rxx 0 

 xk   xk  
k  
68622712 / 14.05.16

 xk 
2
 Signal - Energie
(4.26)
k  
Seite 23 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Auto-Korrelation periodischer Signale
Bei periodischen Signalen gibt es immer bei  = n·Periodenlänge eine maximale
Übereinstimmung.
Ausgenutzt wird das bei der Datenanalyse, um nach ähnlichen Sequenzen zu anderen
Zeitpunkten zu suchen (z.B. bei Klima-Modellen).
Auto-Korrelation von weissem Rauschen = Dirac-Stoss
Weisses Rauschen zeichnet sich dadurch aus, dass die einzelnen Samples zufällig sind. Bei
der Auto-Korrelation wird also (ausser bei  = 0) eine Summe über Produkte von
Zufallszahlen gebildet. Diese strebt für lange Rausch-Sequenzen gegen 0.
Die Auto-Korrelation von weissem Rauschen (Amplituden Gauss-verteilt) ist ein Dirac-Stoss.
Autokorrelation eines Rauschsignals = Diracstoss
2
0
-2
-40
-30
-20
-10
0
10
20
30
40
30
40
30
40
Signal x (oben) und Muster m (unten)
2
0
-2
-40
-30
-20
-10
0
10
20
Korrelation mit Maximum bei  = 0Ts
1
0
-1
-40
-30
-20
-10
0
10
20
Abbildung 4-21: Schon bei 50 Samples sieht man die Näherung an einen Dirad-Stoss.
Ebenfalls gut sichtbar ist die Symmetrie der Autokorrelation.
System-Identifikation mit weissem Rauschen
Ein LTI-Systems ist eindeutig definiert, wenn man die Impulsantwort oder den Frequenzgang
kennt.
Für digitale Systeme ist die Impuls-Antwort sehr einfach zu messen. Als Eingangs-Signal
wird ein Strom von Nullen mit einer einzelnen 1 verwendet. Die Ausgangs-Sequenz liefert
direkt die Impuls-Antwort.
Zeitkontinuierliche Systemen müssten in Analogie mit einem Dirac-Stoss angeregt werden.
Das ist nicht praktikabel, weil ein Dirac-Stoss unendlich kurz ist und eine unendliche
Amplitude aufweist.
68622712 / 14.05.16
Seite 24 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
In der Praxis werden für zeitkontinuierliche Systeme folgende Methoden angewendet:
 Anregen mit einem Schritt und messen der Schritt-Antwort.
Da der Schritt das Integral des Dirac-Stosses ist, kann durch Ableiten der SchrittAntwort die Impuls-Antwort berechnet werden.
 Frequenzgang-Messung mit Sinus-Sweep-Signal
Der Amplituden- und Phasengang des Systems wird gemessen.
 Frequenzgang-Messung mit Multiträger-Signal
Statt ein Sinus-Signal langsam zu variieren, wird das System gleichzeitig mit
mehreren Frequenzen angeregt. Die Messung geht so wesentlich schneller. Der
Amplitudengang kann recht genau bestimmt werden, aber beim Phasengang können
Drehungen um 2*pi schlecht erkannt werden.
 Anregen mit weissem (oder rosa) Rauschen
Die Korrelation von Eingangs- und Ausgangs-Signal liefert direkt die Impuls-Antwort,
da die Auto-Korrelation von weissem Rauschen einem Dirac-Stoss entspricht. Da die
Signal-Energie gleichmässig über alle Frequenzen verteilt (verdünnt) ist, steigt die
Genauigkeit mit der Länge der Rausch-Sequenzen. Für die Korrelation wird eine
hohe Rechenleistung benötigt.
Impulsantwort eines FIR-Bandpass-Filters mit Rauschen messen
2
0
-2
-800
-600
-400
-200
0
200
400
600
800
600
800
Signal x (oben) und Muster m (unten)
2
0
-2
-800
-600
-400
-200
0
200
400
Korrelation mit Maximum bei  = 2Ts
0.2
0
-0.2
-0.4
-2
0
2
4
6
8
Abbildung 4-22: Oben ist das Eingangs- und in der Mitte ist das Ausgangs-Signal zu sehen.
Die untere Kurve zeigt die mit Korrelation ermittelte Impulsantwort des FIR-Bandpass-Filters.
Die Tabelle vergleicht die genauen mit den gemessenen Werten. Die Messgenauigkeit kann
durch verlängern der Messzeit beliebig gesteigert werden.
Samplenummer
0
1
2
3
4
5
6
7
Impulsantwort
Genaue Werte
0.0671 -0.3394 0.3250 0.3250 -0.3394 0.0671
0
0
= b-Koeffizienten
Mit Korrelation
0.06
-0.32
0.31
0.31
-0.32
0.06
0.01 -0.02
gemessen
68622712 / 14.05.16
Seite 25 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Impulsantwort eines RC-Tiefpass-Filters mit Rauschen messen
4
2
0
-2
-4
-800
-600
-400
-200
0
200
400
600
800
600
800
Signal x (oben) und Muster m (unten)
4
2
0
-2
-4
-800
-600
-400
-200
0
200
400
Korrelation mit Maximum bei  = 0Ts
0.2
0.1
0
-2
0
2
4
6
8
Abbildung 4-23: Oben ist das Eingangs- und in der Mitte ist das Ausgangs-Signal zu sehen.
Das Tiefpass-Verhalten ist gut erkennbar, im Ausgangssignal gibt es keine kurzen Spitzen.
Die untere Kurve zeigt die mit Hilfe der Korrelation gemessene Impulsantwort.
Die Tabelle vergleicht die genauen mit den gemessenen Werten. Die Messgenauigkeit kann
durch verlängern der Messzeit beliebig gesteigert werden.
Samplenummer
Impulsantwort
Genaue Werte
= b-Koeffizienten
Mit Korrelation
gemessen
68622712 / 14.05.16
0
1
2
3
4
5
6
7
0.200
0.160
0.128
0.102
0.082
0.066
0.052
0.042
0.203
0.170
0.119
0.096
0.080
0.062
0.041
0.035
Seite 26 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
4.13. Anhang: Formeln und Matlab-Befehle
Beschreibung
Filter-Koeffizienten
Formel
Nullstellen und Pole
z k , pk
Frequenz
f (Signal - Frequenz)
f s (Abtast - Frequenz)
Eingangsfolge
Ausgangsfolge
Fensterung
Impulsantwort
Faltung
im Zeitbereich
Matlab
b = [b0, b1, b2, …]
a = [1, a1, a2, …]
z = [z1, z2, …]
p = [p1, p2, …]
k % Verstärkungsfaktor
w % w = 2pi*f/fs normiert!
bk , a k
N % Sample-Anzahl
x
xn
yn 
wn xw n  wn  xn
y
w = window(@hamming,N)
hn
hn    H z
hn  bn (nur bei FIR)
yn  hn  xn
yn  
h = ifft(H)
[h,t] = impz(b,a)
% Näherung
y = conv(x,h)

 hk   xn  k 
k  
Filterung
im Zeitbereich
N
M
k 0
k 1
y = filter(b,a,x)
yn    bk  xn  k    a k  yn  k 
H z     bn 
X z     xn 
Y z   H z   X z 
y n     Y z 
Übertragungsfunktion H z 
H z    hn
Filterung
im Frequenzbereich
Übertragungsfunktion
mit b,a-Koeffizienten
y = fftfilt(b,x)
% nur FIR-Filter!
% vorteilhaft für lange Folgen
% Umweg: fft-Filter-ifft
H = fft(h);
N
H z  
Y z 

X z 
b
k 0
M
k
[H,w] = freqz(b,a,N)
H = freqz(b,a,w)
 z k
1   a k  z k
freqz(b,a) % plotten
zplane(b,a) % plotten
k 1
Übertragungsfunktion
mit Nullst. und Polen
Y z 
H z  
k
X z 
 z  z 
k 1
M
H z  
k
 z  p 
k 1
Übertragungsfunktion
mit Biquads
second-order-section
[b,a] = invfreqz(H,w,Nb,Na)
[z,p,k] = tf2zp(b,a)
[b,a] = zp2tf(z,p,k)
N
 z M N
zplane(z,p) % plotten
k




z  z1   z  z1  ... 
Y z 
k
X z 
z  p1   z  p1* ...
*
Konj. kompl. Nullstellen/Pole kombinieren
=> Weniger Quantisierungs-Fehler
Korrelation
rxm   

 xk   mk   
rxm    rmx   
[sos,g] = tf2sos(b,a)
[b,a] = sos2tf(sos,g)
[sos,g] = zp2sos(z,p,k)
[z,p,k] = sos2zp(sos,g)
rxm = xcorr(m,x)
k  
68622712 / 14.05.16
Seite 27 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Hilfe und Dokumentation: Matlab-Signal-Processing-Toolbox (SPT)
help signal
% Kurze Hilfe zu den Funktionen der SPT auf der Kommandozeile
doc signal
% Ausführliche Hilfe zu den Funktionen der SPT im grafischen Hilfesystem
help befehl, doc plot
% Hilfe zum Plotten
help befehl, doc befehl
% Hilfe zu „befehl“
Visualisierung und Entwurf
fdatool
% Filter Design and Analysis Tool
fvtool(b,a)
% Filter Visualization Tool
sptool
% Signal Processing Tool
wintool
% Window Design and Analysis Tool
Wvtool(W)
% Window Visualization Tool
Befehle zum Plotten
plot
% Plotten eines (oder mehrerer) x-y-Kurvenverlaufs
semilogx
% wie plot, aber x-Achse logarithmisch
semilogy
% wie plot, aber y-Achse logarithmisch
loglog
% wie plot, aber beide Achses logarithmisch
stem
% Plotten einer x-y-Punkteschar auf Stängel
stairs
% Plotten eines x-y-Treppensignals
subplot
% Mehrere Plots ins gleiche Fenster zeichnen
hold on/off
% Mehrere Plots ins gleiche Achsensystem zeichnen
pause()
% Anhalten der Ausgabe, weiter auf Tastendruck
pause(zeit) % Anhalten der Ausgabe, weiter nach zeit Sekunden
Amplituden- und Phasengang der Übertragungsfunktion
Habs = abs(H)
% Amplitudengang der Übertragungsfunktion
Hdb = 20*log10(abs(H))
% Amplitudengang der Übertragungsfunktion in dB
phi = angle(H)
% Phasengang der Übertragungsfunktion in radian
phi = angle(H)*180/pi
% Phasengang der Übertragungsfunktion in Grad
phi = unwrap(angle(H))
% Phasengang der Übertragungsfunktion, 2-Sprünge korrigiert
Zwei- und einseitiges Spektrum
Die N-Punkt-FFT eines reellwertigen Signals liefert ein zweiseitiges Spektrum mit N
äquidistanten Frequenzlinien zwischen 0 und fs. Die zweite Hälfte des Spektrums ist dabei
ein konjugiert komplexes Abbild der ersten Hälfte.
Ohne Informationsverlust kann deshalb das einseitige Spektrum verwendet werden. In
diesem Fall wird nur die erste Hälfte (N äquidistante Frequenzlinien zwischen 0 und fs/2) des
Vektors genommen, die Amplituden werden verdoppelt, die Phasen bleiben gleich.
Matlab-Index beginnt bei 1, Sample- und Frequenzlinien-Nummerierung jedoch bei 0
fs = 8000;
% Abtastfrequenz
N = 64;
% Samples = Anzahl Frequenzlinien
n = 0:N-1;
% Sample-Nummerierung = Frequenzlinien-Nummer.
t = n/fs;
% Abtast-Zeitpunkte
f = n*fs/N;
% Frequenzen der Frequenzlinien
Zeilen- in Spalten-Vektor umwandeln, und umgekehrt
b = a';
% ' transponiert den Vektor oder die Matrix
Frequenz versus Kreisfrequenz
Bei einigen Befehlen arbeitet Matlab mit der normierten Frequenz f/fs/2, also die Frequenz
bezogen auf die Nyquist-Frequenz. Zahlenbereich: 0 bis 1.
Andere Matlab-Befehle arbeiten mit der normierten Kreisfrequenz. Zahlenbereich: 0 bis .
Wieder andere erwarten f und fs als separate Parameter.
Die Details müssen in der Hilfestellung zum Befehl nachgelesen werden.
68622712 / 14.05.16
Seite 28 / 28
Rumc&Hhrt@ZSN@SoE@ZHAW
Herunterladen