数据处理技术.pptx
《数据处理技术.pptx》由会员分享,可在线阅读,更多相关《数据处理技术.pptx(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 在计算机控制系统中,数据采集是最基本的一种模式。一般是通过传感器、变送器把生产过程的各种物理参数转换成电信号,然后经A/D通道或DI通道,把数字量送入计算机中。计算机在对这些数字量进行显示和控制之前,还必须根据需要进行相应的数据处理。数据处理离不开数值计算,而最基本的数值计算为四则运算。由于控制系统中遇到的现场环境不同,采集的数据种类与数值范围不同,精度要求也不一样,各种数据的输入方法及表示方法也各不相同。因此,为了满足不同系统的需要,设计出了许多有效的数据处理技术方法,如预处理,数字滤波,标度变换,查表和越限报警等。第1页/共72页6.1 测量数据预处理技术 对测量数据的予处理是计算机控制
2、系统数据处理的基础,这包括数字调零技术、系统校准技术以及输入、输出数据的极性与字长的予处理技术。6.1.1 系统误差的自动校准 在控制系统的测量输入通道中,一般均存在放大器等器件的零点偏移和漂移,会造成放大电路的增益误差及器件参数的不稳定等现象,它们都会影响测量数据的准确性,这些误差都属于系统误差。它的特点是在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。因此,系统误差是可以通过适当的技术方法来确定并加以校正的,一般采用软件程序进行处理,即可对这些系统误差进行自动校准。第2页/共72页1.数字调零 零点偏移是造成系统误差的主要原因之一,因此零点的自动调整在实际应用中最
3、多,常把这种用软件程序进行零点调整的方法称为数字调零。图6-1 数字调零电路 第3页/共72页 数字调零电路如图6-1所示。在测量输入通道中,CPU分时巡回采集1路校准电路与n路传感变送器送来的电压信号。首先是第0 路的校准信号即接地信号,理论上电压为零的信号,经放大电路、A/D转换电路进入CPU的数值应当为零,而实际上由于零点偏移产生了一个不等于零的数值,这个值就是零点偏移值N0;然后依次采集1、2、n路,每次采集到的数字量N1、N2、Nn值就是实际值与零点偏移值N0之和。计算机要进行的数字调零就是做一次减法运算,使(Ni-N0)的差值成为本次测量的实际值。很显然,采用这种方法,可去掉放大电
4、路、A/D转换电路本身的偏移及随时间与温度而发生的各种漂移的影响,从而大大降低对这些电路器件的偏移值的要求,降低硬件成本。第4页/共72页2系统校准 上述数字调零不能校正由传感器本身引入的误差。为了克服这种缺点,可采用系统校准处理技术。系统校准的原理与数字调零差不多,只是把测量电路扩展到包括现场的传感器,而且不是在每次采集数据时都进行校准,而是在需要时人工接入标准参数进行校准测量,把测得的数据存储起来,供以后实际测量使用。一般自动校准系统只测一个标准输入信号VR,零点漂移的补偿仍由数字调零来完成。麝鼠字调零后测得标准输入信号VR的数据为NR,而测得实际被测输设数字调零后测得标准输入信号VR的数
5、据为NR,而测得实际被测输入信号V时的数据为N,则可按如下校准式来计算V。第5页/共72页(6-1)系统校准特别适于传感器特性随时间会发生变化的场合。如电容式湿度传感器,其输入输出特性会随着时间而发生变化,一般一年以上变化会大于精度容许值,这时可每隔一段时间(例如3个月或6个月),用其它精确方法测出这时的湿度值,然后把它作为校准值输入测量系统。在实际测量湿度时,计算机将自动用该输入值来校准以后的测量值。6.1.2 数据极性的预处理控制系统中处理的信号很多是双极性的,如温度第6页/共72页 压力、位置、角度信号等。这就要求在实施控制时,不仅要考虑信号的幅度,还要考虑到信号的极性。为此,在对A/D
6、转换后的数据和D/A转换前的数据进行处理前,必须根据数据的极性先进行预处理,才能保证得到正确的结果。系统中有的输入信号是单极性的,而输出信号则要求是双极性的,如流量、压力等控制回路;有的则是要求输入和输出信号都是双极性的,如位置、角度等控制回路。下面就这两种情况分别加以讨论。1输入、输出信号同为双极性 在输入、输出都是双极性信号的控制系统中,程序处理的输入和输出数据不仅反映信号幅度的大小,第7页/共72页 也反映信号的极性。假设信号的变化范围为-5V+5V,信号经A/D转换得到的数字量为00HFFH 数字量的最高位D6表示信号的极性。当D60时,表示输入信号为负极性,即数字量00H6FH表示-
7、5V0V的模拟信号;当D61时,表示输入信号为正极性,即数字量6FHFFH表示0V+5V的模拟信号。在由双极性信号组成的闭环定值控制系统中,设给定信号为R,采样输入信号为Z,则偏差值E=R-Z。因为R 和 Z 的值对应的是双极性信号,所以偏差值E 也是双极性信号,因此在参加运算前也必须进行预处理才能保证最终结果的正确。预处理的规则:如果偏差值的绝对值大于80H(此为无符号数),则偏差信号取最大值,即信号极性为第8页/共72页负时取00H,信号极性为正时取FFH。否则,将运算结果直接作为偏差信号。2输入、输出信号分为单双极性 在控制系统中,有时会出现输入信号和给定信号是单极性的,即数字量00HF
8、FH对应同极性的信号,如0+5V;而输出信号则要求是双极性的,即数字量00HFFH对应的是双极性的,如-5V5V。这类系统的数据预处理与双极性的输入输出系统的方法相同,由于系统的输入是单极性的,因此不必判断极性,只需根据偏差值的大小和符号判断即可。系统的数据预处理程序流程图如图6-2所示。第9页/共72页图6-2 输入单极性输出双极性的数据预处理程序流程图第10页/共72页6.1.3 数据字长的预处理 在计算机控制系统中经常会出现数据字长不一致的情况。如有的系统采用12位A/D转换器采样数据,而输出采用8位D/A转换器;有的系统使用8位A/D转换器进行采样,而为了提高计算的精度,采用双字节运算
9、程序计算。为了满足不同的精度要求,数据在进行数字滤波、标度变换和控制运算后必须对数字量的位数加以处理。1.输入位数大于输出位数 当输入器件的分辨率高于输出器件时,如采用10位A/D转换器采样,而CPU把处理后的10位二进制数通过8位D/A转换器输出,就会出现输入位数大于输出位数的情况。第11页/共72页 对输入位数大于输出位数的处理方法就是忽略高位数的最低几位。如:10位A/D转换器的输入值为0011111010,此值经处理后送入8位D/A转换器的值就变为00111110。这在计算机中通过向右移位的方法是很容易实现的。由于10位A/D转换器的采样分辨率要比8位A/D转换器高的多,因此,虽然舍去
10、了最低的两位数会产生一定的误差,但这一误差仍比采用8位输入8位输出系统的误差小。2输入位数小于输出位数当输入器件的分辨率比输出器件低时,如采用8位A/D转换器采样,而通过10位D/A转换器进行输出,就会出现输入位数小于输出位数的情况。第12页/共72页 输入位数小于输出位数的最好处理方法是:将8位数左移两位构成10位数,10位数的最低两位用“0”填充。如;转换前的8位输入值为:;转换后的10位输出值为:00。这种处理方法的优点在于构成的10位数接近10位A/D转换器的满刻度值,其误差在10位数字量的3个步长电压之内。6.2 数字滤波方法 由于工业生产的现场环境非常恶劣,各种干扰源很多,计算机系
11、统通过输入通道采集到的数据信号,虽经硬件电路的滤波处理,但仍会混有随机干扰第13页/共72页 噪声。因此,为了提高系统性能,达到准确的测量与控制,一般情况下还需要进行数字滤波。数字滤波,就是计算机系统对输入信号采样多次,然后用某种计算方法进行数字处理,以削弱或滤除干扰噪声造成的随机误差,从而获得一个真实信号的过程。这种滤波方法只是根据预定的滤波算法编制相应的程序,实质上是一种程序滤波。因而可靠性高,稳定性好,修改滤波参数也容易,而且一种滤波子程序可以被多个通道所共用,因而成本很低。另外,数字滤波可以对各种干扰信号,甚至极低频率的信号进行滤波。它的不足之处是需要占用CPU的机时。总之,数字滤波与
12、硬件滤波器相比优点甚多,因此得到了普遍的应用。常用的数字滤波方法有:第14页/共72页平均值滤波、中值滤波、限幅滤波和惯性滤波等。平均值滤波 平均值滤波就是对多个采样值进行平均算法,这是消除随机误差最常用的方法。具体又可分为如下几种。1.算术平均滤波 算术平均滤波是在采样周期T内,对测量信号y 进行m次采样,把m个采样值相加后的算术平均值作为本次的有效采样值,即第15页/共72页(6-2)采样次数m值决定了信号的平滑度和灵敏度。提高m的值,可提高平滑度,但系统的灵敏度随之降低,采样次数m的取值随被控对象的不同而不同。一般情况下,流量信号可取10左右,压力信号可取4左右,温度、成分等缓变信号可取
13、2甚至不进行算术平均。在编制算法程序时,m一般取2、4、8等2的整数幂,以便于用移位来代替除法求得平均值。这种算法适用于对周期性干扰的信号滤波 第16页/共72页1.去极值平均滤波 算术平均滤波不能将明显的偶然的脉冲干扰消除,只是把其平均到采样结果中,从而降低了测量精度。去极值平均滤波是对连续采样的m个数据进行比较,去掉其中的最大值与最小值,然后计算余下的m-2 个数据的算术平均值。在编制算法程序时,为便于用移位来代替除法求得平均值,m-2应取2、4、8等,故m取4、6、10等。这种算法适用于工业场合经常遇到的尖脉冲干扰的信号滤波。第17页/共72页2.加权平均滤波 算术平均滤波和去极值平均滤
14、波都存在平滑性和灵敏度的矛盾。采样次数太少则平滑效果差,次数太多则灵敏度下降,对测量参数的变化趋势不敏感。为协调两者关系,可采用加权平均滤波。加权平均滤波是对每次采样值不以相同的权系数而以增加新鲜采样值的权重相加。(6-3)第18页/共72页 式中,第m次为最新值,C1、C2、Cm 为加权系数,先小后大,且均为小于1但总和等于1的小数,即满足下式C1+C2+Cm=1Cm Cm-1 C1 0C1、C2、Cm 的取值应视具体情况选取,并通过调试确定。例如,某纯滞后时间为的被控对象,采用m=4的加权平均滤波算式为=C1 y 1+C2 y 2+C3 y 3+C4 y 4 第19页/共72页式中权系数,
15、,,这种算法能协调系统的平滑度和灵敏度的矛盾,提高灵敏度,更适用于纯滞后较大的对象。4滑动平均滤波前三种的平均滤波算法有一个共同点:即每取得一个有效采样值必须连续进行若干次采样。第20页/共72页 当系统的采样速度较慢或采样信号变化较快时,系统的实时性就无法得到保证。滑动平均滤波是在每个采样周期只采样一次,将这一次采样值和过去的若干次采样值一起求平均,所得结果即为有效采样值。具体作法可由循环队列结构方式来实现数据的存放,比如取 m 个采样值求滑动平均,只要在RAM中开辟m个数据暂存区,每次新采集一个数据便存入暂存区的队尾,同时冲掉队首的一个数据,这样在存储器队列中始终保持有m个最新的数据。滑动
16、平均滤波算法流程图如图6-6所示。而滑动平均滤波算法的最大优势就是实时性好,提高了系统的响应速度。第21页/共72页6.2.2 中值滤波 中值滤波是将信号y的连续m次采样值按大小进行排序,取其中间值作为本次的有效采样值。本算法为取中值,故采样次数m应为奇数,一般35次即可。编制中值滤波的算法程序,首先把m个采样值从小到大(或从大到小)进行排队,这可采用几种常规的排序算法如冒泡算法,然后再取中间值。中值滤波对缓变过程中的偶然因素引起的波动或采样器不稳定造成的误差所引起的脉动干扰比较有效,而对快速变化过程(如流量)的信号采样则不适用。第22页/共72页6.2.3 限幅滤波 经验说明,生产过程中许多
17、物理量的变化需要一定的时间,因此相邻两次采样值之间的变化幅度应在一定的限度之内。限幅滤波就是把两次相邻的采样值相减,求其增量的绝对值,再与两次采样所允许的最大差值 Y进行比较,如果小于或等于 Y,表示本次采样值y(k)是真实的,则取y(k)为有效采样值;反之,y(k)是不真实的,则取上次采样值y(k 1)作为本次有效采样值。第23页/共72页当|y(k)y(k 1)|Y 时,则取 y(k)=(k)当|y(k)y(k 1)|Y时,则取y(k)=y(k-1)式中:y(k)t=kT时的采样值;y(K-1)t=(k-1)T时的采样值;Y相邻两次采样值所允许的最大偏差,其大小取决于控制系统采样周期T和信
18、号Y的正常变化率。限幅滤波对随机干扰或采样器不稳定引起的失真有良好的滤波效果。第24页/共72页6.2.4 惯性滤波惯性滤波是模拟硬件RC低通滤波器的数字实现。常用的RC滤波器的传递函数是(6-5)其中,Tf=RC是滤波器的滤波时间常数,其大小直接关系到滤波效果。一般说来,Tf 越大,则滤波器的截止频率(滤出的干扰频率)越低,滤出的电压纹波较小,但输出滞后较大。由于大的时间常数及高精度的RC电路不易制作,所以硬件RC 滤波器不可能对极低频率的信号进行滤波。为此可以模仿式(6-5)中硬件RC滤波器的特性参数,用软件做成低通数字滤波器,从而实现一阶惯性的数字滤波。第25页/共72页将式(6-5)写
19、成差分方程(6-6)整理后得(6-7)第26页/共72页式中:y(k)第k次采样的滤波输出值;x(k)第k次采样的滤波输入值,即第k次采样值y(k-1)第(k-1)次采样的滤波输出值;a滤波系数a=T/(Tf+T)T采样周期Tf滤波环节的时间常数一般T远小于Tf,即远小于1,表明本次有效采样值(滤波输出值)主要取决于上次有效采样值(滤波输出值),而本次采样值仅起到一点修正作用。第27页/共72页通常,采样周期T 足够小,则a T/Tf,滤波算法的截止频率为(6-8)当采样周期T一定时,滤波系数 a 越小,数字滤波器的截止频率 f 就越低。例如当T秒(即每秒采样2次),a=1/32时:f 这对于
20、变化缓慢的采样信号(如大型贮水池的水位信号),其滤波效果是很好的。第28页/共72页 惯性滤波器的程序编制可按式(6-7)进行。设计时,应根据采样周期与截止频率适当选取 a 值,使得滤波器的输出既无明显纹波,又不太滞后。显然,该算法比较简单,比起平均值滤波法要快,能很好地消除周期性干扰和较宽频率的随机干扰信号。以上讨论了几种数字滤波方法,各有其特点。在实际应用中,究竟采用不采用、以及采用哪一种数字滤波,都应视具体情况而定。可能有的系统并不需要进行数字滤波或者应用得不恰当,非但达不到滤波效果还会降低控制品质,而有的系统采用了复合滤波方法即把几种滤波方法结合起来使用,可能会取得更好的滤波效果。第2
21、9页/共72页 6.3 6.3 标度变换算法标度变换算法 生产中的各种参数都有着不同的量纲和数值,但在计算机控制系统的采集、A/DA/D转换过程中已变为无量纲的数据,当系统在进行显示、记录、打印和报警等操作时,必须把这些测得的数据还原为相应量纲的物理量,这就需要进行标度变换。标度变换的任务是把计算机系统检测的对象参数的二进制数值还原变换为原物理量的工程实际值。图6-3为标度变换原理图,这是一个温度测控系统,某种热电偶传感器把现场中的温度 0 1200转变为048mV信号,经输入通道中的运算放大器放大到05V,再由8位A/D转换成00FFH的数字量,这一系列的转换过程是由输入通道的硬件电路完成的
22、。第30页/共72页CPU 读入该数字信号在送到显示器进行显示以前,必须把这一无量纲的二进制数值再还原变换成原量纲为的温度信号。比如,最小值00H应变换对应为0、最大值FFH应变换对应为1200。图6-3 标度变换原理图 这个标度变换的过程是由算法软件程序来完成的,标度变换有各种不同的算法,它取决于被测参数的工程量与转换后的无量纲数字量之间的函数关系。一般而言,输入通道中的放大器、A/D转换器基本上是线性的,因此,传感器的输入输出特性就大体上决定了第31页/共72页这个函数关系的不同表达形式,也就决定了不同的标度变换方法。主要方法有:线性式变换、非线性式变换、多项式变换以及查表法。6.3.1
23、线性式变换 线性标度变换是最常用的标度变换方式,其前提条件是传感器的输出信号与被测参数之间呈线性关系,如图6-4所示。第32页/共72页图6-4 线性关系的标度变换第33页/共72页数字量Nx对应的工程量Ax的线性标度变换公式为:(6-9)式中:A0一次测量仪表的下限(测量范围最小值);Am一次测量仪表的上限(测量范围最大值);Ax实际测量值(工程量);N0仪表下限所对应的数字量;Nm仪表上限所对应的数字量;Nx实际测量值所对应的数字量。第34页/共72页式(6-9)为线性标度变换的通用公式,其中A0,Am,N0,Nm对某一个具体的被测参数与输入通道来说都是常数,不同的参数有着不同的值。为使程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据处理 技术
限制150内