跳到主要内容

2.7 DOA估计性能评价指标与算法实验分析

2.7 DOA 估计性能评价指标与算法实验分析

走到这里,第二章的算法工具箱已经相当丰富:CBF、Capon/MVDR、MUSIC、Root-MUSIC、TLS-ESPRIT,以及处理相干信号的空间平滑变体。每一节都在讲一个算法"自己能做什么",但读者心里可能已经有了一个自然的问题:放在同一个场景下比较,它们之间的差距到底有多大?什么条件下该选哪个?

这正是本节要回答的问题。我们先把"好坏"的度量标准说清楚,再通过三组系统仿真实验把五种算法的性能全貌展示出来,最后整理出一份可以直接用于工程选型的参考指南。

完整的实验代码已集成至 sources/codes/ch2_algorithm_comparison.py,正文中只呈现关键设置和结果分析,有意深入的读者可直接运行该脚本并调整参数探索。


2.7.1 评价指标体系

在开始比较之前,必须先把"用什么尺子量"说清楚。本节使用三个互补的指标,分别考察精度、分辨率和计算代价三个维度。

均方根误差(RMSE) 是精度的核心度量。对 NtrialN_{\text{trial}} 次蒙特卡洛实验,RMSE 定义为:

RMSE=1NtrialKt=1Ntrialk=1K(θ^k(t)θk)2\text{RMSE} = \sqrt{\frac{1}{N_{\text{trial}} \cdot K} \sum_{t=1}^{N_{\text{trial}}} \sum_{k=1}^{K} \left(\hat{\theta}_k^{(t)} - \theta_k\right)^2}

RMSE 越小精度越高。将其与 CRB 对比,可以判断算法距离理论最优有多远。若某次实验算法完全失效(找不到正确峰值),该次产生的异常大误差会拉高 RMSE,因此高失效率往往伴随着 RMSE 的非正常跳升——这正是"阈值效应"在曲线上的体现。

成功分辨概率(PresP_\text{res} 是分辨率的直接度量。定义:若一次试验中算法给出的 KK 个 DOA 估计值,每个与对应真实方向的误差均不超过 Δθ/2\Delta\theta/2Δθ\Delta\theta 为两信源角度间隔),则判定该次"成功分辨"。PresP_\text{res} 是成功次数占总试验次数的比例。

计算复杂度 是工程适用性的指标。各算法主要步骤的复杂度对比如下(II 为谱搜索网格点数,MM 为阵元数,KK 为信源数):

算法协方差估计矩阵求逆/特征分解谱搜索/求解总复杂度
CBFO(M2N)O(M^2 N)O(MI)O(MI)O(M2N+MI)O(M^2N + MI)
CaponO(M2N)O(M^2 N)O(M3)O(M^3)O(M2I)O(M^2 I)O(M2N+M3+M2I)O(M^2N + M^3 + M^2I)
MUSICO(M2N)O(M^2 N)O(M3)O(M^3)O(MI)O(MI)O(M2N+M3+MI)O(M^2N + M^3 + MI)
Root-MUSICO(M2N)O(M^2 N)O(M3)O(M^3)O(M2)O(M^2)O(M2N+M3)O(M^2N + M^3)
TLS-ESPRITO(M2N)O(M^2 N)O(M3)O(M^3)O(K3)O(K^3)O(M2N+M3+K3)O(M^2N + M^3 + K^3)

Root-MUSIC 和 ESPRIT 不需要密集的谱搜索,在 II 较大时具有明显的计算优势。Capon 的谱搜索复杂度高于 MUSIC(O(M2I)O(M^2 I) vs O(MI)O(MI)),因为每个角度都需要完整的矩阵-向量乘法 aHR^1a\mathbf{a}^H\hat{\mathbf{R}}^{-1}\mathbf{a},而预先计算 R^1\hat{\mathbf{R}}^{-1} 可以将其降为 O(MI)O(MI),与 MUSIC 相当。


2.7.2 实验一:RMSE vs SNR——精度与阈值效应

实验设置:8 阵元 ULA,d=0.5λd = 0.5\lambda,两个独立信源 θ=[20°,40°]\boldsymbol{\theta} = [20°, 40°],快拍数 N=200N = 200,SNR 从 10-10 dB 扫描至 2020 dB,每个 SNR 点做 500 次蒙特卡洛。参与比较的算法:CBF、Capon(对角加载 ε=0.01\varepsilon = 0.01)、MUSIC、Root-MUSIC、TLS-ESPRIT,以及 CRB 参考线。

运行 ch2_algorithm_comparison.py --exp 1 可复现完整结果。典型曲线呈现出以下清晰规律。

