謝 勝
?
基于Rife算法和相位差法的頻率估計(jì)算法
謝 勝
(中國(guó)人民解放軍91388部隊(duì),廣東 湛江, 524022)
針對(duì)Rife算法在低信噪比條件下被估計(jì)頻率接近FFT量化頻率時(shí)估計(jì)誤差較大, 而改變窗長(zhǎng)相位差法具有較高的估計(jì)精度的特點(diǎn), 文中利用頻譜細(xì)化技術(shù)對(duì)Rife算法進(jìn)行了改進(jìn), 提出了基于改進(jìn)Rife算法和改變窗長(zhǎng)相位差法正弦波頻率估計(jì)綜合算法, 給出了理論計(jì)算過(guò)程及相關(guān)推導(dǎo)公式。仿真結(jié)果表明, 即使信噪比為-15dB, 改進(jìn)算法仍然具有較高的估計(jì)精度而且在整個(gè)頻段上性能穩(wěn)定, 均方根誤差接近克拉美-羅限, 且改進(jìn)算法計(jì)算量小, 易于硬件實(shí)現(xiàn)。
頻率估計(jì); Rife算法; 改變窗長(zhǎng)相位差法; 克拉美-羅限
國(guó)內(nèi)外學(xué)者從估計(jì)精度和運(yùn)算量等角度提出了許多不同頻率估計(jì)算法。子空間算法[1-2]分辨率高, 但運(yùn)算量較大。實(shí)時(shí)性好的Fit等算法[3-5]要求信噪比高?;陔x散傅里葉變換(discrete Fourier transform, DFT)的譜分析法運(yùn)算量小, 但小樣本下估計(jì)精度差。Rife算法[6-7]部分克服了DFT估計(jì)誤差大的問(wèn)題, 且Rife改進(jìn)算法[8-9]在較高信噪比時(shí)估計(jì)誤差接近克拉美-羅限(Cramer-Rao lower bound, CRLB)。以上這些算法都不能較好地滿足低信噪比單頻信號(hào)快速精確頻率估計(jì)。
基于此, 文中提出了一種基于Rife算法和改變窗長(zhǎng)相位差法的頻率估計(jì)算法, 較好地滿足了低信噪比信號(hào)快速精確頻率估計(jì), 可廣泛應(yīng)用于聲吶、振動(dòng)測(cè)試和通信工程領(lǐng)域中。理論分析和仿真表明, 該算法計(jì)算量小, 信噪比門限低而且在整個(gè)頻段上性能接近CRLB, 在低信噪比條件下也能完成實(shí)時(shí)精確頻率估計(jì)。
加性高斯白噪聲污染的正弦信號(hào)可表示為
式中: Δ為采樣間隔;為樣本數(shù);,f,0分別為振幅、頻率和初相;()是方差為22的零均值復(fù)高斯白噪聲。
Rife算法[6]公式
令Rife算法頻率修正項(xiàng)為
式中: ||≤0.5;Δ;0為快速傅里葉變換(fast Fourier transform, FFT)最大譜線位置; |(0)|為()的FFT最大譜線幅值; |(0)|為FFT次大譜線幅值。當(dāng)|(01)|≤|((0-1)|,=–1; 而當(dāng)|(01)|≥|((01)|時(shí),=1; 當(dāng)接近0.5時(shí), Rife算法頻率估計(jì)誤差接近CRLB; 而當(dāng)||較小時(shí), Rife算法易受噪聲影響, 估計(jì)誤差比DFT算法要大[10]。
文獻(xiàn)[11]針對(duì)頻率分辨率和信噪比較低條件下FFT最大值處的譜線找不準(zhǔn)造成較大估計(jì)誤差的問(wèn)題, 提出了改進(jìn)的改變窗長(zhǎng)相位差法。其思想是: 首先對(duì)長(zhǎng)度為的序列1[]做FFT, 得到實(shí)際峰值譜線號(hào)1max及其相位1, 然后利用1max計(jì)算其對(duì)應(yīng)第2段序列2[](2[]長(zhǎng)度為(0<<1)的峰值譜線號(hào):2max=·1max, 再對(duì)2[]做單點(diǎn)的DFT, 得
相位差為
為歸一化頻率估計(jì)值
上式中, 令
改變窗長(zhǎng)相位差法估計(jì)誤差[11]與頻率修正項(xiàng)||有關(guān), 當(dāng)||接近0.5時(shí), 估計(jì)誤差大; 而當(dāng)||<0.2時(shí), 估計(jì)誤差小。該算法只需做一次FFT和一次單點(diǎn)DFT, 運(yùn)算量小。
分析Rife算法和改變窗長(zhǎng)相位差法可看出: 當(dāng)||接近零時(shí), 改變窗長(zhǎng)相位差法估計(jì)精度高, 而Rife算法頻率估計(jì)誤差較大; 當(dāng)||接近0.5時(shí), Rife算法頻率估計(jì)精度高, 接近CRLB, 而改變窗長(zhǎng)相位差法頻率估計(jì)誤差大。這2種算法各有利弊可互相彌補(bǔ), 充分利用這2種算法優(yōu)點(diǎn), 在不同頻段采用不同估計(jì)算法可使整體估計(jì)性能得到提高。
從文獻(xiàn)[10]中可看出, Rife算法對(duì)噪聲比較敏感, 當(dāng)信噪比較低時(shí)噪聲干擾使插值方向發(fā)生錯(cuò)誤導(dǎo)致較大估計(jì)誤差, 文中采用頻譜細(xì)化技術(shù)可較好克服這個(gè)問(wèn)題。
正弦信號(hào)()離散時(shí)間傅里葉變換(discrete- time Fourier transform, DTFT)和DFT為
式中,為連續(xù)角頻率。如果取[0,-1]區(qū)間任意連續(xù)實(shí)數(shù)值, 可得到任意連續(xù)頻率的頻譜值, 正弦信號(hào)頻率對(duì)應(yīng)于連續(xù)頻譜的最大值。
由DFT頻譜可知,X0±1幅度值比X0±0.5幅度值小, 因此噪聲對(duì)X0±1的影響比對(duì)X0±0.5要大,用X0±0.5來(lái)確定Rife算法插值方向有利于降低Rife算法估計(jì)誤差。改進(jìn)Rife算法如下
當(dāng)信號(hào)頻率位于量化頻率中心區(qū)域[8]時(shí), 改變窗長(zhǎng)相位差法和Rife算法的頻率估計(jì)誤差相當(dāng)。文中通過(guò)綜合利用FFT幅度和相位信息即對(duì)兩者頻率修正項(xiàng)進(jìn)行加權(quán)處理后, 可進(jìn)一步降低估計(jì)誤差。
其算法過(guò)程如下:
步驟3: 采用頻譜細(xì)化式(8)求取X0±0.5;
在MATLAB中對(duì)文中算法性能進(jìn)行研究。取=0.2,=0.5,=0.5,==0.5。時(shí)移對(duì)稱窗采用矩形窗。
仿真參數(shù)如下: 取=1 024,f=800 kHz, 則Δ=f/=781.25 Hz, 載波頻率0=f/4=200 kHz, 令f=f0Δ,在區(qū)間[–0.5, 0.5]均勻分成60頻率點(diǎn), 對(duì)每個(gè)頻率點(diǎn)作1 000次Monte-Carlo仿真。定義信噪比為=22。對(duì)復(fù)正弦波信號(hào), 在相位、幅度和頻率3個(gè)參數(shù)均未知的情況下, 估計(jì)方差克拉美羅限為=12·2[2Δ221)]。
信噪比分別為-15 dB和-10 dB條件下改進(jìn)算法與Rife算法和改變窗長(zhǎng)相位差法的估計(jì)均方根誤差如圖1所示(為圖示簡(jiǎn)潔, 橫坐標(biāo)采用頻率比值f/Δ=/4+來(lái)表示)。
從圖1可看出, 當(dāng)||≤0.2時(shí), Rife算法估計(jì)誤差接近CRLB 4倍, 而改變窗長(zhǎng)相位差法估計(jì)誤差小且穩(wěn)定, 表現(xiàn)較強(qiáng)抗噪聲性能。而當(dāng)||≥0.2時(shí), 改變窗長(zhǎng)相位差法估計(jì)誤差逐漸增大, 而Rife算法誤差則逐漸減小, 仿真結(jié)果與理論分析結(jié)果一致。由于3種算法估計(jì)誤差在敏感頻段即量化頻率中心區(qū)域內(nèi)交疊在一起, 為便于清楚了解此頻段內(nèi)3種算法的估計(jì)誤差, 對(duì)圖1(a)敏感頻段左半部分(也可取右半部分)進(jìn)行了局部放大, 得到了圖2。從圖2可看到, 在量化頻率中心區(qū)域利用Rife算法與改變窗長(zhǎng)相位差法的頻率修正項(xiàng)進(jìn)行加權(quán)處理, 綜合利用FFT幅度和相位信息來(lái)修正插值項(xiàng), 進(jìn)一步提高了估計(jì)精度。
從圖1和圖2可看出, 文中的改進(jìn)算法在整個(gè)頻段內(nèi)具有較高估計(jì)精度和穩(wěn)定性, 而且估計(jì)誤差接近CRLB, 總體性能明顯優(yōu)于改變窗長(zhǎng)相位差法和Rife算法。
圖3給出了敏感頻段即量化頻率中心區(qū)域信號(hào)頻率為1=0+0.3·Δ時(shí), 3種算法在不同信噪比條件下的均方根誤差。從圖3可看出, 改進(jìn)算法估計(jì)誤差在較寬信噪比范圍內(nèi)均接近CRLB。這表明文中算法能有效克服頻率估計(jì)誤差隨信噪比變化而波動(dòng)大的問(wèn)題, 表明該算法抗噪聲性能好。
Rife算法需做一次點(diǎn)FFT運(yùn)算并求出最大和次大FFT譜線, 共需要/2×log2+/2復(fù)數(shù)乘法和×log2復(fù)數(shù)加法。改變窗長(zhǎng)相位差法需做一次點(diǎn)FFT和一次單點(diǎn)DFT。做一次點(diǎn)FFT需要2×log2復(fù)數(shù)乘法和×log2復(fù)數(shù)加法, 作一次單點(diǎn)DFT需次復(fù)數(shù)乘法和-1復(fù)數(shù)加法。改變窗長(zhǎng)相位差法共需2×log2+復(fù)數(shù)乘法和×log2+-1復(fù)數(shù)加法。
改進(jìn)算法在作一次點(diǎn)FFT運(yùn)算基礎(chǔ)上, 還需計(jì)算頻率修正項(xiàng)和共需/2×log2+3/2復(fù)數(shù)乘法和×log2+-1復(fù)數(shù)加法。若||≥時(shí), 必須結(jié)合頻譜細(xì)化公式作3點(diǎn)DFT, 這需要進(jìn)行3次復(fù)數(shù)乘法和3(-1)次復(fù)數(shù)加法, 此時(shí)改進(jìn)算法共需/2×log2+9/2復(fù)數(shù)乘法和×log2+ 4(-1)復(fù)數(shù)加法。由于真實(shí)頻率落在量化頻率區(qū)間內(nèi)概率是均勻分布的, 當(dāng)=0.2,=0.5時(shí), 從統(tǒng)計(jì)角度看, 這種概率只占60%。文中改進(jìn)算法運(yùn)算量比文獻(xiàn)[12]所提方法小。
文中在Rife算法和改變窗長(zhǎng)相位差法基礎(chǔ)上提出了一種正弦頻率估計(jì)的改進(jìn)算法。理論分析和仿真結(jié)果均表明, 文中算法具有較好抗噪聲性能, 估計(jì)精度高且計(jì)算量小, 能在較低信噪比條件下完成實(shí)時(shí)精確頻率估計(jì), 具有工程應(yīng)用價(jià)值。
[1] Rife D C, Boorstyn R R. Single tone parameter estimation from discrete time observation[J]. IEEE Transinform Theory, 1974, 20(5): 591-598.
[2] So H C, Chan K W. Reformulation of Pisarenko Harmonic Decomposition Method for Single-tone Frequency Estimation[J]. IEEE Trans. on Signal Processing, 2004, 52(4): 1128-1135.
[3] Xiao Y C, Wei P, Xiao X C, et al. Fast and Accurate Single Frequency Estimator [J]. IEEE Electronics Letters, 2004, 40(14): 1-2.
[4] Kay S. A Fast and Accurate Single Frequency Estimator [J]. IEEE Trans. on Acoust, Speech, Signal Process, 1989, 37(12): 1987-1990.
[5] So H C, Chan K W. A Generalized Weighted Linear Predictor Frequency Estimation Approach for a Complex Sinusoid[J]. IEEE Trans on Signal Processing, 2006, 54(4): 1304-1315.
[6] Rife D C, Vincent G A. Use of the Discrete Fourier Transform in the Measurement of Frequencies and Levels of Tone[J]. Bell Sys Tech J, 1970, 49(2): 197-228.
[7] Quinn B G. Estimation of Frequency, Amplitude and Phase from the DFT of a Time Series[J]. IEEE Trans. on SP, 1997, 45(3): 814-817.
[8] 鄧振森, 劉渝, 王志忠. 正弦波頻率估計(jì)的修正Rife算法[J]. 數(shù)據(jù)采集與處理, 2006, 21(4): 473-477.
[9] 胥嘉佳, 劉渝.鄧振淼. 任意點(diǎn)正弦波信號(hào)頻率估計(jì)的快速算法[J]. 南京航空航天大學(xué)學(xué)報(bào), 2008, 40(6): 794-798.
[10] 齊國(guó)清. 幾種基于FFT的頻率估計(jì)方法精度分析[J].振動(dòng)工程學(xué)報(bào), 2006, 19(1): 86-92.
[11] 丁康, 楊志堅(jiān). 改變窗長(zhǎng)相位差校正法的改進(jìn)與抗噪性能分析[J]. 華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2007, 35(10): 210-213.
[12] 王宏偉, 趙國(guó)慶. 正弦波頻率估計(jì)的改進(jìn)Rife算法[J].信號(hào)處理, 2010, 26(10): 1573-1576.
(責(zé)任編輯: 許 妍)
Frequency Estimation Algorithm Based on Rife Algorithm and Phase Difference Correction Method
XIE Sheng
(91388thUnit, The Liberation Army of China, Zhanjiang 524022, China)
In view of the fact that the Rife algorithm has large estimation error when the estimated frequency is close to the fast Fourier transform(FFT) quantization frequency under low signal to noise ratio(SNR), but the window-length changing phase difference correction method is of high estimation accuracy, the spectrum subdivision technique is used to improve the Rife algorithm, and a synthesis algorithm of sinusoidal frequency estimation based on the improved Rife algorithm and the window-length changing phase difference correction method is proposed. The theoretical calculation process and related formulas derivation are given. Simulation results show that even if the SNR is as low as -15 dB, the improved algorithm still gains high estimation accuracy and stable performance in the whole frequency band, and the root mean square error(RMSE) is close to the Cramer-Rao lower bound(CRLB). The improved algorithm needs small calculation amount and is easy for hardware implementation.
frequency estimation;Rife algorithm;window-length changing phase difference correction algorithm;Cramer-Rao lower bound(CRLB)
謝勝. 基于Rife算法和相位差法的頻率估計(jì)算法[J]. 水下無(wú)人系統(tǒng)學(xué)報(bào), 2018, 26(3): 263-266.
TJ6; TN929.3
A
2096-3920(2018)03-0263-04
10.11993/j.issn.2096-3920.2018.03.013
2017-05-09;
2018-03-11.
謝 勝(1976-), 男, 碩士, 工程師, 主要研究方向?yàn)樾盘?hào)處理.