设计一个滑动平均滤波器程序用来处理一组数字信号,用于消除信号中的高频噪声
下面的程序无法运行
#define size 6000//数组大小
#define N 12//滑动平均滤波计算平均值时所取的点数
/上面两句在使用下面这个函数的时候加到程序的开头/
void Smooth(float data[])
{
Sum1=0;
for(int j=0;j<size;j++)
{
if(j<N/2)
{
for(int k=0;k<N;k++)
{
Sum1+=data[j+k];
}
data[j]=Sum1/N;
}
else
if(j<size -N/2)
{
for(int k=0;k<N/2;k++)
{
Sum1+=(data[j+k]+data[j-k]);
}
data[j]=Sum1/N;
}
else
{
for(int k=0;k<size-j;k++)
{
Sum1+=data[j+k];
}
for(int k=0;k<(N-size+j);k++)
{
Sum1+=data[j-k];
}
data[j]=Sum1/N;
}
Sum1=0;
}
}
无法运行是编译有错,还是运行得不到结果?
Sum1是什么类型