How to see freq response of a wave file

조회 수: 18 (최근 30일)
moonman
moonman 2011년 11월 1일
댓글: 종민 손 2020년 7월 29일
Hi i am having a wave file
I want to see its frequency response.
How can i see that

채택된 답변

Wayne King
Wayne King 2011년 11월 1일
Again, if it's a signal and not a system, we don't say frequency response, but you can just use fft(). That gives you the DFT of the signal, so it is complex-valued. You can visualize the magnitude and phase responses separately. If your signal is real-valued, then the DFT is conjugate symmetric so you only have to keep the "positive" frequencies.
[y,fs] = wavread('foo.wav');
ydft = fft(y);
% I'll assume y has even length
ydft = ydft(1:length(y)/2+1);
% create a frequency vector
freq = 0:fs/length(y):fs/2;
% plot magnitude
subplot(211);
plot(freq,abs(ydft));
% plot phase
subplot(212);
plot(freq,unwrap(angle(ydft)));
xlabel('Hz');
  댓글 수: 2
moonman
moonman 2011년 11월 1일
Thanks again
for detailed answer
종민 손
종민 손 2020년 7월 29일
thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (4개)

Dr. Seis
Dr. Seis 2011년 11월 1일
None of the above works? Try:
wave_file = 'name.wav';
[wave_data_time, sample_rate] = wavread(wave_file);
N_temp = length(wave_data);
N = 2^nextpow2(N_temp);
buff = floor((N-N_temp)/2)+1;
Nyq = sample_rate/2;
df = sample_rate/N;
f = -Nyq:df:Nyq-df;
wave_data_time_pad = zeros(size(f));
wave_data_time_pad(buff:buff-1+N_temp) = wave_data_time;
wave_data_freq = fftshift(fft(wave_data_time_pad));
figure;
plot(f,real(wave_data_freq),'b-',f,imag(wave_data_freq),'r-');
  댓글 수: 2
Yasir Ali
Yasir Ali 2019년 3월 12일
Iam not understanding code provided by you
my data is [y,fs]=audioread('filename.wav')
how to put it in above code kindly help
Yasir Ali
Yasir Ali 2019년 3월 12일
I also need frequency respinse for it while fs =44100 and y=220500 ×2

댓글을 달려면 로그인하십시오.


Honglei Chen
Honglei Chen 2011년 11월 1일
Let's say you have a wav file called foo.wav, you can use spectrum object to see its spectrum
[y,fs] = wavread('foo.wav');
psd(spectrum.periodogram,y,'Fs',fs);
HTH
  댓글 수: 2
moonman
moonman 2011년 11월 1일
Hi
thanks
what is capaital Fs and small fs
what values should i give to them
thanks a lot
moonman
moonman 2011년 11월 1일
ok got it
but it is power spectral density
i need freq response

댓글을 달려면 로그인하십시오.


Naz
Naz 2011년 11월 1일
f='name.wav';
[x,sr]=wavread(f) ;
Ts=1/sr;
N=2^15;
x=x(1:N)';
time=Ts*(0:length(x)-1);
figure(1)
magx=abs(fft(x));
ssf=(0:N/2-1)/(Ts*N);
plot(ssf,magx(1:N/2))

moonman
moonman 2011년 11월 1일
Can anyone help me I am having wave file I want to see its freq response How can i see that

카테고리

Help CenterFile Exchange에서 Pulsed Waveforms에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by