文章目录
- 0 前言
- 1 算法简介
- 2 算法步骤
- 3 算法改进
- 4 参数选择
- 5 拟合效果判断
- 6 参考文献
0 前言
重点阅读【2 算法步骤】。
1 算法简介
Prony算法使用多个复指数衰减函数的线性组合来描述等间距采样数据,使用的衰减函数个数为Prony算法模型的阶数。
Prony吸收衰减滤波就是选择适当的Prony变换参数,采用部分Prony分量重构地震信号的过程。使用Prony吸收衰减滤波方法求得的吸收系数与地震信号的频率有关,能够较客观地反映地震信号随频率变化的衰减情况。
Prony算法流程如下:
(1)数据的获取和处理:首先获取需要进行处理的数据并滤波,然后确定需要计算的数据信号,根据振荡型号特征,设置采样频率;
(2)确定振荡模型的阶数并构造矩阵方程;
(3)根据得到的特征方程去计算出特征根;
(4)根据计算出来的特征根与公式得到振幅、相位、频率和衰减系数;
(5)输出模态参数并进行结果分析。
2 算法步骤
下面是Prony算法具体步骤:
1、构造样本函数矩阵R,其中pe为扩展后的阶数,且有pe>>p,pe的最大值=N/2:
2、用SVD-TLS方法确定R的有效秩p;3、根据式:
求解上述方程即可得到参数a1,a2,…,ap和最小误差能量εp的估计值。4、求式:
的根zi,其中i=1,…,p。然后需要通过下式递推出x^(n)
,其中x^(0)=x(0):
除此之外,还有:
5、根据式:
上式的矩阵Φ是N×p维的范德蒙特矩阵。其中:
因此参数向量b的解b1,b2,…,bp由
给出。其中矩阵ΦHΦ可表示为下式:
其中:
6、利用下式计算振幅、相位、频率和衰减系数,其中k=1,2,…,p(请使用i替换下式的k):
3 算法改进
改进措施如下:
1、通过计算均方差(MSE)结果确定算法的阶数,而不是按矩阵R
的秩确定。下面给出一种MSE定义:
C可设为一常数,也可取输入数据的最大值。最小均方差对应阶数是最优阶数。
2、如果分析结果误差较大,可将分析数据窗分成更小的窗口,这样避免信号非平稳性的影响。分段的标准可按信号的奇异点进行分类。
3、振荡中信号的衰减无论正负不能过大,不同段之间的信号分量应可以光滑连接,可以忽略非常小幅值的信号。
4、可采用适当的插值算法,以提高信号的采样率,从而改善计算的精度。
4 参数选择
一般采样频率取4fmax~10fmax较为合适。采样频率越接近4fmax,信号中各参量的辨识精度越高。
一般认为,时间窗长度应至少包括已知信号中最低频率模式的2个周期。
描述一个地震信号的话模型的阶数一般3~4个就足够了。
5 拟合效果判断
SSNR结果越大,表示拟合的结果越精确,一般认为SSNR达到20dB以上时,Prony分析得到的结果是可以接受的,接近40dB则更加理想。SSNR过低会导致Prony分析的误差过大,并且通常意味着线性预测模型的阶数过低。
另外,通过比较真实数据曲线和拟合数据曲线,也可以作为一种辅助手段直观的判断拟合的效果。
6 参考文献
1、【Prony算法】简介之参数选择与改进措施;
2、【Prony算法】之公式推导及算法步骤。
END