cant get an accurate fft of live audio signal

1 次查看(过去 30 天)
hello I want to get a live fft of my live audio signal. this my code , how ever my fft is wrong . could some one explain my why ?
clc;
clear all;
close all;
recorder = audiorecorder(96000, 24, 1);
disp('Start speaking.')
recorder.record(5);
while recorder.isrecording()
pause(0.1);
subplot(2,1,1);
plot(recorder.getaudiodata());
title('live recording of sound(t)')
y=getaudiodata(recorder);
fft_getaudio=fft(y,length(y));
subplot(2,1,2);
plot(linspace(0,5,length(y)),fft_getaudio);
title('live recording of fft (sound(t))')
drawnow();
end
disp('End of Recording.');
  2 个评论
Aquatris
Aquatris 2018-7-30
Check the documentation of fft function and modify their example. There are a lot of things that are wrong in your implementation.
tomer polsky
tomer polsky 2018-7-31
I read the fft help and tried what is written and I wote this code :
y=getaudiodata(recorder);
fft_getaudio=fft(recorder.getaudiodata());
n=1:length(fft_getaudio);
subplot(2,1,2);
plot((fft_getaudio),2.^nextpow2(n));
title('live recording of fft (sound(t))')
how ever I still get wrong plot of the fft ,any ideas ?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Signal Generation and Preprocessing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by