专利名称:一种应用于高精度数字称重传感器的快速两级滤波算法的制作方法
技术领域:
本发明涉及一种用于数字称重传感器的滤波算法,属于数字称重技术领域。
背景技术:
称重传感器是一种将质量信号转变为可测量的电信号输出的装置,是衡器上使用的一种力传感器,它能将作用在被测物体上的重力按一定比例转换成可计量的输出信号。传统的称重传感器大都采用传统的数显仪表作为称重显示器,其基本原理是激励并接收来自应变电桥模拟电信号,进行放大,模数转换,最后输出数字量。因为模拟传感器传输的是模拟信号,极易受各种噪声干扰,信号传输线要越短越好,这就使得仪表要安装在尽可能接近应变电桥传感器的地方,而那里往往是环境恶劣的工业现场,高温、粉尘、噪音等无不对传感器的精度、稳定性和可靠性造成危害。且仪表价格昂贵,在恶劣的环境中工作直接影响其使用寿命,这对企业的经济效益显然是十分不利的。随着数字信息技术的发展,现在称重技术也因此有了很大的变化。具体表现在 (1)由于集成电路的发展,高性能的芯片不断涌现,各种误差解决方式的不断完善,使得未来的传感器具有更高的精度、更高的稳定性和更强的抗干扰能力。( 集成IC设计和封装技术的飞速发展,使得集成电路芯片的尺寸大幅度减小,使传感器的尺寸的减小成为了可能。( 随着电子技术的发展,传感器能够在保持小尺寸的前提下完成信号探测和处理、逻辑判断、双向通讯、自检、自校、自补偿、自诊断和计算等大部或者全部功能。数字系统的这些优势以及芯片技术的不断发展使得研制数字式传感器有了可能。 数字称重传感器一般采用对模拟信号就近进行数字化智能处理,然后经由数字总线传输的方式进行信号的采集、处理、传输及显示。这种设计克服了传统系统结构信号易受干扰,传输距离短,容量有限的缺点,具有系统容量大,信号传输距离长,抗干扰能力强的优点。数字称重传感器系统硬件分为模拟部分和数字部分,其模拟部分包含应变电桥输出信号的放大调理及AD转换和供应应变电桥的激励源,数字部分包含微处理器和数字通信接口等。如图1所示,数字称重传感器的信号首先由放大器进行放大、模拟滤波,然后经模/数转换器转换成数字信号。转换完成后的数字测量信号经数字滤波处理,并进行标度校准和线性调整。处理完成的数据通过串行通讯送到上位机。所有的参数设置可以存储在 EEPROM中,当突然掉电情况下参数能够可靠保存。数字称重传感器系统中不可避免存在某些噪声,可以说任何轻微的噪声都能够引起超过一个码值的误差。由于温度漂移以及存在热噪声源和1/f噪声源,混在实际信号中的噪声大大超过了系统设计要求的最小分辨电压的大小,且这些误差电压是不确定的,以不可预测的方式改变,所以系统软件的数字滤波必不可少。数字滤波的本质是一种软件抗干扰技术。软件抗干扰技术是指当系统受干扰后,使系统恢复正常运行或输入信号受干扰后去伪存真的一种辅助方法。该技术具有设计灵活,节省硬件资源,操作起来方便易行等优点O目前,能够应用在数字称重系统里的软件滤波方法有⑴限幅滤波法;即根据经验判断,确定两次采样允许的最大偏差值(设为A)在每次检测到新值时判断,如果本次值与上次值之差< A,则本次值有效;如果本次值与上次值之差> A,则本次值无效,放弃本次值,用上次值代替本次值。这种方法能有效克服因偶尔因素引起的脉冲干扰,但是无法抑制那种周期性的干扰,平滑度差。⑵中值滤波法,即连续采样N次(N—般取奇数),把N次采样值按大小排列,取中间值为本次有效值。这种方法能有效克服因偶然因素引起的波动干扰,对缓慢的被测参数有良好的滤波效果。缺点是对快速变化的参数不宜使用。( 均值滤波法,即把连续N个采样值进行算术平均运算,作为本次滤波得到的有效值。这种方法的特点是N值较大时,信号平滑度较高,但灵敏度较低;N值较小时,信号平滑度较低,但灵敏度较高,适用于对一般具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值,信号在某一数值范围附近上下波动。其缺点是对于测量速度要求较高的实时应用系统不适用; 且对系统的空间复杂度要求较高。(4)滑动平均滤波法,即把连续去N个采样值看成一个队列,队列的长度固定为N ;每次采样到一个新数据放入队尾,并扔掉原来队首的一个数据 (先进先出原则);把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。这种方法对周期性干扰有良好的抑制效果,平滑度高,适用于高频震荡的系统。其缺点是灵敏度低,对偶然出现的脉冲性干扰的抑制能力较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合;且对系统的空间复杂度要求较高。(5)消抖滤波法,即设置一个滤波计数器;将每次采样值与当前有效值比较;如果采样值=当前有效值, 则计数器清零;如果采样值大于或小于当前有效值,则计数器加1,并判断计数器是否大于等于上限N(溢出);如果计数器溢出,则用本次值替换当前有效值,并清计数器。这种方法对于变化缓慢的被测参数有较好的滤波效果,可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。缺点是对于快速变化的参数不宜;如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效输入导入系统。(6)采用数字滤波器的方法。亦即根据数字滤波器表示输入输出关系的常系数线性差分方程y (n) = b0x (η) +V (η_1) + Λ +bNx (η_Ν)(1)-aj (n-l)_A-aNy (η-Ν)计算获得输出值。其中,需要根据滤波器的截止频率、建立时间、滤波效果等要求设计获得不同的传输系数(a”、)。在实际的系统设计中,简单的数字滤波方法滤波效果往往不能达到系统的要求。 尤其在高精度的数字传感器的设计中已经不再适用。因而,数字滤波器在数字传感器设计中得到了应用。其中,UR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃思、切比雪夫和椭圆滤波器等,其设计工作量比较小,对计算工具的要求不高。虽然UR 滤波器不能实现严格意义上的线性相位,但是它不仅可以利用以前所积累的模拟滤波器的经验,而且可以用低阶滤波器得到优良的幅频特性。相对于HR滤波器来说,在满足相同指标下,UR滤波器的阶数明显小于FIR,硬件实现容易且大大减少了运算量,在不要求严格线性相位的情况下,IIR滤波器的应用相当广泛。在高精度的数字称重传感器的设计中,往往需要通过低截止频率和幅频特性平坦的数字滤波器来提高系统的精度。但是,幅频特性好的滤波器往往有着相对较长的建立时间。这对于称重系统的实时性造成了很大的损害。在实际的高精度数字称重传感器系统设计中,设计者往往要兼顾系统的实时性和数据稳定性。但是,在实际的工程实践中,这两者往往是相互矛盾的。
发明内容
针对现有高精度的数字称重传感器技术存在的问题,本发明提供一种应用于高精度数字称重传感器的快速两级滤波算法,以在提高数字称重传感器系统精度的同时,缩短滤波器的建立时间,保证系统的实时性。本发明的应用于高精度数字称重传感器的快速两级滤波算法,包括两级滤波器, 第一级滤波器用于基本的数据平滑和对数据变化的快速跟踪,第二级滤波器用于对第一级滤波器的输出数据进行进一步平滑;具体包括以下步骤(1)依据高精度数字称重传感器系统的要求选取设计两组滤波器,获得两组滤波器参数(alybli)及(Upl^i);并设定稳定阈值d、稳定条件W及打开条件计数阈值Ml、关闭条件计数阈值M2,其中,稳定条件W初始设为0 ;对于某种实际应用的高精度传感器系统,可以通过高精度数字称重传感器系统的实际情况(如系统的硬件条件、系统所要求的数据精度及具体的应用环境)和具体要求获得最为优化的稳定阈值d、打开条件计数阈值Ml及关闭条件计数阈值M2。稳定条件W为布尔量,由第一级滤波器输出值、稳定阈值等确定,且初始状态为假。稳定阈值d、打开条件计数阈值Ml及关闭条件计数阈值M2的确定依据搭建的系统(采用ADS1251作为AD芯片、 LPC2138作为微控制芯片的高精度数字称重传感器系统)和具体的工业应用环境(不同的工业环境现场引入数字系统的噪声的类别、大小不一样)确立的。这是一个统计的工作,需要对第一级滤波器的输出值进行数据分析(通过MATLAB仿真和具体实验优化确定)。滤波器参数的设定要保证系统达到要求的在223码量的基础做到20万码的稳定性。阈值的确定是通过数据分析和仿真确立的。打开条件计数阈值Ml及关闭条件计数阈值M2的确定则需要保证系统鲁棒性的同时兼顾实时性。(2)打开第一级滤波器,用于基本的数据平滑和对数据变化的快速跟踪,第一级滤波器的输出值根据以下公式确定y (n) = b0x (η) +V (η_1) + Λ +bNx (η_Ν)-aj (n-l)_A-aNy (η-Ν)其中,需要根据滤波器的截止频率、建立时间、滤波效果设计获得不同的传输系数 ( , b》,N为数字滤波器的阶数,χ (η)为数字滤波器的当前输入值,y(n)为数字滤波器的当前输出值;x(n-i) (i = 1,2,...,N)为数字滤波器的历史输入值,y(n-i) (i = 1,2,..., N)为数字滤波器的历史输出值% bi(i = 1,2,. . .,N)为数字滤波器的传输系数。(3)当第一级滤波器的输出值满足稳定条件W时,打开第二级数字滤波器,用于对数据的进一步平滑,第二级数字滤波器输出值的计算也通过以下公式得出y (n) = b0x (η) +V (η_1) + Λ +bNx (η_Ν)-aj (η-1) - Λ -aNy (η_Ν)其中,对于稳定条件的获得,具体采用如下算法①高精度数字称重传感器系统初始化设定稳定条件计数器T为0 ;②判定第一级滤波器当前输出值与之前N个数的滑动平均(N根据AD芯片的采样频率设置)差值的绝对值是否小于或等于稳定阈值d ;③如果②中判断成立,计数器T加1 ;否则,计数器T清0 ;④当计数器T的值超过打开条件计数阈值Ml时,稳定条件W满足,置为1 ;且计数器T清0 ;(4)当高精度数字称重传感器系统在加重或减重过程中第一级滤波器的输出值不满足稳定条件时,第二级滤波器关闭,以便第一级滤波器实现对数据变化的快速跟踪,其中,对于第二级滤波器的关闭,具体采用如下算法①在稳定条件W为1的前提下,判断第一级滤波器当前输出值与之前N个数的滑动平均值(N根据AD芯片的采样频率设置)的差值的绝对值是否大于稳定阈值d;②如果①中条件满足,系统稳定条件计数器T加1 ;否则,T置为0 ;③当计数器T的值超过关闭条件计数阈值M2时,则稳定条件W置为0,第二级滤波器关闭,且计数器T清0;(5)重复步骤(3)-(4)直到测量结束。本发明通过两级数字滤波器动态级联,设定稳定阈值和稳定条件,算法实现简单, 能有效提高系统的实时性。通过实验及实际应用证明,本发明是一种可行的数字滤波方案。
图1是数字称重传感器系统的信号流程图。图2是快速两级滤波器与巴特沃思滤波器及切比雪夫I型滤波器滤波效果对比图。
具体实施例方式在高精度数字称重传感器系统加重或减重过程中产生类阶跃信号时,滤波器需要重新建立。数据仿真及工程实验表明,第一级滤波器若在建立过程中产生过冲现象,其输出的数据将会变化剧烈,若将此过程中产生的数据直接送入第二级滤波器中处理,第二级滤波器的建立时间甚至比将原始数据直接送入第二级滤波器的建立时间还要长。本发明通过设定稳定阈值和稳定条件来明确第二级滤波器的打开/关闭。稳定阈值的设定需要依据系统的硬件条件、所要求的数据精度及具体的应用环境。稳定条件则为布尔量,当稳定条件为真(即为1)时,第二级滤波器打开;当稳定条件为假(即为0)时,第二级滤波器关闭。此外,为了防止零星冲激的影响并保证判断的鲁棒性,本发明设置了软计数器、打开条件计数阈值及关闭条件计数阈值。当稳定条件为假时,对于连续出现的第一级滤波器当前输出值与之前N个数的滑动平均值(N根据AD芯片的采样频率设置)的差值的绝对值小于稳定阈值d的情况进行计数,直到计数结果大于打开条件计数阈值,转换稳定条件为真;当稳定条件为真时,对于连续出现的第一级滤波器当前输出值与之前N个数的滑动平均值(N根据AD芯片的采样频率设置)的差值的绝对值大于稳定阈值d的情况进行计数,直到计数结果大于关闭条件计数阈值,转换稳定条件为假。此外,对于打开条件计数阈值及关闭条件计数阈值的设置应该根据具体应用进行优化以进一步提高系统的实时性。利用matlab仿真工具模拟一种应用于高精度数字称重传感器的快速两级滤波算法,考察该算法的性能。我们设定系统的第一级滤波器采用二阶切比雪夫I型滤波器,第二级滤波器采用二阶巴特沃思滤波器,截止频率设定为0. 05HZ,输入的数据为matlab模拟产生的一个叠加了高斯白噪声的阶跃信号,且对信号的采样频率为9600HZ。如图2,实线为使用切比雪夫滤波器的滤波效果曲线,点划线为使用巴特沃思型滤波器的滤波效果曲线,点线则对应于设置阈值d为0. 5时快速两级滤波器的滤波效果曲线。 从图中可以看出当阈值取0.5时该滤波器设计完全继承了巴特沃思优良的滤波效果和切比雪夫较短的建立时间。在采用ADS1251作为AD芯片、LPC2138作为微控制芯片的高精度数字称重传感器系统上用C语言实现了本发明的滤波算法。在AD芯片采样率设定为9600HZ,系统的码量为 223的条件下,通过进行多次对称量物体的重量进行增减的实验,对相关数据进行统计,得到本发明快速两级滤波器算法与巴特沃思滤波器及切比雪夫I型滤波器滤波效果对比的结果如下表
权利要求
1. 一种应用于高精度数字称重传感器的快速两级滤波算法,包括两级滤波器,第一级滤波器用于基本的数据平滑和对数据变化的快速跟踪,第二级滤波器用于对第一级滤波器的输出数据进行进一步平滑;具体包括以下步骤(1)依据高精度数字称重传感器系统的要求选取设计两组滤波器,获得两组滤波器的传输系数(ali,bli)及(Upl^i);并设定稳定阈值d、稳定条件W及打开条件计数阈值Ml、 关闭条件计数阈值M2,其中,稳定条件W设为0 ;(2)打开第一级滤波器,用于基本的数据平滑和对数据变化的快速跟踪,第一级滤波器的输出值根据以下公式确定y (n) = b0x (η) +blX (n-1) + A +bNx (n-N) (n-1)-A -aNy (n-N)其中,需要根据滤波器的截止频率、建立时间、滤波效果设计获得不同的传输系数(ai; b》,N为数字滤波器的阶数,χ (η)为数字滤波器的当前输入值,y(n)为数字滤波器的当前输出值;x(n_i),i = 1,2,...,N,为数字滤波器的历史输入值,y(n-i),i = 1,2,...,N,为数字滤波器的历史输出值叫i = 1,2,. . .,N,为数字滤波器的传输系数;(3)当第一级滤波器的输出值满足稳定条件W时,打开第二级数字滤波器,用于对数据的进一步平滑,第二级数字滤波器输出值的计算也通过以下公式得出y (n) = b0x (η) +blX (n-1) + A +bNx (n-N) (n-1)-A -aNy (n-N)其中,对于稳定条件的获得,具体采用如下算法①高精度数字称重传感器系统初始化设定稳定条件计数器T为0;②判定第一级滤波器当前输出值与之前N个数的滑动平均差值的绝对值是否小于或等于稳定阈值d;③如果②中判断成立,计数器T加1;否则,计数器T清0 ;④当计数器T的值超过打开条件计数阈值Ml时,稳定条件W满足,置为1;且计数器T 清0;(4)当高精度数字称重传感器系统在加重或减重过程中第一级滤波器的输出值不满足稳定条件时,第二级滤波器关闭,以便第一级滤波器实现对数据变化的快速跟踪,其中,对于第二级滤波器的关闭,具体采用如下算法①在稳定条件W为1的前提下,判断第一级滤波器当前输出值与之前N个数的滑动平均值的差值的绝对值是否大于稳定阈值d ;②如果①中条件满足,系统稳定条件计数器T加1;否则,T置为0 ;③当计数器T的值超过关闭条件计数阈值M2时,则稳定条件W置为0,第二级滤波器关闭,且计数器T清0;(5)重复步骤(3)-(4)直到测量结束。
全文摘要
本发明公开了一种应用于高精度数字称重传感器的快速两级滤波算法,包括以下步骤(1)依据系统的要求选取设计两组滤波器,并设定稳定阈值和稳定条件;(2)打开第一级滤波器,用于基本的数据平滑和对数据变化的快速跟踪;(3)当第一级滤波器的数据输出满足稳定条件时,打开第二级数字滤波器,用于对数据的进一步平滑;(4)当在系统加重或减重过程中第一级滤波器的数据输出不满足稳定条件时,第二级滤波器关闭;(5)重复步骤(3)-(4)直到测量结束。本发明通过设定稳定阈值和稳定条件的方法实现了两级滤波器的无缝动态级联,与传统的两级数字滤波器级联的算法相比,在未损失精度的情况下,缩短了系统在加重或减重过程中滤波器重新建立的时间。
文档编号G01G23/00GK102175296SQ20111004474
公开日2011年9月7日 申请日期2011年2月24日 优先权日2011年2月24日
发明者张泓泉, 王伟才, 王洪柱, 陈涤 申请人:山东大学