2352|0

4

帖子

1

TA的资源

一粒金砂(初级)

楼主
 

软件滤波 [复制链接]

刚看了一个《10种软件滤波方法》,其中第四种递推平均滤波法(又称滑动平均滤波法)我感觉程序有毛病,请各位大侠指点。
A、方法:
把连续取N个采样值看成一个队列
队列的长度固定为N
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
B、优点:
对周期性干扰有良好的抑制作用,平滑度高
适用于高频振荡的系统
C、缺点:
灵敏度低
对偶然出现的脉冲性干扰的抑制作用较差
不易消除由于脉冲干扰所引起的采样值偏差
不适用于脉冲干扰比较严重的场合
比较浪费RAM
#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 sum = value_buf[count];
return (char)(sum/N);
}
我写的程序是:
#define N 12
char value_buf[N];
char i,j;
int sum=0;
char filter()
{
   if(a==0)
     {
        for(i=0;i            {
             value_buf = get_ad();
             sum+=value_buf
             delay();
   }
        a=1;
        return (char)(sum/N);
     }
   if(a==1)
     {
        sum=0;
        for(j=0;j            {
             value_buf[j]=value_buf[j+1];
             sum+=value_buf[j];
          }
        value_buf[N-1]=get_ad();
        sum+=value_buf[N-1];
        return (char)(sum/N);
     }
}
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表