Bode plot from WAV

10 vues (au cours des 30 derniers jours)
Jan
Jan le 28 Fév 2011
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!

Réponse acceptée

Paulo Silva
Paulo Silva le 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 commentaires
Jan
Jan le 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 le 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.

Connectez-vous pour commenter.

Plus de réponses (2)

Andreas Goser
Andreas Goser le 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.
  1 commentaire
Jan
Jan le 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.

Connectez-vous pour commenter.


Rajiv Singh
Rajiv Singh le 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.
  1 commentaire
Jan
Jan le 1 Mar 2011
I already have the spectrum (linear and logarithmic), But read my comment on Mr Goser A. Answer.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by