基于单片机系统的数字滤波方法研究
2017-06-15马桂英
马桂英
摘 要 随着现代科学技术的发展,数字技术也得到了较好的进步,数字滤波技术在单片机系统中的应用也越来越广泛。在研究中,笔者将对现阶段比较常见的几种数字滤波方法进行论述,并通过对比分析将这些方法的优缺点和适用的对象进行论述。
关键词 单片机;数字滤波;研究
中图分类号 TP2 文献标识码 A 文章编号 2095-6363(2017)06-0077-01
数字滤波是由软件算法来实现的,和硬件滤波将比较,优势在于不需要增加硬件设备,仅仅需要在程序进入控制算法之前加设一个数字滤波程序。在微机化控制系统之中,每一个信号的采集通道都可以共用同一个数字滤波程序,这就比硬件滤波减少了多个滤波器的使用。除此之外,数字滤波的使用更为灵活,而且只要进行适当的滤波程序改变,就能够实现不同的滤波效果。就目前的而言,有很多基于单片机的数字滤波方法,常见的几种数字滤波方法有程序判断法、中位值滤波法、算术平均滤波法等。
1 常用的基于单片机的数字滤波算法
1.1 程序判断法
在大量的工程实践结果的表现下,很多的物理量的变化其实都存在着一定的范围,例如相邻的两次采样值yM和yM-1之间的变化就有着一定的限度。程序判断滤波就是根据实践的结论量进行两次采样信号之间的最大偏差值的确认,一旦相邻采样值超出了偏差值以后,就表明其中存在着干扰问题,需要将这部分数据进行剔除,也就是需要用ym-1来代替ym。当小于偏差值得时候,那么该信号就能够作为本次的采样值。
1.2 中位值滤波法
对于中位值滤波法而言,就是将某一个被测参数进行连续的采样,然后将连续采样的值根据大小顺序进行排列,排列的主要方法是“冒泡排序法”,通过“冒泡排序法”将数据进行排序之后,选择中间值作为采样的采样值。对于中位值滤波法而言,其很大程度上能够克服由于偶然因素导致的数据波动或者因为采样器不稳定引发的误码现象。中位值滤波法主要应用于温度、液体等变化比较缓慢的被测参数。
1.3 算数平均滤波法
算数平均滤波法的主要是将同一采样点进行连续的采样,并将其算数平均值作为本次采样的有效值。对于平均值而言,我们可以了解到,信号是在一定数值之间进行上下波动的,当采样的时候如果仅仅是单一选择一个值作为采样值那么这个依据会存在一定的误差。算术平均值法对信号的平滑滤波程度的选择,完全取决于采样的数量,当采样数量足够大的时候,平滑度就会较高,那么采样的个数也会很多,运算的工作就会比较复杂,有效数据的获取周期就会比较长。
2 数字滤波方法的优缺点和适用对象
对于程序判断法而言,其优点在于能够有效地克服随机的干扰和尖脉冲效果,缺点在于数据处理的速度比较慢,主要适用的对象为温度、液体等缓慢的变化量。中位值滤波法的优点在于,能够对偶然因素引起的波动进行良好的规避,还能够对因采样器不稳定引起的误码干扰进行排除。缺点在于不能用于快速变化的参数测量,其处理的速度也比较慢,适用对象与程序判断法相同。算数平均滤波法的优点在于能够对周期干扰滤波进行排除,还可以降低系统的随机干扰效果。缺点在于,其明显的脉冲会使得数据的选取高于平均值,对于尖脉冲的抗干扰能力比较差,而且数据处理速度较慢。适用的对象为温度、流量、压力、液平面等。
3 数字滤波的选择
对于数字濾波的选择而言,因其种类的多样所以在选择的时候一定要遵循一定的原则。现阶段的主要选择原则有如下几条:
1)作为单片机其是在一块芯片上集成了CPU、ROM、RAM等功能部件。虽然具有较好的逻辑运算能力,但是算术运算能力还是比较有限的,不仅如此,其存储空间也不是很可观,因此选择滤波方法的时候要对单片机的各项机能进行考量,看其是否能够满足实际需求。
2)对于不同的干扰源的选择要考虑滤波方法是否能够满足单片机的测控系统需求,在进行计算的时候,即使是同一个测控系统,其都会引入到很多的干扰项,因此,在选择滤波的时候一定要注意,将主要干扰进行选出,然后根据主要干扰来选择适用的滤波方法。
3)在进行滤波方法的选择上要与测试对象进行结合,对于一些变化比较缓慢的测试对象而言,如温度、流量、压力等,就需要选择相应的滤波方法,对于一些要求实时性的测试而言,就需要选择一些反应速度较快的滤波技术。
4 结论
基于单片机系统的滤波方法的种类丰富多样,但是在具体运用的过程中,如何进行算则,需要我们在不断的实践和摸索中进行研究,对于刚开始使用单片机系统程序算法进行数字滤波的人而言,这个选择的把握还是比较困难的。不过只要牢牢记住上文中笔者所提到的两点原则,就能够准确找到选择的方向。在熟练掌握之后,就可以在这些方法之上进行适当的调整或修改,从而根据不同的需求来进行方法的扩充和改进,让数据的测量和获取能够与真实值更加接近,从而提高滤波的效果,为数字滤波的计算准确性做出良好的使用方法和选择方法上的保障。
参考文献
[1]梁威.基于数字滤波和EMD方法的电力计量系统故障信息提取应用研究[D].开封:河南大学,2015.
[2]佘东.单片机数字滤波程序设计与实现[J].四川兵工学报,2012(9):78-80.
[3]徐博,郝艳玲,刘付强.数字滤波方法在光纤陀螺捷联罗经系统中的应用[A].中国仪器仪表学会青年学术会议,2007.
[4]曹景新,张丽平.基于MCS-51单片机指令系统的数字滤波方法研究[J].林业机械与木工设备,2004(3):21-22.
[5]赵毅,牟同升,沈小丽.单片机系统中数字滤波的算法[J].电测与仪表,2001(6):5-8.
[6]商蜀西,曾艺,聂小平.单片微机MCS-51实时测量系统中一批数据的一种数字滤波方法[J].荆州师专学报,1998(2):23-25.
[7]李先祥.一种应用于80C196KB单片机控制伺服系统的数字测速方法[J].电子技术应用,1996(11):9-11.