基于幅值-相角判据的修正Rife正弦波频率估计算法

2018-07-09 11:47孙宏军王小威
关键词:相角正弦信噪比

孙宏军 ,王小威

(1. 天津大学电气自动化与信息工程学院,天津 300072;2. 天津市过程检测与控制重点实验室,天津 300072)

正弦信号频率估计是机械工程、传感器、通信及雷达等领域中经常遇到的一个问题[1].正弦信号频率估计的关键是估计精度、频率范围和估计算法的速度.Rife等[2]提出基于最大似然(ML)算法估计正弦信号频率,估计误差临近 CRLB.虽然 ML算法估计性能较好,但由于其算法复杂、速度慢,不利于实时处理,实际中一般很少直接采用 ML估计.相比而言,利用离散傅里叶变换(DFT)进行正弦信号估计是一种更为有效的方法,得到了广泛的应用.DFT相当于一组窄带滤波器,即使在低信噪比时,只要DFT长度足够大,仍对白噪声有较强抑制作用.基于 DFT的谱分析方法可以利用 FFT变换实现快速运算,算法计算量小、速度快,特别适合实时信号处理.但由于受非同步采样和频率分辨率的制约[3],基于 DFT变换的FFT算法存在频谱泄露和栅栏效应等不足[4],信噪比较低时易受干扰.为了对强干扰正弦信号进行实时、精确的频率估计,国内外不少学者提出了基于异频相位处理[5]、全相位时移相位差频率估计[6]及基于 FFT的插值算法[7],如抛物线内插法、双线性对称频率内插法、Rife算法等[8].其中 Rife算法简单、计算量小,获得更多的关注.

1970年,Rife等[9]首先提出了利用正弦信号DFT主瓣内两条谱线(分别为最大值谱线和次大值谱线)的幅度变化来提高正弦信号的频率和幅度估计精度的方法,即 Rife算法,取得了较高估计精度.Jain等[10]进一步研究了这种算法并加以改进,提出了插值DFT正弦信号参数估计方法,利用DFT变换主瓣内两条谱线的幅度比值估计信号的频率与幅度最大值对应频率的相对偏差,既保留了基于 DFT的正弦信号参数估计快速的特点,又提高了正弦信号的估计精度.

Rife算法在低信噪比且实际频率位于量化频率点附近时,容易出现插值方向判断错误而产生较大误差.为此,Quinn[11]提出利用 DFT变换主瓣内次大值与最大值之比的实部代替幅值之比的频率估计方法,从而消除插值方向错误造成的频率估计误差.刁瑞朋等[12]提出适用于多频信号的高精度频域迭代插值(IIN)算法,先利用常规算法估算频率参数,然后利用估算值进行补偿,再利用补偿后得到的频率参数值进行计算,通过不断迭代,提高估算精度和稳定性,但该算法计算量较大.邓振淼等[13]提出了改进的 MRife算法,采用移频技术进行频率估计,频移量为固定值 1/3,该算法性能不随被估计信号频率分布而产生波动,在低信噪比下不存在发散问题,但有时需进行二次移频[14].王宏伟等[15]提出了 I-Rife算法,利用了频移技术和频谱细化技术,提高了频率修正方向的准确度,但需要进行4个点的DFT运算且仍需移频,运算过程较复杂.孙宏军等[16]提出了基于相角判据的 Rife算法(简称 P-Rife算法),降低了方向判断错误比例,整体性能优于 Rife算法.本文在文献[16]的基础上提出基于幅值-相角判据的修正 Rife算法(简称 A-P-Rife算法):通过设定频移门限值,利用 FFT变换后的幅值和相角计算出频移因子;对频移因子满足门限值的信号采用 Rife算法进行估计,不满足门限值的信号则采用相角判据进行估计,在整个频段上得到了稳定且精度较高的估计性能.

1 Rife算法分析

采用未考虑高斯白噪声背景的单一频率复正弦信号[17]作为正弦信号简化模型,则单频率复正弦信号可以表示为

式中 A、fc、θc分别为正弦信号的幅度、频率和初相角.对上述信号在[0,T]区间内按等间隔 t=T/N进行采样,T为采样时间,得到长度为 N的序列 s(n),则采样得到的信号序列可表示为

序列s(n)的DFT为

