Savitzky-Golay 滤波器参数

信息处理 过滤器 低通滤波器 插值 平滑
2022-01-03 21:24:29

我试图平滑一系列数据以获得可以表示给定数据集的连续函数。结果表明,Savitzky-Golay方法可能是一个好方法。

现在,我对平滑和/或插值知之甚少,但乍一看,我设法获得了一个很好的结果: 在此处输入图像描述 蓝点是我的数据,红线是应用了 SG 过滤器的结果window = 15和一个polynomial order = 13现在,我可以尝试一些窗口和顺序的其他组合,但更一般地说,我想知道这两个参数的最佳满足原则,特别是在我的情况下,数据没有平滑趋势(如正弦曲线)。

2个回答

我们称之为窗口长度M, 和N是多项式的阶数。要意识到的一件重要事情是您使用了多项式N近似M数据点。这意味着您使用M计算点N+1多项式系数(一个Nth阶多项式有N+1系数)。因此,如果N+1=M那么你根本不平滑,但你只是使用多项式来插值数据点。在您的示例中,几乎就是这种情况,即几乎没有任何平滑。一般来说,N被选择远小于M实现一些平滑(以及数值稳定性)。越小N相比M,你会得到更多的平滑。剩下的就是选择M,但据我所知,没有一般准则。在实际示例中,我看到了多项式4要么5具有更大的值M. 考虑到这一切,仍然需要尝试几种组合MN并选择最适合您的应用程序的一种。

参数的选择还取决于您想要平滑的现象的性质。它有特征光谱吗?变化快还是慢?所有这些信息都可以帮助您设置顺序(较低的值无法应对高速率变化的现象)和窗口(窗口的大小与现象的频率有关)