//////////////////////加权平均滤波/////////////////////// #define N 12 char code jq[N]={1,2,3,4,5,6,7,8,9,10,11,12};//加权系数表 char code sum_jq=1+2+3+4+5+6+7+8+9+10+11+12; char filter(){ char count; char value_buf[N]; int sum=0; for (count=0;count<N;count++){ value_buf[count]=get_ad();//获取采样值(1) delay(); } for (count=0;count<N;count++) sum+=value_buf[count]*jq[count];(2) return (char)(sum/sum_jq);(3) } 语句(1)表示取的的12个数放在value_buf[0..11]里 语句(2)把取得的每个数据依次*1,*2...*12 语句(3)把所以的乘出来的数据除以数据一共出现的次数
那么在实际应用中,比如我要采15个数据,我随机采出来的数据是不是先得做排序,然后确定每个相等数据出现的次数,然后数据值乘以出现次数,并都加起来,最后除以每个数据出现的次数的累加。
请教一下:这些怎么用程序来实现呢?上边那2个表char code jq[N],char code sum_jq怎么做呢? 谢谢大家。
|