AR模型谱估计

跟卡尔曼滤波挺像的,实际用的比卡尔曼滤波少

AR(自回归)模型

AR模型适用于平稳、宽平稳的随机序列,是一个差分方程模型。
可以认为是一个带微扰的马尔可夫过程。一个最简单的例子是单摆。一些不满足平稳条件的事件,AR模型的分析效果是很差的(如股票预测)

从时域讨论稳定参见时间序列的自回归模型—从线性代数的角度来看, 当Y-W方程的系数矩阵正定时,传递函数的极点在单位圆内,模型稳定。

AR模型及功率谱的估计

主要有前向预测的L-D法,Burg法,Marple法,矩阵分解等算法,此外还有极大似然估计等估计方法。
Burg算法和Marple算法都是求前向预测和后向预测误差之和最小,Burg算法较为常用。Marple算法很容易受噪声影响导致不稳定。

Burg算法对于高斯随机过程等价于最大熵算法

AR功率谱估计可以突破较短序列由于序列长度N过短对于频率分辨率的限制。经典谱估计的频率分辨率约为

$$\Delta f={fs \over N}$$

AR法通过前向和后向预测外推,突破了短序列长度N的限制(N点长序列相当于长序列加窗,频率分辨率受限于主瓣宽度)。但是AR法仍然无法突破奈奎斯特采样定理$\frac{fs}{2}$的限制。要想突破采样定理,只有在特定的条件下采用压缩感知等方法改变采样方式,如磁共振重建。

几种功率谱估计的比较

  1. 算法复杂度
    L-D 算法计算量约为直接解Y-W方程的一半
    Marple算法复杂,计算量大
  2. 效果
    L-D算法
    1)一定收敛
    2误差较大;
    3)预测均方随阶数增加而减小
    4)可能出现谱线分裂
    5)受阶数影响大,阶数过高有伪峰。
    Burg算法
    1)在有限长情况下好于前向预测
    2)对于高斯随机信号,AR谱估计和最大熵算法效果相同
    3)易受初相的影响产生频率偏移
    Marple算法
    1)通常性能最好,分辨率最高
    2)可能会不稳定
    3)基本上克服了谱线分裂、频率偏移和出现伪峰等缺点

函数包

这些算法基本都有成熟的工具包
比如matlab中:

  1. pyulear.m 用AR模型的自相关法估计信号的功率谱,其基本调用格式是:
    [Px, F] = pyulear(x, order, Nfft, Fs)
  2. pburg.m 用AR模型的Burg算法估计信号的功率谱,调用格式与pyulear类似
  3. pcov.m 用AR模型方差方法估计信号的功率谱
  4. pmcov.m 用AR模型的改进的方差方法估计信号的功率谱
  5. pmem.m 最大熵功率谱估计,其估计性能类似pyulear
  6. pmusic.m 用自相关矩阵分解的MUSIC算法估计信号的功率谱
  7. peig.m 用自相关矩阵分解的特征向量
    法估计信号的功率谱,其基本调用格式是:
    [Px, F] = peig(x, order, Nfft, Fs),
    [Px, F,V, E] = peig(x, order, Nfft, Fs),
    x :信号向量,order:模型的阶次,Fs:抽样频率,Nfft:对x作FFT时的长度。Px:估计出的功率谱,F是频率轴坐标。对peig, 输出的E 是由自相关矩阵的特征值所组成的向量,V是由特征向量组成的矩阵。V的列向量张成了噪声子空间,V的行数减去列数即是信号子空间的维数。
  8. 直接得到模型有aryulear、arburg等函数,用法:
    arburg(x,order)