栏目中心
您当前的位置:首页 »  最新动态
地磅关于用于动物的动态称重系统设计与研究
来源:
访问次数:2194
为了在满足实时精确测量动物体重的需求,提出经验模态分解算法来解决称重系统中体重数据不准确的问题。算法通过数据的预处理,对EMD算法的适应性改进 ,同时采用实际计算中较早退出的方法,实现在短时间内去除噪声,使得最终体重误差接近数据采集模块的系统误差,从而快速准确的得到动物体重值.对用于动物的动态称重的研究有很好推动作用.
体重是畜牧业中对动物评估的重要指标,由于动物的活动难以控制以及需要测量的动物数量基数通常较大等原因,在误差范围内快速测得动物的体重变得尤为重要.当前国内外对动态称重的研究主要应用于交通采矿等相关方面很少涉及活体动物.本系统将EMD算法应用于动物体重测量并在截止条件运算方式等方面进行改进,使其适应于畜牧的实际环境。使得本系统可以在测量动物体重时满足实时性和精度需求。通过在实际环境中的实验数据表明,本系统可以在上限时间为10s的测量中测得体重误差最小可以接近1%,为传统称重方式误差的1/3.
1.EMD算法简介
经验模态分解法是黄锷在美国国家宇航局与其他人于1998年提出的一种新型自适应信号时频处理方法,特别适用于非线性非平稳信号的分析处理,已经被应用在各个领域中。EMD分解算法的基本思想为对于一个已知的复杂信号先获得信号的极值点,通过三次样条插值法获得信号的极大值包络线与极小值包络线,再得到均值包络线, 将原始信号与均值包络线的差得到第一层信号;重复分解动作得到最终的分解结果其中包含若干个本征模态函数和一个残余量。经验模态分解算法认为任何信号都可分解成几个不一样的本征模态函数和一个残余量, 各分量反映了原始信号的局部特性,残余量则反应了原始信号的趋势或均值。EMD算法的不足之处在于没有严格的数学证明
,并且目前也还没有一个用来评价经验模态分解算法的准则,几乎都是依据主观的判断和观察来进行对比这就造成了一些不确定性。
2.基于EMD的动物动态称重算法
在畜牧业中需要称重的动物数量庞大,必须短时间内测得体重;为了满足算法的精度需求,需要足够的数据量,所以我们需要权衡程序的运行时间和精度。由于算法集成在称重的数据采集程序中,所以必须考虑嵌入式设备MCU的资源以及处理能力,如果简单的将MCU  算法应用在数据处理中,会导致计算量过大,且精度不高,所以必须进行数据预处理以及当检测到体重已经满足精度需求时,及早退出算法,以此来提高效率动物的活动无法预测,但是存在某些情况动物本身满足静态称重的标准,此时在算法中识别该情况不需要调用EMD算法即可得到精确值。
2.1动物动态称重算法流程
系统使用了适应动物的EMD算法,流程如图1所示。
2.2预处理
限制于传感器的采样频率和程序处理时间,必须在充分利用数据的基础上剔除干扰数值。本系统采用了数字滤波,在数据的开头与结尾处通过移动以中值为中心的可行窗口来剔除偏离中心值过大的点。经过实验发现:可行窗口选择需求精度的1/2为界,既可以满足精度需求又可以剔除干扰数据中间阶段的数据,因为EMD算法区分出来IMF分量,需要保持其物理意义,所以不能使用滤波继续保留加入算法运算。
2.3EMD算法的适应性改进
为了适应动物的行为,本系统每隔一段时间采集一次数据,判断动物的体态特征,如果连续检测到某3次的数据很接近,我们就认为动物处于静止状态, 并把这段时间的值取平均作为最终结果,并跳过EMD  算法,从而避免多余的计算.
若判断没有处于静止状态,则需要将所有已有的数据加入EMD算法进行计算,得到当前的体重值。同样为了能在保证精度的基础上提高效率当出现连续次的结果都很接近时,就认为是动物的活动趋于稳定,并将连续三次的值取平均,作为最终结果提早退出计算。
根据EMD算法,可以得到N个IMF和一个残余量,使用标准差准则作为停止准则。标准差函数为:
3.结果与讨论
系统的采集模块采用STC12c5a60s2型号单片机,称重传感器型号为HSX-A100KG,灵敏度为2.0±0.002mV/V;AD转换模块采用CS1180s将模拟信号转换为数字信号。分辨率在无失码情况下为20位,量化误差可以忽略不计,在使用4.1592MHZ的晶振下可设置为30HZ的采集频率;系统整体的误差达到0.1kg.
实验流程如图2所示.原始数据由系统采集10s共150个点,在预处理、镜像法处理后使用EMD算法得到IMF和残余量,最后取平均测得数据为86.5kg;当在静态情况下,测得体重的理论值为85.6kg,满足1%的精度需求。
图2中a为原始图像,b为预处理结果,c为镜像法结果,d为IMF0结果,e为IMF1结果,f为IMF2结果,g为IMF3结果,h为残余量结果。
为了突出本系统算法对比传统算法的优势,通过和多次排序的平均法,分别在数据为长时间采样和短时间采样的两种情况下进行比较 。长时间采样的数据量为900点,含有50%以上稳态值这种情况模拟了在测量时间较长,动物在称重系统上有一段时间静止不动的状态;短时间采样的数据量为150点,不含稳态值这种情况模拟了动物在称重过程中的快速通过,没有停留的状态 。长时间的比较结果如表1所示.短时间的比较结果如表2所示。
从表1的测试结果中,可以得到在含有大量的稳态数据时,多次排序的平均法会取到稳态值,该值非常接近标准值,但本系统的测量的结果与多次排序的平均法结果不相上下,甚至有优势。从表2的测试结果中可以得到在短时间采集且无稳态值时,也即数据的波动非常大的情况下排序平均法误差很大而本系统的算法可以有效的降低误差。
多次排序平均法只适合于低速测量,在采样率大于500HZ时,误差才能达到2%,而且由于多次的排序计算量并不低,不能满足在畜牧业中快速测量体重的需求。本系统既可以在长时间测量的传统方式中取得不错的效果,又可以在短时间集的较少数据量点的情况下,也即在动物不断运动产生不良数据的情况下,获得良好的表现。从而实现对动物体重快速称重,满足实际畜牧业中动物称重的需求。
4.结束语
本系统的算法较一般算法复杂但可以同时兼具速度和精度,对于物联网下的牧场管理有着重要的意义。同时如果能在数据采集部分,如果使用更高采样频率的采集模块,可以减少采样时间并且提高精度;通过对采集的大量数据样本的分析可以对算法中的临界阈值等参数进行调整,使得算法更加适用于某种特定的动物。
产品推荐
更多>>