Digital Signal Processing Reference
In-Depth Information
M4.4
Für die DFT des Audiosignals der Dauer 1 s folgt mit der Abtastfrequenz
f
s
= 8 kHz
eine DFT-Länge
N
= 8000. Die nächstmögliche Radix-2-FFT-Länge ergibt sich zu
8192. Wenn man als Referenz die Rechenzeit für die DFT mit der direkten DFT-
Implementierung, dem Programm
dft
, der Länge 1024 mit 4.75 s annimmt, so ist
eine Rechenzeit von etwa 4.45 s mal 4
3
, also ungefähr 76 Sekunden zu veran-
schlagen. Gemessen wurden circa 41.6 Sekunden, siehe Tabelle 20-1.
Mit der DIT-Radix-2-FFT, dem Programm
dit2dft
, ist eine Rechenzeit von etwa
139 ms erforderlich.
Anmerkung:
Die DFT-Länge als Zweierpotenz,
N
= 2
13
, lässt sich durch Anfügen von Nullen
an das Audiosignal erzwingen, siehe Zero-padding in Abschnitt 5.2.5.
M4.5
Mit dem Programm
dsplab4_1b
wurde Bild 20-6 für die MATLAB-Built-in-
Funktion
fft
bestimmt.
In der logarithmischen Darstellung ist wieder der näherungsweise lineare Anstieg
der Rechenzeit mit dem Faktor 2 zu erkennen.
Anmerkungen:
(i) Beim erstmaligen Aufruf der Funktion können sich durch das Laden in den
Hauptspeicher merkliche Verzögerungen ergeben. (ii) Bei zu großen DFT-Längen wird der
Hauptspeicher ausgeschöpft und für die Auslagerungen auf eine Swap-Datei auf der Festplatte
viel zusätzliche Zeit verbrauchen kann. (iii) In der digitalen Bildverarbeitung ist die Effizienz
des FFT-Algorithmus von besonderer Bedeutung. Dort wird die FFT oft auf die Zeilen und
Spalten eines Bildes angewendet, was den Aufwand entsprechend steigert.
10
4
10
3
10
2
10
1
17
18
19
20
21
22
23
24
DFT length, log
2
(N)
Bild 20-6
CPU-Zeiten für die MATLAB-Built-in-Funktion
fft
in Abhängigkeit von der DFT-Länge
(mit dem MATLAB-Befehl
cputime
geschätzte Werte, PC: Intel
®
Core™ 2 Duo CPU, 2.53
GHz und 6 GByte Arbeitsspeicher) (
dsplab4_1b
)
20.5
Lösungen: Kurzzeit-Spektralanalyse: Grundlagen
A5.1
a) Damit genau zwei von null verschiedene DFT-Koeffizienten resultieren, muss für
die normierte Kreisfrequenz gelten
f
k
0
0
2
2
0
f
N
s
und deshalb insbesondere