打印

匠人的这个加权滤波看不懂,指教一下

[复制链接]
1202|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happystar|  楼主 | 2007-3-16 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//////////////////////加权平均滤波///////////////////////
#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怎么做呢?
谢谢大家。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

409

帖子

1

粉丝