Я пытаюсь получить быстрое преобразование Фурье определенной части сигнала, поступающего из файла .wav.
Файл .wav представляет собой повторение сигнала каждые 0,6 секунды.
Я пытаюсь понять, как получить повторение 10 раз и сравнить, чтобы показать, что результаты должны быть похожими.
Это код, который у меня есть на данный момент:
Fs = 44100;
cj = sqrt(-1);
[test,fs]= wavread('3b healthy2.wav'); % File data name
dt = 1/Fs;
time = 45.6;
N = time/dt;
left=test(:,1);
right=test(:,2);
I = left;
Q = right;
t = 0:dt:(time-dt);
n = length(t);
f = -Fs/2:Fs/n:Fs/2-Fs/n;
s = I+cj.*Q;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Smooth the signal
ss = smooth(s,201);
sf = fftshift(fft(ss(1:N))); % taking fft
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(2)
plot(f,(abs(sf))./max(abs(sf)))
Итак, как только я разделю программу, я смогу узнать временную область, и оттуда я обнаружил, что одно повторение составляет от 45,2 до 45,8.
После запуска этой программы я получаю график, но из того, что я вижу, он включает не одно повторение, а все повторения, объединенные до 45,2.
Изменить
Ниже приведен график того, как выглядит сигнал на 45-й секунде. Сигнал повторяется непрерывно в течение 3 минут. Теперь мне нужно БПФ этого 45-секундного повторения.