Savitsky-Golay 平滑算法

本文首发于 算法社区 dspstack.com,转载请注明出处,谢谢。

名称#

Savitsky-Golay平滑算法

作用#

信号平滑处理可以除去高频噪音对数据信号的干扰,是消除噪音最常用的一种方法

算法原理#

通过多项式对移动窗口内的数据进行多项式最小二乘拟合,算出窗口内中心点关于其周围点的加权平均和。
计算公式:
file (3-1)
式(3-1)中的 file 和 file 为平滑前、后的数据, file 是移动窗口平滑中的权重因子(窗口长度 2r + 1)。
窗口移动多项式拟合的基本思想是:利用多项式对窗口内 N = 2r + 1 的波谱点进行多项式最小二乘拟合,将窗口内等距离的数据拟合成 k 次多项式:
filefile
其中 file 为待定系数或权重。

实例#

以窗口为5的二次多项式为例进行拟合。
设有5个数据对(等间隔): file,进行二次多项式拟合: file
应用最小二乘法,使误差 file 达到最小,所以分别对 file进行求导 file,得:
file (4-1)
由于等间隔,所以 file,式(4-1)可化为
file (4-2)

注意式(4-2)下标的改变


file (4-3)
由式(4-2)和式(4-3)即可求得:
file (4-4)
对于中心点,也即所求的平滑点,其值为:
filefile
由式(4-4)知
file
故权重为
file,即可利用权重对中心点进行平滑

本文首发于 算法社区 dspstack.com,转载请注明出处,谢谢。

猜你喜欢

转载自blog.csdn.net/rickyzhang2008/article/details/85083298