S(k)幅值最大处的离散频率索引值记作m,m=int[fcT],int[x]表示取最接近x的整数.DFT 的最大谱线粗测频率为,量化频率为,fs为采样频率.对于较大的 N,在幅度最大处,S(k)幅度可表示为

其中为信号频率与其DFT幅度最大处对应频率的相对偏差,δ 的变化范围为-0.5~0.5.在紧邻m的左右两侧的两条谱线中幅度较大处对应的离散频率索引值记作S(m2)的幅度可近似表示为

Am2和Am的比值记作α,当N较大时有

根据式(6)可得|δ|的估计值[18]为

根据δ 值可对由离散频谱得到的 fc的估计值进行插值,从而得到更精确的频率估计值

式(8)中符号根据m2的位置确定,若m2=m+1则取加号,反之取减号.

可得Rife算法的正弦波频率计算公式[19]为

在适度的信噪比条件下,当fc位于两相邻频谱的中点时与较强且幅值很接近,Rife方法频率估计性能较好.反之,当信噪比较低且十分接近mfs/N时的值较小,噪声影响大,误判概率大.当信噪比较低趋近零时,出现误判概率较大,降低了Rife算法的精度.

2 改进Rife算法

2.1 P-Rife算法

Rife算法计算量小,当被估计频率位于两相邻量化频谱中心区域时,能保证较高的频率估计精度.但当信噪比较低、趋近零时,产生较大频率估计误差[20].P-Rife算法研究接近于零时频谱相角的特性,从相角的角度研究正弦频率估计.

由式(3)可知

文献[16]给出的相角判据为

即检测 k0及其左右的相角,根据式(12)确定频移因子,并将其代入式(8)中求解频率值.

2.2 M-Rife算法

信号频率位于量化频率点附近即趋近零时,Rife算法估计精度降低.修正的Rife(M-Rife)算法通过对信号进行移频,使新信号位于两相邻量化频率点的中心区域.M-Rife算法基本思想:定义(m+1/3,m+2/3)为离散频率点 m与 m+1之间的中心区域;先用 Rife算法进行频率估计得到,再判断是否位于两相邻量化频率点的中心区域;若是,则将作为最后的频率估计值;否则需对原信号进行移频,使新信号的频率位于两个相邻离散频率点的中心区域,再利用Rife算法进行频率估计.

如果满足式(13)时则认为位于DFT量化频率中心区域,并作为最终估计值;否则需要进行修正.为使被估计信号频率尽量接近量化频率中点,将信号 s(n)向左或向右频移δk量化频率单位,δk的计算式为

当时,r=1,此时谱线右移;反之,谱线左移.频率计算式为

式中频移δk是一个不确定值,与初始估计值相关.在实际操作中,取一个固定值δk=1/3进行移频,计算信号频率.

2.3 I-Rife算法

由于Am-0.5和的幅度比Am±1的幅度大,噪声免疫力强,选取代替Am±1作为修正方向r=±1的判据更合理.利用频移技术将信号 s(n)的频谱进行向左或向右移动δk量化单位,使被估计频率尽量接近两相邻谱线中点,再进行估计.频移因子δk与修正因子Δk满足关系Δk+δk=1/2,则频移因子为

I-Rife算法的频率计算公式为

式 中 :r=±1,当时,r=1;当时,r=-1.

3 A-P-Rife算法

3.1 算法思想

从前面分析可知,在Rife算法中,当实际信号频率 fc位于两相邻频谱中点,即 fc=fs(m+r/2)/N附近时,性能较好;当信号频率位于量化频率点附近时,Rife算法估计性能较差,而相角判据估计精度较高.本文结合两种算法性能特点,提出基于幅值-相角判据的修正Rife算法,即A-P-Rife算法.

A-P-Rife算法的基本思想为:首先设定一个频移门限值此门限值的确定如下:根据Rife算法在被估计频率位于两相邻量化频率点的中心区域时估计性能较好,位于两相邻量化频率点时且在低信噪比时估计性能较差,故所取门限值需接近两相邻频谱中间区域,并结合计算机仿真实验结果,在此门限值下,该算法估计性能稳定且精度较高.利用频移门限值对不同频段采用不同的频率估计算法,对满足门限值的频段采用 Rife算法进行估计,不满足门限值的频谱使用相角判据,在不同频段发挥不同算法的性能优势,以提高正弦频率估计的整体性能,且计算简便,估计精度较高.

3.2 算法实现

当N足够大时,由式(10)和式(11)可知

