递推平均滤波法(又称滑动平均滤波法)
#define N 12
char value_buf[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buf[i++] = get_ad();
if ( i == N ) i = 0;
for ( count=0;count<N,count++)
sum = value_buf[count];//?????
return (char)(sum/N);
}
那个value_buf就付了一次值,如何求平均?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
{
sort_buff[k] = Motor_U[k];
}
data_sort(sort_buff); //调用数据排序程序
Motor_V = (sort_buff[1]+sort_buff[2]+sort_buff[3]+sort_buff[4]+
sort_buff[5]+sort_buff[6]+sort_buff[7]+sort_buff[8])>>3; //计算母线电压
//----------------------------------------------------------------
//数据排序程序
//----------------------------------------------------------------
unsigned int data_sort(unsigned int sort_buff[10])
{
unsigned int swap_data;
unsigned char j=0,k=0;
for(k=0;k<=9;k++) //数据排序
{
for(j=k+1;j<10;j++)
{
if(sort_buff[k]>sort_buff[j])
{
swap_data = sort_buff[k];
sort_buff[k] = sort_buff[j];
sort_buff[j] = swap_data;
}
}
}
return sort_buff[10];
}
一周热门 更多>