信號DOA估計方法

1.空間譜與DOA估計

信號空間譜估計基於信號的空間傅氏變換:

X(Φ)=m=0M1xm(n)ejmΦ(1)X(\Phi) = \sum_{m=0}^{M-1}x_{m}(n)e^{jm \Phi}\quad(1)

上式中 xm(n)x_{m}(n)爲單個陣元的接收信號:

xm(n)=s1(n)ejmΦ1m=0,1,,M1(2)x_{m}(n) = s_{1}(n)e^{-jm\Phi_1}\quad m=0,1,\cdots,M-1\quad(2)

將(2)式代入(1)式並對(1)式取模平方得:

X(Φ)2=s1(n)2sin(M2(ΦΦ1))sin(12(ΦΦ1))2(3)|X(\Phi)|^{2} =|s_{1}(n)|^{2} \left | \frac{sin\left( \frac{M}{2}(\Phi-\Phi_1) \right)}{sin\left( \frac{1}{2}(\Phi-\Phi_1) \right)} \right |^{2} \quad(3)

X(Φ)2|X(\Phi)|^{2}爲空間譜,由上式可知Φ=Φ1\Phi = \Phi_{1}X(Φ)2|X(\Phi)|^{2}取極大值,故空間譜峯值所在的角度就是信號源方向。

空間傅氏變換法所得到的空間譜分辨率不高,當兩個角度相近的信號入射到接收陣列時,主瓣就會發生重疊,這時就無法實現對信號角度的有效估計。
在這裏插入圖片描述
對比功率譜估計的思想,將功率譜估計的一些方法移植到信號的DOA估計,這些方法比空間傅氏變換法有更高的分辨率,所以被稱爲超分辨率估計。

2.算例

採用10陣元間距爲二分之一波長的均勻線陣,估計兩個不相干的信號源的波達方向,假設信號源分別來自-10°和40°方向,信噪比分別爲10dB和20dB。假設樣本數爲100。

  1. 用MUSIC算法實現DOA估計。
  2. 用ROOT-MUSIC算法實現DOA估計。
  3. 用ESPRIT算法實現DOA估計。
  4. 用MVDR算法實現DOA估計。

3.MUSICMUSICROOTMUSICROOT-MUSIC算法用於信號DOADOA估計

之前介紹過MUSICMUSICROOTMUSICROOT-MUSIC算法如何用於信號頻率估計,具體請移步信號頻率估計—MUSIC & ROOT-MUSIC算法(附Matlab代碼)。

在信號DOADOA估計上使用MUSICMUSICROOTMUSICROOT-MUSIC算法與信號頻率估計類似,只是將頻率變成了角度。
圖1 MUSIC算法
圖1 MUSICMUSIC算法

圖2 ROOT-MUSIC算法
圖2 ROOTMUSICROOT-MUSIC算法

4.ESPRITESPRIT算法用於信號DOADOA估計

ESPRITESPRIT算法在信號DOADOA估計方面不同於信號頻率估計,算法具體步驟如下:

  1. 利用特徵值分解得到信號的空間相關矩陣R^\hat{R}的特徵向量與特徵值,並用最大的KK個特徵值對應的特徵向量構成矩陣SS
  2. SS的前M1M-1行和後M1M-1行分別爲S1S_{1}S2S_{2}
  3. 定義矩陣Ψ=S11S2\Psi=S_{1}^{-1}S_{2},對Ψ\Psi做特徵值分解得到特徵值ejϕke^{-j\phi_{k}}
  4. 利用ϕk=2πdsinθk/λk=1,2,,K\phi_{k}=2*\pi*d*sin\theta_{k}/\lambda \quad k=1,2,\cdots,K得到信號入射角度θk\theta_{k}
    圖3 ESPRIT算法
    圖3 ESPRIT算法

5.MVDRMVDR算法用於信號DOADOA估計

之前已經介紹過將MVDR算法用於信號頻率估計,具體可以移步MVDR頻率估計方法及其Matlab代碼實現。

MVDRMVDR算法用於信號DOADOA估計和用於信號頻率估計類似,只是將頻率變成了角度。
圖4 MVDR算法
圖4 MVDR算法

6.MatlabMatlab代碼實現

點此下載源碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章