一、最大熵谱估计

估计思想:采用最大熵原则,外推自相关函数方法估计信号功率谱。它基于将已知的有限长度自相关序列以外的数据用外推的方法求得,而不是把它们当作是零。

已知{R(0),R(1),......,R(p)},求得R(p+1),R(p+2),......

保证外推后自相关矩阵正定,自相关序列所对应的时间序列应具有最大熵,在具有已知的p+1个自相关取样值的所有时间序列中,该时间序列是最随机,最不可预测的,谱是最平坦的,最均匀的。

1、利用最大熵的原则外推自相关函数

按照Shannon对熵的定义,当随机变量X取离散值时,熵的定义为

python 最大熵值法 最大熵谱估计_python 最大熵值法

式中pi是出现状态i的概率。当X取连续值时,熵的定义为 

python 最大熵值法 最大熵谱估计_最大熵_02

式中,p(x)是X的概率密度函数。 

假设x(n)是零均值正态分布的平稳随机序列,它的N维高斯概率密度函数为

python 最大熵值法 最大熵谱估计_python 最大熵值法_03

先讨论一维高斯分布的信号的熵,然后推广到N维。 

python 最大熵值法 最大熵谱估计_概率密度函数_04

 同理可求得N维高斯分布信号的熵为

python 最大熵值法 最大熵谱估计_概率密度函数_05

式中det(R(N))表示矩阵R(M)的行列式,由上式表明为使熵最大,要求det(R(N))最大。 

python 最大熵值法 最大熵谱估计_最大熵_06

 

python 最大熵值法 最大熵谱估计_最大熵_07

 

python 最大熵值法 最大熵谱估计_概率密度函数_08

 

python 最大熵值法 最大熵谱估计_算法_09

 

python 最大熵值法 最大熵谱估计_算法_10

 用数学归纳法,得到

 

python 最大熵值法 最大熵谱估计_时间序列_11

上式是Rxx(N+1)的一次函数,可以解出Rxx(N+1)。以此类推,可推出任意多个其它自相关函数值,而不必假设它们为零,这就是最大熵谱估计的基本思想。 随着外推次数的增加,误差会逐渐上升。

2、最大熵谱估计与AR模型谱估计的等价性

python 最大熵值法 最大熵谱估计_最大熵_12

AR模型信号自相关函数与模型参数服从Yule-Walker方程 

python 最大熵值法 最大熵谱估计_算法_13

 

python 最大熵值法 最大熵谱估计_时间序列_14

 如果从N个线性方程中解得的N个AR参数a1,a2,……,aN值,代入上式并将其整理成行列式的形式,即可得

python 最大熵值法 最大熵谱估计_最大熵_15

这就证明了信号为高斯分布时,AR模型功率谱估计和最大熵谱估计的等价性。

通过解Yule-Walker方程,解出模型参数,最大熵谱估计用下式计算信号功率谱: 

python 最大熵值法 最大熵谱估计_算法_16

参考视频:

https://www.bilibili.com/video/BV1wS4y1D7ng?p=7&vd_source=77c874a500ef21df351103560dada737