假设一个 M 元阵列天线,信号形式为

x(t)=As(t)+n(t)\mathbf{x}(t) = \mathbf{A}s(t) + \mathbf{n}(t)

其中 s(t)\mathbf{s}(t)K×1K\times 1 的信号矢量,A\mathbf{A}M×KM\times K 的导向矢量矩阵

协方差矩阵描述阵列接收数据各个通道之间相关性,定义为

Rx=E[x(t)x(t)]\mathbf{R}_x = E [\mathbf{x}(t)\mathbf{x}^{\dagger}(t)]

如果信号与噪声互不相关,且噪声均匀独立同分布,那么

Rx=ARsA+σn2I\mathbf{R}_x = \mathbf{A}\mathbf{R}_s\mathbf{A}^{\dagger} + \sigma^2_n\mathbf{I}

其中 Rs\mathbf{R}_s 为信号源协方差矩阵,σn2\sigma_n^2 为噪声方差。对角元素表示阵元接收信号的平均功率,非对角元素表示不同阵元信号的互相关性。

实际上,只能采用采样数据近似计算协方差矩阵,

R^x=1Nt=1Nx(t)x(t)\hat{\mathbf{R}}_x = \dfrac{1}{N} \sum_{t = 1}^N\mathbf{x}(t)\mathbf{x}^{\dagger}(t)

通过时间平均估计阵列数据的统计特性,其中 NN 为快拍数,即采样点数。

MUSIC 算法·

一种基于子空间分解的高分辨率波达方向(DOA)估计方法,由 Schmidt 等人于 1986 年提出。

R. Schmidt, “Multiple emitter location and signal parameter estimation,” in IEEE Transactions on Antennas and Propagation, vol. 34, no. 3, pp. 276-280, March 1986, doi: 10.1109/TAP.1986.1143830.

将阵列接收数据的协方差矩阵特征值分解为 信号子空间噪声子空间

R=UΣU=UsΣsUsSignal Subspace+UnΣnUnNoise Subspace\mathbf{R} = \mathbf{U}\boldsymbol{\Sigma} \mathbf{U}^{\dagger} = \underbrace{\mathbf{U}_s\boldsymbol{\Sigma}_s \mathbf{U}^{\dagger}_s}_{Signal\ Subspace} + \underbrace{\mathbf{U}_n\boldsymbol{\Sigma}_n \mathbf{U}^{\dagger}_n}_{Noise\ Subspace}

其中 UCM×K\mathbf{U}\in \mathbb{C}^{M\times K}MM 个特征向量组成的酉矩阵,Σ=diag(λ1,λ2,,λM)\Sigma=\mathrm{diag}(\lambda_1,\lambda_2,\cdots,\lambda_M) 是特征值的对角矩阵。由于协方差矩阵的前 KK 个特征值对应真实信号(信号能量大于噪声能量),剩下的 MKM-K 个特征值接近噪声方差 σn2\sigma_n^2,于是就可以吧矩阵分解成两个正交的部分,Us\mathbf{U}_s 是信号子空间,Un\mathbf{U}_n 是噪声子空间,并且二者正交,信号子空间与噪声子空间相互独立。


由于信号子空间与噪声子空间正交,有

Una(θk)=0,k=1,2,,K\mathbf{U}_n^{\dagger}\mathbf{a}(\theta_k) = 0, \quad k = 1,2,\cdots, K

将 MUSIC 空间谱函数定义为

PMUSIC(θ)=1a(θ)UnUna(θ)P_{MUSIC}(\theta) = \dfrac{1}{\mathbf{a}^{\dagger}(\theta)\mathbf{U}_n\mathbf{U}_n^{\dagger}\mathbf{a}(\theta)}

θ\theta 等于信号来向时,分母趋近于 0,谱函数出现峰值。


算法步骤如下

  1. 计算样本协方差矩阵:

R^=1Nt=1NX(t)X(t)\hat{\mathbf{R}} = \dfrac{1}{N} \sum_{t = 1}^{N} \mathbf{X}(t)\mathbf{X}^{\dagger}(t)

  1. R^\hat{\mathbf{R}} 进行特征值分解,得到特征值 λ1λ2λM\lambda_1\geq \lambda_2\geq \cdots \geq \lambda_M 和对应的特征向量 e1,e2,,eM\mathbf{e}_1,\mathbf{e}_2,\cdots,\mathbf{e}_M

  2. 确定信号子空间维数,信号子空间维数为 KK,噪声子空间维数为 MKM-K

  3. 构造噪声子空间矩阵

