Digital Signal Processing Reference
In-Depth Information
4.5
Versuchsdurchführung
M4.1
Erstellen Sie eine MATLAB-Funktion zur DIT-Radix-2-FFT entsprechend Bild 4-4
für beliebige Zweierpotenzen als Transformationslänge. Verwenden Sie den Butter-
fly in Bild 4-3 rechts.
Hinweis:
Verwenden Sie soweit möglich die Programmbeispiele 4-1, 4-2 und 4-3.
Übernehmen Sie den Programmkopf in Programmbeispiel 4-4.
Programmbeispiel 4-5
Radix-2-FFT mit DIT (Programmkopf)
function X = dit2fft(x)
% dsp laboratory - assignment 4
% computation oft the decimation-in-time radix-2 fft
% function X = dit2fft(x)
% x : time-domain signal
% X : dft spectrum of x
% dit2fft.m * mw * 13Oct2010
M4.2
Testen Sie Ihr FFT-Programm
dit2fft
anhand von bekannten Beispielen, siehe
Versuch 3. Verwenden Sie dazu auch die MATLAB-Built-in-Funktionen
fft
und
ifft
.
M4.3
Überprüfen Sie die Wachstumsgesetze für die Komplexität der DFT in direkter
Form
dft
und Ihres DIT-Radix-2-Programmes
dit2fft
durch Messung der
Rechenzeiten.
Hinweise:
Benützen Sie das Programmbeispiel 4-4
dsplab4_1
. Wenn Sie das Pro-
gramm zweimal laufen lassen und die gemessenen Zeiten vergleichen, stellen Sie
fest, dass die Zeitangaben nur Näherungswerte darstellen. Eventuell können an
Ihrem Rechner durch weitere aktive Prozesse im Hintergrund starke Schwankungen
der Zeitangaben auftreten.
M4.4
Überprüfen Sie Ihre Abschätzung im Versuch 3 für die Rechenzeit für die DFT
eines Audiosignals der Dauer von 1 Sekunde bei einer Abtastfrequenz von 8 kHz.
Hinweis:
Benutzen Sie die Beziehungen (4.3) und (4.14).
Wie viel Rechenzeit wird für die DFT mit dem Programm
dit2fft
für das Audio-
signal benötigt?
M4.5
Messen Sie an Ihrem Computer die Rechenzeit für die MATLAB-Built-in-Funktion
fft
.
Hinweise:
Ändern Sie dazu das Programm
dsplab4_1.m
entsprechend ab. Beach-
ten Sie, dass die Funktion
fft
besonders laufzeiteffizient programmiert wurde.