《数据处理方法介绍.docx》由会员分享,可在线阅读,更多相关《数据处理方法介绍.docx(14页珍藏版)》请在优知文库上搜索。
1、第五章数据处理方法介绍5.1 概述在智能仪表及微型机操纵系统中,模拟量经A/D转换器转换后变成数字量送入计算机,此数字量在进行显示、报警及操纵计算之前,还务必根据需要进行一些加工处理,如数字滤波、标度变换、数值计算、逻辑推断与非线性补偿等等,以满足各类系统的不一致需要。另外,在实际生产中,有些参数不但与被测量有关,而且是非线性关系,其运算式不但有四则运算,而且有对数、指数、或者三角函数运算,这样用模拟电路计算更加复杂,可用计算机通过查表及数值计算等,使问题大为简化。由此可见,用计算机进行数据处理是一种非常方便而有效的方法,因而得到了广泛的应用。与常规的模拟电路相比,微型机数据处理系统具有如下优
2、点:1、 可用各类程序代替硬件电路,甚至完全不需要硬件;2、 能够增加或者改变信号处理技术(如数字滤波等),而无需增加新的硬件;3、 微型机数据处理系统不但精度高,而且稳固可靠,不受外界温度变化的影响;4、 不但能对数据进行算术运算,而且具有逻辑推断功能。5. 2数字滤波程序的设计数字滤波器与模拟RC滤波器相比,具有如下优点:1、 不需增加任何硬设备,只要在程序进入数据处理与操纵算法之前,附加一段数字滤波程序即可。2、 由于数字滤波器不需要增加硬件设备,因此系统可靠性高,不存在阻抗匹配问题。3、 模拟滤波器通常是每个通道都有,而数字滤波器则能够多个通道共用,从而降低了成本。4、 能够对频率很低
3、的信号进行滤波,而模拟滤波器由于受电容容量的影响,频率不能太低。5、 使用灵活、方便,可根据需要选择不一致的滤波方法,或者改变滤波器的参数。正由于数字滤波器具有上述优点,因此在计算机操纵系统中得到了广泛的应用。数字滤波的方法有各类各样,能够根据不一致的测量参数进行选择,下面介绍几种常用的数字滤波方法:1.程序推断滤波当采样信号由于随机干扰与误检测或者者变送器不稳固而引起严重失真时,可采取程序推断滤波。程序推断滤波的方法,是根据生产经验,确定出两次采样输入信号可能出现的最大偏差,若超过此偏差值,则说明该输入信号是干扰信号,应该去掉;若小于此片材值,可将信号做为本次采样值。程序推断滤波根据其方法的
4、不一致,可分限幅滤波与限速滤波两种。下边要紧介绍限幅滤波。限幅滤波就是把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样同意的最大差值(由被控对象的实际情况决定)”进行比较,假如小于或者等于AY,则取本次采样值;假如大于AY,则仍取上次采样值作为本次采样值,即:Y(k)-Y(k-l)YY(Q=Y(Zc)(k)-Y(k-i)_y()-y(-i)kY(k)=(1-a)X(k)+aY(k-1)则Y(k)=Y(k)9取本次采样值r()-y(c-i)y则y(k)=Y(k-),取上次采样值式中,丫出一第k次采样值;丫伏-D第k-1次采样值;丫一两次采样值所同意的最大偏差,其大小取决于采样周
5、期T及Y值的变化动态响应。2 .中值滤波程序所谓中值滤波就是对某一个被测参数连续采n次(通常n取奇数),然后把n次的采样值从小到大(或者从大到小)排队,再取中间值作为本次采样值。3 .算术平均滤波程序该方法是把N个采样值相加,然后取其算术平均值作为本次采样值,即歹(Q=x()Nz=式中靛幻一第k次N个采样值的算术平均值;X(i)一第i次采样值;N一采样次数。4 .一阶滞后滤波程序前面的几种滤波方法基本上属于静态滤波,要紧适用于变化过程比较快的参数,如压力、流量等。但关于慢速随机变量使用在短时间内连续采样求平均值的方法,其滤波效果不够理想。为了提高滤波效果,通常可使用动态滤波方法,即一阶滞后滤波
6、方法,其表达式为Y(k)=(1-a)X(k)+aY(k-1)式中,X(Q第k次采样值;八1)一上次滤波结果输出值;夕伏)一第k次采样后滤波结果输出值;a-滤波平滑系数。=三+T一滤波环节的时间常数;T一采样周期通常采样周期远小于滤波环节的时间常数,也就是输入信号的频率快,而滤波环节时间常数相对地大,这是通常滤波器的概念,因此这种滤波方法相当于RC滤波器。CT的选择可根据具体情况确定。通常愈大,滤波的截至频率愈低,相当于RC滤波器的电容增大,但电容的增加是有限的,而这里的r则可任意选取,这也是数字滤波器能够作为低通滤波器的原因。5.复合滤波程序有的时候为了进一步增强滤波效果,常常使用复合滤波程序
7、,即把两种以上的滤波方法结合起来使用,如把中值滤波与算术平均值滤波两种方法结合起来,则可得到一种复合滤波程序,其方法是把采样值首先按大小进行排队,然后去掉最大值与最小值,再把剩下的值逐个相加,最后取平均值。也可使用所谓双重滤波。即把采样值通过一次滤波(如低通滤波)后,再通过一次低通滤波,这样,结果将更近于理想值,这实际上相当于多级RC滤波器。关于多级数字滤波,根据式(5-5)可知:第一级滤波Y(k)=AY(k-1)+BX*)(5-6)式中,A、B均为与滤波环节的时间常数及采样时间有关的常数。再进行一次滤波,则Z(Q=Az(k-1)+By(k)(5-7)式中,Z(Q数字滤波器的输出值;z(k7)
8、一上次数字滤波器的输出值:将式(13-6)代入(13-7)得(k)Z (k) =Az (k-1)+ABY (k-1) +B2X (k) b +(5-8)Z(k)a1YaY-z(k-1)z(k2)口一Jz(k-n)将(13-7)移项,并将k改为k-1,则z(k-1)-A(k-2)=BY(k-1)将BY(k-1)代入式(5-8),得z(k)=2Az(k-1)-A2z(k-2)+B2X(k)(5-9)式(5-9)即为两级数字滤波的公式,根据此式能够设计出一个使用n级数字滤波的通常原理图,如图5-6所示。6 .高通滤波器前面介绍了几种常用的数字滤波方法,其中一阶滞后滤波属于低通滤波器。在这种滤波器中,
9、为了简化,我们仍使用(5-6)的形式。Y(k)=AY(k-1)+BX(k)上式中的基本思想是将当前输入与上次输入取平均值,因而在输入中,任何快速突然的变化均被滤掉,仅留下缓慢的变量,因此称之低通滤波。假设我们改换一种方式,即仅仅追求新的东西,并从输入中减去或者丢弃已经见到的任何东西,其数学表达式为Y(k)=BX(k)-AY(k-1)式(1370)即为高通滤波器公式,这种高通滤波器的增益在频率达到奈奎斯特频率(可能的上限)时接近MG=B/(1-A)为了使在高频下无增无减,令A+B=17 .带通滤波器理想的带通滤波器,如图5-7所示,图中,凡是大于F而小于f?的频率均能通过,其余的则不能通过,我们
10、把从F到千2之间的频率范围成为通频带。带通滤波器能够由一个理想的低通滤波器与一个理想的高通滤波器构成,或者者反之。根据低通与高通滤波器公式(5-6)与(5-10)可知增益A频率(f)口f1f2Y(k)=B1X(k)+AY(k-1)(5-13)与z(k)=B2Y(k)-A2z(k-1)(5-14)将式(5-13)代入式(5-14)得z(k)=B1B2X(k)+A1B2Y(k-1)-A2z(k-1)(5-15)将式(5-14)移项,并将各项减1,得B2Y(k-D=z(k-1)+A2z(k-2)将上式代入式(5-15)得z(k)=BiB2X(k)+(A-A2)z(k-1)+AA2z(k-2)(5-1
11、6)5.3非线性补偿及误差修正在数据处理系统中,特别是用显示仪表进行显示时,总是希望得到均匀的刻度,也就是希望系统的输出与输入呈线性关系,这样不仅使读数看起来清晰、方便,而且使仪表在整个刻度范围内灵敏度一致,从而便于读数及对系统进行分析处理。在实际工程中,有许多参数是非线性的,如在温度测量中,热电阻及热电偶与温度的关系即为非线性的。在流量测量中,流经孔板的差压信号与流量之间也是非线性的关系。特别在高精度仪表及测量系统中,传感器的分散性、温度漂移与滞后等都会带来一定的误差。为此,务必对上述误差进行补偿与校正,以提高测量精度。在模拟仪表中,常用的校正及线性化方法有:1 .凸轮机构及曲线板(比如在流
12、量测量仪表中);2 .非线性电位计(如对数或者指数电位器);3 .二极管阵列(如用多个二极管构成开方器);4 .运算放大器(如各类对数、指数、三角函数运算放大器)。所有这些方法,均属于硬件补偿。这种方法不但成本高,使设备更加复杂,而且对有些误差的补偿是极为困难的,甚至是不可能的。在微型机化的智能仪器与操纵系统中,用软件代替硬件进行校正,这样不仅能节约大量的硬件开支,而且精度也大为提高,因而得到了广泛应用。线性插值法(一)线性插值原理图1311分段线性插值法由图1371能够看出,当我们已知某一输入值Xi以后,要想求出输出值匕并非易事,由于其函数关系式Y=f(t)并不是简单的线性方程。为使问题简化
13、起见,能够把该曲线按一定的要求分成若干段,然后把相邻两分段点用直线连起来(如图中虚线所示),用此直线代替相应的各段的曲线,即可求出输入值X所对应的输出值。比如,设X在(xi,xi+1)之间,则其对应的逼近值为y=yi+(Yi+-Yi)(X-Xi)/(Xi-Xi)(13-22)将上式进行简化,可得y=yi+ki(-i)(13-23)与V=yio+kix(13-24)其中yi0=y-kixk尸(YxYi)/(XxXi),为第i段直线的斜率式(13-23)是点斜式直线方程,而(13-24)为截矩式直线方程。上两式中,只要n取得足够大,即可获得良好的精度。(二)线性插值的计算机实现法下面以点斜式直线方
14、程(13-23)为例,讲一下用计算机实现线性插值的方法。第一步,用实验法测出传感器的变化曲线尸千(x)o为慎重起见,要反复多测几次,以便求出一个比较精确的输入/输出曲线。第二步,将上述曲线进行分段,选取各插值基点。为了使基点的选取更合理,可根据不一致的曲线使用不一致的方法分段。要紧有两种方法:1 .等距分段法2 .非等距离分段法这种方法的特点是函数基点的分段不是等距的,而是根据函数曲线形状的变化率的大小来修正插值间的距离。曲率变化大的,插值距离取小一点。也能够使常用刻度范围插值距离小一点,而使非常用刻度区域的插值距离大一点,但非等值插值点的选取比较烦恼。第三步,确定并计算出各插值点X,、y.值
15、及两相邻插值点间的拟合直线的斜率并放在存储器中。第四步,计算X-Xi。第五步,找出X所在的区间(,i+),并取出该段的斜率ki。第六步,计算k(X-Xj)。第七步,计算结果y=k(-Xi)。根据上述步骤可知,用计算机实现线性插值法的程序流程图,如(线性插值法程序)计算ki(X-Xi)计算y=yi+ki(-i)结束图1372所示。图1312线性插值计算程序二.二次抛物线插值法在线性插值法中,假如传感器的输入输出特性曲线很弯,因而使两插值点间的曲线也将很弯,如今,假如使用线性插值法必将带来很大的误差,如图1375所示。图1375中,若X在(xi,xi+1)之间假如仍使用线性插值法将产生Ay误差,当大于所同意的误差时,这种方法显然是不可行的。靠增加插值点的数量尽管能够减少误差,但往往由于插值点太多而占用很多的内存单元,从而使计算机工作速度减慢。为熟悉决这个问题,可使用一种所谓二次抛物线插值法来代替