基于总体最小二乘法的 ARMA 谱估计与 AR 参数建模系统
项目介绍
本项目实现了一个基于总体最小二乘法(Total Least Squares, TLS)的 ARMA(自回归滑动平均)模型参数估计与功率谱分析系统。在信号处理领域,传统的 Yule-Walker 方程通常采用普通最小二乘法(LS)求解 AR 参数,但该方法仅考虑观测向量的误差。本项目通过引入 TLS 算法,能够同时修正数据矩阵和观测向量中的噪声干扰,特别适用于低信噪比环境下的窄带信号分析、频率估计及系统建模。
功能特性
- 稳健的参数估计:利用 TLS 算法处理高阶扩展尤尔-沃克方程,提升在噪声环境下的 AR 系数估计精度。
- 双正弦信号分辨率:系统能够有效分辨时域中极其接近的两个频率成分(如 120Hz 与 130Hz)。
- 完善的建模流程:涵盖了自相关计算、增广矩阵构建、奇异值分解(SVD)、残差分析以及 MA 增益补偿等完整步骤。
- 多维度结果可视化:提供信号时域图、奇异值分布图、自相关函数图、模型评价指标及最终的功率谱密度曲线。
- 抗噪性能优化:通过对噪声进行 MA 滤波处理,模拟复杂的预设噪声环境,验证算法的稳健性。
使用方法
- 打开 MATLAB 软件。
- 将包含主脚本的代码文件置于当前工作路径。
- 在命令行窗口输入函数名称并回车运行。
- 程序将自动生成包含五个子图的可视化窗口,并在控制台输出估算的 AR 系数矩阵和均方误差(MSE)。
系统要求
- MATLAB R2016b 或更高版本。
- Signal Processing Toolbox(信号处理工具箱),用于调用 xcorr、freqz 及 periodogram 等函数。
实现逻辑与功能细节说明分析
#### 1. 仿真信号构造与预处理
系统首先生成包含两个相近频率(120Hz 和 130Hz)的正弦信号作为目标分析对象。为了模拟真实环境,引入了经过 MA(阶数为 2)过程过滤的白噪声,增加了噪声的色度特性,从而构建一个典型的 ARMA 过程。根据预设的信噪比(SNR = 10dB)对信号进行合成。
#### 2. 高阶扩展尤尔-沃克方程(EYW)构建
通过计算输入信号的偏置自相关函数(Biased Autocorrelation),获取其时域统计特征。系统根据指定的 AR 阶数 p、MA 阶数 q 以及方程数量 M,提取自相关序列中延迟大于 q 的部分,构建大小为 M × p 的数据矩阵 A 和长度为 M 的观测向量 b。这种“高阶”处理方式是为了避开自相关函数中受 MA 部分影响的前 q 个值。
#### 3. 总体最小二乘法(TLS)算法实现
这是系统的核心逻辑。
- 增广矩阵构建:将矩阵 A 和向量 b 合并为一个增广矩阵 [A | b]。
- 奇异值分解(SVD):对增广矩阵进行奇异值分解,提取其特征空间。
- 求解 AR 系数:寻找对应于最小奇异值的右奇异向量(V 矩阵的最后一列)。通过对该向量进行归一化处理(除以其最后一个元素),获得 AR 模型系数 a。这种方法考虑了 A 和 b 同时受扰动的情况,理论上比 LS 更能逼近真实值。
#### 4. 残差分析与 MA 部分补偿
利用估计出的 AR 系数构建全极点滤波器,对原始信号进行逆滤波处理,提取出残差序列。系统计算残差序列的自相关函数及功率密度,以确定 MA 部分的增益等级。虽然代码中 MA 系数简化为单位向量,但通过计算残差功率(Sigma Square)有效地补偿了最终谱图的能量幅值。
#### 5. 功率谱密度(PSD)生成
利用频率响应函数(freqz)分别计算 AR 部分(分母)和 MA 部分(分子)的转移函数。最终的功率谱密度由残差功率与两部分传递函数模平方的乘积组成,并转换为分贝(dB)刻度。
#### 6. 性能评估指标
系统实时计算模型的均方误差(MSE),通过预测信号与原始信号的差异来衡量建模的准确性。同时,通过可视化子图显示增广矩阵的奇异值分布,用户可以观察到奇异值的跌落情况,从而辅助判断模型阶数设置是否合理。
总结
该系统通过 TLS 算法对传统 ARMA 建模进行了改进,有效地解决了常规方法在处理带噪信号时参数估计偏离的问题。其结合了奇异值分解的数值稳定性与扩展尤尔-沃克方程对 ARMA 特性的敏感性,是研究窄带信号特征提取和频谱分析的有效工具。