Un=[eK+1,eK+2,,eM]\mathbf{U}_n = [\mathbf{e}_{K+1},\mathbf{e}_{K+2},\cdots, \mathbf{e}_M]

  1. 计算 MUSIC 谱,扫描方向 θ\theta,计算谱函数

PMUSIC(θ)=1a(θ)UnUna(θ)P_{MUSIC}(\theta) = \dfrac{1}{\mathbf{a}^{\dagger}(\theta)\mathbf{U}_n\mathbf{U}_n^{\dagger}\mathbf{a}(\theta)}

  1. 寻找 KK 个最高峰,对应的 θ\theta 即为 DOA 估计值;

ROOT-MUSIC 算法·

噪声子空间与信号导向矢量正交,因此导向矢量在噪声子空间上的投影为 0,通过构造一个多项式,其根对应信号的方向,求根即可得到 DOA 估计。

考虑一个 M 元的均匀线阵,阵元间距为 d,假设有 K 个远场窄带信号入射 (K<M)(K<M),阵列接收信号的协方差矩阵为

Rx=ARsA+σn2I\mathbf{R}_x = \mathbf{A}\mathbf{R}_s\mathbf{A}^{\dagger} + \sigma^2_n\mathbf{I}

其中 A=[a(θ1),a(θ2),,a(θK)]\mathbf{A}=[\mathbf{a}(\theta_1), \mathbf{a}(\theta_2), \cdots, \mathbf{a}(\theta_K)]

对于均匀线阵,导向矢量为

a(z)=[1,ej2πdλsinθ,ej2π2dλsinθm,ej2π(M1)dλsinθ]\mathbf{a}(z) = [ 1, e^{-j2\pi\frac{d}{\lambda}\sin\theta}, e^{-j2\pi\frac{2d}{\lambda}\sin\theta}m\cdots, e^{-j2\pi\frac{(M-1)d}{\lambda}\sin\theta}]^{\top}

z=ej2πdλsinθz=e^{j2\pi\frac{d}{\lambda}\sin\theta},则导向矢量改写为

a(z)=[1,z1,z2,,z(M1)]\mathbf{a}(z) = [1, z^{-1}, z^{-2}, \cdots, z^{-(M-1)}]^{\top}

在 MUSIC 算法中,空间谱函数是

PMUSIC(θ)=1a(θ)UnUna(θ)P_{MUSIC}(\theta) = \dfrac{1}{\mathbf{a}^{\dagger}(\theta)\mathbf{U}_n\mathbf{U}_n^{\dagger}\mathbf{a}(\theta)}

由于 a(θ)\mathbf{a}(\theta)Un\mathbf{U}_n 正交,分母理论上为 0,ROOT-MUSIC 将分母转化为多项式

D(z)=a(z1)UnUna(z)D(z) = \mathbf{a}^{\top}(z^{-1})\mathbf{U}_n\mathbf{U}_n^{\dagger} \mathbf{a}(z)

z=zk=ej2πdλsinθkz=z_k=e^{j2\pi \frac{d}{\lambda}\sin\theta_k} 时,D(zk)=0D(z_k)=0。因此就可以通过求解多项式 D(z)D(z) 的根估计 DOA。


算法步骤如下:

  1. 计算样本协方差矩阵:

R^=1Nt=1NX(t)X(t)\hat{\mathbf{R}} = \dfrac{1}{N} \sum_{t = 1}^{N} \mathbf{X}(t)\mathbf{X}^{\dagger}(t)

  1. R^\hat{\mathbf{R}} 进行特征值分解,得到特征值 λ1λ2λM\lambda_1\geq \lambda_2\geq \cdots \geq \lambda_M 和对应的特征向量 e1,e2,,eM\mathbf{e}_1,\mathbf{e}_2,\cdots,\mathbf{e}_M

  2. 确定信号子空间维数,信号子空间维数为 KK,噪声子空间维数为 MKM-K

  3. 构造噪声子空间矩阵

