Off-Grid Direction of Arrival Estimation Using Sparse Bayesian Inference (II)
IV. NUMERICAL SIMULATIONS
在本节中,我们展示了DOA估计的数值模拟结果。我们考虑一个由 M=8M=8M=8 个传感器组成的标准均匀线性阵列(ULA)。原点设置在ULA的中点,以减小(2)中的近似误差。因此我们有 Amn=exp{jπ(m−M+12)cosθ~n}A_{mn} = \exp\left\{j\pi(m - \frac{M+1}{2})\cos\tilde{\theta}_n\right\}Amn=exp{jπ(m−2M+1)cosθ~n} 和 Bmn=−jπ(m−M+12)sinθ~n⋅AmnB_{mn} = -j\pi(m - \frac{M+1}{2})\sin\tilde{\theta}_n \cdot A_{mn}Bmn=−jπ(m−2M+1)sinθ~n⋅Amn,其中 m=1,⋯ ,Mm=1, \cdots, Mm=1,⋯,M,n=1,⋯ ,Nn=1, \cdots, Nn=1,⋯,N,且 j=−1j=\sqrt{-1}j=−1。我们考虑一个均匀采样网格 {0∘,r,2r,⋯ ,180∘}\{0^\circ, r, 2r, \cdots, 180^\circ\}{0∘,r,2r,⋯,180∘},其中 rrr 是网格间隔。在MMV情况下,快照数设置为 T=200T=200T=200。在MMV情况下,我们只考虑OGSBI-SVD,因为根据经验观察,与OGSBI相比,它收敛更快、更准确。
在OGSBI-SVD中,我们设置 ρ=0.01\rho=0.01ρ=0.01 和 c=d=1×10−4c=d=1 \times 10^{-4}c=d=1×10−4。我们初始化 α0=100K∑t=1KVar{YSV}t\alpha_0 = \frac{100K}{\sum_{t=1}^K \text{Var}\{\mathbf{Y}_{SV}\}_t}α0=∑t=1KVar{YSV}t100K,α=1MK∑t=1K∣AH(YSV)t∣\boldsymbol{\alpha} = \frac{1}{MK}\sum_{t=1}^K|\mathbf{A}^H(\mathbf{Y}_{SV})_t|α=MK1∑t=1K∣AH(YSV)t∣ 和 β=0\boldsymbol{\beta}=0β=0,其中 ∣⋅∣|\cdot|∣⋅∣ 逐元素作用。我们设置 τ=10−3\tau = 10^{-3}τ=10−3 并且最大迭代次数为1000。
我们注意到,所提出的算法对 α0\alpha_0α0、α\boldsymbol{\alpha}α 和 β\boldsymbol{\beta}β 的初始化不敏感,如果 ρ\rhoρ 不是太大,对 ρ\rhoρ 也不敏感。正如[12]中所报道的,在某些情况下,对 α0\alpha_0α0 的估计可能不准确。但我们观察到这对DOA估计的结果影响极小。详细的讨论请读者参考[18]。所有实验都在一台配有Windows XP系统和3 GHz CPU的个人电脑上,使用Matlab v.7.7.0进行。Matlab代码已在线提供,网址为 https://sites.google.com/site/zaiyang0248/publication 。
A. Comparison With l1l_1l1-SVD
我们将 [5] 中的 l1l_1l1-SVD 作为基于在网格模型的代表性方法,并就均方误差(MSE)和计算时间方面,在不同网格间隔 rrr 和信噪比 SNR 下将其与 OGSBI-SVD 进行比较。
在我们的实验中,我们考虑 SNR = 10 和 0 dB,以及 rrr = 0.5°、1°、2° 和 4°。在每次试验中,我们在 [58°, 62°] 和 [86°, 90°] 的区间内分别均匀地生成 K=2K=2K=2 个信源 θ1,θ2\theta_1, \theta_2θ1,θ2。在展示我们的比较结果之前,我们使用柯尔莫哥洛夫-斯米尔诺夫检验(Kolmogorov-Smirnov test)表明,在所有场景中,(4)中的总噪声(测量噪声加近似误差)以至少94%的概率服从高斯分布。这从经验上验证了离网格模型。对于每种(SNR, r)组合,MSE 在 R=200R=200R=200 次试验中取平均:MSE=1RK∑i=1R∑k=1K(θki−θ^ki)2MSE = \frac{1}{RK}\sum_{i=1}^R \sum_{k=1}^K (\theta_k^i - \hat{\theta}_k^i)^2MSE=RK1∑i=1R∑k=1K(θki−θ^ki)2,其中上标 iii 指的是第 iii 次试验。
应当注意,无论信噪比如何,l1l_1l1-SVD 的 MSE 存在一个下界,因为 l1l_1l1-SVD 能得到的最佳DOA估计是距离真实DOA最近的网格点。事实上,这个下界是所有基于在网格模型的方法所共有的,包括CS-MUSIC、SA-MUSIC和[13]中的算法。
通过假设真实DOA是均匀分布的,该下界可以很容易地计算出为 LB=r212LB = \frac{r^2}{12}LB=12r2。³
图1展示了我们的实验结果。在所有考虑的场景中,OGSBI-SVD 都比 l1l_1l1-SVD 具有更准确的DOA估计。此外,在大多数场景中,OGSBI-SVD 可以超越 l1l_1l1-SVD 的下界。在较高信噪比或较粗采样网格的情况下,这种现象尤为显著,因为在这些情况下,在网格模型描述真实观测模型的性能较差,而本文中使用的离网格模型在很大程度上克服了这个问题。
表 I 展示了 OGSBI-SVD 和 l1l_1l1-SVD 在不同信噪比 SNR 和网格间隔 rrr 下的平均 CPU 时间(在我们的案例中,不包括耗时约 0.003s 的 SVD 过程)。⁴ 对于 OGSBI-SVD 和 l1l_1l1-SVD 两种算法,当网格变粗时,它们的 CPU 时间都会减少。在 r=2∘r = 2^\circr=2∘ 和 4∘4^\circ4∘ 时,OGSBI-SVD 比 l1l_1l1-SVD 更快。所提出方法的一个缺点是在密集采样网格的情况下速度较慢。在实践中,我们建议为所提出的算法使用 r=2∘r = 2^\circr=2∘ 的较粗网格,因为它能给出既准确又快速的DOA估计。
注 2:
- 我们选择 l1l_1l1 优化进行比较,因为它通常被认为在稀疏恢复方面有更好的理论保证,尽管在我们的设置中(两个信源被很好地分离开)一些更简单的CS求解器,例如OMP [22],也可能成功,并且在这类低维问题中计算成本更低。对于间隔很近的信源的情况,读者可以参考 [18] 获取更多关于 l1l_1l1 优化和所提方法的仿真结果。
- 所提出算法的另一个优点是,与 l1l_1l1-SVD 相比,它具有更小的DOA估计偏差 [18]。
B. Comparison With STLS
离网格模型最近已在 [17] 中被用于DOA估计。在 [17] 中,提出了一种稀疏总最小二乘(sparse total least-squares,STLS)方法。在SMV情况下,STLS旨在解决以下非凸优化问题:
minx,β{∣∣β∣∣22+∣∣y−(A+Bdiag(β))x∣∣22+λ∣∣x∣∣1}(27) \min_{\mathbf{x},\boldsymbol{\beta}} \{ ||\boldsymbol{\beta}||_2^2 + ||\mathbf{y} - (\mathbf{A}+\mathbf{B}\text{diag}(\boldsymbol{\beta}))\mathbf{x}||_2^2 + \lambda ||\mathbf{x}||_1 \} \tag{27} x,βmin{∣∣β∣∣22+∣∣y−(A+Bdiag(β))x∣∣22+λ∣∣x∣∣1}(27)
其中 x\mathbf{x}x 是感兴趣的稀疏源信号,y\mathbf{y}y 是带噪声的测量值,A\mathbf{A}A、B\mathbf{B}B 和 β\boldsymbol{\beta}β 与离网格模型中的定义相同,并且 λ>0\lambda > 0λ>0 是一个正则化参数。
从贝叶斯角度来看,这等同于在假设测量噪声为白高斯噪声、x\mathbf{x}x 服从拉普拉斯分布、β\boldsymbol{\beta}β 服从高斯分布的条件下,寻求 (x\mathbf{x}x, β\boldsymbol{\beta}β) 的MAP解。值得注意的是,最后这个关于 β\boldsymbol{\beta}β 的高斯假设无法恰当地捕捉 β\boldsymbol{\beta}β 的属性。
在 [17] 中,(27) 中的问题是通过一种交替方法来求局部最小值的,即,在固定 β\boldsymbol{\beta}β 的情况下交替求解 x\mathbf{x}x(这需要解一个 l1l_1l1-正则化最小二乘问题),以及在固定 x\mathbf{x}x 的情况下求解 β\boldsymbol{\beta}β(这需要解一个 NNN 维线性系统)。
如 [5] 中所论证的,OGSBI-SVD中使用的SVD可以减轻MMV情况下对测量噪声的敏感性,而 [17] 中并未使用SVD。为了进行公平比较,在将我们的方法与STLS比较时,我们只考虑SMV情况,尽管对于MMV情况的STLS也可以构建类似的问题。在我们的OGSBI实现中,我们初始化 α0=100Var{y}\alpha_0 = \frac{100}{Var\{y\}}α0=Var{y}100 和 α=1MK∣AHy∣\boldsymbol{\alpha} = \frac{1}{MK}|\mathbf{A}^H y|α=MK1∣AHy∣。其余设置与MMV情况下的OGSBI-SVD相同。
在我们的实验中,我们考虑两个DOA,分别为 63.2∘63.2^{\circ}63.2∘ 和 90.3∘90.3^{\circ}90.3∘,信噪比 SNR = 20 dB。我们为OGSBI和STLS都考虑了 r=2∘r = 2^{\circ}r=2∘ 和 4∘4^{\circ}4∘ 的情况。(27)中的参数 λ\lambdaλ 被我们调整到最佳,以使STLS达到最小的误差。表II展示了STLS和OGSBI在 R=200R=200R=200 次试验中的平均MSE和CPU时间。在两种场景中,OGSBI都获得了比STLS更准确的DOA估计,并且计算时间显著减少。我们还注意到,使用最先进的CS算法来加速STLS是可能的。
- 两种等价视角的定义
问题可通过两种核心视角描述,二者存在内在等价性:
+ 优化视角:核心为最小化成本函数(公式27),表达式为:
minx,β{∣∣β∣∣22+∣∣y−(A+Bdiag(β))x∣∣22+λ∣∣x∣∣1} \min_{\mathbf{x},\boldsymbol{\beta}} \{ ||\boldsymbol{\beta}||_2^2 + ||\mathbf{y} - (\mathbf{A}+\mathbf{B}\text{diag}(\boldsymbol{\beta}))\mathbf{x}||_2^2 + \lambda ||\mathbf{x}||_1 \} x,βmin{∣∣β∣∣22+∣∣y−(A+Bdiag(β))x∣∣22+λ∣∣x∣∣1}
- 贝叶斯视角:核心为最大后验概率(MAP)估计,即寻找给定数据y\mathbf{y}y时,参数(x,β)(\mathbf{x}, \boldsymbol{\beta})(x,β)最可能的取值。- 核心关联:从后验概率到负对数形式的转化
根据贝叶斯定理,后验概率p(x,β∣y)∝p(y∣x,β)⋅p(x)⋅p(β)p(\mathbf{x}, \boldsymbol{\beta} | \mathbf{y}) \propto p(\mathbf{y} | \mathbf{x}, \boldsymbol{\beta}) \cdot p(\mathbf{x}) \cdot p(\boldsymbol{\beta})p(x,β∣y)∝p(y∣x,β)⋅p(x)⋅p(β)。
最大化后验概率等价于最大化其对数形式,而对数的单调性与加法转化特性,进一步等价于最小化其负对数形式:
minx,β[−logp(y∣x,β)−logp(x)−logp(β)] \min_{\mathbf{x},\boldsymbol{\beta}} \left[ -\log p(\mathbf{y} | \mathbf{x}, \boldsymbol{\beta}) - \log p(\mathbf{x}) - \log p(\boldsymbol{\beta}) \right] x,βmin[−logp(y∣x,β)−logp(x)−logp(β)]- 概率假设与成本函数项的一一对应
通过三个关键概率假设,可建立贝叶斯视角与优化视角的具体对应关系:
- 高斯噪声假设 ⟹ \implies⟹ 数据拟合项
假设测量噪声服从高斯分布,则负对数似然−logp(y∣x,β)-\log p(\mathbf{y} | \mathbf{x}, \boldsymbol{\beta})−logp(y∣x,β)正比于误差的二范数平方,对应成本函数中的数据拟合项:
−logp(y∣x,β)∝∣∣y−(A+Bdiag(β))x∣∣22 -\log p(\mathbf{y} | \mathbf{x}, \boldsymbol{\beta}) \propto ||\mathbf{y} - (\mathbf{A}+\mathbf{B}\text{diag}(\boldsymbol{\beta}))\mathbf{x}||_2^2 −logp(y∣x,β)∝∣∣y−(A+Bdiag(β))x∣∣22- x\mathbf{x}x 的拉普拉斯先验假设 ⟹ \implies⟹ 稀疏正则项
假设稀疏信号x\mathbf{x}x服从拉普拉斯先验,则负对数先验概率−logp(x)-\log p(\mathbf{x})−logp(x)正比于x\mathbf{x}x的一范数,对应成本函数中的稀疏正则项:
−logp(x)∝λ∣∣x∣∣1 -\log p(\mathbf{x}) \propto \lambda ||\mathbf{x}||_1 −logp(x)∝λ∣∣x∣∣1- β\boldsymbol{\beta}β 的高斯先验假设 ⟹ \implies⟹ 偏移量正则项
假设偏移量 β\boldsymbol{\beta}β 服从高斯先验,则负对数先验概率−logp(β)-\log p(\boldsymbol{\beta})−logp(β)正比于β\boldsymbol{\beta}β的二范数平方,对应成本函数中的偏移量正则项:
−logp(β)∝∣∣β∣∣22 -\log p(\boldsymbol{\beta}) \propto ||\boldsymbol{\beta}||_2^2 −logp(β)∝∣∣β∣∣22- 结论:两种视角的数学等价性
将贝叶斯视角下的三个负对数项相加,可完整重构优化视角下的成本函数:
minx,β{∣∣β∣∣22+∣∣y−(A+Bdiag(β))x∣∣22+λ∣∣x∣∣1}=minx,β[−logp(y∣x,β)−logp(x)−logp(β)] \min_{\mathbf{x},\boldsymbol{\beta}} \{ ||\boldsymbol{\beta}||_2^2 + ||\mathbf{y} - (\mathbf{A}+\mathbf{B}\text{diag}(\boldsymbol{\beta}))\mathbf{x}||_2^2 + \lambda ||\mathbf{x}||_1 \} = \min_{\mathbf{x},\boldsymbol{\beta}} \left[ -\log p(\mathbf{y} | \mathbf{x}, \boldsymbol{\beta}) - \log p(\mathbf{x}) - \log p(\boldsymbol{\beta}) \right] x,βmin{∣∣β∣∣22+∣∣y−(A+Bdiag(β))x∣∣22+λ∣∣x∣∣1}=x,βmin[−logp(y∣x,β)−logp(x)−logp(β)]
因此,在文中三个概率假设下,求解STLS优化问题与寻求MAP解在数学上完全等价。
V. CONCLUSION
在本文中,我们研究了[17]中首次提出的离网格DOA估计模型,该模型用于减少因连续范围离散化而引起的建模误差。我们从贝叶斯角度提出了一种基于离网格模型的算法,该算法同时适用于单快照和多快照情况。我们利用一种基于子空间的想法来降低信号恢复过程的计算复杂度和对噪声的敏感性。
我们通过仿真说明,所提出的方法优于标准的CS方法,因为后者的性能受到其内在的标准在网格模型(on-grid model)的限制。它也比[17]中基于离网格模型的算法更准确。
所提出算法的一个缺点是在密集采样网格的情况下速度较慢,不过可以采用更粗糙的网格来获得准确而快速的DOA估计。未来的一个工作是开发我们算法的快速版本。在这项工作之后,我们在[24]中表明,l1l_1l1 优化也适用于离网格DOA估计问题,并且在某些条件下也提供了性能保证。
VI. 收敛性证明
- 第一步:建立核心等式
证明始于一个巧妙的恒等变换。对于任意的参数 θ\thetaθ 和隐变量 ZZZ,我们有:
logP(X∣θ)=logP(X,Z∣θ)−logP(Z∣X,θ) \log P(X|\theta) = \log P(X, Z|\theta) - \log P(Z|X, \theta) logP(X∣θ)=logP(X,Z∣θ)−logP(Z∣X,θ)
这个式子只是条件概率公式 P(X,Z∣θ)=P(Z∣X,θ)P(X∣θ)P(X,Z|\theta) = P(Z|X,\theta)P(X|\theta)P(X,Z∣θ)=P(Z∣X,θ)P(X∣θ) 的简单变形。
接下来,我们在等式两边同时取关于后验分布 P(Z∣X,θ(t))P(Z|X, \theta^{(t)})P(Z∣X,θ(t)) 的期望(这里的 θ(t)\theta^{(t)}θ(t) 是我们上一步迭代得到的参数)。
- 等式左边: 因为 logP(X∣θ)\log P(X|\theta)logP(X∣θ) 与隐变量 ZZZ 无关,所以对它求期望,结果还是它本身。
- 等式右边: 展开为两项期望的差。
这样我们就得到了一个关键的分解式:
logP(X∣θ)=EZ∣X,θ(t)[logP(X,Z∣θ)]⏟定义为 Q(θ,θ(t))−EZ∣X,θ(t)[logP(Z∣X,θ)]⏟我们暂时称之为 H(θ,θ(t)) \log P(X|\theta) = \underbrace{\mathbb{E}_{Z|X,\theta^{(t)}}[\log P(X, Z|\theta)]}_{\text{定义为 } Q(\theta, \theta^{(t)})} - \underbrace{\mathbb{E}_{Z|X,\theta^{(t)}}[\log P(Z|X, \theta)]}_{\text{我们暂时称之为 } H(\theta, \theta^{(t)})} logP(X∣θ)=定义为 Q(θ,θ(t))EZ∣X,θ(t)[logP(X,Z∣θ)]−我们暂时称之为 H(θ,θ(t))EZ∣X,θ(t)[logP(Z∣X,θ)]
其中,Q(θ,θ(t))Q(\theta, \theta^{(t)})Q(θ,θ(t)) 就是我们在E-步中计算和在M-步中要最大化的Q函数。
-
第二步:分析两次迭代的似然函数之差
为了证明似然函数是不减的,我们来考察两次迭代之间的差值:
logP(X∣θ(t+1))−logP(X∣θ(t)) \log P(X|\theta^{(t+1)}) - \log P(X|\theta^{(t)}) logP(X∣θ(t+1))−logP(X∣θ(t))
利用上面的核心等式,这个差值可以写为:
[Q(θ(t+1),θ(t))−Q(θ(t),θ(t))]−[H(θ(t+1),θ(t))−H(θ(t),θ(t))] [Q(\theta^{(t+1)}, \theta^{(t)}) - Q(\theta^{(t)}, \theta^{(t)})] - [H(\theta^{(t+1)}, \theta^{(t)}) - H(\theta^{(t)}, \theta^{(t)})] [Q(θ(t+1),θ(t))−Q(θ(t),θ(t))]−[H(θ(t+1),θ(t))−H(θ(t),θ(t))]
现在,我们只需要分别证明第一部分[...]
是非负的,第二部分[...]
是非正的,就能完成证明。 -
第三步:分析第一部分 (Q函数的变化)
根据M-步的定义,我们选择的 θ(t+1)\theta^{(t+1)}θ(t+1) 正是使 Q(θ,θ(t))Q(\theta, \theta^{(t)})Q(θ,θ(t)) 最大的那个 θ\thetaθ:
θ(t+1)=argmaxθQ(θ,θ(t)) \theta^{(t+1)} = \arg\max_{\theta} Q(\theta, \theta^{(t)}) θ(t+1)=argθmaxQ(θ,θ(t))
这意味着,新的 Q 函数值一定大于等于旧的 Q 函数值:
Q(θ(t+1),θ(t))≥Q(θ(t),θ(t)) Q(\theta^{(t+1)}, \theta^{(t)}) \ge Q(\theta^{(t)}, \theta^{(t)}) Q(θ(t+1),θ(t))≥Q(θ(t),θ(t))
所以,第一部分 [Q(… )−Q(… )][Q(\dots) - Q(\dots)][Q(…)−Q(…)] 必然大于等于0。 -
第四步:分析第二部分 (KL散度的出现)
现在我们来看第二部分 [H(… )−H(… )][H(\dots) - H(\dots)][H(…)−H(…)]。它的展开形式是:
EZ∣X,θ(t)[logP(Z∣X,θ(t+1))]−EZ∣X,θ(t)[logP(Z∣X,θ(t))] \mathbb{E}_{Z|X,\theta^{(t)}}[\log P(Z|X, \theta^{(t+1)})] - \mathbb{E}_{Z|X,\theta^{(t)}}[\log P(Z|X, \theta^{(t)})] EZ∣X,θ(t)[logP(Z∣X,θ(t+1))]−EZ∣X,θ(t)[logP(Z∣X,θ(t))]
利用对数的性质 loga−logb=log(a/b)\log a - \log b = \log(a/b)loga−logb=log(a/b),上式可以合并为:
EZ∣X,θ(t)[logP(Z∣X,θ(t+1))P(Z∣X,θ(t))] \mathbb{E}_{Z|X,\theta^{(t)}}\left[ \log \frac{P(Z|X, \theta^{(t+1)})}{P(Z|X, \theta^{(t)})} \right] EZ∣X,θ(t)[logP(Z∣X,θ(t))P(Z∣X,θ(t+1))]
这正是负的KL散度。KL散度的定义是 DKL(P∣∣Q)=EP[logPQ]D_{KL}(P||Q) = \mathbb{E}_{P}[\log \frac{P}{Q}]DKL(P∣∣Q)=EP[logQP]。
所以,上式等于:
−DKL(P(Z∣X,θ(t))∣∣P(Z∣X,θ(t+1))) -D_{KL}\left( P(Z|X, \theta^{(t)}) || P(Z|X, \theta^{(t+1)}) \right) −DKL(P(Z∣X,θ(t))∣∣P(Z∣X,θ(t+1)))
根据相对熵(KL散度)的性质,KL散度永远大于等于0 (DKL≥0D_{KL} \ge 0DKL≥0)。因此,负的KL散度必然小于等于0。 -
第五步:得出结论
我们回到第二步的差值表达式:
logP(X∣θ(t+1))−logP(X∣θ(t))=[Q(… )−Q(… )]⏟≥0−[H(… )−H(… )]⏟≤0 \log P(X|\theta^{(t+1)}) - \log P(X|\theta^{(t)}) = \underbrace{[Q(\dots) - Q(\dots)]}_{\ge 0} - \underbrace{[H(\dots) - H(\dots)]}_{\le 0} logP(X∣θ(t+1))−logP(X∣θ(t))=≥0[Q(…)−Q(…)]−≤0[H(…)−H(…)]
一个非负数减去一个非正数,结果必然是非负数。
因此,我们证明了:
logP(X∣θ(t+1))−logP(X∣θ(t))≥0 \log P(X|\theta^{(t+1)}) - \log P(X|\theta^{(t)}) \ge 0 logP(X∣θ(t+1))−logP(X∣θ(t))≥0
即对数似然函数在EM算法的每次迭代中都是单调不减的,从而保证了算法的收敛性。
VII. Code
- 初始化阶段
- 从输入的
paras
结构体中提取测量数据Y
、字典矩阵A
、导数矩阵B
及其他算法控制参数 - 将输入的初始噪声方差
sigma2
转换为噪声精度alpha0
- 根据是否已知噪声方差,设置
alpha0
的伽马先验分布参数a
和b
- 确定信源数量
K
,并为提高计算效率预先计算B' * B
-
EM 迭代主循环
算法进入主循环,交替执行 E-步 和 M-步 直至收敛-
2.1 E-步 (Expectation Step): 计算信号后验分布
- 根据当前估计的离网格参数
beta
,构建完整的观测矩阵Phi
- 应用 Woodbury矩阵恒等式 来高效地计算信号的后验协方差矩阵
Sigma
(Σ
) - 根据公式(15),计算信号的后验均值矩阵
mu
(μ
)
- 根据当前估计的离网格参数
-
2.2 M-步 (Maximization Step): 更新超参数
利用 E-步 的计算结果来更新所有模型的超参数-
2.2.1 更新 alpha (
α
)
根据公式(17),结合后验均值和方差更新稀疏度参数alpha
-
2.2.2 更新 alpha0 (
α₀
)
根据公式(18),结合当前的残差等信息更新噪声精度alpha0
-
2.2.3 更新 beta (
β
)- 确定活动集: 算法从
alpha
向量中找到最大的K
个值,将这些值对应的索引作为当前迭代的"活动集" - 计算P和v: 仅针对活动集,根据公式(20)和(21) 计算用于
beta
优化的二次型矩阵P
和向量v
- 求解beta: 首先尝试直接计算全局最优解
beta = P⁻¹v
。若该解不满足约束,则切换到坐标下降法,根据公式(25)和(26) 对活动集中的beta
元素进行逐个迭代更新
- 确定活动集: 算法从
-
-
-
收敛判断与终止
- 在每次迭代后,计算
alpha
向量的相对变化量,并与设定的容差tol
比较 - 如果变化量小于容差,或达到最大迭代次数
maxiter
,则算法终止 - 代码还计算了边缘似然函数值
ML
,用于监控算法的收敛性(该值应单调递增)
- 输出结果
- 循环结束后,函数将最终的后验均值
mu
、协方差Sigma
、更新后的参数alpha
和beta
等所有结果打包并返回 - 最终的DOA估计值可由
alpha
峰值对应的网格点角度加上相应的beta
偏移量得到
实际上TSP文章没有给出EM算法收敛性的证明过程