概述
用FFT估计单频正弦信号的幅度
本文主要依据如下链接文章翻译整理而成,图片及公式也来源于该文,版权归原作者所有。
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5714405&contentType=Journals+%26+Magazines&sortType%3Dasc_p_Sequence%26filter%3DAND%28p_IS_Number%3A5714377%29
FFT是数字信号处理中最常用,也是最重要的算法。在实践中,人们常用FFT来估计信号的频率。但有时候,也需要估计单频正弦信号的幅度,这时候用FFT还能做得到吗?
答案是显然的,用FFT同样可以估计单频正弦信号的幅度。假定信号的幅度为A,频率为f, 信号采样点数为N。FFT之后,在频率f处会出现一个谱峰,幅度用M表示。在没有频谱泄露的情况下,有如下关系:
Mpeak=A*N/2 (1)
但我们知道,由于FFT有明显的栅栏效应,只有很少的频率点不存在频谱泄露,如图1(a)所示。于是,对那些存在频谱泄露的点来说,用式(1)来估计信号幅度会有很大的误差,最大可达36.3%,如图1(b)所示。
图1
于是,在选取谱峰之后,还要对其幅度值进行一定程度的校正,才能得到幅度的更好的估计。校正的方法之一对谱峰及其附近的值进行如下加权:
其中:
加权之后的效果如图2所示,最大估计误差约为0.0166dB。
图2
另外一种校正方式如下:
其中
这种校正方式的最大估计误差约为0.0082dB。
最后
以上就是粗暴微笑为你收集整理的用FFT估计单频正弦信号的幅度的全部内容,希望文章能够帮你解决用FFT估计单频正弦信号的幅度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复