taking fft of .wav file
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to get the fft of a specific part of the signal coming from a .wav file.
the wav file is a repetition of the signal every 0.6 seconds. I am trying to figure out how to get the repetition 10 times and compare to show that the results should be similar.
this is the code i have for now
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)))
so once i separate program i can find out the time domain and from there i found that one repetition is at 45.2 to 45.8.
after i run this program i get a graph but form what i can see is not including one repetition but all repetition combined up to 45.2
any help will be much appreciated :) Thanks
7 commentaires
Star Strider
le 24 Juil 2014
Can you upload an illustrative subset of it? A 30 MB file is probably more than most people will want to work with.
Réponses (0)
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!