2022年十种数据采集滤波的方法和编程实例.docx

上传人:C****o 文档编号:12871939 上传时间:2022-04-26 格式:DOCX 页数:15 大小:69.54KB
返回 下载 相关 举报
2022年十种数据采集滤波的方法和编程实例.docx_第1页
第1页 / 共15页
2022年十种数据采集滤波的方法和编程实例.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《2022年十种数据采集滤波的方法和编程实例.docx》由会员分享,可在线阅读,更多相关《2022年十种数据采集滤波的方法和编程实例.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源理论上讲单片机从A/D 芯片上采集的信号就是需要的量化信号,但是由于存在电路的相互干扰、电源噪声干扰和电磁干扰,在A/D 芯片的模拟输入信号上会叠加周期或者非周期的干扰信号, 并会被附加到量化值中, 给信号带来肯定的恶化;考虑到数据采集的实时性和安全性,有时需要对采集的数据进行软处理,一尽量减小干扰信号的影响,这一过程称为数据采集滤波;以下介绍十种数据采集滤波的方法和编程实例;这10 种方法针对不同的噪声和采样信号具有不同的性能, 为不同场合的应用供应了较广的挑选空间;挑选这些方法时, 必需明白电路种存在的主要噪声类型,主要包括一下方面:* 噪声是突发随机噪声仍是周期性噪声* 噪声

2、频率的高低* 采样信号的类型是块变信号仍是慢变信号* 另外仍要考虑系统可供使用的资源等通过对噪声和采样性能分析, 选用最合适的方法以及确定合理的参数,才能到达良好的成效;目前用于数据采集滤波的主要方法有以下10 种,这 10 种方法都是在时域上进行处理的,相对于从频域角度设计的IIR 或者 FIR 滤波器,其实现简洁,运算量小,而性能可以满意绝大部分的场合的应用要求1、限幅滤波法又称程序判定滤波法A 、方法:依据体会判定,确定两次采样答应的最大偏差值设为A 每次检测到新值时判定:假如本次值与上次值之差A, 就本次值无效 , 舍弃本次值 , 用上次值代替本次值B 、优点:能有效克服因偶然因素引起

3、的脉冲干扰欢迎下载精品学习资源C 、缺点无法抑制那种周期性的干扰平滑度差1 、限副滤波/*A 值可依据实际情形调整value 为有效值, new_value为当前采样值滤波程序返回有效的实际值*/#define A 10char value;char filtercharnew_value;new_value = get_ad;if new_value - value A | value - new_value A return value;return new_value;/=2、中位值滤波法欢迎下载精品学习资源A 、方法:连续采样 N 次 N 取奇数把 N 次采样值按大小排列取中间值为本次

4、有效值B 、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波成效C 、缺点:对流量、速度等快速变化的参数不宜2、中位值滤波法/*N 值可依据实际情形调整排序采纳冒泡法 */#define N11char filterchar value_bufN;char count,i,j,temp;for count=0;countN;count+value_bufcount = get_ad;delay;欢迎下载精品学习资源for j=0;jN-1;j+for i=0;ivalue_bufi+1 temp = value_bufi;value_bufi = value

5、_bufi+1;value_bufi+1 = temp;return value_bufN-1/2;/=3、算术平均滤波法A 、方法:连续取 N 个采样值进行算术平均运算N 值较大时:信号平滑度较高,但灵敏度较低欢迎下载精品学习资源N 值较小时:信号平滑度较低,但灵敏度较高N 值的选取:一般流量,N=12 ;压力: N=4 B 、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范畴邻近上下波动C 、缺点:对于测量速度较慢或要求数据运算速度较快的实时掌握不适用比较铺张 RAM3、算术平均滤波法/*/#define N 12char filterintsum

6、 = 0;for count=0;countN;count+sum + = get_ad;delay;return charsum/N;欢迎下载精品学习资源/=4、递推平均滤波法又称滑动平均滤波法A 、方法:把连续取 N 个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原先队首的一次数据. 先进先出原就 把队列中的 N 个数据进行算术平均运算,就可获得新的滤波结果N 值的选取:流量,N=12 ;压力: N=4 ;液面, N=412 ;温度, N=14 B 、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C 、缺点: 灵敏度低对偶然显现的脉冲性干扰的抑

7、制作用较差 不易排除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严峻的场合比较铺张 RAM4、递推平均滤波法又称滑动平均滤波法/*欢迎下载精品学习资源*/#define N 12char value_bufN;char i=0;char filterchar count;intsum=0;value_bufi+ = get_ad;if i = N i = 0;for count=0;countN,count+sum = value_bufcount;return charsum/N;/=5、中位值平均滤波法又称防脉冲干扰平均滤波法A 、方法:相当于 “中位值滤波法 ” +算“术平均滤波法