Un=[eK+1,eK+2,,eM]\mathbf{U}_n = [\mathbf{e}_{K+1},\mathbf{e}_{K+2},\cdots, \mathbf{e}_M]

  1. 构造多项式系数,计算矩阵 C=UnUnCM×M\mathbf{C}=\mathbf{U}_n\mathbf{U}_n^{\dagger} \in \mathbb{C}^{M\times M},将多项式 D(z)D(z) 展开为

D(z)=m=M+1M1cmzmD(z) = \sum_{m =-M+1}^{M-1}c_mz^m

其中 cmc_m 是矩阵 C\mathbf{C} 的副对角线元素之和

cm=ij=mCij,m=M+1,,M1c_m = \sum_{i-j = m}C_{ij},\quad m =-M+1,\cdots, M-1

  1. 求解多项式方程 D(z)D(z)2M22M-2 个根
  2. 选择幅度接近(靠近单位圆)的 K 个根,这些根对应信号方向,设根 zk,k=1,2,,Kz_k,k=1,2,\cdots,K,则 DOA 估计值为

θk=arcsin(λ2πdarg(zk))\theta_k = \arcsin\left( \dfrac{\lambda}{2\pi d} \arg(z_k)\right)

其中 arg(zk)\arg(z_k) 是根 zkz_k 的相位角。

算法对比

MUSIC ROOT-MUSIC
算法 网格搜索 直接解析求解
精度 受限与搜索网格的密度 理论精度较高
计算量 为了高精度,需要网格足够密,计算量大 做一次多项式求根
低信噪比表现 谱峰可能不明显 根的径向位置可能变动,但相位保持较好
局限性 适用于均匀线阵

最大似然法·

确定性最大似然法(DML)·

确定性最大似然法将信号视为 确定未知量,则参数估计包括 DOA θ\theta 和信号波形 s(t)\mathbf{s}(t)

似然函数:在噪声满足高斯分布的假设下。数据的似然函数为

L(θ,s)=1(πσn2)exp(1σn2t=1Lx(t)As(t)2)\mathcal{L}(\theta, s) = \dfrac{1}{(\pi \sigma_n^2)}\exp{\left( -\dfrac{1}{\sigma_n^2}\sum_{t = 1}^L {\left|| \mathbf{x}(t) - \mathbf{As}(t)\right||^2} \right)}

最大化似然函数等价最小化下面的代价函数

J(θ)=t=1Lx(t)As(t)2\mathcal{J}(\theta) = \sum_{t = 1}^L {\left|| \mathbf{x}(t) - \mathbf{As}(t)\right||^2}

对于固定的 θ\theta,优化 s(t)\mathbf{s}(t),对于每个固定时刻 t,这是一个线性最小二乘问题,最优解为

s(t)^=(AA)1Ax(t)\hat{\mathbf{s}(t)} = (\mathbf{A}^{\dagger}\mathbf{A})^{-1}\mathbf{A}^{\dagger}\mathbf{x}(t)

s^(t)\hat{\mathbf{s}}(t) 代入代价函数得到

J(θ)=t=1Lx(t)A(AA)1Ax(t)2\mathcal{J}(\theta) = \sum_{t = 1}^L {\left|| \mathbf{x}(t) - \mathbf{A}(\mathbf{A}^{\dagger}\mathbf{A})^{-1}\mathbf{A}^{\dagger}\mathbf{x}(t)\right||^2}

定义

PA=A(AA)1APA=IPA\begin{aligned} P_A &= \mathbf{A}(\mathbf{A}^{\dagger}\mathbf{A})^{-1}\mathbf{A}^{\dagger}\\ P_A^{\perp} &= I - P_A\\ \end{aligned}

于是代价函数可以写成

J(θ)=t=1LPAx(t)2=tr[PA(t=1Lx(t)x(t))]\mathcal{J}(\theta) = \sum_{t = 1}^L {\left|| P_A^{\perp}\mathbf{x}(t) \right||^2} =\operatorname{tr} \left [ \mathbf{P}_A^{\perp} \left( \sum_{t = 1}^L \mathbf{x}(t)\mathbf{x}^{\dagger}(t) \right) \right]\\

最后,DML 优化的目标是

argminθtr[PAR^x]\arg\min_{\theta} \operatorname{tr} [P_{A}^{\perp} \hat{R}_x]

