数字低通滤波器.doc

数字低通滤波器.doc

ID:52204212

大小:49.50 KB

页数:6页

时间:2020-03-24

数字低通滤波器.doc_第1页
数字低通滤波器.doc_第2页
数字低通滤波器.doc_第3页
数字低通滤波器.doc_第4页
数字低通滤波器.doc_第5页
资源描述:

《数字低通滤波器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、摘要:针对单片机数据采集系统中经常出现的随机干扰,通过手动输入来模拟数据采集过程,验证了几种使用较为普遍的克服随机干扰的单片机数字滤波算法,并给出了相应的C程序,尤其对中位值滤波和中位值平均滤波算法程序进行了改进。同时也对这几种滤波算法进行了比较,并指出了每一种算法的具体适用范围和注意事项。关键词:单片机;数据采集系统;随机干扰;数字滤波;算法中图分类号:TP368.1文章标识码:AStudyofDigitalFilteringAlgorithminMicrocontrollerDataAcquisitionSystemZHAOGuangfu1,FANGJiaj

2、uan1,ZHANGYoushun2(1.ZhengzhouTechnicalCollege,Zhengzhou450121,China;2.CollegeofInformationEngineering,ZhengzhouUniversity,Zhengzhou450051,China)Abstract:AimingattherandominterruptionsthatusuallyappearsinMicrocontrollerDataAcquisitionSystem,thisarticleverifiedseveralalgorithmsofdigita

3、lfilterandCprogramtoinhibittherandominterruptionsbymanualinputtosimulatedatacollectionprocess,especiallyimprovedthealgorithmprogramoftheaveragecenter-positionvaluesandmiddlevaluefilter.Comparisonamongtheseveralalgorithmsandapplicationfieldwerealsomentioned.Keywords:mcu;DataAcquisition

4、System;randominterruption;digitalfilter;Algorithm0引言在单片机的数据采集系统中,测量通道串入随机干扰是难免的,从而使A/D转换送入单片机的数据存在误差,这种因随机干扰产生的误差称为随机误差。随机误差虽然无法预测,但多次测量结果是符合统计规律的。为克服随机干扰产生的误差,可以采用硬件抗干扰的方法,也可以采用按统计规律用软件方法实现,即采用数字滤波的方法来抑制有效信号中的干扰成分,从而消除随机误差。1常用的数字滤波算法及实现在单片机的数据采集系统中,常用的数字滤波算法有限幅滤波、中位值滤波、算术平均滤波、移动平均滤波、

5、加权平均滤波、低通滤波、中位值平均滤波等。以下就分别介绍其原理及滤波程序。1.1限幅滤波限幅滤波的基本原理是把两次相邻时刻(n和n-1)的采样值Yn和Yn-1相减,求出其差值,以绝对值表示,然后将这个差值与两次采样允许的最大偏差值ΔY比较,如果两次采样值的差值超过了允许的最大偏差值ΔY,则认为发生了随机干扰,并认为最后一次采样值Yn非法,应予剔除。剔除Yn后,可用Yn-1代替Yn;若未超过允许的最大偏差值范围,则认为本次采样值有效。可用如下公式表示:

6、Yn-Yn-1

7、≤ΔY;则Yn有效

8、Yn-Yn-1

9、>ΔY;则Yn-1有效此算法的样例子程序如下:#defineA

10、10//A值可根据实际情况调整chardata;//上一次的数据charfilter_1(){chardatanew;//新数据变量datanew=get_data();//获得新数据//滤波算法if((datanew-data>A)

11、

12、(data-datanew>A)returndata;returndatanew;}该算法主要用于处理变化比较缓慢的数据,如温度、物体的位置等。使用时关键在于最大偏差值的Δy的选择,通常可根据经验获得,也可按照输出参数可能的最大变化速度Vmax及采样周期T来决定ΔY的值[1],即ΔY=VmaxT。1.2中位值滤波中位值滤波是先对某

13、一参数连续采样N次(一般N取奇数),然后把N次采样值按从小到大排列,取中间值为本次采样值。该滤波方法实际上是一种排序方法,文献[2,7,9]采用的是冒泡法排序。由于在冒泡法排序中,每出现一次前者数据大于后者数据,就要进行二者数据的交换,效率很低,故在验证时改用选择排序法。该算法的样例子程序如下:#defineN11//N值可根据实际情况调整charfilter_2(){charvalue_buf[];charcount,i,j,k,temp;for(count=0;count

14、;dela

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

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

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