Page 3
Kapitel 1
Aliasing oder Verschiebung der
zeitdiskreten Signale im
Frequenzbereich
Die Abtastwerte eines gleichmäßig abgetasteten Signals kann man nicht direkt mit einem kontinuierlichen Signal assoziieren [1], [2], weil unendlich viele Signale die gleichen Abtastwerte ergeben können [3]. Nur wenn die Bandbreite des kontinuierlichen Signals bis f max = f s /2 begrenzt ist, gibt es eine eindeutige Zuordnung zwischen dem kontinuierlichen Signal und den Abtastwerten. Mit f s wurde die Abtastfrequenz bezeichnet.
Mit anderen Worten ausgedrückt, gibt es bei diskreten, gleichmässig abgetasteten Signalen eine Mehrdeutigkeit, die im nächsten Abschnitt untersucht wird.
1.1 Mehrdeutigkeit der zeitdiskreten Signale
Ein sinusförmiges Signal der Frequenz f 0 und Amplitude A x der Form
(1.1) x(t) = A x sin(2πf 0 t)
wird mit einer Abtastfrequenz f s = 1/T s abgetastet, was zu einer Zeitdiskretisierung führt:
t = kT s mit k = −∞, . . . , −2, −1, 0, 1, 2, . . . , ∞
Die zeitdiskreten Abtastwerte werden dann:
(1.2) x[kT s ] = A x sin(2πf 0 kT s ) = A x sin(2πf 0 kT s + m2π)
Gerade die Periodizität der stationären, sinusförmigen (oder cosinusförmigen) Komponenten, in dieser Gleichung mit dem Term m2π, m ∈ Z dargestellt, zusammen mit der gleichmässigen Abtastung führt zu einer Mehrdeutigkeit. Die obige Gleichung kann auch in folgender Form
m
(1.3) x[kT s ] = A x sin(2π(f 0 + f s )kT s ) = A x sin(2π(f 0 + nf s )kT s )
k
Page 6
1.2 MATLAB/Simulink-Experimente zum Aliasing-Effekt 4
In dem gezeigten Zahlenbeispiel, wird die aus den Abtastwerten rekonstruierte, kontinuierliche Komponente der Frequenz 25 kHz nicht mehr die ursprüngliche Komponente der Frequenz 125 kHz darstellen, sondern sie bildet die verschobene Komponente.
Auch im alltäglichen Leben kommen solche Sachverhalte vor. Bei einem Formel-1-Rennen sieht man plötzlich, dass die Räder stehen bleiben oder sich in umgekehrter Richtung drehen, obwohl sich der Wagen richtig bewegt. Abb. 1.4 zeigt wie das zustande kommt.
Die Bildsequenzen stellen Abtastbilder bei t, t + T s , t + 2T s , t + 3T s , t + 4T s dar, und in einer Sequenz wird das Rad mit den Speichern an einer Stelle und in der nächsten Sequenz an einer anderen Stelle erfasst.
Die Stellen können langsam vorrücken, obwohl sich die Räder vielmals gedreht haben. Es entsteht der Eindruck, dass die Räder zu langsam drehen (Abb. 1.4a). Wenn die Speicher in derselben Lage in jeder Sequenz erfasst werden, hat man den Eindruck die Räder drehen sich nicht (Abb. 1.4b). Kleine Abweichungen nach hinten führen zum Eindruck, dass die Räder umgekehrt drehen (Abb. 1.4c).
Es gibt auch andere ähnliche Beispiele, alle verbunden mit Abtastereignissen. So z.B. funktioniert das Stroboskop, das man für die Einstellung der Vorzündung eines Fahrzeugs einsetzt. Das pulsierende Licht des Stroboskops wird mit der Zündung synchronisiert, so dass die Stelle am Schwungrad, bei der die Zündung stattfindet, als stehend erscheint.
1.2 MATLAB/Simulink-Experimente zum
Aliasing-Effekt
Mit MATLAB- bzw. Simulink-Simulationen kann der Aliasing-Effekt einfach reproduziert werden [4]. Abb. 1.5 zeigt das Modell abtast_12.mdl das über das Programm abtast12.m initialisiert und Aufgerufen wird. Die Blöcke Sine Wave aus der Sources- Bibliothekakzeptieren keine negativen Frequenzen und um das zu umgehen, werden die sinusförmigen Signale mit Hilfe von Fcn-Blöcken (Function-Blöcken), die als Eingang die Zeit haben, erzeugt.
Page 10
Kapitel 2
Aliasing-Experiment mit dem
Digitalen-Oszilloskop TDS 220
Das Tektronix TDS 220 Oszilloskop ist ein so genanntes digitales Speicher-Oszilloskop, das die Verläufe in Echtzeit aufnimmt. Wenn Einkanal-Betrieb verwendet wird, werden 2500 Abtastwerte des Eingangssignals aufgenommen, und die Hälfte davon, wenn beide Kanäle eingesetzt werden. Nachdem diese Werte im Speicher hinterlegt sind, werden sie bearbeitet und am Display angezeigt.
Abb. 2.1 zeigt diesen Sachverhalt für den Einkanal-Betrieb. Die neue Erfassung muss mit dem Signal synchronisiert sein, um ein stabiles Bild der Anzeige zu erhalten.
2.1 Durchführung des Experiments
Das Oszilloskop hat eine Bandbreite von 100 MHz und eine Abtastfrequenz bis 1 GS/s 1 oder 1 GHz. Die höchste Abtastfrequenz von 1 GHz ist zehn mal größer als die Bandbreite von 100 MHz und somit gibt es 10 Abtastwerte in einer Periode für das Signal der höchsten Frequenz.
Mit Hilfe der Abtastfrequenz wird die Zeitablenkung bei diesen Oszilloskopen eingestellt. Der Bereich für diesen Parameter liegt zwischen 5 ns/Div bis 5 s/Div. Bei 10
1 Giga-Samples/Sekunde
Page 16
Anhang A
Spektrum der zeitdiskreten
Signalen
Es wird das Spektrum der zeitdiskreten Signalen über die Fourier-Transformation ermittelt. Der partikuläre Fall der periodisch, stationären, sinusförmigen Komponenten wurde im ersten Kapitel mit einfachen mathematischen Mitteln abgeleitet. Die Fourier-Transformation [5], [6] erweitert die Betrachtungen im Frequenzbereich auch für zeitdiskrete aperiodische Signale. Wenn man die Werkzeuge, die man bei kontinuierlichen Signalen einsetzt, auch für die zeitdiskreten Signale anwenden möchte, dann müssen die Abtastwerte als Dirac-Funktionen [5] angenommen werden. Nur so kann man alle Integralfunktionen (wie z.B. die Fourier-Transformation oder das Faltungsintegral) auch für die zeitdiskreten Signale benutzen.
A.1 Die Dirac oder Delta-Funktion
Ingenieurmäßig wird die Dirac- oder Delta-Funktion als Grenzfunktion eines Rechteckimpulses der Form (Abb. A.1a)
eingeführt. Er ist ein Impuls der Dauer τ und Höhe 1/τ und somit besitzt er eine Fläche gleich eins. Die Grenzfunktion (A.2) δ(t) = lim ∆(t)
τ →0
bildet die so genannte Dirac- oder Delta-Funktion δ(t). Die Delta-Funktion hat also für alle t = 0 den Wert 0 und trotzdem gilt:
∞
(A.3) δ(t)dt = 1 −∞
Im Sinne der klassischen Funktionen und des Riemann-Integralls ist das nicht möglich. Mathematisch korrekt wird die Delta-Funktion als Distribution [1] eingeführt. Die- ser Aspekt wird hier nicht mehr weiter verfolgt.
Page 19
A.2 Die Abtastung als Multiplikation mit einer periodischen Delta-Folge 17
Für die graphische Darstellung der Delta-Funktion als Limes des Rechteckimpulses oder der gezeigten Integralen, wird ein vertikaler Pfeil der Länge eins benutzt (Abb. A.1b). Dementsprechend wird die Funktion aδ(t) durch einen Pfeil der Länge a dargestellt.
Die Delta-Funktion besitzt die Extraktionseigenschaft
mit deren Hilfe viele Beziehungen aus der kontinuierlichen Welt auch für die zeitdiskreten Signale verwendet werden können. Hier ist ϕ(t) eine beliebige bei t 0 stetige Funktion.
So z.B. ergibt die Faltung eines Signals ϕ(t) mit der Delta-Funktion δ(t − t 0 ) eine Verschiebung des Signals an Stelle der Delta-Funktion (Abb. A.3):
A.2 Die Abtastung als Multiplikation mit einer periodi-
schen Delta-Folge
Man kann jetzt die Abtastung durch eine Multiplikation einer periodischen Folge von Delta-Funktionen p(t) mit dem kontinuierlichen Signal x(t) als Modell annehmen, Abb. A.4. Das Spektrum des kontinuierlichen Signals wird mit X(jω) bezeichnet und die periodische Folge von Delta-Funktionen wird durch die komplexe Fourier-Reihe ausgedrückt:
Page 27
Kapitel 1
Ermittlung der Frequenzgänge
von FIR- und IIR-Filtern
Es wird gezeigt, wie man mit Hilfe der FFT die Frequenzgänge von digitalen FIR- und IIR-Filtern effizient ermitteln kann. Diese Methode ist auch in der MATLAB-Funktion freqz implementiert.
1.1 Frequenzgang von FIR-Filtern
Ein FIR-Filter realisiert folgende zeitdiskrete Eingang-Ausgangsbeziehung:
y[kT s ] = b 0 x[kT s ] + b 1 x[(k − 1)T s ] + · · · + b m x[(k − m)T s ] (1.1)
Wobei durch T s die Abtastperiode und durch f s = 1/T s die Abtastfrequenz der diskreten Sequenzen bezeichnet wird. Die dazugehörige Übertragungsfunktion ist:
Y (z)
= b 0 + b 1 z −1 + · · · + b m z −m (1.2) H(z) =
X(z)
Den Frequenzgang erhält man, wenn z durch z = e jωTs in H(z) ersetzt wird [1], [2]:
m
H(e jωTs ) = b 0 + b 1 e −jωTs + · · · + b m e −jωTsm = b n e −jωTsn (1.3) n=0
Es ist bekannt [3], dass der Frequenzgang eine periodische Funktion in ω der Periode ω s = 2π/T s ist. Somit muss man den Frequenzgang nur für den Bereich 0 ≤ ω < 2π/T s ermitteln. Dafür wird dieser Bereich in N Intervalle unterteilt und der Frequenzgang wird nur für diese Werte ermittelt:
i
, mit i = 0, 1, 2, . . . , N − 1 (1.4) ω i = ∆ω i = (2π/T s )
N
Der Frequenzgang H(e jωTs ) für ω = ω i wird:
Page 30
1.2 Frequenzgang von IIR-Filtern 4
wird der Phasengang ohne die typischen Sprünge von 2π dargestellt. Diese Sprünge werden eingesetzt, um die Auflösung der Darstellung der Phase zu verbessern. In der Darstellung rechts unten sieht man diese Sprünge, weil hier die Phase ohne die Funktion unwrap dargestellt wird:
subplot(224), plot((0:N-1)/N, (angle(Hi)));
1.2 Frequenzgang von IIR-Filtern
Ein IIR-Filter realisiert folgende zeitdiskrete Eingang-Ausgangsbeziehung:
Die entsprechende Übertragungsfunktion ist jetzt:
Den Frequenzgang erhält man auch hier, wenn z durch z = e jωTs in H(z) ersetzt wird:
Statt der Summe aus Gl. (1.3), mit der man den Frequenzgang eines FIR-Filters berechnen kann, ist jetzt noch eine ähnliche Summe für den Nenner in Gl. (1.10) hinzugekommen. Sie kann in der selben Art für N Punkte entlang des Einheitskreises berechnet werden.
Zusammenfassend stellt man fest, dass für IIR-Filter zwei DFTs (oder FFTs) berechnet werden müssen und zwar einmal für den Zähler und einmal für den Nenner des komplexen Frequenzgangs H(e jωTs ). Dazu werden die Koeffizienten des Zählers und des Nenners mit Nullwerten bis zu einer Länge N erweitert und danach die DFT dieser erweiterten Koeffizienten ermittelt. Die elementweise Teilung dieser DFTs ergibt den komplexen Frequenzgang des IIR-Filters für N Punkte entlang des Einheitskreises. Wenn die ursprüngliche Anzahl der Koeffizienten im Zähler und Nenner verschieden sind, müssen sie bis zur gleichen Länge N erweitert werden. Im Programm freqz_iir.m ist ein Beispiel gezeigt:
% Programm freqz_iir.m in dem der Frequenzgang eines
% IIR-Filters über die FFT ermittelt und dargestellt wird
% ------- Entwicklung eines IIR-Tiefpassfilters
% mit der Funktion ellip nord = 8; % Ordnung des Filters
m = nord + 1; % Anzahl der Koeffizienten in Zähler und Nenner
Page 33
Kapitel 2
Frequenzgänge von Filterbänken
Wenn der Frequenzgang einer Filterbank bestehend aus mehreren Bandpassfiltern zu ermitteln ist, dann kann dies mit Hilfe der FFT in MATLAB sehr leicht realisiert werden. Angenommen in der Matrix hbank stellen die Zeilen die Impulsantworten der FIR-Filter der Filterbank dar. Dann wird mit
N = 1024;
Hbank = fft(hbank,N,2);
eine komplexe Matrix Hbank ermittelt, in der die komplexen Frequenzgänge der Filter in den Zeilen enthalten sind. Die Koeffizienten der Filter werden mit Nullwerten bis N erweitert und mit 2 signalisiert man, dass die DFT (oder FFT) entlang der Zeilen zu berechnen ist. Ohne diesen Wert wird defaultmäßig die Berechnung entlang der Spalten durchgeführt.
Danach können die Frequenzgänge der Filterbank direkt dargestellt werden:
subplot(211), plot((0:N-1)/N, abs(Hbank.’));
...
subplot(212), plot((0:N-1)/N, angle(Hbank.’)); ...
Mit Hbank.’ wird wegen des Punktes die Transponierung der komplexen Matrix, ohne dass die Elemente der Matrix durch ihre konjugiert komplexen Werte zu ersetzen, realisiert. Die Transponierung ist notwendig, weil die Funktion plot stellt defaultmäßig die Spalten einer Matrix dar.
2.1 DCT-Filterbänke
Als Beispiel wird im Programm freqz_filterbank.m eine DCT 1 -Filterbank [4] mit 8 Filtern entwickelt:
% Programm freqz_filterbank.m in dem der Frequenzgang einer % FIR-Filterbank über die FFT ermittelt und dargestellt wird
% ------- Entwicklung einer FIR-DCT-Filterbank
% über die Matrix der DCT
1 Discrete-Cosine-Transform
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.