高 SNR 区间(5\gtrsim 5 dB):MUSIC、Root-MUSIC、TLS-ESPRIT 三条曲线几乎重合,并非常接近 CRB,验证了子空间方法的渐近有效性。Root-MUSIC 通常比标准 MUSIC 略低(消除了离散化误差)。Capon 在此区间比子空间方法高约半个数量级至一个数量级,反映出其分辨率的先天局限——Capon 的精度上限受孔径约束,无法无限逼近 CRB。CBF 与子空间方法之间存在最大的差距,且差距随 SNR 增加而扩大,这是两类方法本质不同的直观呈现。

中等 SNR 区间(00 dB 附近):子空间方法开始显现出"阈值效应"的前兆——RMSE 曲线的斜率开始偏离 CRB 的理想斜率,偶发失败案例增加。Capon 在此区间反而展现出比子空间方法更稳定的表现,RMSE 曲线更平滑,失效率低。这是 Capon 的相对优势区间。

低 SNR 区间(5\lesssim -5 dB):子空间方法相继触发阈值效应,RMSE 急剧跳升,甚至高于 CBF 和 Capon——因为子空间划分的错误比任何旁瓣污染都更具破坏性。CBF 的 RMSE 在低 SNR 下虽然大,但曲线平滑,没有突变,体现了最好的"优雅降级"能力。Capon 的阈值略高于 CBF,但也低于子空间方法,处于中间水平。

工程含义:子空间方法在中高 SNR 下精度远优,但有明确的 SNR 工作下限;Capon 是一个"性能—鲁棒性"的合理折中,适合在 SNR 可能波动且对极限精度要求不苛刻的场合;CBF 是最稳健的兜底方案,适合作为最低 SNR 场景的保障算法。


2.7.3 实验二:RMSE vs 快拍数——数据效率

实验设置:与实验一相同,但固定 SNR = 5 dB,快拍数 NN[20,2000][20, 2000] 对数均匀取 18 个点,每点 500 次蒙特卡洛。

典型规律如下。

快拍数 N<M=8N < M = 8 时,样本协方差矩阵秩不足,子空间方法几乎完全失效,RMSE 极大;Capon 因为矩阵求逆也不稳定(对角加载在此起到保护作用);CBF 受影响最小,依然能给出粗糙但有效的估计。

NN[M,3M][M, 3M] 区间内,子空间方法性能快速改善,Capon 逐渐稳定;各曲线之间的相对顺序与实验一高 SNR 段一致。

N5MN \geq 5M 之后,所有子空间方法 RMSE 开始平行地沿 CRB 下降,斜率约为 1/2-1/2(双对数坐标)。有趣的是,Capon 的斜率也接近 1/2-1/2,但始终维持高于 CRB 的固定偏移量——这个偏移正对应 Capon 的"分辨率天花板"带来的偏差项,快拍数再多也无法消除。

工程含义:在快拍数受限(如脉冲雷达单次照射数据少)的场景下,优先保证 N3MN \geq 3M,否则子空间方法不可靠;若快拍数可以主动设计,增加快拍数对子空间方法的改善比对 CBF/Capon 更显著,性价比更高。


2.7.4 实验三:分辨率概率 vs 角度间隔——超分辨率的直观体现

这一组实验是最能直观彰显"超分辨率"含义的。

实验设置:8 阵元 ULA,SNR = 10 dB,N=200N = 200,两信源均值方向固定在 30°30°,角度间隔 Δθ\Delta\theta2° 扫描至 20°20°,每点 500 次蒙特卡洛,统计成功分辨概率。

典型结果呈现三条清晰的台阶:CBF 的 PresP_\text{res}Δθ14°\Delta\theta \approx 14°(8 阵元 ULA 的瑞利分辨率)以上才接近 1,在此以下迅速跌至 0。Capon 的过渡区间在 7°10°10° 之间,印证了其分辨率约为 CBF 的 2 倍的理论结论。MUSIC、Root-MUSIC、TLS-ESPRIT 在 Δθ4°\Delta\theta \geq 4°5°PresP_\text{res} 即可稳定在 0.9 以上,展现出约为 CBF 3 倍的分辨力提升,真正体现了"超分辨率"的实质。Root-MUSIC 在极小角度间隔(2°4°)时略优于标准 MUSIC,ESPRIT 与 Root-MUSIC 性能相当。

在图上,瑞利分辨率 14°\approx 14° 是一条清晰的分界线:CBF 在这条线右侧才有效,Capon 在约一半处开始生效,而子空间方法远在这条线以内就已经能稳健地分辨两个信源。


2.7.5 五种算法横向对比总结

将三组实验的结论整合为一张参考表:

