一、限幅滤波法
#define A 10
char value;
char filter()
{
char new_value;
new_value = get_ad();
if ( ( new_value - value >A ) || ( value - new_value > A )
return value;
return new_value;
}
#define N 11
char filter()
{
char value_buf[N];
char count,i,j,temp;
for ( count=0;count<N;count++)
{
value_buf[count] =get_ad();
delay();
}
for (j=0;j<N-1;j++)
{
for (i=0;i<N-j;i++)
{
if (value_buf>value_buf[i+1] )
{
temp = value_buf;
value_buf = value_buf[i+1];
value_buf[i+1] = temp;
}
}
}
return value_buf[(N-1)/2];
}
说明:本文来源网络;文中观点仅供分享交流,不代表本公 众 号立场,转载请注明出处,如涉及版权等问题,请您告知,我们将及时处理。