Matrix Pencil Method

将一个离散的复数序列,用e指数求和的形式近似估计。

离散傅里叶变换将时间序列变换为各个分频的叠加,式中的频率成分$f_i$为实数: E(t)= sum{i}{}{ A_{i} e^{i 2 pi f_{i} t} }

这里Matrix Pencil Method 将一个复时间序列写为有限个指数求和的形式,指数中的参数$s_i$为复数: E(t)= sum{i}{}{ A_{i} e^{s_{i} t} } 而且,各个组分的贡献是按从大到小依次排布的。

如果按照Z变换的视角,Z[E(t)]=E(s), 则上式中的s_i其实就对应于E(s)的一阶极点,而A_i与留数相关。 Matrix Pencil Method原则上是一种PCA的方法。具有最小二乘意义下的最优。

参考了这一篇文章的方法。

Tapan K. Sakar and Odilon Pereira, Using the Matrix Pencil Method to Estimate the Parameters of Sum of Complex Exponetials, IEEE Antennas and Propagation Magazine, Vol. 37, No. 1, February 1995.

程序

python3 程序, 后缀名改为.py即可: matrixpencil.txt

应用

1. 系统识别

可以由系统响应找出系统的极点。

2.傍轴光束线性传播行为的分析

傍轴柱对称的光束,可以利用此方法,把z=0处的横场模式写成几个高斯型的求和的形式,从而得到任意z处的横场分布。 E(x), 将X=x^2视为新的x, E(X)可以写为有限e指数和的形式, 而每一个成分A_i exp(si X)=A_i exp(si x^2) 就是高斯光束的场分布。

examples

# Fit damping curves of an oscillator (raw data with ~5% amplitude noise and 10degree phase uncertainty, raw-blue, fit-red):

限制条件

1. A(t)平方可积, 2. …

  • home/students/15307110193/programing/functions.txt
  • 最后更改: 2020/03/11 20:25
  • 由 朱冰冰