直观理解:寻找一组导向矢量 AA 使得数据矢量在 AA 的列空间上的投影残差最小,即让信号子空间尽可能贴近数据的主要能量方向。


随机性最大似然法(SML)·

将信号 s(t)\mathbf{s}(t) 视为零均值复高斯随机过程,满足

s(t)CN(0,Rs)\mathbf{s}(t) \sim \mathcal{CN}(0, \mathbf{R}_s)

噪声假设为

n(t)CN(0,σn2I)\mathbf{n}(t) \sim \mathcal{CN}(0, \sigma^2_n\mathbf{I})

阵列的输出特性满足

x(t)CN(0,R)\mathbf{x}(t) \sim \mathcal{CN}(0, \mathbf{R})


下面推导似然函数与估计器

单个快拍的概率密度函数为

p(x(t)θ,Rs,σn2)=1πMRxexp(x(t)Rx1x(t))p(\mathbf{x}(t)|\mathbf{\theta}, \mathbf{R_s}, \sigma_n^2) = \dfrac{1}{\pi^M|\mathbf{R}_x|}\exp(-\mathbf{x}^{\dagger}(t)\mathbf{R}_x^{-1}\mathbf{x}(t))

L 个独立快拍的联合似然函数为

L(θ,Rs,σn2)=1πMLRxLexp(t=1Lx(t)Rx1x(t))\mathcal{L}(\theta, \mathbf{R}_s, \sigma^2_n) = \dfrac{1}{\pi^{ML}|\mathbf{R}_x|^L}\exp{\left( -\sum_{t = 1}^L\mathbf{x}^{\dagger}(t)\mathbf{R}_x^{-1}\mathbf{x}(t) \right)}

对数似然函数为

lnL(θ,Rs,σn2)=MLlnπLlnRxt=1Lx(t)R1x(t)=MLlnπLlnRxLtr[Rx1Rx^]\begin{aligned} \ln\mathcal{L}(\theta, \mathbf{R}_s,\sigma^2_n) &= -ML\ln\pi -L\ln|\mathbf{R}_x| - \sum_{t = 1}^L \mathbf{x}^{\dagger}(t)\mathbf{R}^{-1}\mathbf{x}(t)\\ &= -ML\ln\pi -L\ln|\mathbf{R}_x| - L\cdot \operatorname{tr} [\mathbf{R}_x^{-1}\hat{\mathbf{R}_x}] \\ \end{aligned}


目标是优化

argmaxθ,Rs,σn2lnL(θ,Rs,σn2)\arg\max_{\theta,\mathbf{R}_s, \sigma^2_n} \ln L(\theta, \mathbf{R}_s, \sigma^2_n)

SML 认为,既然信号是随机的,那我就不去估计每一个具体的信号值了,而是去估计信号的 统计特性(也就是它的协方差矩阵)。

固定 θ\theta,求解

(R^s,σ^n2)=argmaxRs,σn2lnL(Rs,σn2)(\hat{\mathbf{R}}_s, \hat{\sigma}_n^2) = \arg\max_{\mathbf{R}_s, \sigma^2_n} \ln L(\mathbf{R}_s, \sigma^2_n)

对接收信号样本方差矩阵进行特征分解得到

R^x=i=1Mλ^iu^iu^i\hat{\mathbf{R}}_x = \sum_{i = 1}^M \hat{\lambda}_i\hat{\mathbf{u}}_i\hat{\mathbf{u}}_i^{\dagger}

其中特征值按降序排序:λ^1>λ^2>>λ^M\hat{\lambda}_1>\hat{\lambda}_2>\cdots>\hat{\lambda}_M.

则噪声功率估计为

σ^n2=1MKi=K+1Mλ^i\hat{\sigma}^2_n = \dfrac{1}{M-K}\sum_{i = K+1}^{M}\hat{\lambda}_i

信号协方差矩阵估计为



SML 的优势在于,当两个信号高度相关(比如多径效应)时,信号协方差矩阵不满秩,MUSIC 算法失效,而 SML 建模时不考虑信号协方差矩阵是否满秩

ESPRIT 算法·

Estimation of Signal Parameters via Rotational Invariance Techniques

核心思想时利用阵列的平移不变性估计信号参数(寻找两个相同子阵的旋转关系,避免对整个参数空间的搜索)

