本文同步發佈在我的個人博客宅到沒朋友,歡迎來玩!
1.前言
MVDR頻率估計方法的理論知識此處略過,直接介紹最後得到的MVDR譜估計公式。
2.MVDR譜估計公式
P^MVDR(w)=aH(w)R^−1a(w)1
其中aw=aM(w)=⎣⎢⎢⎡1e−jw∗∗∗e−j(M−1)w⎦⎥⎥⎤,R^=E{x(n)x^(n)}=⎣⎢⎢⎢⎡r(0)r(−1)⋯r(1−M)r(1)r(0)⋯r(2−M)⋯⋯⋱⋯r(M−1)r(M−2)⋮r(0)⎦⎥⎥⎥⎤
M爲自相關矩陣的階數。
3.算法步驟
- 由N個觀測樣本x(0),x(1),⋯,x(N∗1)估計樣本相關矩陣R^。
- 在[−π,π]內改變w,畫出P^MVDR(w),峯值位置就是信號角頻率的估計值。
4.算例及代碼實現
4.1 算例
設隨機過程u(n)爲u(n)=ej0.5πn+jϕ1+e−j0.3πn+jϕ2+vn,其中,vn是0均值,方差爲1的白噪聲,ϕ1、ϕ2是相互獨立並在[0,2π]上服從均勻分佈的隨機相位,使用MVDR方法進行信號頻率估計,畫出頻率估計譜線。(要求:信號樣本數取1000,估計的自相關矩陣爲8階。)
4.2 Matlab實現
MVDR方法的輸出功率爲信號功率加上一個數,因此利用MVDR方法進行譜估計時,若在某個頻點有信號,則該點會出現一個比它真實功率值大一點的數值,若是沒有信號,信號和噪聲都被濾波器抑制,按公式估計的值會很小。
4.3 代碼及下載
點此下載源碼。