7

Savitzky-Golay 平滑滤波器可用于计算系数,以便通过将系数应用于相邻值来计算平滑的 y 值。平滑的曲线看起来很棒。

根据论文,这些系数还可用于计算高达 5 阶的导数。系数计算参数 ld 需要设置为导数阶。对于一阶导数,合适的设置是ld=1,导数的值是累加和除以采样间隔h。

我的问题是:如何使用获得的系数来计算累加和?导数是如何计算的?任何示例代码?

4

1 回答 1

3

要使用 Savitzky-Golay 平滑滤波器计算导数,多项式系数计算有一个参数 b,值 b[derivative] 必须设置为 1.0,数组 be 将用于 LU 分解调用。

正确导数的关键是理解多项式公式:Y = a0 + a1 * z + a2 * z^2 + ... + ak * z^k。a0, a1, a2, ..., ak 实际上是移动窗口内的平滑值,z = (x - x0) / h,对于移动窗口的中心点,我们可以假设 z = 0,因为 x = x0。

因此,在导数计算中:

dY/dx = a1/h; and d2Y/dx2 = 2a2/h^2.

其中a1,a2是y的平滑值,通过使用在相应导数上计算的系数。

于 2010-08-27T06:10:29.787 回答