考虑两个完全相同的均匀线阵,每个阵列包含 M1M-1 个阵元,分别为 {1,2,,M1}\{1,2,\cdots,M-1\}{2,3,,M}\{2,3,\cdots,M\}。两个阵列的接收信号表示为

x1(t)=As(t)+n1(t)x2(t)=AΦs(t)+n2(t)\begin{aligned} \mathbf{x}_1(t) &= \mathbf{As}(t) + \mathbf{n}_1(t)\\ \mathbf{x}_2(t) &= \mathbf{A\boldsymbol{\Phi}s}(t) + \mathbf{n}_2(t)\\ \end{aligned}

其中

Φ=diag(ej2πdsinθ1λ,,ej2πdsinθKλ)\boldsymbol{\Phi} = \mathrm{diag}( e^{-j2\pi\frac{d\sin{\theta_1}}{\lambda}}, \cdots, e^{-j2\pi\frac{d\sin{\theta_K}}{\lambda}} )

将接收信号协方差矩阵进行特征分解得到

R=UΣU=UsΣsUs+UnΣnUn\mathbf{R} = \mathbf{U\Sigma U^{\dagger}} = \mathbf{U_s\Sigma_s U^{\dagger}_s} + \mathbf{U_n\Sigma_n U^{\dagger}_n}

Us\mathbf{U}_s 切分为两个子阵,分别对应信号子空间的前 M1M-1 行和后 M1M-1 行。

Us=[Us1Us2]\mathbf{U}_s = \begin{bmatrix} \mathbf{U}_{s1}\\ \mathbf{U}_{s2}\\ \end{bmatrix}

然后利用最小二乘求解旋转矩阵

Ψ=Us1Us2\boldsymbol{\Psi} = \mathbf{U}^{\dagger}_{s1}\mathbf{U}_{s2}

对该旋转矩阵做特征分解得到

Ψqk=λkqk=ej2πdsinθkλqk\boldsymbol{\Psi} \mathbf{q}_k = \lambda_k \mathbf{q}_k = e^{-j2\pi\frac{d\sin{\theta_k}}{\lambda}}\mathbf{q}_k

求得相位增量,进而得到 DOA 估计值。

算法演进脉络·

在算法的演进过程中,主要考虑以下几个方面的改进:

  1. 计算效率:MLE 计算量大,容易陷入局部最优,MUSIC 需要扫描角度空间;后续提出的 ROOT-MUSIC 去掉扫描步骤,直接计算多项式方程的根,ESPRIT 求解特征值问题,避免扫描这种 遍历 操作,提高计算效率;
  2. 分辨率:相关法利用简单的匹配滤波,受限于 Rayleigh 限,近角度易混淆,后来提出的 MUSIC 算法利用导向矢量与噪声子空间正交,谱函数理论上是无限窄的尖峰,分辨率得到提升;
  3. 多信号:相关法能有效处理单信号,后续提出的 MUSIC,ESPRIT 能处理多个信号同时入射的情况;

graph LR A(相关法)-->B(MLE)--多信号-->C(MUSIC)-->D(ESPRIT) C---E(ROOT-MUSIC)
  • 相关法:易于实现,但是分辨率较低,近角度无法分辨,并且低信噪比条件下估计误差大;

与捕获算法类似的是,都是计算 接收信号已知模板 的相似度,寻找峰值。

区别在于,捕获的相关法是在计算 时间 的匹配滤波(时域卷积运算 \Leftrightarrow 频域 FFT\mathcal{FFT} 运算),DOA 估计的相关法是 空间 上的匹配滤波;

  • MLE:将参数估计转化为最优化问题(理论可达 CRLB),计算量较大,容易出现局部最优的情况;
  • MUSIC:利用信号子空间与噪声子空间正交的特性,可以分离多个相近的信号,而且不需要求解复杂的最优化问题,但是计算复杂度高于相关法,耗时较长,实时性较差;
    • ROOT-MUSIC(仅适用于 ULA):相较于 MUSIC 算法,ROOT-MUSIC 直接求根,不需要扫描角度,但是受到噪声的影响,根偏离单位圆 z=1z=1
  • ESPRIT:MUSIC 算法需要对角度空间搜索,而 ESPRIT 算法利用信号子空间的旋转不变性求解特征值问题,计算量更低;