Python 谱峰插值函数或算法

Python 谱峰插值函数或算法,python,signal-processing,interpolation,Python,Signal Processing,Interpolation,我正在用python处理光谱数据,想知道是否有任何预构建的方法通过插值找到真实(或更准确)的峰值 我的数据示例: Frequency (Hz), Amplitude(mm/s) 16.5 0.168 16.75 0.124 17 0.527 17.25 0.678 17.5 0.201 17.75 0.080 18 0.025 在绘图中表示: 我希望能够使用原始数据(圆圈)来估计红十字会 我已经非常简要地介绍了scipy和numpy,但是这些插值方

我正在用python处理光谱数据,想知道是否有任何预构建的方法通过插值找到真实(或更准确)的峰值

我的数据示例:

Frequency (Hz), Amplitude(mm/s)
16.5    0.168
16.75   0.124
17      0.527
17.25   0.678
17.5    0.201
17.75   0.080
18      0.025
在绘图中表示:

我希望能够使用原始数据(圆圈)来估计红十字会

我已经非常简要地介绍了scipy和numpy,但是这些插值方法看起来像是被设计用来估计数据中或数据之间的差距。在我的例子中,我想使用峰值附近的值来更好地估计该峰值的真实值

在使用以下公式之前,我已经这样做了,但我觉得有更好的方法

对于频率,其中:

  • x=以前的频率
  • y=初始峰值的频率
  • z=下一个频率

对于振幅,其中:

  • x=以前的振幅
  • y=初始峰值的振幅
  • z=下一个振幅

目前,我将所有这些数据保存在一个2D数组中,但如果必要,可以更改这些数据。

矩形窗口DFT或FFT生成的光谱数据可以通过Sinc内核进行插值,如果原始数据在采样前受频带限制,那么Sinc内核将完美地(在数值限制范围内)再现精确的光谱峰值。看

对于其他窗口,插值内核将是窗口的变换

更实际地说,n-tap加窗Sinc插值核将插值高于典型仪器噪声地板的估计值。使用逐次逼近来估计最大值


对于较小数量的抽头,有些人使用3点抛物线插值器。请参阅:

矩形窗口DFT或FFT产生的光谱数据可以通过Sinc内核进行插值,如果原始数据在采样前受频带限制,则Sinc内核将完美(在数值限制范围内)再现准确的光谱峰值。看

对于其他窗口,插值内核将是窗口的变换

更实际地说,n-tap加窗Sinc插值核将插值高于典型仪器噪声地板的估计值。使用逐次逼近来估计最大值


对于较小数量的抽头,有些人使用3点抛物线插值器。请参阅:

我必须处理的唯一数据如我的示例所示。因此,我不知道除了3点抛物线插值器之外,我是否能够实现您建议的任何方法,对吗?我必须处理的唯一数据如我的示例中所示。从这里我不知道除了3点抛物线插值器之外,我是否能够实现你建议的任何方法,对吗?