则 S(k)的相角由 A(k)和φ(k)确定.若δ 取值范围为0~0.5,则在 k0处有

假定落入第一象限,则落入第三象限也落入第三象限,则有

由式(21)可知,S( k0)和S( k0-1)的相角均落入第一象限,而的相角落入第三象限,并且有

由式(22)可知S( k0)和S( k0-1)的相角相差不大,而S( k0+1)的相角有很大的跳变.当φ(k0)落入其他象限时,也可得到类似结论.基于上述分析可以得到相角判据的频移因子δ为

因此可知相角判据算法如下:检测 k0及其左右的相角,并且向有跳变的方向进行修正,即当时修正方向r=-1;当时修正方向r=1;当时修正方向r=0.式(23)中绝对值符号只表示相角之间的夹角大小.相角判据算法计算量较小,修正方向误判率较低,即使在低信噪比时,也能获得较高精度.

3.3 算法流程

A-P-Rife算法流程如图1所示.

图1 A-P-Rife算法流程Fig.1 Flow chart of A-P-Rife algorithm

算法步骤如下:

步骤 1对采样序列{s(n)}进行 FFT分析,搜索频谱最大值位置m及左右相邻位置m-1、m+1,并记录各自的频谱幅值Am、Am-1和Am+1;

步骤 2根据Rife算法中式(7)计算出 ˆ|δ|;

步骤 3设定频移门限值并做判断,若 ˆ 0.4 ≤|δ|≤0.5时,继续步骤4,否则转向步骤5;

步骤 4根据算出的 ˆ|δ|确定修正方向,并将其作为频移因子,利用式(8)计算信号频率;

步骤 5根据 FFT分析的结果,由式(22)计算出频谱最大值位置及左右相邻位置处的相角值,运用相角判据算法,根据式(23)计算出频移因子 ˆ|δ|及其修正方向r的值;

步骤 6利用式(8)计算信号频率.

4 计算量分析与性能分析

4.1 算法复杂性分析

基于幅值-相角判据的修正Rife算法需要做一次N点FFT变换,还需要进行3次反正切计算.做一次N点 FFT需要进行(N/2)lbN次复数乘法和NlbN次复数加法.以常用的 8位单片机为例,进行一次反正切计算需要约 12次加(减)法、5次乘法和 2次除法.考虑到当采样点 N较大时,计算量略大于 Rife算法,近似于P-Rife算法,但远小于M-Rife和I-Rife算法,可满足实时性要求,如表1所示.

表1 算法计算量比较Tab.1 Comparison of computational complexity

4.2 性能分析和算法比较

许多工程现场环境中的热噪声和散粒噪声可近似用高斯白噪声进行数学建模.设高斯白噪声序列为 r(n),服从于(0,σ,2)的高斯分布.信噪比定义为.仿真中采样频率 fs=1,024,Hz,采样点数N=1,024,因此量化频率f=fs/N=1,Hz.

对于复正弦波信号,在初相角、幅度和频率 3个参数均未知的情况下,频率估计标准差CRLВ定义为

基于以上分析,对正弦波加高斯白噪声信号序列进行 5,000次蒙特卡洛仿真实验,以验证基于幅值和相角判据的改进 Rife算法的性能.设f0为一量化频率,现取 f0=20,fs,/N=20,Hz,从 f0到 f0+f,/2取 11个离散频率点 fi=f0+i.Δf,/20(i=0,1,2,…,10),对频率fi的正弦波按 Rife、P-Rife、М-Rife、I-Rife 及本文的A-P-Rife算法进行 5,000次 Мonte-Carlo模拟实验.图 2给出了 5种算法在不同信噪比下的频率估计标准差和 CRLВ的比较.图 3给出了 5种算法在不同信噪比下的频率修正方向误判率.

从图2可以看出,其他4种算法的估计精度均优于 Rife算法.P-Rife算法估计精度优于 М-Rife算法,低于A-P-Rife算法和I-Rife算法,而A-P-Rife算法在估计精度上接近 I-Rife算法,逼近 CRLВ.由图3可知,在低信噪比时,Rife算法、М-Rife算法频率修正方向误判率逐渐增大且大于其他3种算法.

A-P-Rife算法修正方向误判率较小,且低于 PRife算法,修正方向准确度近似于I-Rife算法.

