极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: shenhaiyu

十大滤波算法程序大全(Arduino精编无错版)

  [复制链接]
发表于 2015-8-7 09:43:18 | 显示全部楼层
int Get_AD() {
  return random(295, 305);
}

// 递推平均滤波法(又称滑动平均滤波法)
#define FILTER_N 12
int filter_buf[FILTER_N + 1];
int Filter() {
  int i;
  int filter_sum = 0;
  filter_buf[FILTER_N] = Get_AD();
  for(i = 0; i < FILTER_N; i++) {
    filter_buf[i] = filter_buf[i + 1]; // 所有数据左移,低位仍掉
    filter_sum += filter_buf[i];
  }
  return (int)(filter_sum / FILTER_N);
滑动平均值滤波里面这一句没看懂   filter_buf[FILTER_N] = Get_AD();,这里不是只对filter_buf【12】赋值了吗,至于其他的还没有值,那么紧接着就进行for循环,进行移位累加最后除以12,结果不就成了filter_buf【12】/12了吗。。。
求解答,蟹蟹~~~
}
回复 支持 反对

使用道具 举报

发表于 2015-8-19 15:19:14 | 显示全部楼层
收藏了,谢谢
回复 支持 反对

使用道具 举报

发表于 2015-8-24 09:05:10 | 显示全部楼层
// 限幅滤波法(又称程序判断滤波法)
#define FILTER_A 1
int Filter() {
  int NewValue;
  NewValue = Get_AD();
  if(((NewValue - Value) > FILTER_A) || ((Value - NewValue) > FILTER_A))
    return Value;
  else
    return NewValue;
}


/**********************/
对于限幅法,有个疑问~初始化之后AD的新老值都是0,那这段程序岂不是一直返回0?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-6 16:38:59 | 显示全部楼层
jeffvivi 发表于 2015-8-24 09:05
// 限幅滤波法(又称程序判断滤波法)
#define FILTER_A 1
int Filter() {

太极端的情况了,加个判断限制一下就好了,这里只讨论算法
回复 支持 反对

使用道具 举报

发表于 2015-9-6 22:04:25 | 显示全部楼层
好东西,收下了
回复 支持 反对

使用道具 举报

发表于 2015-9-20 21:54:13 | 显示全部楼层
你好,我看了你的卡尔曼滤波的帖子,但是我是菜鸟,没太看懂,最近我在做个东西,要对提取到的RSSI值进行卡尔曼滤波,您能仔细给我讲讲么
回复 支持 反对

使用道具 举报

发表于 2015-10-4 18:06:34 | 显示全部楼层
特别有用!学习了!楼主辛苦!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-24 15:12:57 | 显示全部楼层
八爪鱼 发表于 2015-10-4 18:06
特别有用!学习了!楼主辛苦!

谢谢支持~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2015-11-25 10:24:27 | 显示全部楼层
楼主你好,非常感谢分享,你上次称重的那个案例后来用了哪种滤波方法效果比较好,谢谢
回复 支持 反对

使用道具 举报

发表于 2015-11-28 23:39:02 | 显示全部楼层
很好的材料,好好学习下。
回复 支持 反对

使用道具 举报

发表于 2016-1-21 19:05:02 | 显示全部楼层
非常好的东西,其实我们很多人重视的是内容不是内涵阿,算法就成了稀缺品了。
回复 支持 反对

使用道具 举报

发表于 2016-1-25 17:19:46 | 显示全部楼层
收藏慢慢读,好东西呢
回复 支持 反对

使用道具 举报

发表于 2016-2-5 02:54:13 | 显示全部楼层
谢楼主分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-17 09:45:53 | 显示全部楼层
redspider_002 发表于 2016-2-5 02:54
谢楼主分享

谢谢支持~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2016-4-13 23:44:50 | 显示全部楼层
您好 请问您一阶滞后滤波程序中的a值的大小和滤波的频率有什么关系?

可不可以不用float型,让其扩大100倍后,结果再除以100?

很浅的问题,希望恢复,很着急,谢谢您
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-9-22 16:01 , Processed in 0.051038 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表