8、 ”连续采样 N 个数据,去掉一个最大值和一个最小值然后运算 N-2 个数据的算术平均值欢迎下载精品学习资源N 值的选取: 314 B 、优点:融合了两种滤波法的优点对于偶然显现的脉冲性干扰,可排除由于脉冲干扰所引起的采样值偏差C 、缺点:测量速度较慢,和算术平均滤波法一样比较铺张 RAM5、中位值平均滤波法又称防脉冲干扰平均滤波法/*/#define N 12char filterchar count,i,j;char value_bufN;intsum=0;forcount=0;countN;count+value_bufcount = get_ad;delay;欢迎下载精品学习资源for

9、 j=0;jN-1;j+for i=0;ivalue_bufi+1 temp = value_bufi;value_bufi = value_bufi+1;value_bufi+1 = temp;forcount=1;countN-1;count+sum += valuecount;return charsum/N-2;/=6、限幅平均滤波法A 、方法:相当于 “限幅滤波法 ” +递“推平均滤波法 ”欢迎下载精品学习资源每次采样到的新数据先进行限幅处理, 再送入队列进行递推平均滤波处理B 、优点:融合了两种滤波法的优点对于偶然显现的脉冲性干扰,可排除由于脉冲干扰所引起的采样值偏差C 、缺点:比

10、较铺张 RAM 6、限幅平均滤波法/*/略 参考子程序 1 、3 7、一阶滞后滤波法/* 为加快程序处理速度假定基数为100 , a=0100 */#define a 50char value;char filtercharnew_value;new_value = get_ad;return 100-a*value + a*new_value;欢迎下载精品学习资源/=7、一阶滞后滤波法A 、方法:取 a=01本次滤波结果 =1-a *本次采样值 +a* 上次滤波结果B 、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C 、缺点:相位滞后,灵敏度低滞后程度取决于 a 值大小不能排

11、除滤波频率高于采样频率的1/2 的干扰信号/=8、加权递推平均滤波法A 、方法:是对递推平均滤波法的改良,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大;赐予新采样值的权系数越大,就灵敏度越高,但信号平滑度越低B 、优点:适用于有较大纯滞后时间常数的对象欢迎下载精品学习资源和采样周期较短的系统C 、缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能快速反应系统当前所受干扰的严峻程度,滤波成效差8、加权递推平均滤波法/* coe 数组为加权系数表,存在程序储备区;*/ #define N 12char code coeN = 1,2,3,4,5,6,7,8,9,1

12、0,11,12;char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;char filterchar count;char value_bufN;intsum=0;for count=0,countN;count+value_bufcount = get_ad;delay;for count=0,countN;count+sum += value_bufcount*coecount;欢迎下载精品学习资源return charsum/sum_coe;/=9、消抖滤波法A 、方法:设置一个滤波计数器将每次采样值与当前有效值比较:假如采样值当前有效值,就计数器

13、清零假如采样值 当前有效值,就计数器+1 ,并判定计数器是否 = 上限 N 溢出 假如计数器溢出 ,就将本次值替换当前有效值, 并清计数器B 、优点:对于变化缓慢的被测参数有较好的滤波成效,可防止在临界值邻近掌握器的反复开/ 关跳动或显示器上数值抖动C 、缺点:对于快速变化的参数不宜假如在计数器溢出的那一次采样到的值恰好是干扰值,就会将干扰值当作有效值导入系统9、消抖滤波法#define N 12char filter欢迎下载精品学习资源char count=0;char new_value;new_value = get_ad;while value .=new_value;count+;if count=Nreturn new_value;delay;value = get_ad;return value;/=10 、限幅消抖滤波法A 、方法:相当于 “限幅滤波法 ” +消“抖滤波法 ”先限幅 ,后消抖B 、优点:继承了 “限幅 ”和“消抖 ”的优点改良了 “消抖滤波法 ”中的某些缺陷 ,防止将干扰值导入系统欢迎下载精品学习资源C 、缺点:对于快速变化的参数不宜假定从 8 位 AD 中读取数据假如是更高位的AD 可定义数据类型为int, 子程序为 get_ad;欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