基于广义似然比(GLRT)的未知正弦信号四参数联合估计算法
项目介绍
本项目实现了一种基于广义似然比检验(GLRT)理论的精密信号参数估计算法。该算法专门用于处理含有随机加性高斯白噪声(AWGN)环境下的正弦脉冲信号,能够实现对信号幅度、频率、时间延迟以及初始相位这四个核心参数的联合提取。通过将多维非线性优化问题进行数学降维,算法在保证估计精度的同时降低了计算复杂度,并通过蒙特卡洛仿真验证了估计结果的统计特性。
功能特性
- 四参数联合估计:算法能够同时对信号的幅度(A)、频率(f)、时延(tau)和相位(phi)进行高精度估计。
- 降维搜索策略:通过将线性参数(幅度与相位)转化为闭式解求解,将四维搜索压缩为频率和时延的二维格点搜索,显著提升运算效率。
- 统计性能评估:集成完备的性能评价体系,通过多次蒙特卡洛实验计算各参数在不同信噪比(SNR)下的均方误差(MSE)。
- 理论指标对比:自动计算并对比克拉美罗下界(CRLB),直观展现算法对于理论最优估计性能的逼近程度。
- 全面可视化:生成时域波形重构、GLRT似然能量表面、参数MSE随SNR变化曲线等专业图表。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 基础配置:无需特殊工具箱,核心算法基于线性代数矩阵运算实现。
- 硬件建议:因包含多重循环搜索与蒙特卡洛仿真,建议配备 8GB RAM 及以上的计算环境。
实现逻辑与算法细节
#### 1. 信号模型构建
程序模拟生成受矩形窗调制的正弦信号。在观测时域内,信号仅在指定的时延起始点及脉冲宽度范围内有效。数学模型表示为:s(t) = A * cos(2*pi*f*(t-tau) + phi)。观测模型则叠加了特定功率的加性高斯白噪声。
#### 2. GLRT 核心引擎
算法的核心在于构建广义似然比统计量。对于每一个候选的频率和时延组合,程序执行以下步骤:
- 正交分解:利用三角恒等式将信号分解为包含待求线性系数的余弦基函数与正弦基函数的线性组合。
- 投影能量计算:构建观测矩阵,通过最小二乘法(Least Squares)求解线性系数的极大似然估计值。
- 代价函数:GLRT 统计量最终等价于观测信号在信号子空间上的投影能量,程序遍历定义的参数范围寻找能量最大值对应的索引。
#### 3. 参数解耦提取
- 粗略搜索:在预设的频率和时延网格内进行全局搜索,锁定使似然函数最大的坐标对。
- 线性参数导出:利用最优频率和时延,再次通过最小二乘解析式推导出对应的线性系数。其中幅度通过系数的平方和根值获取,相位通过四象限反正切函数(atan2)计算。
#### 4. 仿真评价体系
- SNR 循环:在 -10dB 到 10dB 的范围内步进改变环境噪声水平。
- 误差统计:对相位误差进行相位折叠处理(2pi模运算),确保在循环相位下的误差统计准确性。
- MSE 分析:计算每一 SNR 等级下的大量独立试验数据,生成误差随信噪比变化的趋势曲线。
使用方法
- 参数配置:在程序初始化区域,用户可根据需要修改采样率(fs)、信号真实参数(f0, A0, tau0等)以及搜索步长。
- 启动执行:直接运行主脚本。
- 结果查看:
- 命令行窗口将实时打印当前处理的 SNR 进度。
- 仿真完成后,命令行将输出真实参数与最高 SNR 下的估计结果对比。
- 自动弹出图形窗口,展示算法的探测性能与代价函数分布情况。
关键实现说明
算法中采用了矩阵求逆(斜杠运算)来解算线性参数,这在数学上等价于将观测信号投影到搜索频率对应的信号子空间。通过这种方式,算法不仅能处理单纯的正弦波,对于短脉冲正弦信号的时延定位也具有极强的鲁棒性。计算 MSE 时引入的相位差校正逻辑,有效解决了相位估计在边缘处跳变导致的统计误差偏差。