張 威, 李 松, 劉進忙, 聶 瑩
(1.空軍工程大學 防空反導學院,陜西 西安 710051;2.中國人民解放軍 93861部隊,陜西 三原 713800)
基于頻差修正的余弦信號頻率估計算法*
張 威1, 李 松1, 劉進忙1, 聶 瑩2
(1.空軍工程大學 防空反導學院,陜西 西安 710051;2.中國人民解放軍 93861部隊,陜西 三原 713800)
針對余弦振動信號的頻率高精度估計需求,提出了一種基于頻差修正的頻率估計算法。對連續時間信號進行采樣后,使用Candan算法估計出頻差,運用頻差對信號的頻率進行修正。對修正后的信號使用Liang算法再次進行頻偏估計。最后將2次估計得到的頻率值相加求得最終估計頻率。通過頻差修正,避免了Candan算法因插值方向錯誤和Liang算法自身特點導致估計精度降低的問題,雖然增加了計算量,但并不影響信號實時處理。仿真結果表明:在相對頻偏為任意值的情況下,改進算法的頻率估計均方誤差接近克拉美羅下限(CRLB),性能優于現有頻率估計算法。
余弦信號; 頻差修正; 頻率估計; 離散傅立葉變換
在眾多行業中,通常從實際測量的振動信號中提取各種特征[1~3],用以參數檢測、質量評價、狀態監視和故障診斷等。隨著各種數字信號處理方法的不斷出現和發展,振動信號數字處理方法一直是近年來的研究熱點[4,5]。在真實環境下,因振蕩、旋轉、脈動等而產生余弦振動信號[6]的情況非常普遍,本文正是在此類情況下研究高斯噪聲背景下的余弦信號頻率估計算法。文獻[7]中提出的最大似然估計法估計誤差達到克拉美羅下限(Cramer-Rao lower bound,CRLB),是最優估計算法,但是算法復雜,運算量大,無法實時處理。 基于離散傅立葉變換(discrete Fourier transform,DFT)的頻率估計算法[8]具有運算速度快、算法參數不敏感等特點,得到了國內外學者的廣泛關注[9~18]。
基于DFT的余弦信號頻率估計算法主要分2步:1)利用快速傅氏變換(fast Fourier transform,FFT)對信號進行粗估計;2)運用插值方法進行精估計。目前,此類算法的研究主要在步驟(2)。文獻[13]提出的Jacobsen算法,利用FFT頻譜中最大的三根譜線對頻率進行精估計,但估計精度不高。文獻[14]中Candan針對Jacobsen算法系數進行了糾正,估計精度有所提高,但在低信噪比時可能出現插值方向錯誤,不能滿足高精度的特定場合。文獻[16]中Candan對文獻[14]的算法進行了改進,消除了估計偏差,但在低信噪比時頻率估計均方誤差明顯高于CRLB。文獻[17]中Fang L Y對信號補零后進行2N點的DFT,推導了一種有近似運算的雙根譜線頻率估計算法,比前面提到的算法精度高。文獻[18]中Liang X H也對信號補零后進行2N點的離散傅里葉變換DFT,推導了一種新的無近似運算的三根譜線頻率估計算法;同時利用DFT運算的周期性和補零算法的特殊取值,實現了1次N點FFT運算和5次單點DFT運算完成估計,大大降低了運算復雜度,同時提高了算法的估計精度和抗噪性。對信號補零后再進行頻率估計的算法中存在一個問題:在頻率偏差較小時,估計方差接近CRLB;但當頻率偏差較大時,估計方差遠離CRLB。文獻[19]針對Rife方法不能在整個頻偏范圍內保持較高精度的問題,提出了一種頻移修正的改進方案。
本文根據文獻[14]和文獻[18]算法,結合文獻[19]的思想提出了一種基于頻差修正的改進算法:將采樣后的信號通過希爾伯特變換變成復信號,運用Candan算法估計出頻率偏差,再用此偏差對原始信號進行修正。然后使用Liang算法對修正后的信號進行頻偏估計。將兩次估計得到的頻率值相加求得信號最終估計頻率。該算法適當增加了計算復雜度,但估計精度更高,更加接近于CRLB。
在沒有噪聲的情況下,任意單頻余弦信號表示為
x(t)=cos(2πfdt+φd)
(1)
式中fd和φd分別為余弦信號的頻率和初始相位。
經過采樣頻率為fs、采樣點數為N的采樣后,通過希爾伯特變換,在高斯噪聲背景下的復信號表示為
(2)
式中A為復信號的振幅;w(n)為均值為零、方差為σ2的復高斯白噪聲。
一般情況下,N點采樣后的信號真實頻率為f=(km+δ)fs/N,其中,δ<|0.5|,km為正整數。基于DFT的頻率估計現有算法中,在進行頻率粗估計時均使用FFT找到頻譜峰值位置,算法的差異主要體現在偏差估計階段,表1中列出了近幾年來部分算法的偏差求解表達式。
Candan算法[14]計算簡單、精度較高,但在推導過程中只考慮了大信噪比的情況,忽略了噪聲對信號的影響;當信噪比較低時,容易出現插值方向錯誤,導致誤差較大。Liang算法[18]對信號作2N點DFT運算,推導過程無近似運算,達到理論精度;但當偏差δ較大時,算法精度受限。本文算法綜合以上兩種算法的優點,主要思路如下:對信號進行N點采樣,使用Candan算法估計出信號頻差,用該頻差對采樣信號進行頻率修正。對修正后的信號用Liang算法進行頻偏估計。將2次估計得到的頻率值相加求得信號最終估計頻率。操作過程如圖1所示,具體步驟如下:

