考虑一个由 M M M 个阵元组成的均匀线性阵列(ULA),阵元间距为半波长 d = λ / 2 d = \lambda/2 d=λ/2。假设有 K K K 个远场窄带信号源,其入射角为 θ 1 , θ 2 , ... , θ K \theta_1, \theta_2, \ldots, \theta_K θ1,θ2,...,θK,则阵列接收数据可建模为:
Y = A ( θ ) S + N \mathbf{Y} = \mathbf{A}(\boldsymbol{\theta})\mathbf{S} + \mathbf{N} Y=A(θ)S+N
其中:
Y ∈ C M × L \mathbf{Y} \in \mathbb{C}^{M \times L} Y∈CM×L: L L L 个快拍的阵列接收数据矩阵
A ( θ ) ∈ C M × K \mathbf{A}(\boldsymbol{\theta}) \in \mathbb{C}^{M \times K} A(θ)∈CM×K:阵列流形矩阵(steering matrix)
S ∈ C K × L \mathbf{S} \in \mathbb{C}^{K \times L} S∈CK×L:信号波形矩阵
N ∈ C M × L \mathbf{N} \in \mathbb{C}^{M \times L} N∈CM×L:加性噪声矩阵
ULA的导向矢量定义为:
a ( θ ) = 1 M 1 , e j 2 π d λ sin θ , ... , e j 2 π d λ ( M − 1 ) sin θ ⊤ \mathbf{a}(\theta) = \frac{1}{\sqrt{M}}\left1,\\ e\^{j2\\pi\\frac{d}{\\lambda}\\sin\\theta},\\ \\ldots,\\ e\^{j2\\pi\\frac{d}{\\lambda}(M-1)\\sin\\theta}\\right^\top a(θ)=M 11, ej2πλdsinθ, ..., ej2πλd(M−1)sinθ⊤
令 d / λ = 0.5 d/\lambda = 0.5 d/λ=0.5,导向矢量可简写为:
a ( θ ) = 1 M 1 , e j π sin θ , ... , e j π ( M − 1 ) sin θ ⊤ \mathbf{a}(\theta) = \frac{1}{\sqrt{M}}\left1,\\ e\^{j\\pi \\sin\\theta},\\ \\ldots,\\ e\^{j\\pi (M-1)\\sin\\theta}\\right^\top a(θ)=M 11, ejπsinθ, ..., ejπ(M−1)sinθ⊤
阵列流形矩阵为各方向导向矢量的拼接:
A ( θ ) = a ( θ 1 ) , a ( θ 2 ) , ... , a ( θ K ) \mathbf{A}(\boldsymbol{\theta}) = \\mathbf{a}(\\theta_1),\\ \\mathbf{a}(\\theta_2),\\ \\ldots,\\ \\mathbf{a}(\\theta_K) A(θ)=a(θ1), a(θ2), ..., a(θK)
f m = 1 − M f + 1 − 2 m M 0 , m = 1 , 2 , ... , M f f_m = 1 - \frac{M_f + 1 - 2m}{M_0},\quad m = 1, 2, \ldots, M_f fm=1−M0Mf+1−2m,m=1,2,...,Mf
其中 M f M_f Mf 是频率子带数量, M 0 M_0 M0 是参考频率参数。第 m m m 个频率子带的导向矢量为:
a m ( ω ) = 1 N 1 , e j 2 π f m ω , ... , e j 2 π f m ( N − 1 ) ω ⊤ \mathbf{a}_m(\omega) = \frac{1}{\sqrt{N}}\left1,\\ e\^{j2\\pi f_m \\omega},\\ \\ldots,\\ e\^{j2\\pi f_m (N-1)\\omega}\\right^\top am(ω)=N 11, ej2πfmω, ..., ej2πfm(N−1)ω⊤
3. GRAIL-SCML 算法详解
GRAIL-SCML 的全称揭示了其核心设计思想:
缩写
全称
含义
G
Geometry-Regularized
几何正则化
RA
Regularized Adaptive
正则化自适应
IL
Integrated Likelihood
集成似然
SCML
Structure-Constrained Maximum Likelihood
结构约束最大似然
整个算法由三个核心模块 和两种关键技术组成。
3.1 波形域确定性最大似然(DML)拟合
给定角度 θ \boldsymbol{\theta} θ,信号波形的最小二乘估计为:
S ^ = ( A H A ) − 1 A H Y \hat{\mathbf{S}} = (\mathbf{A}^H\mathbf{A})^{-1}\mathbf{A}^H\mathbf{Y} S^=(AHA)−1AHY
因此确定性最大似然的代价函数为:
J DML ( θ ) = ∥ Y − P A Y ∥ F 2 max ( ∥ Y ∥ F 2 , ε ) J_{\text{DML}}(\boldsymbol{\theta}) = \frac{\|\mathbf{Y} - \mathbf{P}_A\mathbf{Y}\|_F^2}{\max(\|\mathbf{Y}\|_F^2,\ \varepsilon)} JDML(θ)=max(∥Y∥F2, ε)∥Y−PAY∥F2
其中 P A = A ( A H A ) − 1 A H \mathbf{P}_A = \mathbf{A}(\mathbf{A}^H\mathbf{A})^{-1}\mathbf{A}^H PA=A(AHA)−1AH 是投影矩阵。该代价函数衡量阵列流形张成空间对接收数据的拟合程度------值越小,说明选定的角度越接近真实值。
直觉理解 :DML 试图找到一组角度,使得信号在该方向的投影尽可能"解释"所有观测数据。
3.2 协方差域拟合
仅依赖波形域拟合在样本稀少时不够鲁棒。GRAIL-SCML 引入协方差域拟合作为互补信息源。
首先估计样本协方差矩阵:
R ^ = 1 L Y Y H \hat{\mathbf{R}} = \frac{1}{L}\mathbf{Y}\mathbf{Y}^H R^=L1YYH
然后应用前向-后向平均:
R ^ FB = 1 2 ( R ^ + J R ^ ∗ J ) \hat{\mathbf{R}}_{\text{FB}} = \frac{1}{2}\left(\hat{\mathbf{R}} + \mathbf{J}\hat{\mathbf{R}}^*\mathbf{J}\right) R^FB=21(R^+JR^∗J)
R ~ = ( 1 − α ) R ^ FB + α ⋅ tr ( R ^ FB ) M I \tilde{\mathbf{R}} = (1 - \alpha)\hat{\mathbf{R}}{\text{FB}} + \alpha\cdot\frac{\text{tr}(\hat{\mathbf{R}}{\text{FB}})}{M}\mathbf{I} R~=(1−α)R^FB+α⋅Mtr(R^FB)I
协方差域拟合的思想是:将估计的协方差矩阵分解为信号分量和噪声分量:
R = ∑ k = 1 K p k a ( θ k ) a H ( θ k ) + p K + 1 I \mathbf{R} = \sum_{k=1}^{K} p_k \mathbf{a}(\theta_k)\mathbf{a}^H(\theta_k) + p_{K+1}\mathbf{I} R=k=1∑Kpka(θk)aH(θk)+pK+1I
通过求解如下非负最小二乘问题获得功率系数:
min p ≥ 0 ∥ Re { B } Im { B } p − Re { r } Im { r } ∥ 2 2 \min_{\mathbf{p} \geq \mathbf{0}} \left\|\begin{bmatrix}\text{Re}\{\mathbf{B}\} \\ \text{Im}\{\mathbf{B}\}\end{bmatrix} \mathbf{p} - \begin{bmatrix}\text{Re}\{\mathbf{r}\} \\ \text{Im}\{\mathbf{r}\}\end{bmatrix}\right\|_2^2 p≥0min Re{B}Im{B}p−Re{r}Im{r} 22
其中 r = vec ( R ~ ) \mathbf{r} = \text{vec}(\tilde{\mathbf{R}}) r=vec(R~), B \mathbf{B} B 的第 k k k 列为 vec ( a ( θ k ) a H ( θ k ) ) \text{vec}(\mathbf{a}(\theta_k)\mathbf{a}^H(\theta_k)) vec(a(θk)aH(θk))。协方差拟合代价为:
J COV ( θ ) = ∥ R ~ − R ^ fit ∥ F 2 max ( ∥ R ~ ∥ F 2 , ε ) J_{\text{COV}}(\boldsymbol{\theta}) = \frac{\|\tilde{\mathbf{R}} - \hat{\mathbf{R}}_{\text{fit}}\|_F^2}{\max(\|\tilde{\mathbf{R}}\|_F^2,\ \varepsilon)} JCOV(θ)=max(∥R~∥F2, ε)∥R~−R^fit∥F2
J sep ( θ ) = 1 K − 1 ∑ k = 2 K 1 max ( θ k − θ k − 1 ) 2 , ε J_{\text{sep}}(\boldsymbol{\theta}) = \frac{1}{K-1}\sum_{k=2}^{K} \frac{1}{\max(\theta_k - \theta_{k-1})^2,\ \varepsilon} Jsep(θ)=K−11k=2∑Kmax(θk−θk−1)2, ε1
当相邻角度过于接近时,该惩罚项急剧增大,推动角度分离。
(2)边界惩罚项
J bound ( θ ) = ∑ k ( θ min − θ k ) 2 ⋅ I θ k \< θ min + ( θ k − θ max ) 2 ⋅ I θ k \> θ max J_{\text{bound}}(\boldsymbol{\theta}) = \sum_{k} \left(\\theta_{\\min}-\\theta_k)\^2\\cdot\\mathbb{I}_{\\theta_k\<\\theta_{\\min}} + (\\theta_k-\\theta_{\\max})\^2\\cdot\\mathbb{I}_{\\theta_k\>\\theta_{\\max}}\\right Jbound(θ)=k∑(θmin−θk)2⋅Iθk\<θmin+(θk−θmax)2⋅Iθk\>θmax
算法: GRAIL-SCML (窄带)
输入: 阵列数据 Y, 源数量 K, 配置参数 cfg
输出: DOA估计 θ̂
1. 初始化候选集 C ← ∅
2. for 每个初始化器:
3. θ_init ← initializer(Y, K, cfg)
4. if θ_init 有效: C ← C ∪ {θ_init}
5. end for
6. C ← 去重(C, 容差=0.25°)
7.
8. bestCost ← +∞, bestθ ← C[1]
9. for each θ_cand in C (最多 maxInitializers 个):
10. θ_refined ← NelderMead(J(·), θ_cand)
11. cost ← J(θ_refined)
12. if cost < bestCost:
13. bestCost ← cost, bestθ ← θ_refined
14. end for
15.
16. 返回 sort(bestθ)
4. 宽带扩展:WB-GRAIL-SCML
宽带 GRAIL-SCML 将窄带框架扩展到多频带场景,命名为 WB-GRAIL-SCML。
4.1 核心差异
维度
窄带 GRAIL-SCML
宽带 WB-GRAIL-SCML
数据
单频阵列数据 Y \mathbf{Y} Y
多频阵列数据 { Y m } m = 1 M f \{\mathbf{Y}m\}{m=1}^{M_f} {Ym}m=1Mf
导向矢量
a ( θ ) \mathbf{a}(\theta) a(θ)
a m ( ω ) \mathbf{a}_m(\omega) am(ω)
搜索空间
θ \theta θ (角度/度)
ω \omega ω (归一化频率)
DML代价
单频DML
各子带DML平均
COV代价
单频COV
各子带COV平均
初始化器
9种窄带方法
4种宽带方法 + Seq-WB
4.2 宽带代价函数
J ˉ DML ( ω ) = 1 M f ∑ m = 1 M f ∥ Y m − P A m Y m ∥ F 2 max ( ∥ Y m ∥ F 2 , ε ) \bar{J}{\text{DML}}(\boldsymbol{\omega}) = \frac{1}{M_f}\sum{m=1}^{M_f} \frac{\|\mathbf{Y}m - \mathbf{P}{A_m}\mathbf{Y}_m\|_F^2}{\max(\|\mathbf{Y}_m\|_F^2,\ \varepsilon)} JˉDML(ω)=Mf1m=1∑Mfmax(∥Ym∥F2, ε)∥Ym−PAmYm∥F2
J ˉ COV ( ω ) = 1 M f ∑ m = 1 M f ∥ R ~ m − R ^ fit , m ∥ F 2 max ( ∥ R ~ m ∥ F 2 , ε ) \bar{J}{\text{COV}}(\boldsymbol{\omega}) = \frac{1}{M_f}\sum{m=1}^{M_f} \frac{\|\tilde{\mathbf{R}}m - \hat{\mathbf{R}}{\text{fit},m}\|_F^2}{\max(\|\tilde{\mathbf{R}}_m\|_F^2,\ \varepsilon)} JˉCOV(ω)=Mf1m=1∑Mfmax(∥R~m∥F2, ε)∥R~m−R^fit,m∥F2