(杭州電子科技大學通信工程學院,浙江 杭州310018)
頻率估計在雷達、聲納和通信領(lǐng)域均有廣泛的應(yīng)用,而含噪的正弦信號頻率估計的方法各有優(yōu)劣。最大似然估計算法估計方差逼近克拉美羅限,是最優(yōu)估計,但其計算復雜度大,不利于實時處理[1]。而基于FFT算法的插值算法速度快、實時性好、易于實現(xiàn),常用的方法有:Rife 法、相位差法等[1-3]。Rife算法在無噪聲或信噪比較高、采樣點數(shù)適宜的情況下,估計精度較高,而對于那些信號頻率靠近DFT 量化頻率點,且在信噪比低的情況下會導致插值方向錯誤,增大估計誤差。相位差法具有良好的估計性能,而在信號頻率接近兩個相鄰量化頻率點的中心時,估計性能不如Rife算法。根據(jù)這兩種算法的互補特性,本文提出了一種基于Rife算法和改進的相位差法的綜合算法。計算機仿真結(jié)果表明本文算法準確有效,估計均方根誤差接近克拉美羅限,在信噪比較低的情況下也表現(xiàn)穩(wěn)定,具有一定的工程應(yīng)用價值。
單一頻率復正弦信號s(t)=Aej(2f0t+Φ0),其中A,Φ0分別為振幅和初相,f0為頻率;在0 ~T時間內(nèi)對信號進行采樣,采樣點數(shù)為N,采樣頻率為fs,得到采樣序列s(n)=Aej(2 nf0/fs+Φ0),對采樣序列進行N點DFT 變換得到S(k)。
設(shè)k0為最大譜線位置,即Rife算法估計頻率f0的近似表達式為[2]:其中,當時,r=1,當時,r=-1。
對原始單一頻率復信號s(t)=Aej(2f0t+Φ0)采兩段連續(xù)樣本,每段采樣點數(shù)為M=N/2,則有:
兩段信號相位分別為Φ0,Φ1,令f0=(k1+α)fs/M,其中k1為s1(n)的最大幅值譜線位置,得α =(Φ1-Φ0)/2,分別對序列s1(n),s2(n)做M點DFT 變換,求出各自幅值最大值譜線對應(yīng)相位Φk1Φk2,那么根據(jù)文獻3可以計算得到=(Φk2-Φk1)/2 =ΔΦ/2,其中ΔΦ 要調(diào)整到(-,),那么估計頻率
傳統(tǒng)的相位差法要對兩段序列分別做FFT,計算量較大,本文給出一種改進的相位差算法以減少它的計算量。算法具體實現(xiàn)過程如下:對于樣本長度為N的序列s(n),利用Rife算法可以得到最大譜線的位置k0,而s1(n)相當于對序列s(n)加了長度為M的窗(M <N),也就是樣本長度為M,由于信號s(n)與s1(n)的頻率是相同的,得到s1(n),s2(n)對應(yīng)的幅頻最大值譜線位置為k1=k2=Mk0/N,那么計算序列s1(n),s2(n)幅頻最大值譜線對應(yīng)的相位,只需要計算這兩個值,利用便可得到相應(yīng)的相位值,從而減少了計算量,提高了運算速度,因為原本相位差法要做兩次M點的FFT,現(xiàn)在只需要計算兩個單點上的DFT 即可。綜合算法的具體實現(xiàn)步驟如下:
(1)對采樣序列s(n)做N點DFT 變換,得到幅值最大值譜線位置k0,根據(jù)Rife算法計算
(2)做出判斷,若0.3≤|δ^|≤0.5,則直接代入f0=(k0+)fs/N 求得估計頻率,否則轉(zhuǎn)步驟3;
(3)根據(jù)Rife算法求得的結(jié)果,利用改進的相位差法,計算頻偏=(Φk2-Φk1)/2 =ΔΦ/2,其中ΔΦ 要調(diào)整到(-,),最后求得頻率=(k1+)fs/M。
Rife算法需要做一次N點的FFT,相位差法需要做兩次N/2點FFT,綜合算法中要用到相位差法求解時,只要在Rife算法的基礎(chǔ)上再計算兩個單點的N/2點DFT 即可,這需要增加N次復數(shù)乘法和N-2次復數(shù)加法,考慮到綜合算法中并不是每個頻率點的估計都會用到相位差法,根據(jù)所設(shè)置的門限值可知,用Rife算法估計時直接可行的概率為2/5,因此從統(tǒng)計角度,綜合算法的計算量為次復數(shù)乘法和次復數(shù)加法,比M-Rife算法的計算量的計算量小[4]。
仿真參數(shù)如下:接收信號x(t)=Acos(2 f0t+Φ0)+n(t),n(t)是均值為0,方差為σ2的高斯白噪聲,信噪比記為SNR=A2/2σ2。fs=200kHz,N=1 024,Δf=fs/N,ΔT =1/fs,用DFT 作頻率粗估計,其均方根誤差[1]為
復正弦信號當其相位未知的情況下,頻率估計的克拉美羅限為[5]實正弦信號頻率估計方差下限為相同條件下復正弦信號的方差下限的兩倍[6]。
設(shè)f1為DFT的某個量化頻率,現(xiàn)取f1=200fs/N,并從f1到f1+Δf/2 取11個離散的頻率點作為待估頻率,即f0i=f1+iΔf/20,i=0,1,…,10,對頻率為f0i的正弦信號按Rife 法,相位差法及綜合算法分別進行1 000次的Mento-Caro仿真。如表1-3所示,i =0,2,4,6,8,10 等6個離散頻率點在不同信噪比SNR(分別為6dB,0dB,-3dB)條件下的Rife算法,相位差法和綜合算法的頻率估計的均方根誤差,平均絕對誤差,標準方差:
表1 3種頻率估計算法在SNR=6dB條件下的仿真結(jié)果 (Hz)
表2 3種頻率估計算法在SNR=0dB條件下的仿真結(jié)果 (Hz)
表3 3種頻率估計算法在SNR=-3dB條件下的仿真結(jié)果 (Hz)
從仿真結(jié)果可以看出,綜合算法所得到的結(jié)果有時與Rife算法相近,有時與相位差算法相近,這是因為這兩種算法具有互補性,是通過設(shè)立一個門限值,選取其中一個合適的頻率估計算法來進行頻率估計,因此就會出現(xiàn)上述的結(jié)果,綜合算法提高的是頻率估計的總體性能。也可以得出,Rife算法在待估頻率靠近DFT 量化頻率點時的誤差很大,而相位差法和綜合算法的性能較為穩(wěn)定,且綜合算法在信噪比為6dB的情況下平均均方根誤差僅為DFT 粗估計的3.3%,在信噪比為-3dB的時候也僅為DFT 粗估計的9.5%,在整個頻段上的估計精度也較高。如圖1所示不同信噪比條件下的3種頻率估計算法的均方根誤差平均值與克拉美羅限的比較。從圖1中也可以看出綜合算法的均方根誤差平均值更接近克拉美羅限。所以從通過設(shè)立一個門限值,對不同頻段采用不同的頻率估計算法以提高整體頻率估計性能總體性能上而言,綜合算法優(yōu)于Rife算法和相位差法。
圖1 3種算法均方根誤差平均值與克拉美羅限比較圖
Rife算法和相位差法都是常用的基于FFT 插值算法,它們的性能在不同頻段各有優(yōu)劣,綜合算法則是利用兩者互補的關(guān)系來進一步提高估計精度和穩(wěn)定性,仿真結(jié)果也驗證了本算法的準確有效,均方根誤差能夠很好的接近克拉美羅限,而且綜合算法的計算量增加不大,易于實現(xiàn),實時性好,因此在工程上具有一定的應(yīng)用價值。
[1]王宏偉,趙國慶.正弦波頻率估計的改進Rife算法[J].信號處理,2010,26(10):1 573-1 576.
[2]Rife D C,Vincent G A.Use of the discrete Fourier transform in the measurement of frequencies and levels of tones[J].Bell Syst Tech J,1970,49(2):197-228.
[3]謝明,張曉飛,丁康.頻譜分析中用于相位和頻率校正的相位差校正法[J].振動工程學報,1999,12(4):454-459.
[4]王宏偉,趙國慶,齊飛林.一種實時精確的正弦波頻率估計算法[J].數(shù)據(jù)采集與處理,2009,24(2):208-211.
[5]Rife D C,Boorstyn R R.Single tone parameter estimation from discrete-time observations[J].IEEE Trans infom Theory,1974,20(5):591-598.
[6]齊國清.幾種基于FFT的頻率估計方法精度分析[J].振動工程學報,2006,19(1):86-92.