刘翼宁 陈春玲 崔琳
摘 要:针对目前日光温室控制系统中传感器采集的温度湿度环境因子过程存在的干扰和故障问题,本文运用数字滤波方法中的限幅滤波、中位值滤波和算数平均值滤波三种滤波方法相结合对采集的温湿度环境因子进行滤波,并在MATLAB软件下对其进行建模和仿真。仿真结果表明,该滤波方法能有效的排除传感器采集温湿度数据过程中存在的干扰和故障。本滤波法与传统滤波法相比较,其具有滤波数据精度高和抗干扰性能强等优点,对日光温室控制系统中温湿度的滤波具有良好的实用价值。
关键词:数字滤波;限幅滤波;中位值滤波;算数平均值滤波
随着计算机技术、传感器技术和信息技术在各个领域的飞速发展和普及,自动控制系统的对控制精度的要求也越来越高,数据采集与处理系统在农业生产中也得到了广泛的应用。在控制系统中对采集的数据处理的越精确,整个控制系统的控制精度就会越高,由于实际工作中传感器会发生故障并且传感器在日光温室温湿度采集过程中存在各种干扰,这就要求在整个控制系统设计中采取一定的措施来提高采集数据的精度,进一步提高整个控制系统的控制精度。
近年来数字滤波技术作为数据处理的重要组成部分在数字电视、通信、雷达、遥感、图像、生物医学以及许多工程应用领域都取得了令人瞩目研究成果。随着信息时代数字时代的到来数字滤波技术已经成为一门及其重要的科学和技术领域。随着我国科学技术的快速发展,国内有很多专家教授在数字滤波领域展开长期的深入研究,无论是在理论方面还是在工程技术领域,都取得了很多科研成果。
本文将限幅滤波法、中位值滤波法、算数平均滤波法三种常用的滤波方法相结合设计滤波器,在MATLAB/SIMULINK下建立仿真模型,实现对传感器采集的温湿度环境因子的滤波。与经传统滤波方法处理的信号相比较,经本文所提滤波方法处理的温湿度环境因子,消除了因传感器故障和外界干扰采集的错误信号,提高了数据的采集精度,进而提高了控制系统的控制精度。
1 数字滤波方法
1.1 限幅滤波法
根据经验判断,确定采样允许最小下限(设为A)与最大上限(设为B),每次检测到新值Y时,将其进行条件判断:如果A= 1.2 中位值滤波法 对采集数据进行连续采样N次(N取奇数),把N次采样值按大小进行排列,取中间值为本次采样的有效值。中位值滤波法能有效滤除因偶然因素及前置采样器性能不稳定而引起的波动干扰,尤其是对对温度、湿度等变化缓慢的被测参数有良好的滤波效果。 1.3 算数平均值滤波法 算数平均值滤波法是根据采样得到的N个值X(i)(i=1~N),根据求得值Y,求得的Y值即为滤波值,并使得Y与各采样值之间偏差的平方和最小,即: 此方法中信号的平滑滤波程度完全取决于测量信号的次数N。当N较大时,平滑度高,但灵敏度低,即外界信号的变化对测量计算结果Y的影响小;当N较小时,平滑度低,但灵敏度高。应根据具体情况选取N,从而达到计算时间短、滤波效果好的目的。根据经验一般可取N=4~16。 2 滤波方法的应用 根据以上滤波方法的介绍和实际应用的需要,本文分别模拟10个传感器对日光温室中温湿度进行采集,其中5个为温度传感器,5个为湿度传感器。采集周期为24小时,采集频率为半小时/次,每次采集分别得5个温度信号和5个湿度信号,原理图如图1。首先对这5个温度信号和5个湿度信号运用限幅法进行滤波,设温度的限幅范围为[20,40],湿度的限幅范围为[0.2,1],经限幅法滤波后所得的温度信号为m个,湿度信号为n个;其次将中位值法与算数平均滤波法相结合对所得的m个温度信号和n个湿度信号进行第二次滤波,即分别去掉m个温度信号和n个湿度信号中的最大值和最小值,剩余(m-2)个温度信号和(n-2)个湿度信号,对(m-2)个温度信号和(n-2)个湿度信号分别求得平均值为a、b,将a和(m-2)个温度信号信号分别比较,根据日光温室一天24小时温度的变化情况及控制系统对控制精度的要求,最大偏差设为0.8℃即差值在±0.8℃之外的信号排除掉,排除之后剩余x个温度信号,如果温度变化情况和控制系统对控制精度的要求有变化最大偏差值可以随时改正;将b和(n-2)个湿度信号分别比较,差值在±0.8℃的信号排除掉,排除之后剩余y个湿度信号,最后分别对x个温度信号和y个湿度信号求平均值,求得的平均值即为滤波结果,同时作为控制系统的输入信号。 3 仿真结果对比 冬季模式中,在日光温室中间隔选取五个不同的位置放置5个温度传感器对室内温度进行采集,在一天24小时内间隔半小时对数据进行一次取读,温度数据如表1所示,从表中数据和曲线图可以看出5#传感器由于故障停止工作,采集的数据均为0,不能对室内温度进行准确表达。2#、3#和4#传感器由于外界干扰分别在不同时间段出现了较大的波动。 根据图1所示的滤波原理图,在MATLAB/SIMULINK下搭建仿真模型,以温度仿真信号结果为例。分别模拟5个温度传感器,采样周期为24小时,采样频率为半小时/次,5个温度模拟信号如图2所示。由图2中(2)、(3)、(4)可以看出,由于传感器在采集温度的过程中受到外界干扰,在某时刻采集的温度值出现较大波动,图2中(5)由于传感器故障不能对温度信号进行正常采集。 对这5个温度信号单纯利用传统的平均值算法进行滤波所得的滤波结果如图3(1)所示,而利用 通过比较图3中(1)、(2)两个滤波结果可见,用本文提出的滤波方法对5个模拟信号进行滤波后得到的结果消除了图2中(2)、(3)、(4)的干扰信号,同时也消除了(5)的故障信号,由此可见图3(2)比图3(1)结果更为精确,更为接近温度变化的实际情况,同理用本文提出的滤波方法可得湿度的滤波结果。 4 结论 为了提高日光温室控制系统的控制精度,不仅要提高控制系统的控制能力,更要提高输入信号的精确度。本文提出的滤波方法与传统的滤波方法相比较,能够及时排除因外界干扰及传感器故障采集的错误信号,从而提高输入信号的精确度,进一步提高控制系统的控制精度。 (责任编辑 亓 国)