表1 基于DFT的正弦信號頻率估計算法
對信號x(n)作N點DFT,則譜峰位置km及左、右兩點處的DFT值為
X(km-1)=Aejφdf(δ+1)+W(km-1)
(3)
X(km)=Aejφdf(δ)+W(km)
(4)
X(km+1)=Aejφdf(δ-1)+W(km+1)
(5)
式中W(km)為高斯白噪聲w(n)的DFT,函數f(·)定義為
對f(δ)進行泰勒級數展開,保留δ一次項,忽略其高次項得
(7)
在高信噪比時,可以用信號的DFT值代替Af(·),代入式(7)得
(8)
2)對原始信號x(n)進行頻率修正,得
(9)
式中w1(n)為高斯白噪聲w(n)經頻率修正后的表達式。
3)在頻偏估計階段,使用Liang算法對信號x1(n)補零至2N點,作2N點DFT運算,搜索到譜峰位置k2,估計出頻偏2。忽略w1(n)的影響,其推導過程如下:
假設補零后的信號為
x′(n):{x1(0),x1(1),x1(2),…,x1(N-1),0,…,0}
(10)
對x′(n)進行DFT得

(11)
式中 ξ=fdN/fs。
簡記YΔ=|Ω(k2+Δ)|,Δ=-1,0,+1,則譜峰位置k2及其左、右兩點的DFT值為
(12)
(13)
(14)
由于,|δ|<0.5,N>0,所以,式(12)~式(14)可以去掉模值符號。由式(12)和式(14)進行簡化運算后得

(15)
式(13)代入式(15)可得
(16)
則偏差估計表達式為
(17)
4)最終頻率估計表達式為
(18)

圖1 改進算法框圖
仿真參數設置如下:A=1;φd=0;fs=1 (歸一化);N=256;fd=(N/4+δ)fs/N,|δ|<0.5;所加噪聲為高斯白噪聲,其均值為0;方差為σ2。MonteCarlo仿真次數為20 000次模擬,計算的均方誤差(meansquareerror,MSE)歸一化處理。
CRLB[7]為
CRLB=3f2sσ2/(2π2N(N2-1)A2)
(19)
信噪比定義為
SNR=10lg{A2/(2σ2)}
(20)
在圖2(a)和(b)中,分別畫出了SNR=10dB和SNR=5dB下不同方法估計頻偏的MSE。從圖中可以看出:本文算法在0≤δ≤0.49整個范圍內,性能比較穩定;在0.418≤δ≤0.49時,本文算法的MSE稍高于其他算法,但通過局部放大圖可以看出,性能幾乎未下降。
在圖2(c)中,模擬真實情況下大多數信號的信噪比范圍,分別畫出了不同方法估計頻偏的MSE。從仿真圖可以看出:本文算法在整個信噪比范圍內,優于其他算法,更接近于CRLB;當SNR=-7dB,本文算法的MSE略高于Candan和Liang算法,但通過局部放大可以發現MSE均在10-5量級上。

圖2 不同δ時的MSE對比
文獻[18]針對運算量大的問題,根據補零后的信號本身特點和DFT的周期性,提出了采用1次N點FFT和5次單點DFT來優化算法。所有算法都采用FFT實現,其復雜度對比如表2所示。
在Candan算法和Liang算法的基礎上,綜合2種算法的優缺點,本文提出了一種改進的頻率估計算法:算法使用復雜度低的Candan算法估計出頻差,對原始信號先進行一步修正;針對修正后的信號,使用Liang算法估計出剩余頻偏。相對于其他算法,本文算法犧牲了運算復雜度而提高了估計精度,但是并不影響信號實時處理以及硬件復雜度。仿真結果表明:在任意頻偏下,改進算法的頻率估計MSE更接近于CRLB。針對精度要求低的應用場合,為了減少計算量,采用Liang算法也能取得好的性能。但是對于那些高精度和高穩定度的場合,采用本文算法更加合適。本文算法未考慮加窗情況下的頻率估計精度問題,下一步應該關注此方向。

