Bode plot from WAV

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!

 Accepted Answer

Paulo Silva
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

Jan
Jan on 1 Mar 2011
Thats something like it, now why you use T? You calculate it but don't use it again? Is there a reason for it or just a small mistake?
Paulo Silva
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.

Sign in to comment.

More Answers (2)

Andreas Goser
Andreas Goser on 1 Mar 2011

0 votes

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.

1 Comment

Jan
Jan on 1 Mar 2011
Alright, I know that but for example if i view the WAV in audacity it gives me on the Y axis the magnitude of the wave (starting from the top with 0 going to -50db for example) and on the x axis the frequencies. I basically want to accomplish the same view.

Sign in to comment.

Rajiv Singh
Rajiv Singh on 1 Mar 2011

0 votes

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.

1 Comment

Jan
Jan on 1 Mar 2011
I already have the spectrum (linear and logarithmic), But read my comment on Mr Goser A. Answer.

Sign in to comment.

Products

Asked:

Jan
on 28 Feb 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!