图2 5种算法频率估计标准差与CRLB比较Fig.2 Comparison of five algorithms for standard deviation of frequency estimation with CRLB

图3 5种算法频率修正方向误判率Fig.3 Frequency correction direction error rates of five algorithms

表2 仿真结果1(SNR=4,dB,CRLB=0.007,7)Tab.2 Simulation results 1(SNR=4,dB,CRLB=0.007,7)

表2~表4列出了5种算法的11个离散频率点频率估计的平均绝对误差(МAE)、均方根误差(RМSE),由表中数据可看出,A-P-Rife算法在整个频段上保持较高的估计精度与稳定性.在较高的信噪比下,其他4种算法估计性能均优于Rife算法,且A-P-Rife算法估计性能优于Rife算法、P-Rife算法、М-Rife算法,接近 I-Rife算法,逼近 CRLВ;在低信噪比下,Rife算法、М-Rife算法稳定性较低,A-PRife算法估计性能稳定,并高于P-Rife算法,略低于I-Rife算法.

表3 仿真结果2(SNR=0,dB,CRLB=0.012,2)Tab.3 Simulation results 2(SNR=0,dB,CRLB=0.012,2)

表4 仿真结果3(SNR=-4,dB,CRLB=0.019,3)Tab.4 Simulation results 3(SNR=-4,dB,CRLB=0.019,3)

5 结 论

(1) 通过计算机模拟仿真,对5种算法进行频率估计,并将频率估计标准差与CRLВ进行比较.估计性能从高到低依次为 I-Rife、A-P-Rife、P-Rife、МRife、Rife算法,算法复杂程度由高到低依次为 IRife、М-Rife、P-Rife、A-P-Rife、Rife 算法,其中本文提出的A-P-Rife算法整体性能最佳.

(2) A-P-Rife算法降低了修正方向误判率、减小了平均误差、估计性能可以很好接近于CRLВ.

(3) 本文提出的 A-P-Rife算法计算量小,易于硬件实现,可对正弦信号实时处理,具有实际指导意义和应用价值.

参考文献:

[1]Kay S. A fast and accurate single frequency estimator[J]. IEEE Transactions on Acoustics,Speech,and Signal Processing,1989,37(12):1987-1990.

[2]Rife D C,Boorstyn R R. Single tone parameter estimation from discrete-time observation[J]. IEEE Trans on Information Theroy,1974,20(5):591-598.

[3]刁瑞朋,孟庆丰,范 虹. 基于 Rife-Vincent窗衰减信号插值离散傅里叶变换[J]. 机械工程学报,2015,51(4):1-7.Diao Ruipeng,Meng Qingfeng,Fan Hong. Interpolation algorithms based on Rife-Vincent window for discrete Fourier transforms of damped signals[J]. Journal of Mechanical Engineering,2015,51(4):1-7(in Chinese).

[4]Abatzoglou T J. A fast maximum likelihood algorithm for the frequency estimation of sinusoid based on Newtons method[J]. IEEE Trans on Acoust Speech Signal Process,1985,33(1):77-89.

[5]杜保强,周 渭. 基于异频相位处理的高精度频率测量系统[J]. 天津大学学报,2010,43(3):262-266.Du Baoqiang,Zhou Wei. High precision frequency meas ure ment system based on different frequency phase processing[J]. Journal of Tianjin University,2010,43(3):262-266(in Chinese).

[6]黄翔东,白瑞朋,靳旭康. 基于频移补偿的全相位时移相位差频率估计[J]. 天津大学学报:自然科学与工程技术版,2017,50(6):649-655.Huang Xiangdong,Bai Ruipeng,Jin Xukang. Frequency estimation of all phase time shifted phase difference based on frequency shift compensation[J]. Journal of Tianjin University:Science and Technology,2017,50(6):649-655(in Chinese).

[7]许 珉,刘凌波. 基于三次样条函数的加 Blackmanharris窗插值 FFT算法[J]. 电力自动化设备,2009,29(2):59-63.Xu Min,Liu Lingbo. Add blackman-harris window interpolation FFT algorithm based on cubic spline function[J]. Electric Power Automation Equipment,2009,29(2):59-63(in Chinese).

[8]王旭东,刘 渝,邓振淼. 基于修正Rife算法的正弦波频率估计及FPGA实现[J]. 系统工程与电子技术,2008,30(4):621-624.Wang Xudong,Liu Yu,Deng Zhenmiao. The estimation of sine wave frequency based on the corrected Rife algorithm and FPGA implementation[J]. Journal of Systems Engineering and Electronics,2008,30(4):621-624(in Chinese).

