matlab 的 AR 模型参数谱估计,算是信号里一个挺基础但蛮有用的工具了。主要是用yule-walker
方程配上levinson-durbin
算法搞定参数估计,整个过程也不复杂,尤其用 Matlab 现成的函数,基本上几行代码就能跑起来。
AR 建模的套路挺适合做功率谱估计的,像你要某段时间序列的频率成分,用这个方法还挺方便的。yule-walker那套思路本身就比较稳,加上levinson
递推,效率也不错,是你不想自己推矩阵的时候,直接调用aryule
这些函数,能省不少事。
想再深入了解的话,可以看看这几个链接:
- AR 模型功率谱估计的 Burg 算法优化,也是常用方法,比 yule-walker 抗噪性好些
- MATLAB 开发新光谱估计方法探索,讲了一些更进阶的谱估计方法
- Mejias 等人 2016 年 AR 模型的 Matlab 代码实现,有源码参考也挺实用
哦对了,如果你还在手动写 AR 方程的矩阵推导,不如直接上 Matlab 的内置函数,省时省力。功率谱估计常用在金融、通信、甚至生物信号里,用 Matlab 搞挺稳的。
如果你是刚接触谱估计,可以先跑跑 Matlab 的aryule
和pyulear
,感受下不同阶数对结果的影响,理解起来也更直观些。