一种基于DFT的次优高精度频率估计算法与实现
2012-08-13王竹刚熊蔚明
王 乐,王竹刚,熊蔚明
(1.中国科学院研究生院,北京 100190;2.中国科学院空间科学与应用研究中心,北京 100190)
对淹没在噪声中的正弦波信号进行频率估计是信号处理的经典课题,在通信、雷达、电子侦察及振动信号处理等领域有重要的应用。在加性高斯白噪声信道中,频率估计算法大致可分为最大似然估计算法、最大后验概率 (MAP)估计算法和自相关估计算法。RIFE D和BOORSTYN R通过分析Cramer-Rao下界,提出了工程可实现的 ML算法[1],利用快速傅里叶变换(FFT)进行粗搜索再进行精确搜索。为了充分利用频率分布的先验知识,Hua Fu和 KAM P Y提出了 MAP充分估计算法[2]。以上两种算法都具有较高的复杂度,而自相关估计算法实现复杂度低,参考文献[3]给出了自相关估计算法的具体细节。现有的精确估计算法实现的结构多采用FFT粗搜索,再进行精确估计。本文在分析了现有的几种精确估计后,结合实际硬件设计,提出了直接利用幅度平方信息做精确估计的算法,有效地简化了现有算法的运算量。通过仿真验证了其在低信噪比下也具有一定的估计精度。
1 频率精确估计的几种算法
Voglewede方法[4]利用FFT输出的峰值以及相邻的两个频点的幅值,拟合出一条二次曲线逼近原插值函数,通过求二次函数即抛物线的最大值求解精确频率。在有噪声的情况下,估计精度不高。Quinn方法[5]利用FFT输出的次大频点和最大频点复数值之比插值得出精确频率值。Jacobsen方法[6]利用三个频点复输出的实部实现频偏估计。参考文献[7]通过对FFT的输出表达式做泰勒级数展开,给出了Jacobsen方法的理论依据,并对原方法进行了误差校正。改进后的Jacobsen方法修正了原方法的系数。Jacobsen对原方法也进行了进一步的研究,通过仿真分析了不同窗函数下的Jacobsen方法的性能,归纳了各种窗函数下对估计算法的系数修正。
2 算法的构造
利用FFT粗估计时,为最大程度地简化设计,通过搜索FFT幅度平方的最大值确定峰值频点。Voglewede方法利用幅度的二次曲线拟合,引入开方运算,该方法在低信噪比下的表现不佳。Jacobsen方法和Quinn方法需要FFT输出复数的实部,从而在确定最大频点和其相邻频点的位置前需要存储所有FFT复数的输出。众所周知,复数的加法和减法运算量是实数的两倍,乘法和除法更甚。Jacobsen方法和Quinn方法都含有复数的数学运算,增加了硬件的复杂性。为了简化硬件,本文考虑设计一种精确估计结构直接利用幅度平方估计频偏小数部分的算法。
下面定义观测信号的解析表达式:
其离散傅里叶变换为:
令FFT后幅度最大值的频点为k0,小数部分为δ。由此可得:
y0、y2为峰值相邻的两个频率点幅度值的平方。通过观察可以发现式(4)~式(6)的分母完全相同,在此可以获得最优的估计表达式:
将式(4)~(6)带入式(7)可得:
简化式(7)的结构,得到δ的一个拟合次优估计表达式:
同上将式(4)~式(6)带入式(9)可得:
解得
所以
3 算法的性能分析与实现比较
算法性能分析就是利用估计的均方误差对上述方法进行评估。以参考文献[7]给出的各种精确估计方法来分类,现有的方法可以分为两大类。第一类是利用FFT复输出的实部信息,第二类是利用FFT的幅度信息。从抗噪性能上讲,利用幅度信息对噪声同样进行了平方运算,引入了平方损失,故第一类的抗噪性能要优于第二类,但第二类的实现要易于第一类。在实际的工程实现中,希望获得实现简单且具有一定估计精度的算法。本文提出的次优算法属于第二类算法,而且在低信噪比下具有较高的估计精度。本节通过仿真验证该算法的性能。仿真分两组,第一组是第二类方法中的Voglewede方法与本文的两种方法的均方误差比较。第二组是本文提出的次优算法在有窗情况下均方误差比较,以 CRB(Cramer-Rao Bound)下界作为参考[9]:
3.1 不加窗函数的估计性能
仿真设计的FFT截断长度N为1 024,信噪比的范围是-12 dB~14 dB,步进为 2 dB。对 δ从 0~0.5选取 4个点作为测试频偏,分别是0.1、0.2、0.3和 0.4。仿真结果如图1所示。
由仿真结果可知,高信噪比下,本文的两种方法均优于Voglewede方法。低信噪比下,次优精确估计算法优于Voglewede方法。
3.2 增加窗函数时的估计性能
本组仿真采用Hanning、Hamming和Blackman三种窗函数和不加窗的次优算法进行比较,仿真结果如图2所示。
由仿真结果可以看出,Hamming窗和Hanning窗估计精度均不高。而Blackman窗可达到最佳的性能,在低信噪比下,有效地降低了次优算法的均方误差,在高信噪比下,保持次优算法良好的估计精度。其估计性能接近CRB。
3.3 实现资源占用对比
正如在第2节中的讨论,最大频点的选择需要对FFT实部和虚部进行平方相加的运算。如果精确估计算法利用幅度信息(如 Voglewede方法),则在确定最大值后需要开方得到幅度信息。如果精确估计算法利用FFT的实部信息 (如Jacobsen方法),则在确定最大值前需对各频点的实部存储。表1给出了Jacobsen方法、Voglewede方法和本文两种方法的资源占用情况。本文提出的次优算法直接利用FFT幅度的平方信息,也简化了算法的实现。
本文提出的次优估计算法,是一种基于FFT输出幅度平方的信息通过曲线拟合估计精确频偏的算法。从算法原理和仿真验证两方面说明了本算法的可行性。原理上,算法根据FFT幅度平方输出的函数,推导出最优的估计表达式,算法简化后得到一种仅需要两个频点的估计算法,并优化算法系数。通过仿真说明了算法在不同信噪比下的估计精度,加入Blackman窗后有效改善算法抗噪性能,使其在高信噪比和低信噪比下都有较高的精度。算法设计上,由于采用FFT输出幅度的平方,两个频点输出值参与运算,硬件实现简单,可在各类适合的频率估计领域应用。
表1 实现资源占用对比
[1]RIFE D,BOORSTYN R.Single-tone parameter estimation from discrete-time observations[J].IEEE Transactions on Information Theory,1974,20(5):591-598.
[2]FU H,KAM P Y.MPA/ML estimation of the frequency and phase of a single sinusoid in noise[J].IEEE Transactions on Signal Processing,2007,55(3):834-845.
[3]VOLKER B,HANDEL P.Frequency estimation from proper sets of correlations[J].IEEE Transactions on Signal Processing,2002,50(4):791-802.
[4]VOGLEWEDE P.Parabola approximation for peak determination[J].Global DSP Magazine,2004,3(5):13-17.
[5]QUINN B G.Frequency estimation using tapered data[C].2006 IEEE International Conference on Acoustics,Speech and Signal Processing,Toulouse,France,2006:73-76.
[6]JACOBSEN E.On local interpolation of DFT outputs[EB/OL].[2011-03]http://www.ericjacobsen.org/FTinterp.pdf,(Fall,1994).
[7]CANDAN C.A method for fine resolution frequency estimation from three DFT samples[J].IEEE Signal Processing Letters,2011,18(6):351-354.
[8]袁亚湘,孙文瑜.最优化理论与方法[M].北京:科学出版社,1997.
[9]BELEGA D,DALLET D.Multipoint interpolated DFT method for frequency estimation[C].Systems,Signals and Devices,2009.SSD’09,6th international Multi-conference on,Djerba,Tunisia.2009:1-6.