当前位置:
文档之家› 第六章 过程控制数据处理方法
第六章 过程控制数据处理方法
11
第六章 过程控制数据处理方法
三、对分查表法
对分查表法的具体方法——先取数组的中间值D=n/2进行 查找,与要搜索的x值进行比较,若相等,则查到。若不等,则 继续查找:(设数据从小到大的顺序存储) 如果x>n/2项,则下一次取n/2~n间的中值,即3/4n进行 比较; 若x<n/2项,则取0~n/2 的中值,即n/4进行比较。 如此比较下去,则可逐次逼近要搜索的关键字,直到找到为 止。
n −1
式中C1、C2、…、Cn,均为常数项,应满足下列关系:
∑C
9
第六章 过程控制数据处理方法
二、计算查表法
10
第六章 过程控制数据处理方法
三、对分查表法
顺序查表法速度比较慢,计算查表法对表格的要求比较挑剔,因而 都具有一定的局限性。 在实际应用中,很多表格都比较长,且难以用计算查表法进行查 找,但它们一般都能满足从大到小或从小到大的排列顺序。对于这样的 表格,可以采用对分查表法,这是一种快速而有效的方法。 对分查表法的速度要比顺序查表法快很多倍。设一个线性表字节长 度为n,若采用顺序查表法,平均查找次数m近似等于n/2次,而对分 查表法的最多查找次数约为log2n-1次。例如当n=2048时,顺序查表法 平均查找次数为1024次,而采用对分查表法最多只需查找9次即可。
7
第六章 过程控制数据处理方法
一、顺序查表法
8
第六章 过程控制数据处理方法
二、计算查表法
在微型机数据处理系统中,一般使用的表都是线性表——若干个数 据元素x1、x2、…、xn 的集合,各数据元素在表中的排列方法及所占用 的存储器单元个数都是一样的。因此,只要根据所给的元素xi,通过一 定的计算,求出元素xi所对应的数值的地址,然后将该地址单元的内容 取出即可。 这种有序表格要求各元素在表中排列格式及所占用的空间必须一 致,而且各元素是严格按顺序排列的。它适用于某些数值计算程序,功 能键地址转移程序以及数码转换程序等。 例如,求函数y=x!(x=0,1,2.…,7)的值。每一个x值所对 应的y值在表中地址可按计算出来。 y地址=函数表基地址+x×2
G=K ∆p ⋅ p T
3、非线性关系,其运算式不但包含四则运算,而且有对数、指数 或三角函数运算。 计算机可通过查表及数值计算等,使问题大为简化。
2
第六章 过程控制数据处理方法
微型机数据处理系统具有如下优点:
(1)可用各种程序代替硬件电路,完成多种运算。 (2)能自动地修正误差。如非线性误差、温度误差、零点漂移误 差等,找出这些误差的规律,就可以用软件加以修正。对于随机误差, 也可根据其统计模型进行有效的修正。 (3)能对被测参数进行较复杂、精确的计算和处理,因而大大提 高了测量精度。 (4)能对被测参数进行进行逻辑判断,一旦发生故障,能及时进 行报警(或采取容错技术)。 (5)微型机数据处理系统不但精度高,而且稳定可靠,不受外界 干扰。
17
第六章 过程控制数据处理方法
一、程序判断滤波
经验说明,许多物理量的变化都需要一定的时间,相邻两次采样 值之间的变化有一定的限度。程序判断滤波的方法,是根据生产经验, 确定出相邻两次采样信号之间可能出现的最大偏差△Y。若超过此偏差 值,则表明该输入信号是干扰信号,应该去掉;如小于此偏差值,可将 该信号作为本次采样值。 当采样信号由于随机干扰,如大功率用电设备的启动或停止,造 成电流的尖峰干扰或误检测,可采用程序判断法进行滤波。 程序判断滤波根据滤波方法的不同,可分为限幅滤波和限速滤波两 种。
这种程序滤波方法,主要用于变化比较缓慢的参数,如温度、物位 等测量系统。使用时关键问题是最大允许误差△Y的选取,△Y太大,各 种干扰信号将“乘机而入”,使系统误差增大:△Y太小,又会使某些有 用信号被“拒之门外”,使计算机采样效率变低。
19
第六章 过程控制数据处理方法
2.限速滤波
设 顺 序 采 样 时 刻 t1、t2、t3, 所 采 集 的 参 数 分 别 为 Y(1)、Y(2)、 Y(3),那么 当|Y(2)—Y(1)|≤△Y时,Y(2)输入计算机; 当|Y(2)—Y(1)|>△Y时,Y(2)不采用,但仍保留,继续采样取得 Y(3); 当|Y(3)—Y(2)| ≤△Y时,则取Y(3)输入计算机; 当|Y(3)—Y(2)|>△Y时,则取(Y(3)+Y(2))/2输入计算机。 限速滤波是一种折衷的方法,既照顾了采样的实时性,又顾及了采 样值变化的连续性。但这种方法也有明显的缺点,第一是△Y的确定不 够灵活,不能根据现场的情况不断更换新值;第二是不能反应采样点数 N>3时各采样数值受干扰情况。因此,它的应用受到一定的限制。
20
第六章 过程控制数据处理方法
2.限速滤波
21
第六章 过程控制数据处理方法
二、中值滤波
中值滤波是对某一参数连续采样n次(一般n取奇数),然后把 n次的采样值从小到大,或从大到小排队,再取其中间值作为本 次采样值。 中值滤波对于去掉偶然因素引起的波动或采样器不稳定而造 成的误差所引起的脉动干扰比较有效。若变量变化比较缓慢,采 用中值滤波效果比较好,但对快速变化过程的参数,如流量,则 不宜采用。
6
第六章 过程控制数据处理方法
一、顺序查表法
是针对无序排列表格的一种方法。因为无序表格中所有各项 的排列均无一定的规律,所以,只能按照顺序从第一项开始逐项 寻找,直到找到所要查找的关键字为止。 程序设计方法主要用CMP比较指令,将要查找的关键字放 在KEYWORD单元中,被查找的数据放在以TABLE为首地址的 内存单元中。首先取出关键字,然后逐一与表中的数进行比较。 如果没找到,则修改地址,继续比较下一个数,直到查找完整个 表为止。若找到关键字,则把此关键字的地址放到BX寄存器 中,否则,将把BX寄存器置为0FFFFH。
第六章 过程控制数据处理方法
主讲老师:胡汉春
西南交通大学机械工程学院
第六章 过程控制数据处理方法
在微型机控制系统及智能化仪表中,模拟量经A/D转换器转换后 变成数字量送入计算机,这些数字量在进行显示、报警及控制之前,还 必须根据需要进行一些加工处理,如数字滤波、标度变换、数值计算、 逻辑判断及非线性补偿等,以满足各种不同系统的需要。 在数据处理系统中,被测参数与变量的关系: 1、线性关系,如温度只与热电偶的mV值成比例。 2、参数与几个需测变量相关,经过一定的数学运算才能得到被测 参数,如流量计算公式:
13
第六章 过程控制数据处理方法 对分查表法子程序的设计
14
第六章 过程控制数据处理方法
第二节 数字滤波技术
15
第六章 过程控制数据处理方法
在工业过程控制系统中,由于被控对象所处环境比较恶 劣,常存在干扰源,如环境温度、电场、磁场等,使采样值偏 离真实值。 对于各种随机出现的干扰信号,在微型机组成的自动检测 系统中,常通过一定的计算程序,对多次采样信号构成的数据 系列进行平滑加工——数字滤波,以提高其有用信号在采样值 中所占的比例,减少乃至消除各种干扰及噪音,从而保证系统 工作的可靠性。
4
第六章 过程控制数据处理方法
第一节 查表技术
5
第六章 过程控制数据处理方法
在微型机控制系统中,有些参数的计算是非常复杂的,还有 一些非线性参数,它们的计算往往要涉及到指数、对数、三角函 数、以及积分、微分等运算。所有这些运算用汇编语言编写程序 都比较复杂,有些甚至无法建立相应的数学模型。为了解决这些 问题,可以采用查表法。 查表法——把事先计算或测得的数据按一定顺序编制成表 格,由查表程序根据被测参数的值或者中间结果,查出最终所需 要的结果。 查表的方法有: (1)顺序查表法;(2)计算查表法;(3)对分搜索法等。
23
第六章 过程控制数据处理方法
中值滤波程序设计
24
第六章 过程控制数据处理方法
三、算术平均值滤波
算术平均值滤波是要寻找一个Y(k),使该值与各采样值间误差的平 方和为最小,即
S = min[∑ e 2
i =1 N
N
= min ∑ [Y (u ) − X (i )]
i =1
2
由一元函数求极值原理,得
18
第六章 过程控制数据处理方法
1.限幅起波
把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两 次采样允许的最大差值(由被控对象的实际情况决定) △Y进行比较,若 小于或等于△Y,则取本次采样值;若大于△Y,则仍取上次采样值作为 本次采样值,即; |Y(k)-Y(k-1)|≤△Y, |Y(k)-Y(k-1)|>△Y, 则Y(k)=Y(k),取本次采样值; 则Y(k)=Y(k-1),取上次采样值。
26
第六章 过程控制数据处理方法
四、加权平均值滤波
算术平均值,对于N次以内所有的采样值来说,所占的比例是相同 的。亦即滤波结果取每次采样值的1/N。但有时为了提高滤波效果, 将各采样值取不同的比例,然后再相加。此方法称为加权平均法。一 个n项加权平均式为:Βιβλιοθήκη Y = ∑ Ci X n −1
i =0
n −1 i =0
22
第六章 过程控制数据处理方法
中值滤波程序设计
将N个数据按大小顺序排队作法:数据两两进行比较,设[BX] 存放数据区首地址,先将[BX]与[(Bx)+1]进行比较,若是[BX]< [(Bx)+1],则不交换存放位置,否则将两数位置对调。继而再取 [(Bx)+1]与[(Bx)+2]比较,判断方法亦然,直到最大数沉底为 止。然后再重新进行比较,把次大值放到N-1位,……如此做下 去,则可将N个数从小到大顺序排列。 设从A/D转换器的采样值输入SAMP为首地址的内存单元中, 采样次数存放在N单元中,其流程图如图6-4所示。
12
第六章 过程控制数据处理方法 对分查表法子程序的设计步骤如下:
(1)表的长度放在CX寄存器中。 (2)设表的首地址为TABLEl,并存放在DI寄存器中。 (3)要搜索的关键字放在AX寄存器中。 (4)计算中点元素的地址,放在BX寄存器中。 (5)将关键字AX与中点元素的值进行比较 若(AX)<[BX],则选取低值的半个表(即DI为首地址),并转第(4)步; 若(Ax)>[BX],则选取高值的半个表(即BX为首地址),并转第(4)步; 若(AX)=[BX],则找到,使CF=l,并将该元素的首地址放在BX寄存 器中。