Savitzky-Golay平滑滤波器可用于计算系数,以便通过将系数应用于相邻值来计算平滑的y值。平滑的曲线看起来很棒。
根据论文,这些系数也可用于计算高达5阶的导数。系数计算参数ld需要设置为导数的顺序。对于一阶导数,适当的设置为ld = 1,导数的值是累计和除以采样间隔h。
我的问题是:如何使用获得的系数来计算累计和?衍生物是如何计算的?任何示例代码?
答案 0 :(得分:3)
要使用Savitzky-Golay平滑滤波器计算导数,多项式系数计算有参数b,值b [衍生]必须设置为1.0,数组将用于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的平滑值。