Frequency shift in Signal analysis

3 views (last 30 days)
Ludovic
Ludovic on 16 Nov 2012
Hello everybody
I have a problem concerning a program I performed in Matlab about Signal analysis. I recorded some tracks where I know exaclty what type of frequencies I am sending (only sinus frequencies). After running my program, I get always almost exactly the same shift of the value of my frequency compared to the original. For example let's say that 400Hz sent is finally recorded as 398Hz. I did a correction by considering a correction factor that I apply to my Fs. However, I would like to know where this error is coming from and if there is not a better way than mine to correct this error?
My program is the following: [signal, Fs, nbits, readinfo] = wavread(nom_fichier); N=length(signal); signal_fft=fft(signal,N); signal_fft=signal_fft(1:N/2); signal_fft=abs(signal_fft); f=(0:N/2-1)*Fs/N; graph=plot(f,signal_fft);
I saw somewhere that maybe my error may come from the fact that there is a difference between my number of points and 2^x (where x=20 in my case). Is that true? If yes, what are my solutions? If not, what are my solutions?
Thanks in advance for any helpf or suggestions

Answers (0)

Community Treasure Hunt

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

Start Hunting!