表2 算法的復雜度對比
[1] 胡 燦,王旭峰,孟祥營,等.塔里木油田鉆機平臺振動測試與振動激勵源分析[J].傳感器與微系統,2014,33(8):56-58.
[2] 孫小超,周 文,李明濤,等.基于PSD的轉軸振動位移測量與分析[J].傳感器與微系統,2014,33(9):135-137.
[3] 王威濤,姜印平.基于霍爾效應的機械微振動量檢測系統研究[J].傳感器與微系統,2013,32(10):34-36.
[4] 丁 康,陳健林,蘇向榮.平穩和非平穩振動信號的若干處理方法及發展[J].振動工程學報,2003,16(1):1-10.
[5] 肖棟林,吳 賓,向 函.基于雙通道異步采樣的振動傳感器測量方法[J].傳感器與微系統,2016,35(1):146-148.
[6] 張步云,陳懷海,賀旭東.多輸入多輸出正弦掃頻試驗控制新方法[J].振動與沖擊,2015,34(8):198-202.
[7] Rife D C,Boorstyn R R.Single-tone parameter estimation from discrete-time observations[J].IEEE Transactions on Information Theory,1974,20(5):591-598.
[8] Rife D C,Vincent G A.Use of the discrete Fourier transform in the measurement of frequencies and levels of tones[J].Bell Sy-sten Technical Journal,1970,49(2):197-228.
[9] Quinn B G.Estimating frequency by interpolation using Fourier coefficients[J].IEEE Transactions on Signal Process,1994,42(5):1264-1268.
[10] Quinn B G.Estimation of frequency,amplitude, and phase from the DFT of a time series[J].IEEE Transactions on Signal Process,1997,45(3):814-817.
[11] Macleod M D.Fast nearly ML estimation of the parameters of real or complex single tones or resolved multiple tones[J].IEEE Transactions on Signal Processing,1998,46(1):141-148.
[12] 張英龍,劉 渝,王旭東.基于頻偏校正的正弦波頻率估計算法[J].南京航空航天大學學報,2007,39(5):597-600.
[13] Jacobsen E,Kootsookos P.Fast,accurate frequency estimator-s[J].IEEE Signal Processing Magazine,2007,24(3):123-125.
[14] Candan C.A method for fine resolution frequency estimation from three DFT samples[J].IEEE Signal Processing Letters,2011,18(6):351-354.
[15] Yang C,Wei G.A noniterative frequency estimator with rational combination of three spectrum lines[J].IEEE Transactions on Signal Processing,2011,59(10):5065-5070.
[16] Candan C.Analysis and further improvement of fine resolution frequency estimation method from three DFT samples[J].IEEE Signal Processing Letters,2013,20(9):913-916.
[17] Fang L Y,Duan D L,Yang L Q.A new DFT-based frequency estimator for single-tone complex sinusoidal signals[C]∥Procee-dings of the 2012 IEEE Military Communications Conference,MILCOM 2012:Piscataway:IEEE,2012:1-6.
[18] Liang X H,Liu A J,Pan X F,et al.A new and accurate estimator with analytical expression for frequency estimation[J].IEEE Communications Letters,2016,20 (1):105-108.
[19] 鄧振淼,劉 渝,王志忠.正弦波頻率估計的修正Rife算法[J].數據采集與處理,2006,21(4):473-477.
Frequency estimation algorithm for cosine signal using frequency-offset correction*
ZHANG Wei1, LI Song1, LIU Jin-mang1, NIE Ying2
(1.Air and Missile Defense College,Air Force Engineering University,Xi’an 710051,China; 2.Unit 93861 of the PLA,Sanyuan 713800,China)
To meet the demand of high precision frequency estimation of cosine vibration signal,a new algorithm based on frequency-offset correction is proposed.The algorithm estimates the frequency-offset,with which the frequency of signal can be revised,by Candan algorithm after sampling the continuous time signal.For the signal revised, use Liang algorithm to estimate the frequency-offset again.The ultimate estimated frequency is given by adding the two estimated frequency together.By frequency-offset revision,the proposed algorithm avoids the decrease of precision caused by interpolation error of Candan algorithm and characteristics of Liang algorithm.The new algorithm guarantees the real-time signal processing,although it increases the amount of computation.Numerical results demonstrate that the mean square error of frequency estimation of the improved algorithm is more closer to the Cramer-Rao lower bound(CRLB)bound character is prior to the existing frequency estimation algorithm.
cosine signal; frequency-offset correction; frequency estimation; discrete Fourier transform(DFT)
10.13873/J.1000—9787(2017)09—0121—04
2016—08—03
國家自然科學基金資助項目(61201287)
TN 911.7
A
1000—9787(2017)09—0121—04
張 威(1990-),男,碩士研究生,主要研究方向為數字信號處理。
李 松,通訊作者,E-mail:z199007w@163.com。