性能维度CBFCapon/MVDRMUSICRoot-MUSICTLS-ESPRIT
高 SNR 精度差(受傅里叶限制)中等接近 CRB接近 CRB接近 CRB
低 SNR 鲁棒性最强(无阈值崩溃)较强有阈值效应有阈值效应有阈值效应
分辨率14°\approx 14°(瑞利限制)7°\approx 7°(约 2 倍)4°\approx 4°(超分辨率)4°\approx 4°(略优)4°\approx 4°
谱的物理意义真实输出功率近似信源功率无(仅定位)无(仅定位)无(仅定位)
抗强干扰能力差(旁瓣泄漏)强(自适应置零)取决于 SNR取决于 SNR取决于 SNR
快拍不足时最稳健需对角加载N3MN \geq 3MN3MN \geq 3MN3MN \geq 3M
对相干信号性能下降性能下降完全失效完全失效完全失效
配合空间平滑不适用不适用SS-MUSIC ✓SS-Root ✓SS-ESPRIT ✓
需要谱搜索需要需要需要不需要不需要
阵型要求任意阵任意阵任意阵仅 ULA需移不变结构
计算量最低中(需矩阵逆)

2.7.6 工程选型决策指南

这张表没有绝对意义上的"最优",只有在特定约束下的最优选择。几个常见工程场景:

追求极限精度,条件理想(高 SNR、充足快拍、信源独立):Root-MUSIC 或 TLS-ESPRIT,精度相当,ESPRIT 计算更快。

需要实时处理、延迟敏感:TLS-ESPRIT 无需谱搜索,延迟最低,适合雷达实时跟踪。

存在强干扰、但信源分离较开:Capon 的自适应置零能力在此场景有独特优势,尤其当信源数较少、角度间隔大于 Capon 分辨率时。

存在多径/相干信号:子空间方法需先做 FBSS 预处理,再接 MUSIC 或 ESPRIT。Capon 对相干信号的处理比子空间方法稍好(不会完全失效,但仍有偏差),可作为相干场景的辅助验证。

阵型非 ULA:只能使用 CBF、Capon 或标准谱搜索 MUSIC,Root-MUSIC 和 ESPRIT 不适用。

低 SNR 或极少快拍的极端场景:子空间方法均可能触发阈值,CBF 或 Capon(配合对角加载)作为备份更可靠。两者可并行运行,以 CBF/Capon 作为粗估计引导子空间方法做精化。


2.7.7 第二章小结

至此,第二章完整收官。回顾一下这一章走过的七节路:

从特征值分解引出信号子空间与噪声子空间(2.1 节),学会了用 MDL 准则自动估计信源数(2.2 节),系统掌握了 MUSIC 谱搜索与 Root-MUSIC 多项式变体(2.3 节),理解了 ESPRIT 基于旋转不变性的代数求解(2.4 节),在相干信号问题上用空间平滑找到了解法(2.5 节),然后补充了 Capon/MVDR 这一重要的自适应波束形成方法(2.6 节),最后在本节通过系统实验把五种算法的性能全貌展现出来,建立了工程选型的判断框架(2.7 节)。

这些经典方法诞生于 1969—1989 年间,历经半个多世纪依然是 DOA 估计领域不可绕过的基准。它们的价值不仅在于实用,更在于提供了一套清晰的物理直觉和数学框架——子空间正交性、旋转不变性、约束优化——这些思想在第三章的深度学习方法中依然以不同形式回响,是理解数据驱动方法优劣的重要参照。

带着这套经典算法的完整认识,我们继续前行,进入第三章。

📦 本章代码与动手实践

本章所有算法实现与对比实验已集成至:

sources/codes/ch2_algorithm_comparison.py

该脚本在前一版本的基础上新增了 Capon/MVDR 算法(含对角加载),并将其纳入三组对比实验。运行方式不变:

python ch2_algorithm_comparison.py          # 运行全部实验
python ch2_algorithm_comparison.py --exp 1 # 实验一:RMSE vs SNR
python ch2_algorithm_comparison.py --exp 2 # 实验二:RMSE vs 快拍数
python ch2_algorithm_comparison.py --exp 3 # 实验三:分辨率概率
python ch2_algorithm_comparison.py --exp 4 # 演示:空间平滑处理相干信号
python ch2_algorithm_comparison.py --exp 5 # 演示:Capon 三方法空间谱对比

建议完成以下三道动手任务,将本章核心结论从"读懂"变为"验证过的":

任务 A:运行实验一,找到 Capon 和 MUSIC 的 RMSE 曲线的"交叉点"——在哪个 SNR 附近两者精度相当?这个交叉点以下和以上,工程上各应选哪个算法?

任务 B:运行实验三,将阵元数从 8 改为 4,观察所有方法分辨率曲线的整体右移——孔径减半对 CBF、Capon、MUSIC 三者的分辨率影响是否等比例?

任务 C:在实验一的基础上,将 Capon 的对角加载量 ε\varepsilon0.01 改为 0.5,观察 Capon 的 RMSE 曲线如何变化——过大的加载量使 Capon 谱向哪个方向退化?这与 2.6 节的理论分析是否吻合?