基于DFT的正弦信号频率估计方法
技术领域
本发明属于信号处理技术,涉及通信、雷达、声纳以及电子对抗等技术领域。
背景技术
在噪声条件下,对正弦波信号的频率估计是信号处理的一个经典课题。近年来,由于基于DFT(Discrete Fourier Transform,离散傅里叶变换,简称DFT)的频率估计算法具有运算速度快、对正弦信号有显著地信噪比增益、算法参数不敏感等优点,所以此类算法受到了国内学者越来越多的关注。
基于DFT的频率估计算法分为粗估计和精估计两个步骤。在粗估计阶段,就是对信号进行DFT变换,并将其谱峰最大值所对应的位置作为频率粗估计值。在精估计阶段,借助一定的插值策略估计信号真实频率与粗估计值之间的误差。目前该类算法的差异性主要体现在第二步中校正粗估计值时所使用的方法不同。
Jacobsen频率估计算法由E.Jacobsen等于2007年提出[E.Jacobsenand P.Kootsookos,“Fast,accurate frequency estimators[J],”IEEE SignalProcessing Magazine,May2007,24(3):123-125],该算法利用信号N点DFT频谱中最大的3根谱线校正第一步中的频率粗估计值,在低信噪比时,该算法能够得到较好的估计结果,但是估计的精度仍然不高。
为了提高频率估计的精度,C.Candan于2011年提出Candan频率估计算法[C.Candan,“A method for fine resolution frequencyestimation from three DFT samples[J],”IEEE Signal Processing Letters,2011,18(6):351-354],它对Jacobsen频率估计算法的系数进行了修正。该算法利用信号N点DFT频谱中最大的3根谱线对粗估计中的估计误差进行校正,计算简单,并且较Jacobsen算法精度有所提高。但是,由于在该算法的推导过程忽视了噪声对信号的影响,当|δ|较小时处于主瓣内的第二大谱线和第一旁瓣内的第三大谱线的幅度可能会判断错误,从而导致插值方向错误,产生较大的误差。
2N点DFT频率估计算法由Fang Luoyang等于2012年提出[FangLuoyang,Duan Dongliang and Yang Liuqing,“A new DFT-basedfrequency estimator for single-tone complex sinusoidal signals[C],”2012-MILCOM2012.IEEE,Orlando,FL,Oct.2012],该算法通过对信号进行2N点的DFT变换,使更多的谱线处于信号频谱的主瓣内,当信号真实频率与DFT变换最大谱峰较近时,即在频率偏差较小的情况下,|X[km-1]|和|X[km+1]|值较大,受噪声干扰的影响很小,从而能得到较高的估计精度,估计方差接近于CRLB(Cramer‐Rao lower bound,克拉美罗下限,简称CRLB);但该方法的缺点是当信号频率偏差较大时,|X[km-1]|和|X[km+1]|其中之一会减小,受噪声干扰的影响变大,估计精度降低,频率估计方差将偏离CRLB。
发明内容
为了解决上述问题,提供一种在任意频偏下,频率估计的性能都能达到CRLB的频率估计方法,本发明提供了一种基于DFT的正弦信号频率估计方法,主要包括如下步骤:
(a)对信号进行必要的预处理,以便用于频率估计:
将信号x(t)经过采样频率为fs、采样点为N的采样后,得到离散化的原始信号x[n],(n=0,1,2,…,N-1);
(b)用Candan算法对信号x[n]进行频率粗估计:
对原始信号x[n]进行N点FFT变换(Fast Fourier Transformation,快速傅里叶变换,简称FFT变换),得到谱线最大位置km及相邻两点km-1、km+1处的DFT变换值X[km-1]、X[km]和X[km+1],利用这三个值计算初始频率偏差
(c)修正原始信号:
利用步骤(b)得到的初始频率偏差修正原始信号x[n],使修正后信号x1[n](x1[n]为修正后的信号表达式,n=0,1,2,…,N-1)的频率偏差较小;
(d)用2N点DFT算法对信号x1[n]进行频率精估计:
对信号x1[n]进行2N点FFT变换,得到谱线最大位置相邻两点km-1、km+1处的DFT变换值X[km-1]和X[km+1],利用这两个值计算剩余频率偏差
(e)频率估计计算:
根据步骤(b)得到的初始频率偏差和步骤(d)得到的剩余频率偏差计算得到频率估计值
本发明中所有的符号定义:
采样点数:N;
采样频率:fs;
信号频率:f;
相对频率偏差:δ;
信号频率估计值:
信噪比:SNR
均方根误差:
克拉美罗下限:
Candan算法:文献[C.Candan.A method for fine resolution frequencyestimation from three DFT samples[J].IEEE Signal Processing Letters,2011,18(6):351-354]提出的一种频率估计方法。
2N点DFT算法:文献[Fang Luoyang,Duan Dongliang and YangLiuqing.A new DFT-based frequency estimator for single-tone complexsinusoidal signals[C]//2012-MILCOM2012.IEEE,Orlando,FL,Oct.2012]提出的一种频率估计方法。
迭代算法:文献[E.Aboutanios and B.Mulgrew,“Iterative frequencyestimation by interpolation on Fourier coefficients[J],”IEEE Transactionson Signal Processing,2005,53(4):1237-1242]提出的一种频率估计方法。
本发明巧妙的结合了Candan频率估计算法和2N点DFT频率估计算法的优点,并且避免了各自的缺点。在粗估计阶段,利用Candan算法计算简单、性能较Jacobsen算法高的优点,用其对频偏进行粗估计;为了克服2N点DFT算法的缺点,在利用该算法进行精估计之前,使用粗估计的频偏来修正原始信号,从而减小精估计阶段需要估计的频偏,从而更有利于发挥2N点DFT算法的优势。因此,从理论上讲,无论需要估计的频偏大还是偏小,本发明方法估计频率的方差都接近于CRLB,估计的精度远远高于其他几种算法,非常适合于估计精度要求较高的应用场合。
附图说明
图1是本发明方法流程图。
图2是无噪声情形下,采样点N=8与N=32估计偏差的比较示意图。
图3是有噪声情形下,当信号频率f=38.75Hz即δ=0.1时,本发明方法的均方根误差与其它频率估计方法的对比图。
图4是有噪声情形下,当信号频率f=45Hz即δ=0.4时,本发明方法的均方根误差与其它频率估计方法的对比图。
图5是有噪声情形下,当信号频率f=56.25Hz即δ=0.5时,本发明方法的均方根误差与其它频率估计方法的对比图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
根据图1所示,本发明方法的具体步骤包括:
(a)对信号进行必要的预处理,以便用于频率估计:
将信号x(t)经过采样频率为fs、采样点为N的采样后,得到离散化的原始信号x[n]:
其中:A、f和φ分别表示复正弦信号的振幅、频率和初相,w[n]是均值为零、方差为σ2的复高斯白噪声;
(b)用Candan算法对信号x[n]进行频率粗估计:
对信号x[n]进行N点FFT变换,得到谱线最大位置km及相邻两点km-1、km+1处的DFT变换值X[km-1]、X[km]和X[km+1],利用下式计算初始频率偏差
(c)修正原始信号:
利用步骤(b)频率粗估计得到的修正信号x[n],修正后信号为x1[n]:
其中:Δf1=fs/N,w1[n]为高斯白噪声w[n]经频移后的表达式;
(d)用2N点DFT算法对信号x1[n]进行频率精估计:
对信号x1[n]进行2N点FFT变换,得到谱线最大位置相邻两点km-1、km+1处的DFT变换值X[km-1]和X[km+1],利用下式计算剩余频率偏差
(e)频率估计计算:
将和带入下式即可得到频率估计值
其中km为步骤4中谱线最大位置。
根据图2所示,当曲线达到顶点时对应|δ|=0.5,当曲线达到最小值时对应δ=0。相对频率偏差δ分别取0.1,0.4,0.5三个值时,对应的信号频率f可分别取f=38.75Hz,f=45Hz,f=56.25Hz,其中δ为2N点DFT算法中频率粗估计值与真实频率之间的偏差。
图3至图5是本发明方法与其他方法的性能对比图,图中标注“改进算法”即为本发明方法,图中横坐标为信噪比,纵坐标为均方根误差(RMSE)。对于任意频率的信号,本发明方法频率估计的RMSE均接近于CRLB,估计的精度远远高于其他几种算法。