基于压缩感知与最大似然函数的DOA估计仿真研究
本项目通过MATLAB平台实现了一套完整的波达方向(DOA)估计仿真系统。研究核心在于结合压缩感知理论的稀疏重构能力与最大似然准则的精确拟合特性,设计并对比了两种改进型定位方案。该仿真能够处理窄带信号在均匀线性阵列(ULA)上的入射角度评估,尤其适用于在低信噪比或采样数受限的条件下提升估计性能。
功能特性
- 双算法性能对比:实现了基于OMP精细化搜索的CS-ML算法与基于交替迭代优化的CS-AMLO算法,对比两者在精度与效率上的差异。
- 多维评估体系:自动生成均方根误差(RMSE)随信噪比(SNR)变化的曲线,提供空间增益谱分析、收敛速度监测以及角度偏差定量分析。
- 高分辨率精细搜索:在压缩感知粗定位的基础上,利用极大似然准则进行步进为0.01度的局部扫描,突破了预设字典密度的限制。
- 交替迭代优化:将复杂的多维极大似然搜索降维为序贯的一维最优化问题,显著降低了运算量。
- 鲁棒性测试:支持蒙特卡洛实验,全面考察算法在不同噪声水平下的统计特性。
运行环境与系统要求
- 软件平台:MATLAB R2016b 及以上版本。
- 核心工具箱:由于采用了内置的最优化函数,需具备 MATLAB 基础运算库及 Optimization Toolbox(用于fminbnd函数)。
- 硬件建议:适用于常规个人电脑,仿真次数较多时(如50次以上蒙特卡洛实验)建议配备主流性能的处理器。
实现逻辑与算法细节
#### 1. 信号模型构建
程序首先建立一个包含12个阵元的均匀线性阵列。信号源根据预设角度生成,通过导向矢量矩阵与零均值复高斯随机信号相乘得到。噪声根据设定的SNR值进行功率量化并叠加。快拍数设置为200,用以模拟真实环境中的接收数据采样。
#### 2. CS-ML-Refine:基于OMP与ML准则的精细化搜索
该方案分为两个阶段:
- 粗定位阶段:利用正交匹配追踪(OMP)的核心思想,通过导向矢量字典与接收信号的相关性扫描,初步确定信号存在的索引位置。
- 精细化搜索阶段:以粗定位结果为中心,在正负1.5度的超小范围内,利用单信号极大似然函数进行极值寻找。该过程不仅提升了精度,还避免了全局最大似然搜索带来的巨大运算开销。
#### 3. CS-AMLO:交替迭代极大似然优化
该方案通过迭代思想逼近克拉美罗下界:
- 初始化:通过计算压缩感知的空间增益谱,利用峰值搜索算法快速锁定初始估计角,并设置了最小角度间隔限制以防止多源相干干扰导致的角度重叠。
- 循环优化:在每次迭代中,固定其他K-1个信源的角度估计值,仅针对当前信源的角度进行一维非线性优化。
- 目标函数:以投影矩阵与协方差矩阵迹的实部作为似然评判标准,通过fminbnd寻找使该损失函数最小的角度。
- 收敛退出:当目标函数的变化量低于1e-5或达到最大迭代次数(10次)时即停止运行,实现了实时性与精确性的平衡。
关键函数功能分析
- 信号生成模块:负责构造导向矢量矩阵A,并依据指定的SNR调整信号与噪声的功率比例,生成模拟接收向量Y。
- 空间谱可视化模块:将压缩感知的初步重构结果转化为dB尺度的增益谱,直观展示算法对信源位置的敏感度。
- RMSE计算逻辑:通过对多次蒙特卡洛实验的数据进行均方根统计,衡量算法在不同信噪比下的稳定性,其结果以对数坐标形式展现。
- 一维搜索器:作为交替迭代法的基础工具,它处理复杂的非线性投影计算,将多维搜索空间降维,是实现低复杂度估计的关键。
仿真输出说明
运行完毕后,程序将自动弹出三组关键结果:
- 左上图:展示了基于压缩感知的初步扫描谱,红色虚线标示真实角度,验证重构的有效性。
- 右上图:展示了交替迭代法的收敛轨迹,反映了算法在迭代过程中的目标函数下降趋势。
- 下方大图:为两种算法在不同SNR下的RMSE对比图,用于对比评估不同策略下的抗噪声能力。
- 命令行窗口:输出在20dB高信噪比条件下的具体估计数值及绝对偏差,用于定量评价精度。