Bode plot from WAV
4 views (last 30 days)
Show older comments
Hello,
I'm trying to make a bodeplot from a WAV file, I can read the WAV file, get the sampling rate and etc. Just wondering how I can display it as a bode plot, I've read up on the function in matlab but can't get it to work (or don't really understand it)
Thanks!
0 Comments
Accepted Answer
Paulo Silva
on 1 Mar 2011
Maybe something similar to this
load handel %this will load a sample music file
%y is the amplitude and Fs the Sampling frequency
T = 1/Fs; % Sample time
L = numel(y); % Length of signal
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
plot(f,10*log10(2*abs(Y(1:NFFT/2+1))))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('Y in db')
2 Comments
Paulo Silva
on 1 Mar 2011
The code was adapted from one in the fft documentation, I didn't check if T was needed or not, it's not used in this case.
More Answers (2)
Andreas Goser
on 1 Mar 2011
A bode diagram is created from a system, representating a system's behaviour.
A WAV file contains a signal. The signal may be also representing a system's response (output), but you need more than the signal to be able to determine the system (also input). Look for the example "step response". Here, a system reacts on a step input with a response (output). But you need to know the input to be able to compute the system.
Rajiv Singh
on 1 Mar 2011
If all you have is a signal, what you can construct is a power spectrum. If that is what you have in mind, look up "spectrum", "psd" (etc) in Signal Processing Toolbox.
See Also
Categories
Find more on Get Started with Control System Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!