[9]Rife D C,Vincent G A. Use of the discrete Fourier transform in the measurement of frequencies and levels of tones[J]. Bell System Technical Journal,1970,49(2):197-228.

[10]Jain V K,Collins W L Jr,Davis D C. High-accuracy analog measurements via interpolated FFT[J]. IEEE Trans on Instrumentation and Measurement,1979,28(2):113-122.

[11]Quinn B G. Estimation of frequency,amplitude and phase from the DFT of a time series[J]. IEEE Trans on Signal Processing,1997,45(3):814-817.

[12]刁瑞朋,孟庆丰. 基于长程泄漏补偿的迭代插值 FFT方法及应用[J]. 振动与冲击,2013,32(22):1-6.Diao Ruipeng,Meng Qingfeng. Iterative interpolation FFT method and application based on long range leakage compensation[J]. Journal of Vibration and Shock,2013,32(22):1-6(in Chinese).

[13]邓振淼,刘 渝,王志忠. 正弦波频率估计的修正Rife算法[J]. 数据采集与处理,2006,21(4):473 477.Deng Zhenmiao,Liu Yu,Wang Zhizhong. Modified Rife algorithm for frequency estimation of sinusoid wave[J]. Journal of Data Acquisition and Processing,2006,21(4):473-477(in Chinese).

[14]谢 胜,陈 航,于 平. 基于 FFT并二次修正的Rife频率估计算法[J]. 探测与控制学报,2010,32(4):48-53.Xie Sheng,Chen Hang,Yu Ping. Rife frequency estimation algorithm based on FFT and twice modifying[J].Journal of Detection and Control,2010,32(4):48-53(in Chinese).

[15]王宏伟,赵国庆. 正弦波频率估计的改进 Rife算法[J]. 信号处理,2010,26(10):1573-1576.Wang Hongwei,Zhao Guoqing. Improved rife algorithm for frequency estimation of sinusoid wave[J]. Signal Processing,2010,26(10):1573-1576(in Chinese).

[16]孙宏军,徐冠群. 基于相角判据的 Rife算法的涡街信号处理方法[J]. 仪器仪表学报,2013,34(12):2860-2866.Sun Hongjun,Xu Guanqun. Modified Rife frequency estimation algorithm based on phase criterion for vortex signal processing[J]. Chinese Journal of Scientific Instrument,2013,34(12):2860-2866(in Chinese).

[17]齐国清,贾欣乐. 插值 FFT估计正弦信号频率的精度分析[J]. 电子学报,2004,4(4):625-629.Qi Guoqing,Jia Xinle. Accuracy analysis of frequency estimation of sinusoid based on interpolated FFT[J].Acta Electronica Sinica,2004,4(4):625-629(in Chinese).

[18]胥嘉佳,刘 渝,邓振淼,等. 正弦波信号频率估计快速高精度递推算法的研究[J]. 电子与信息学报,2009,31(4):865-869.Xu Jiajia,Liu Yu,Deng Zhenmiao,et al. The study of frequency estimation algorithm of the sin signal with fast speed and high accuracy[J]. Journal of Electronics and Information Technology,2009,31(4):865-869(in Chinese).

[19]周喜庆,赵国庆,王 伟. 实时准确正弦波频率估计综合算法[J]. 西安电子科技大学学报:自然科学版,2004,31(5):657-660.Zhou Xiqing,Zhao Guoqing,Wang Wei. Real-time and accurate frequency estimation algorithm of the sine wave signal[J]. Journal of Xidian University:Natural Science,2004,31(5):657-660(in Chinese).

[20]Xiao Y C,Wei P,Xiao X C,et al. Fast and accurate single frequency estimator[J]. Electronics Letters,2004,40(14):910-911.

猜你喜欢
相角正弦信噪比
正弦、余弦定理的应用
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
基于深度学习的无人机数据链信噪比估计算法
初相角,怎样求
“美”在二倍角正弦公式中的应用
配电网30°相角差线路不停电转供方案探究
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
利用正弦定理解决拓展问题
Prevention of aspiration of gastric contents during attempt in tracheal intubation in the semi-lateral and lateral positions
4个频率下不同生长等级国槐的电生理分析