1.空间谱与DOA估计
信号空间谱估计基于信号的空间傅氏变换:
X(Φ)=m=0∑M−1xm(n)ejmΦ(1)
上式中 xm(n)为单个阵元的接收信号:
xm(n)=s1(n)e−jmΦ1m=0,1,⋯,M−1(2)
将(2)式代入(1)式并对(1)式取模平方得:
∣X(Φ)∣2=∣s1(n)∣2∣∣∣∣∣sin(21(Φ−Φ1))sin(2M(Φ−Φ1))∣∣∣∣∣2(3)
∣X(Φ)∣2为空间谱,由上式可知Φ=Φ1时∣X(Φ)∣2取极大值,故空间谱峰值所在的角度就是信号源方向。
空间傅氏变换法所得到的空间谱分辨率不高,当两个角度相近的信号入射到接收阵列时,主瓣就会发生重叠,这时就无法实现对信号角度的有效估计。

对比功率谱估计的思想,将功率谱估计的一些方法移植到信号的DOA估计,这些方法比空间傅氏变换法有更高的分辨率,所以被称为超分辨率估计。
2.算例
采用10阵元间距为二分之一波长的均匀线阵,估计两个不相干的信号源的波达方向,假设信号源分别来自-10°和40°方向,信噪比分别为10dB和20dB。假设样本数为100。
- 用MUSIC算法实现DOA估计。
- 用ROOT-MUSIC算法实现DOA估计。
- 用ESPRIT算法实现DOA估计。
- 用MVDR算法实现DOA估计。
3.MUSIC与ROOT−MUSIC算法用于信号DOA估计
之前介绍过MUSIC与ROOT−MUSIC算法如何用于信号频率估计,具体请移步信号频率估计—MUSIC & ROOT-MUSIC算法(附Matlab代码)。
在信号DOA估计上使用MUSIC与ROOT−MUSIC算法与信号频率估计类似,只是将频率变成了角度。

图1 MUSIC算法

图2 ROOT−MUSIC算法
4.ESPRIT算法用于信号DOA估计
ESPRIT算法在信号DOA估计方面不同于信号频率估计,算法具体步骤如下:
- 利用特征值分解得到信号的空间相关矩阵R^的特征向量与特征值,并用最大的K个特征值对应的特征向量构成矩阵S。
- 记S的前M−1行和后M−1行分别为S1,S2。
- 定义矩阵Ψ=S1−1S2,对Ψ做特征值分解得到特征值e−jϕk。
- 利用ϕk=2∗π∗d∗sinθk/λk=1,2,⋯,K得到信号入射角度θk。

图3 ESPRIT算法
5.MVDR算法用于信号DOA估计
之前已经介绍过将MVDR算法用于信号频率估计,具体可以移步MVDR频率估计方法及其Matlab代码实现。
将MVDR算法用于信号DOA估计和用于信号频率估计类似,只是将频率变成了角度。

图4 MVDR算法
6.Matlab代码实现
点此下载源码。