Я играю с FFT и не могу получить ожидаемые результаты. У меня есть звуковой клип, который я записал с микрофона, установленного на аналоговых часах. Таким образом, звук звучит каждую секунду.FFT in matlab, неожиданные результаты
[wave,fs]=wavread('clock.wav');
t=0:1/fs:(length(wave)-1)/fs;
plot(t,wave);
n=length(wave)-1;
f=0:fs/n:fs;
wavefft=abs(fft(wave));
plot(f,wavefft);
Это код, который я использую. И вот результаты.
Я должен видеть огромный всплеск на 1hz, но я не уверен.
FFT, за которым следует звуковая волна.
Вы должны понимать, что на первом изображении ось «x» не отражает фактическую частоту.Когда вы выполняете БПФ, результат симметричен в 0 Гц, и вы можете четко видеть, что ваш БПФ является симметричным в 4000 или около того. Таким образом, результат, вероятно, правильный, но вы не строите его правильно. –
@AnderBiguri Это не имеет значения, поскольку спектр периодичен около 4000, что в данном случае является fs/2. Этот формат является defult для функции 'fft'. Чтобы показать specrtum вокруг нуля, вы должны использовать 'fftshift'. – Adiel
@Adiel Вы полностью готовы, я просто быстро посмотрел на проблему, и я ошибаюсь. –