利用移动平均滤波器对列向量y进行平滑处理,返回与y等长的列向量yy。移动平均滤波器的默认窗宽为5,yy中元素的计算方法如下:
yy(1) = y(1)
yy(2)=(y(1) + y(2) + y(3))/3
yy(3) = (y(1) 十y(2) 十y(3) + y(4)十y(5))/5
yy(4) = (y(2) + y(3)十y(4) + y(5) + y(6))/5
yy(5) = (y(3) + y(4)十y(5)十y(6) +y(7))/5
...
java实现
/**
*
* Title: smooth
*
*
* Description: 数组平滑处理
*
*
* @param d
* @return
*/
public static double[] smooth(double[] d) {
int length = d.length;
double[] dbRt = new double[length];
if (length == 1) {
/** 前置与后置无元素 index=0与index=length-1 */
dbRt[0] = d[0];
dbRt[length - 1] = d[length - 1];
}
if (length == 2) {
/** 前置与后置无元素 index=0与index=l