Digital Signal Processing Reference
In-Depth Information
1
0
-1
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
Time t in s
1
0.5
0
0
500
1000
1500
2000
2500
3 000
3500
4000
Frequency f in Hz
10 0
10 -2
0
500
1000
1500
2000
2500
3000
3500
400 0
Frequency f in Hz
Bild 20-4 Audioclip und DFT-Betragspektrum in linearer bzw. logarithmischer Darstellung
( dsplab3_3 )
M3.6
Effiziente DFT reeller Folgen mit geraden Längen
Programmausschnitt für die DFT-Berechnung nach (3.23) und (3.24)
%% DFT implementation with for loops
M = N/2;
v = s(1:2:end) + 1i*s(2:2:end);
% complex sequence
V = dft(v);
% DFT of complex sequence
V = [V V(1)];
% append V[k=0]
Sf = zeros(1,N); M = N/2; wN = exp(-1i*2*pi/N);
for k = 0:M
Sf(1+k) = .5*( V(1+k) + conj(V(1+M-k)) )...
- 1i*.5*wN^k*( V(1+k)-conj(V(1+M-k)) );
end
for k = M+1:N-1
Sf(1+k) = conj(Sf(1+N-k));
% DFT of audio clip
end
Die benötigte Rechenzeit für das Audiosignal der Dauer 1 Sekunde beträgt nunmehr
circa 9.5 s und somit etwa 23 %. Die Rechenzeitersparnis beträgt 77 %.
Man vergleiche Rechenzeit und DFT-Länge. Die DFT-Länge wurde um den Faktor
2 und die Rechenzeit um den Faktor 4 verkürzt.
Search WWH ::




Custom Search