1.移动均值滤波 Moving Average Filtering
移动平均滤波器通过用范围内定义的相邻数据点的平均值替换每个数据点来平滑数据。该过程等效于低通滤波,其平滑响应由差分方程给出
其中是第i个数据点的平滑值,N是两侧相邻的点的数量,2N+1是跨度
如果默认5阶,就相当于自己加上自己的前两个和后两个,然后除以5
如果使用Curve Fitting Toolbox(MATLAB指令:cftool)工具必须满足:
- 跨度必须是奇数(其实偶数也没问题,只要不是0,2,MATLAB会自动把偶数减一处理)
- 要平滑的数据点必须位于跨度的中心。
- 对于不能容纳任意一侧指定数量邻居的数据点,调整跨度。
- 端点不会平滑,因为无法定义跨度。
smooth函数,默认的跨度是5,可以用公式表示:
ys(1) = y(1)
ys(2) = (y(1)+y(2)+y(3))/3
ys(3) = (y(1)+y(2)+y(3)+y(4)+y(5))/5
ys(4) = (y(2)+y(3)+y(4)+y(5)+y(6))/5
生成的数据集的前四个数据点的平滑值和跨度如下所示,形象表示平移的原理
第一个点就等于第一个点,第二个值为前三个的均值,第三个值为前五个均值,第四个值为2到6的均值,以此类推,倒数第一和倒数第二与前两个同理。
2.Savitzky-Golay 滤波 Savitzky-Golay Filtering
Savitzky-Golay(萨维茨基·戈莱)滤波可以被认为是一种广义的移动平均。通过使用给定次数的多项式执行未加权线性最小二乘拟合,可以导出滤波器系数。因此,Savitzky-Golay滤波器也称为数字平滑多项式滤波器或最小二乘平滑滤波器。
注意,更高阶的多项式可以实现高水平的平滑而不衰减数据特征。
Savitzky-Golay滤波方法通常用于频率数据或光谱(峰值)数据。对于频率数据,该方法在保留信号的高频分量方面是有效的。对于光谱数据,该方法在保留峰值的较