技术积累—加权平均值滤波算法XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 本溪四高中XX 作 者:⽂化⼈
XX 联系⽅式:
XX 版权声明:原创⽂章,欢迎评论和转载~转载时能告诉我⼀声就最好了 XX 要说的话:作者⽔平有限,难免有不⾜之处,恳请指正!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
写在前⾯:楼主最近接触到数据滤波的处理,在⽹上搜集了很多相关算法,现根据⾃⼰的理解整理出两种简单易⽤的。算法整理: 1、滑动平均值滤波算法:
代码实现:
char value_buff[N]; //N相当于选定⼀个窗⼝⼤⼩,对窗⼝数据做平均!
char i=0;
char filter()
{
char count;
int sum=0;
value_buff[i++]=get_data();
if(i==N)
i=0; //当数据⼤于数组长度,替换数据组的⼀个数据相当于环形队列更新,先进先出!
程春晓for(count=0;count<N;count++)培训经理认证
sum += value_buff[count];受弯构件挠度
我的特岗故事return (char)(sum/N);
我国减灾工作的主要目标是
}
参考⾃;
2、加权平均值滤波算法:
在计算机⽹络中,TCP协议栈对于⽹络拥塞控制,使⽤的就是这种算法。
具体的描述是:
C : 新的采样值;
N : 采样次数(N可以是常数,只要 S 的量程⾜够,N可以任意调整);
新的平均值S = (旧的平均值S * (N - 1)+ C)/ N,对于第⼀次的采样值可以直接赋值给平均值S;
代码实现可以写成:
if(first)
{
S = C; //第⼀次的采样值直接赋给平均值
}
S = (S * (N - 1) + C)/N;