How can I improve peak detection in fast fourier tranform?

Hello,
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

回答(1 个)

You may find the function sinfapm.m in the File Exchange:
www.mathworks.com/matlabcentral/fileexchange/19902

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by