我是靠谱客的博主 粗暴微笑,最近开发中收集的这篇文章主要介绍用FFT估计单频正弦信号的幅度,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用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估计单频正弦信号的幅度所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部