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

类别

帮助中心File Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by