.wav 파일에서 오는 특정 신호의 고속 푸리에 변환을 얻으려고합니다..WAV 파일에서 FFT 적용
.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.8-45.2에 있음을 발견 프로그램을 분리하면. 나는이 프로그램을 실행 한 후
나는 그래프를 얻을 수 있지만 내가 볼 수있는, 그것은 하나의 반복하지만 45.2
편집 아래
까지 결합 된 모든 반복을 포함하지 않는에서의 그래프 무엇인지 신호는 45 초에 보입니다. 신호가 3 분 동안 계속 반복됩니다. 지금은 당신이 설정에 신호를 분석 할 수있는 창을 원하는 것 같습니다
질문을 이해하지 못했습니다. 45 초에서 46 초 사이의 시간 동안 만 입력 신호를 자르는 방법을 묻고 있습니까? 그렇다면 너무 어렵지 않습니다. –
네,하지만 그 특별한 시간의 fft가 필요합니다. 나는 여러 장소에서 fftshift (fft)를 얻어서 비교할 필요가있다. 그래서 내 코드에 오류가있는 곳이 궁금해서 45 번에 fft를주는 대신 45 번으로 fft를 결합하면됩니다. 희망은 의미가 있습니다 – fragkos