Digital Signal Processing Reference
In-Depth Information
Programmbeispiel 3-3 DFT eines Audiosignals mit Rechenzeitabschätzung
% dft spectra of audio signals
% dsplab3_3.m * mw * 03/17/2008
[y,fs] = wavread('handel'); % load audio data
N = 2048; % dft length
s = y(2000:2000+N-1); % audio clip with N samples
soundsc(s,fs); % play audio clip
CLOCK = clock; % challenge time
fprintf('dft start: min:sec %g : %g\n',CLOCK(5),CLOCK(6))
S = dft(s); % DFT of audio clip
CLOCK = clock; % challenge time
fprintf('dft stop: min:sec %g : %g\n',CLOCK(5),CLOCK(6))
% Graphics
FIG = figure('Name','dsplab3_3 : audio signal
clip','NumberTitle','off');
t =(0:length(s)-1)/fs;
% time
subplot(3,1,1), plot(t,s), grid
xlabel('{\itt} in s \rightarrow'), ylabel('{\its}({\itt})
\rightarrow')
L = length(S)/2; % show section of length L
f = 0:L-1; % frequency scale
f = f*fs/length(S); % frequency in Hz
subplot(3,1,2), bar(f(1:L),abs(S(1:L)/max(abs(S)))), grid
axis([0 f(L) 0 1]);
xlabel('{\itf} in Hz \rightarrow'), ylabel('|{\itS}({\itf})|
\rightarrow')
subplot(3,1,3), semilogy(f(1:L),abs(S(1:L)/max(abs(S)))), grid
xlabel('{\itf} in Hz \rightarrow'), ylabel('|{\itS}({\itf})|
\rightarrow')
axis([0 f(L) 0 1]);
Hinweise zu MATLAB-Funktionen und M-Files
Tabelle 3-4 MATLAB-Befehle benutzte Programme und Dateien, siehe auch vorhergehende
Versuche
pause
Programmablaufsteuerung
Spezielle Befehle
clock
Elementare mathematische
Funktionen
abs, imag, max, min, real, conj
Textausgabe am Bildschirm
fprintf
2-dim. Grafik
semilogx, semilogy
dsplab3_1.m, dsplab3_2.m, dsplab3_3.m,
handel.wav, dsplab3_1b, idft.m
Þ Online-Ressourcen
Search WWH ::




Custom Search