How can I improve peak detection in fast fourier tranform?

1 view (last 30 days)
I recorded a sinusoidal signal and I want to figure out the amplitude and the phase of this signal. I do know the frequency. The signal length is 4096 and I have about 5 complete cycles in it plus one uncomplete cycle. By using FFT, I cannot get the impulse peak at the exact frequency, but it is distributed onto the adiacent frequencies.
Is there any procedure/function in Matlab able to give me the amplitude and the phase at a given frequency?
Thanks a lot

Answers (1)

Miroslav Balda
Miroslav Balda on 29 Jan 2013
You may find the function sinfapm.m in the File Exchange:



Community Treasure Hunt

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

Start Hunting!