十大滤波算法程序大全(arduino精编无错版) - powered by discuz!

十大滤波算法程序大全(arduino精编无错版) - powered by discuz!

ID:15620320

大小:1.05 MB

页数:14页

时间:2018-08-04

十大滤波算法程序大全(arduino精编无错版) - powered by discuz!_第1页
十大滤波算法程序大全(arduino精编无错版) - powered by discuz!_第2页
十大滤波算法程序大全(arduino精编无错版) - powered by discuz!_第3页
十大滤波算法程序大全(arduino精编无错版) - powered by discuz!_第4页
十大滤波算法程序大全(arduino精编无错版) - powered by discuz!_第5页
资源描述:

《十大滤波算法程序大全(arduino精编无错版) - powered by discuz!》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、14-2-9十大滤波算法程序大全(Arduino精编无错版)-PoweredbyDiscuz!设为首页收藏本站切换到宽版用户名自动登录找回密码只需一步,快速开始密码登录注册论坛Arduino精华WIKI其他精华资源下载淘宝杂货铺快捷导航请输入搜索内容帖子搜索热搜:mpu6050蓝牙串口PID12864红外小车MPU60501602GPS舵机最小系统论坛开源软硬件Arduino十大滤波算法程序大全(Arduino精编无错版)android串口通信gps继电器中断点阵面包板6050返回列表12345678910...121/12页下一页极»查看:54›73

2、回复:1

3、12›十大›滤波算法程序大全(Arduino精编无错版)[复制链接]shenhaiyu发表于2013-11-123:45:14

4、只看该作者

5、倒序浏览楼主电梯直达本帖最后由shenhaiyu于2013-11-1123:03编辑最近用Arduino做电子秤,为了解决数据的跳变研究了不少滤波算法。网上能找到大把的十大滤波算法帖子,每一篇都不太一样,都号称精编啊,除错啊什么的,可是放到板子里却没一个能正常跑起来的。于是决定自己整理一下这些程序,完美移植到Arduino中。客所以大家看到这个帖子的时候,不要怀疑我重复发帖。我的代码都是经过反复试验,复制到Arduino中就

6、能开跑的成品代2591261码,移植到自己的程序中非常方便。而且都仔细研究了各个算法,把错误都修正了的(别的程序连冒泡算法都是溢出的,不主题好友积分信自己找来细看看),所以也算个小原创吧,在别人基础上的原创。金牌会员转载请注明出处:极客工坊http://www.geek-workshop.com/thread-7694-1-1.html发消息Byshenhaiyu2013-11-01工1、限幅滤波法(又称程序判断滤波法)2、中位值滤波法3、算术平均滤波法4、递推平均滤波法(又称滑动平均滤波法)5、中位值平均滤波法(又称防脉冲干扰平均滤波法)6、限幅平均滤波法7、

7、一阶滞后滤波法8、加权递推平均滤波法9、消抖滤波法坊10、限幅消抖滤波法11、新增加卡尔曼滤波(非扩展卡尔曼),代码在17楼(点击这里)感谢zhangzhe0617分享程序默认对int类型数据进行滤波,如需要对其他类型进行滤波,只需要把程序中所有int替换成long、float或者double即可。1、限幅滤波法(又称程序判断滤波法)ARDUINO代码复制打印01./*02.A、名称:限幅滤波法(又称程序判断滤波法)03.B、方法:04.根据经验判断,确定两次采样允许的最大偏差值(设为A),05.每次检测到新值时判断:06.如果本次值与上次值之差<=A,则本次值

8、有效,07.如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值。08.C、优点:09.能有效克服因偶然因素引起的脉冲干扰。10.D、缺点:11.无法抑制那种周期性的干扰。12.平滑度差。13.E、整理:shenhaiyu2013-11-01www.geek-workshop.com/thread-7694-1-1.html1/1414-2-9十大滤波算法程序大全(Arduino精编无错版)-PoweredbyDiscuz!14.*/15.16.intFilter_Value;17.intValue;18.19.voidsetup(){20.

9、Serial.begin(9600);//初始化串口通信21.randomSeed(analogRead(0));//产生随机种子22.Value=300;23.}24.25.voidloop(){26.Filter_Value=Filter();//获得滤波器输出值27.Value=Filter_Value;//最近一次有效采样的值,该变量为全局变量28.Serial.println(Filter_Value);//串口输出29.delay(50);30.}31.32.//用于随机产生一个300左右的当前值33.intGet_AD(){34.returnran

10、dom(295,305);35.}36.37.//限幅滤波法(又称程序判断滤波法)38.#defineFILTER_A139.intFilter(){40.intNewValue;41.NewValue=Get_AD();42.if(((NewValue-Value)>FILTER_A)

11、

12、((Value-NewValue)>FILTER_A))43.returnValue;44.else45.returnNewValue;46.}2、中位值滤波法ARDUINO代码复制打印01./*02.A、名称:中位值滤波法03.B、方法:04.连续采样N次(N取奇数),把N

13、次采样值按大小排列,05

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。