第 5 章 智能仪器典型处理功能

64
第 5 第 第第第第第第第第第第 5.1 第第第第第第第 5.2 第第第第第第 5.3 第第第第第第第第第 5.4 第第第第第第第

description

第 5 章 智能仪器典型处理功能. 5.1 硬件故障的自检 5.2 自动测量功能 5.3 仪器测量精度的提高 5.4 干扰与数字滤波. 第 5 章 智能仪器典型处理功能. 智能仪器的主要特征是以微处理器为核心进行工作,因而智能仪器具有强大的控制和数据处理功能,使测量仪器在实现自动化,改善性能,增强功能以及提高精度和可靠性方面发生了较大的变革。 本章侧重讨论一般智能仪器都具有的典型处理功能。. - PowerPoint PPT Presentation

Transcript of 第 5 章 智能仪器典型处理功能

Page 1: 第 5 章  智能仪器典型处理功能

第 5 章 智能仪器典型处理功能

5.1 硬件故障的自检 5.2 自动测量功能 5.3 仪器测量精度的提高 5.4 干扰与数字滤波

Page 2: 第 5 章  智能仪器典型处理功能

第 5 章 智能仪器典型处理功能

智能仪器的主要特征是以微处理器为核心进行工作,因而智能仪器具有强大的控制和数据处理功能,使测量仪器在实现自动化,改善性能,增强功能以及提高精度和可靠性方面发生了较大的变革。 本章侧重讨论一般智能仪器都具有的典型处理功能。

智能仪器的这些功能是通过执行某种专门程序所规定的测量算法来实现的。所谓算法即计算方法,它是为了使计算机获得某种特定的计算结果而制定的一套详细的计算方法和步骤,一般表现为数学公式或操作流程。测量算法则是指直接与测量技术有关的算法。

Page 3: 第 5 章  智能仪器典型处理功能

5.1 硬件故障的自检

5.1.1 自检方式

5.1.2 自检算法

5.1.3 自检软件

所谓自检就是利用事先编制好的检测程序对仪器的主要部件进行自动检测,并对故障进行定位。自检功能给智能仪器的使用和维修带来很大的方便。

Page 4: 第 5 章  智能仪器典型处理功能

为什么要测试 ROM 和 RAM ,怎么测试呢?

普遍的看法是:由于担心 ROM 和 RAM 芯片损坏,在出厂和使用前应该校验这两种芯片的好坏。测试 RAM 的方法是写读各个内存单元,检查是否能够正确写入;测试ROM 的方法是累加各存储单元数值并与校验和比较。这种认识不能说错,但有些肤浅,照此编出的测试程序不完备。一般来说, ROM 和 RAM 芯片本身不大会被损坏,用到次品的概率也比较小,真正出问题的,大都是其他硬件部分,此醉翁之意不在酒。

Page 5: 第 5 章  智能仪器典型处理功能

ROM 测试

测试 ROM 的真正目的是保证程序完整性。 嵌入式软件和启动代码存放在 ROM 里,不能保

证长期稳定可靠,因为硬件注定是不可靠的。以 flash ROM 为例,它会由于以下两种主要原因导致程序挥发:

1 )到辐射。本身工作在辐射环境里 / 运输过程中受到辐射(如过海关时被 X 光机检查)。

2 )长时间存放导致存储失效,某些 0 、 1 位自行翻转。

Page 6: 第 5 章  智能仪器典型处理功能

RAM 测试 测试 RAM 的真正目的是保证硬件系统的可靠性。 RAM 真的是太不容易坏了,我至今还没有看见过

一起因为 RAM 损坏导致的系统不正常现象。不过大部分问题却可以通过 RAM 测试反映出来。仔细想想,当硬件被生产出来 / 被插到背板上究竟会发生什么错误呢!是不是感到自己做的板子出问题的可能性更大!请考虑如下几点:

1 )生产工艺不过关,过孔打歪了,与临近信号线距离不满足线规甚至打在了线上。

2 )由于搭锡引起的信号线粘连。

Page 7: 第 5 章  智能仪器典型处理功能

5.1.1 自检方式

  ( 1 ) 开机自检。开机自检在仪器电源接通或复位之后进行。自检中如果没发现问题,就自动进入测量程序,如果发现问题,则及时报警,以避免仪器带病工作。开机自检是对仪器正式投入运行之前所进行的全面检查。

  ( 2 ) 周期性自检。周期性自检是指在仪器运行过程中,间断插入的自检操作,这种自检方式可以保证仪器在使用过程中一直处于正常状态。周期性自检不影响仪器的正常工作,因而只有当出现故障给予报警时,用户才会觉察。

  ( 3 ) 键盘自检。具有键盘自检功能的仪器面板上应设有“自检”按键,当用户对仪器的可信度发出怀疑时,便通过该键来启动一次自检过程。

Page 8: 第 5 章  智能仪器典型处理功能

5.1.1 自检方式

自检过程中,如果检测仪器出现某些故障,应该以适当的形式发出指示。智能仪器一般都借用本身的显示器,以文字或数字的形式显示“出错代码”,出错代码通常以“ Error X” 字样表示,其中“ X” 为故障代号,操作人员根据“出错代码”,查阅仪器手册便可确定故障内容。仪器除了给出故障代号之外,往往还给出指示灯的闪烁或者音响报警信号,以提醒操作人员注意。  一般来说,自检内容包括 ROM 、 RAM 、总线、显示器、键盘以及测量电路等部件的检测。仪器能够进行自检的项目越多, 使用和维修就越方便,但相应的硬件和软件也越复杂。

Page 9: 第 5 章  智能仪器典型处理功能

5.1.2 自检算法

由于 ROM 中存在着仪器的控制软件,因而对 ROM 的检测是至关重要的。

ROM 故障的测量算法常采用“校验和”方法,具体作法是:在将程序机器码写入 ROM 的时候,保留一个单元(一般是最后一个单元),此单元不写程序机器码而是写“校验字”,“校验字”应能满足 ROM 中所有单元的每一列都具有奇数个1。自检程序的内容是:对每一列数进行异或运算,如果 ROM无故障,各列的运算结果应都为“1”,即校验和等于 FFH 。

一、 ROM 或 EPROM 的检测

Page 10: 第 5 章  智能仪器典型处理功能

一、 ROM 或 EPROM 的检测 表 5-1 校验和算法

ROM 地址 ROM 中的内容 0 1 1 0 1 0 0 1 0

1 1 0 0 1 1 0 0 1

2 0 0 1 1 1 1 0 0

3 1 1 1 1 0 0 1 1

4 1 0 0 0 0 0 0 1

5 0 0 0 1 1 1 1 0

6 1 0 1 0 1 0 1 0

7 0 1 0 0 1 1 1 0 ( 校验字 )

1 1 1 1 1 1 1 1 ( 校验和 )

理论上,这种方法不能发现同一位上的偶数个错误,但是这种错误的概率很小,一般可以不予考虑。若要考虑,须采用更复杂的校验方法。

Page 11: 第 5 章  智能仪器典型处理功能

二、 RAM 的检测

上述检验属于破坏性检验,一般用于开机自检。若 RAM中已存有数据,若要求在不破坏 RAM 中原有内容的前提下进行检验就相对麻烦一些。

数据存储器 RAM 是否正常的测量算法是通过检验其“读 /写功能”的有效性来体现的。 常选特征字 55H 和 AAH ,分别对 RAM 中的每一个单元进行先写后读的操作。判别读 /写内容是否相符的常用方法是,把该单元的内容求反并与原码进行“异或”运算,若结果为 FFH ,表明正常。

Page 12: 第 5 章  智能仪器典型处理功能

三、 总线的自检

所谓总线的自检是指对经过缓冲器的总线进行检测。

由于总线没有记忆能力,因此需要设置了两组锁存触发器,分别记忆地址总线和数据总线上的信息。这样,只要执行一条对存储器或 I/O设备的写操作指令,地址线和数据线上的信息便能分别锁存到这两组触发器中,我们通过对这两组锁存触发器分别进行读操作,便可判知总线是否存在故障。

实现原理如图 5-2 所示。

具体做法是:使被检测的每根总线依次为 1态, 其余总线为 0态。如果某总线停留在 0态或 1态,说明有故障存在。

Page 13: 第 5 章  智能仪器典型处理功能

三、 总线的自检

Page 14: 第 5 章  智能仪器典型处理功能

四、 显示与键盘的检测

智能仪器显示器、键盘的检测往往采用与操作者合作的方式进行。检测程序的内容为:先进行一系列预定的操作,然后操作者对这些操作的结果进行验收,如果结果与预先的设定一致,就认为功能正常,否则,应对有关通道进行检修。

键盘检测的方法是:

CPU每取得一个按键闭合的信号,就反馈一个信息。如果按下某单个按键后无反馈信息,往往是该键接触不良,如果按某一排键均无反馈信号,则一定与对应的电路或扫描信号有关。

5.1.2 自检算法

Page 15: 第 5 章  智能仪器典型处理功能

四、 显示与键盘的检测

显示器的检测一般有两种方式:

第一种方式是:让显示器全部发亮,即显示出 888

…… ,当显示表明显示器各发光段均能正常发光时,操作人员只要按任意键,显示器应全部熄灭片刻,然后脱离自检方式进入其他操作。

第二种方式是:让显示器显示某些特征字,几秒钟后自动进入其他操作。

5.1.2 自检算法

Page 16: 第 5 章  智能仪器典型处理功能

上述各自检项目一般应分别编成子程序,以便需要时调用。

设各段子程序的入口地址为 TST i ( I = 0 , 1 , 2… ), 对应的故障代号为 TNUM ( 0 , 1 , 2… )。编程时, 由序号通过表所示的测试指针表( TSTPT )来寻找某一项自检子程序入口,若检测有故障发生,便显示其故障代号 TNUM 。

5.1.3 自检软件

表 5 2 测试指针表测试指针 入口地址 故障代号 偏移量 TST0 0

TST1 1

TSTPT TST2 2 偏移 =TNUM

TST3 3

…… ……

Page 17: 第 5 章  智能仪器典型处理功能

一个典型的含有自检在内的智能仪器程序流程图

Page 18: 第 5 章  智能仪器典型处理功能

5.2.1 自动量程转换 5.2.2 自动触发电平调节 5.2.3 自动零点调整 5.2.4 自动校准

5.2 自动测量功能 智能仪器通常都含有自动量程转换、自动零点调整、自动校准功能,有的仪器还能进行自动触发电平调节。这样,仪器操作人员就省去了大量烦琐的人工调节,同时也提高了测试精度。 不同仪器的自动测量功能及性能差别很大,本节仅讨论几种带有共同性的问题。

Page 19: 第 5 章  智能仪器典型处理功能

5.2.1 自动量程转换

自动量程转换可以使仪器在很短的时间内自动选定在最合理的量程下,从而使仪器获得高精度的测量,并简化了操作。许多智能仪器,例如数字示波器、智能电桥、数字多用表等都设置有自动量程转换功能。

例如:某数字电压表共有 0.4V , 4V , 40V , 400V 四个量程,这些量程的设定是由 CPU 通过特定的输出端口送出量程控制代码来实现的,这些代码就是控制量程转换电路各开关(如继电器)的控制信号,送出不同的控制代码就可以决定开关的不同的组态,使电压表处于某一量程上。

该数字电压表自动量程转换的操作流程如图 5-5 所示。

Page 20: 第 5 章  智能仪器典型处理功能

自动判别由最大量程开始,逐级比较,直至选出最合适量程。 本例各量程可使用同一个判断依据,即 A/D转换的数据应落在 3 999≥N≥399 之间。

Page 21: 第 5 章  智能仪器典型处理功能

5.2.2 自动触发电平调节

示波器、通用计数器等仪器触发电平的设定是很重要的。一般情况下,触发电平应设定在波形的中点。有时为了满足其他测量的要求,例如测定波形上升时间或下降时间时,又需要将触发点设定在波形的 10%或 90%处。过去,要迅速而准确地自动找到理想的触发点是困难的,然而借助微处理器,并辅以一定硬件支持,就可以很好地实现这项功能。

  调节原理如框图示。输入信号经过可程控衰减器传输到比较器,而比较器的比较电平(即触发电平)由 D/A 转换器设定。

Page 22: 第 5 章  智能仪器典型处理功能

5.2.3 自动零点调整

仪器零点漂移的大小以及零点是否稳定是造成零点误差的主要来源之一。消除这种影响最直接的方法是选择优质输入放大器和 A/ D转换器,但这种方法代价高,而且也是有限度的。智能仪器的自动零点调整功能,可以较好地解决这个问题。

接着微处理器通过输出口控制继电器释放,使仪器输入端接被测信号,此时的测量值 Uox 应是实际的测量值与 Uos 之和。 最后微处理器做一次减法运算,使 Ux=Uox-Uos ,并将此差值作为本次测量结果加以显示。 很显然,上述测量过程能有效地消除硬件电路零点漂移对测量结果的影响。

首先控制继电器吸合使仪器输入端接地,启动一次测量并将测量值存入 RAM 中。此值便是仪器衰减器、放大器、 A/D 转换器等模拟部件所产生的零点偏移值 Uos 。

Page 23: 第 5 章  智能仪器典型处理功能

5.2.4 自动校准

为保证仪器精度,仪器必须定期进行校准。 传统仪器校准是通过对已知标准校准源直接测量,或通过与更高精度的同类仪器进行比较测量来实现。这种校准过程必须由专业人员操作,仪器校准后,有时还需要根据检定部门给出的误差修正表对测量结果进行修正,使用很麻烦。

智能仪器能提供自动校准方式。自动校准时,操作者按下自动校准的按键后,仪器显示屏便会提示相应的操作信息 , 操作者按提示进行相应操作,仪器便自动完成了仪器的校准

校准存储器法动态自动校准法

Page 24: 第 5 章  智能仪器典型处理功能

  校准存储器法:  操作者按下自动校准的功能键后,仪器显示屏便提示操作者应输入的标准电压;操作者按提示要求将相应标准电压加到输入端之后,再按一次键,仪器就进行一次测量并将标准量 (或标准系数 ) 存入到“校准存储器”。然后显示器提示输入下一个的标准电压值, 再重复上述测量存储过程。  当预定的校正测量完成之后,校准程序还能自动计算每两个校准点之间的插值公式的系数,并把这些系数存入“校准存储器” 。正式测量时,它们将同测量结果一起形成经过修正的准确测量值。

  动态自校法:  这种方法的优点是不需要采用 EEPROM或非易失性 RAM ,而在内部设置基准电压, 使上述校准过程全部自动地进行。然而内部基准也需要定期校准, 因此,这种方法还不属于校准的范畴,动态自校主要解决由衰减器、放大器、 D/ A 转换器等模拟部件不稳定而引起的精度下降问题。

Page 25: 第 5 章  智能仪器典型处理功能

5.3 仪器测量精度的提高

  5.3.1 随机误差的处理方法  5.3.2 系统误差的处理方法  5.3.3 粗大误差的处理方法

  智能仪器的主要优点之一是利用微处理器的数据处理能力可以减小测量误差,提高仪器测量的精确度。

  测量误差按其性质和特性可分为随机误差、系统误差、粗大误差 3类。下面分述其处理方法。

Page 26: 第 5 章  智能仪器典型处理功能

  随机误差是由于测量过程中一系列随机因素的影响而造成的。就一次测量而言,随机误差无一定规律;当测量次数足够多时,测量结果中的随机误差服从统计规律,而且大多数按正态分布。因此,消除随机误差最为常用的方法是取多次测量结果的算术平均值,即

                 (式5 .1)

5.3.1 随机误差的处理方法

  上式中的 N 为测量次数,很显然, N愈大, x就愈接近真值,但所需要的测量时间也就愈长。为此,智能仪器常常设定专用功能键来输入具体的测量次数 N 。测量时,根据实际情况自动变动 N 值。  例如,某具有自动量程转换功能的电压表,

N

1iixx

Page 27: 第 5 章  智能仪器典型处理功能

  某数字电压表设置了由小到大的六挡量程,其编号分别为 1 ,2 ,…, 6 。

  当工作于最低挡即第1挡量程时, 被测信号很弱,随机误差的影响相对较大,取 N=10 ,第2挡,随机误差影响相对小,因而取 N=6 。同理,第3挡取 N=4;第4挡取 N=2;第5挡和第6挡只作单次测量处理,取 N=1 。

  上述过程可以有效地克服仪器随机误差的影响,同时对随机干扰也有很强的抑制作用。因而这一过程可以理解为一个等效的滤波过程。

5.3.1 随机误差的处理方法

Page 28: 第 5 章  智能仪器典型处理功能

这种智能电压表的自动量程转换与求平均值工作的过程是:系统运行前将量程预置为最高( Q=6 ) ,然后进行测量并判断测量值是否为欠量程。如果为欠量程 ,则判断这时的 Q 是否为 1,若不为1,则降低一挡量程(即 Q=Q-1 ) ,再重复上述测量、判断过程 ,直到不是欠量程或 Q=1 时为止;若 Q 为 1,则取 N=10 并进行平均值计算。如果不是欠量程 ,则判断是否为超量程。如果是超量程 ,则判断此时 Q 是否等于 6 。若此时 Q=6,则作过载显示;若 Q 不等于 6,则升高一挡量程(即 Q=Q+1 ) ,再重复上述测量、判断过程 ,直到不是超量程为止 ,然后判断此时的 Q等于多少。

Page 29: 第 5 章  智能仪器典型处理功能

5.3.2 系统误差的处理方法

  系统误差是指在相同条件下多次测量同一量时,误差的绝对值和符号保持恒定或在条件改变时按某种确定的规律而变化的误差。系统误差的处理不像随机误差那样有一些普遍适用的处理方法,而只能针对具体情况采取相应的措施。本节介绍几种最常用的修正方法。

一、 利用误差模型修正系统误差 二、 利用校正数据表修正系统误差 三、 通过曲线拟合来修正系统误差

Page 30: 第 5 章  智能仪器典型处理功能

一、 利用误差模型修正系统误差

  先通过分析建立系统的误差模型,再由误差模型求出误差修正公式。误差修正公式一般含有若干误差因子,修正时,先通过校正技术把这些误差因子求出来,然后利用修正公式来修正测量结果, 从而削弱了系统误差的影响。

  不同的仪器或系统其误差模型的建立方法也不一样,无统一方法可循,如图所示的误差模型在电子仪器中是具有相当普遍意义的典型的例子。

  图中 x 是输入电压(被测量), y 是带有误差的输出电压(测量结果), ε 是影响量(例如零点漂移或干扰),i是偏差量(例如直流放大器的偏置电流), K 是影响特性(例如放大器增益变化)。从输出端引一反馈量到输入端以至改善系统的稳定性。

Page 31: 第 5 章  智能仪器典型处理功能

  在无误差的理想情况下,有 ε=0 , i=0 , K=1 ,于是存在关系 y= x 。   在有误差的情况下,可以推出x= y(1 K- i 1 R 1 + 1 R 2 ) - ε  可改写成下列简明形式 x= b 1y + b 0(5.4) 式即为误差修正公式, 其中, b 0 , b 1 即误差因子。如果能求出 b0 , b 1 的数值,即可由误差修正公式获得无误差的 x 值, 从而修正了系统误差。

  图中 x 是输入电压(被测量), y 是带有误差的输出电压(测量结果), ε 是影响量(例如零点漂移或干扰),i是偏差量(例如直流放大器的偏置电流), K 是影响特性(例如放大器增益变化)。从输出端引一反馈量到输入端以至改善系统的稳定性。

Page 32: 第 5 章  智能仪器典型处理功能
Page 33: 第 5 章  智能仪器典型处理功能

  式 (5.4)即为误差修正公式, 。如果能求出 b 0 , b 1 的数值,即可由误差修正公式获得无误差的 x 值, 从而修正了系统误差。误差因子的求取是通过校正技术来完成的,误差修正公式 (5.4) 中含有二个误差因子 b 0 和 b 1 ,因而需要作两次校正。设建立的校正电路如图 5 9 (b) 所示,图中 E 为标准电池,校正步骤如下:(1) 零点校正 先令输入端短路,即 S 1 闭合, 此时有 x=0 ,于是得到输出为 y0 ,按照式 (5.4) 可得方程如下:0= b 1y 0 + b 0 (2) 增益校正 令输入端接上标准电压,即 S 2 闭合, 此时有 x=E ,于是得到输出为 y 1 ,同样可得方程如下: E= b 1y 1 + b 0 联立求解上述二方程,即可求得误差因子b 1 = E y 1 - y 0 b 0 = E 1- y 1 y 0 (3) 实际测量 令 S 3 闭合, 此时得到输出为 y (结果), 于是被测量的真值为x= b 1y + b 0 = E(y- y 0) y 1 - y 0 智能仪器每一次测量过程均按上述三步来进行。由于上述过程是自动进行的,且每次测量过程很快,这样,即使各误差因子随时间有缓慢的变化,也可消除其影响,实现近似于实时的误差修正。

Page 34: 第 5 章  智能仪器典型处理功能

二、 利用校正数据表修正系统误差   如果对系统误差的来源及仪器工作原理缺乏充分的认识而不能建立误差模型时,可以通过建立校正数据表的方法来修正系统误差。步骤如下:

(1) 在仪器的输入端逐次加入一个个已知的标准电压 x1 , x2 ,…, xn ,并

实测出对应的测量结果 y1 , y2 ,…, yn 。

(2) 如果将实测的 y i (i=1,2,… , n) 值对应于存储器中的某一区域, yi 作

为存储器中的一个地址,再把对应的 xi 值存入其中,这就在存储器中建立了一张校准数据表。

(3) 实际测量时,令微处理器根据实测的 y i 去访问内存,读出其中的 xi 。

xi 即为经过修正的测量值。

(4) 若实际测量的 y 值介于某两个标准点 yi 和 yi+1 之间,为了减少误差,还要在查表的基础上作内插计算来进行修正。

Page 35: 第 5 章  智能仪器典型处理功能

二、 利用校正数据表修正系统误差

   (4) 若实际测量的 y 值介于某两个标准点 yi 和 yi+1 之间,为了减少误差,还要在查表的基础上作内插计算来进行修正。

  采用内插技术可以减少校准点从而减少内存空间。最简单的内插是线性内插, 当  yi< y< yi+1 时取

 

 线性内插方法是用两点间一条直线来代替原曲线,因而精度有限。如果要求更高的精度,可以采取增加校准点的方法,或者采取更精确的内插方法,例如 n阶多项式内插、三角内插、牛顿内插等。

i1i

1ii yy

yy

xxxx

Page 36: 第 5 章  智能仪器典型处理功能

三、 通过曲线拟合来修正系统误差

  曲线拟合是指从 n 对测定数据( xi , yi ) 中,求得一个函数 f ( x )来作为实际函数的近似表达式。

  曲线拟合实质就是找出一个简单的、便于计算机处理的近似表达式来代替实际的非线性关系。因此曲线 f ( x ) 并不一定代表通过实际的所有点。

  采用曲线拟合对测量结果进行修正的方法是,首先定 f( x ) 的具体形式,然后再通过对实测值进行选定函数的数值计算,求出精确的测量结果。

1.连续函数拟合法 2.分段曲线拟合法

Page 37: 第 5 章  智能仪器典型处理功能

三、 通过曲线拟合来修正系统误差

1.连续函数拟合法

连续函数拟合法一般采用多项式拟合(当然也不排除采用解析函数,如 ex 、 lnx 和三角函数等),多项式的阶数应根据仪器所允许的误差来确定,一般情况下,拟合多项式的阶数愈高,逼近的精度也就愈高。但阶数的增高将使计算繁冗,运算时间也迅速增加,因此, 拟合多项式的阶数一般采用二三阶。

现以热电偶的电势与温度之间的关系式为例,讨论连续函数拟合的方法。

Page 38: 第 5 章  智能仪器典型处理功能

三、 通过曲线拟合来修正系统误差

1.连续函数拟合法 热电偶的温度与输出热电势之间的关系一般用下列三阶多项式来逼近

R=a+ bxP+ cxP2+ dxP

3 (5 . 5)

变换成嵌套形式得

R=〔 (dxP+ c)xP+ b〕 xP+ a (5. 6)

式中, R 是读数(温度值), xP 由下式导出

xP=x+ a′+ b′T0+ c′’’T02 (5. 7)

  上式中 x 是被校正量,即热电偶输出的电压值。 T0 是使用者预置的热电偶环境 (冷端 )温度。热电偶冷端一般放在一个恒温槽中,保持在0℃。系数 a , b , c , d , a′ , b′ , c′ 是与热电偶材料有关的校正参数。

Page 39: 第 5 章  智能仪器典型处理功能

1.连续函数拟合法R=〔 (dxP+ c)xP+ b〕 xP+ a     (5.6)

式中, xP=x+ a′+ b′T0+ c′’’T02

  多项式算法通常采用式( 5.6 )所示的嵌套形式。

一个n阶多项式一般需要进行 1/2·n ( n+1 )次乘法,如果采用嵌套形式,只需进行 n 次乘法,从而使运算速度加快 。

  首先求出各校正参数 a , b , c , d , a′ , b′ , c′ ,并顺序地存放在首址为 COEF 的缓冲区内,然后根据测得的 x 值通过运算求出 R (温度值)。     Solartron 7055/ 7065 型数字电压表具有处理四种热电偶( T型:Cu/ Con ; R型: Rt/ PtPn ; J型: F/ Con 和 K型: NiCr/NiAl )的非线性校正功能,这四种热电偶的校正参数已预存在仪器 RO

M 中。使用时,用户只需通过键盘送入热电偶种类及热电偶冷端温度,仪器即能直接显示热电偶测得的温度值。

Page 40: 第 5 章  智能仪器典型处理功能

三、 通过曲线拟合来修正系统误差

2. 分段曲线拟合法

  分段曲线拟合法,即是把非线性曲线的整个区间划分成若干段,将每一段用直线或抛物线去逼近。从而回避了高阶运算,使问题化繁为简。

  分段基点的选取有等距分段法或非等距分段法之分。

  非等距分段法是根据函数曲线形状的变化率来确定插值之间的距离,插值基点的选取比较麻烦,但在相等精度条件下,非等距插值基点的数目将小于等距插值基点的数目,从而节省了内存,减少了计算机的开销。

Page 41: 第 5 章  智能仪器典型处理功能

2. 分段曲线拟合法 (1)  分段直线拟合

  分段直线拟合法是用一条折线来代替原来实际的曲线,这是一种最简单的分段拟合方法。   设某传感器的输入 / 输出特性如图所示,图中分三段直线来逼近该传感器的非线性曲线。 由于曲线低端比高端陡峭,所以采用不等距分段法。 x 为测量数据, y 为实际被测变量,各端的线性差值公式为

     y3    ; x≥x3

     y2+ K3(x- x2) ; x2≤x<x3 y 1+ K2(x- x1) ; x1≤x

< x2 K 1×x ; 0≤x

< x1 时

y =

Page 42: 第 5 章  智能仪器典型处理功能

  设某传感器的输入 / 输出特性如图所示,图中分三段直线来逼近该传感器的非线性曲线。 由于曲线低端比高端陡峭,所以采用不等距分段法。 x 为测量数据, y 为实际被测变量,各端的线性差值公式为

     y3    ; x≥x3

     y2+ K3(x- x2) ; x2≤x<x3 y 1+ K2(x- x1) ; x1≤x

< x2 K 1×x ; 0≤x

< x1 时

y =

Page 43: 第 5 章  智能仪器典型处理功能

(1)  分段直线拟合(2) 分段抛物线拟合

若输入 / 输出特性很弯曲,而测量精度又要求比较高,可考虑采用多段抛物线来分段拟合 。 如图示的曲线可以分成 四段,每段分别用一个二阶抛物线方程 y= aix2+ bix+ ci (i=1 , 2 , 3 ,4)

描绘。每一段找出三点 xi - 1 , xi1 ,xi (含两分段点)。然后解下列联立方程以求出系数 ai , bi , ci 。

yi1 = aixi - 12 + bixi1+ ci

yi1 = aixi12 + bixi1+ ci

yi = aix2i + bixi+ ci

Page 44: 第 5 章  智能仪器典型处理功能

如图示的曲线可以分成 四段,每段分别用一个二阶抛物线方程 y= aix2+ bix+ ci (i=1 , 2 , 3 ,4)

描绘。每一段找出三点 xi - 1 , xi1 ,xi (含两分段点)。然后解下列联立方程以求出系数 ai , bi , ci 。

yi1 = aixi - 12 + bixi1+ ci

yi1 = aixi12 + bixi1+ ci

yi = aix2i + bixi+ ci

Page 45: 第 5 章  智能仪器典型处理功能

   5.3.3 粗大误差的处理方法  粗大误差是指在一定的测量条件下,测量值明显地偏离实际值所形成的误差。粗大误差明显地歪曲了测量结果,应予以剔除。

  在测量次数比较多时 (N≥20) ,测量结果中的粗大误差宜采用莱特准则判断。若测量次数不够多时,宜采用格拉布斯准则。

  当对仪器的系统误差采取了有效技术措施后,对于测量过程中所引起的随机误差和粗大误差一般可按下列步骤处理。

  ( 1 ) 求测量数据的算术平均值

  ( 2 ) 求各项的剩余误差

  ( 3 ) 求标准偏差  

  ( 4 ) 判断粗大误差(坏值)

  ( 5 ) 如果判断存在粗大误差,给予剔除,然后重复上述步骤 (1)~(4) (每次只允许剔除其中最大的一个)。

  最后,如果判断不再存在粗大误差,则可计算当前算术平均值、各项剩余误差及标准偏差估计值,作为有效的测量结果。

Page 46: 第 5 章  智能仪器典型处理功能

  随着测量数据增加,人工计算将相当烦琐和困难,若在智能仪器软件中按排一段程序,便可在测量进行的同时也能对测量数据进行处理。

  图 5- 14 给出了实现上述功能的程序框图。

  一般情况下可直接将采样数据作为测量结果,或进行一般滤波处理即可,以利于提高速度。

  只有对被测参数要求比较精确,或者误差影响比较严重时,才需对数据按上述步骤进行处理。

Page 47: 第 5 章  智能仪器典型处理功能

5.4  干扰与数字滤波

  5.4.1 中值滤波   5.4.2 平均滤波程序   5.4.3 低通数字滤波

  实际的测量过程中,被测信号中不可避免地会混杂一些干扰和噪声,在工业现场这种情况更为严重。

  在传统仪器中,滤波通过选用不同种类的硬件滤波器予以实现。在智能仪器中,由于微处理器的引入,可以通过程序对采集的数据进行某种处理,消除或减弱干扰和噪声的影响,即数字滤波得方法。

  数字滤波具有硬件滤波器的功效,却不需要硬件开销,从而降低了成本。由于软件算法的灵活性,还能产生硬件滤波器所达不到的功效。它的不足之处是需要占用机时。

  数字滤波方法有多种,每种方法有其不同的特点和适用范围。

Page 48: 第 5 章  智能仪器典型处理功能

5.4  干扰与数字滤波

  5.4.1 中值滤波  

  所谓中值滤波是对被测参数连续采样 N 次( N 一般选为奇数),然后将这些采样值进行排序并选中间值。

  中值滤波对去掉脉冲性质的干扰比较有效,并且采样次数 N愈大,滤波效果愈强,但采样次数 N 太大会影响速度,所以 N 一般取 3或 5 。对于变化很慢的参数,有时也可增加次数,例如 15 次。对于变化较为剧烈的参数,此法不宜采用。

  中值滤波程序主要由数据排序和取中间值两部分组成。数据排序可采用几种常规的排序方法,如冒泡法、沉底法等。

Page 49: 第 5 章  智能仪器典型处理功能

  5.4.1 中值滤波  

FLT10 : MOV A , R2 ; R2<R3 否 ? CLR   C SUBB A , R3 JC  FLT11   ; R2<R3 ,不变

MOV  A , R2 ; R2>R3 ,交

换 XCH A , R3 MOV R2 , A

FLT11 : MOV A , R3  ; R3<R4 否 ?

CLR C SUBB A , R4 JC FLT12 ; R3<R4 ,结束

MOV A , R4 ; R3>R4 ,交换

XCH A , R3 XCH A , R4 ; R3>R2 否 ? CLRC SUBB A , R2 JNC FLT12 ; R3>R2 ,结束

MOV A , R2 ;否则 R2 为中

值 MOV R3 , A ;中值送

入 R3FLT12 : RET

  中值滤波程序主要由数据排序和取中间值两部分组成。数据排序可采用几种常规的排序方法,如冒泡法、沉底法等。下面给出一个中值滤波程序的实例。

  该中值滤波程序采样次数 N选为 3 ,三次采样后的数据分别存放在 R2 , R3 , R4 中,执行之后,中值放在 R3 。

Page 50: 第 5 章  智能仪器典型处理功能

5.4.2 平均滤波程序  最基本的平均滤波程序是算术平均滤波程序,见公式 5.1

 算术平均滤波对滤除混杂在被测信号上的随机干扰非常有效。一般说来,采样次数 N愈大,滤除效果愈好,但系统的灵敏度要下降。为了提高运算速度,程序中常用移位来代替除法,因此 N 一般取 4 , 8 , 16 等。

  为了进一步提高平均滤波的滤波效果,适应各种不同场合的需要,在算术平均滤波程序的基础上又出现了许多改进型,例如去极值平均滤波、移动平滑滤波、加权平均滤波等。

 一、 去极值平均滤波 二、 移动平滑滤波 三、 加权平均滤波

Page 51: 第 5 章  智能仪器典型处理功能

5.4.2 平均滤波程序

  算术平均滤波对抑制随机干扰效果较好,但对脉冲干扰的抑制能力弱,明显的脉冲干扰会使平均值远离实际值;而中值滤波对脉冲干扰的抑制非常有效,因而可以将两者结合起来形成去极值平均滤波。

  去极值平均滤波的算法是:连续采样 N 次,去掉一个最大值,去掉一个最小值,再求余下 N- 2 个采样值的平均值。其程序框图如图示 。

 一、 去极值平均滤波 

Page 52: 第 5 章  智能仪器典型处理功能

  算术平均滤波需连续采样若干次后才能进行一次运算,因而速度较慢。  移动平均滤波:先在 RAM 中建立一个数据缓冲区,依顺序存放 N 次采样数据;然后每采一个新数据,就将最早采集的数据去掉;再求出当前RAM 缓冲区中 N 个数据的算术平均值或加权平均值。这样,每进行一次采样,就计算出一个新的平均值,大大加快了数据处理的能力。   这种数据存放方式可以采用环形队列结构来实现。设环形队列地址为 40H~ 4FH共 16 个单元, R0 作为队尾指示,其程序流程图如图示。

二、 移动平滑滤波

Page 53: 第 5 章  智能仪器典型处理功能

程序清单如下: FLT30 : ACALL INPUTA ;采样值放在 A 中 MOV @R0,A ; 排入队尾 INC R0 ; 调整队尾指针 MOV A,R0 ANL A,# 4FH MOV R0,A ; 建新队尾指针 MOV R1,# 40H ; 初始化 MOV R2,# 00H MOV R3,# 00HFLT31 : MOV A,@R1 ; 取一个采样值

ADD A,R3 ; 累加到 R2 、 R3 中 MOV R3,A CLR A ; ADDC A,R2 MOV R2,A INC R1 CJNE R1,# 50H,FLT31 ;累计完 16 次

Page 54: 第 5 章  智能仪器典型处理功能

FLT32 : SWAP A ;( R2,R3 ) /16 XCH A,R3 SWAP A ADD A,# 80H ; 四舍五入 ANL A,# 0FH ADDC A,R3 RET ;结果在 A 中

Page 55: 第 5 章  智能仪器典型处理功能

  上述平均滤波法的主要缺点是:为了提高对干扰的抑制效果,必须增大平均范围 N;但增大 N 将会引起有用信号的失真,特别是会引起有用信号中高频分量丰富的峰值部位的失真。

  为解决上述矛盾,可以采用加权的平均滤波法。

 三、 加权平均滤波

  所谓加权平均的含义是指参加平均运算的各采样值按不同的比例进行相加求均。加权系数一般先小后大,以突出后若干次采样的作用,加强系统对参数变化趋势的辨识。  

   N项加权平均滤波的算法为: 

  式中 C0 , C1 ,…, CN - 1 为常数,它们的选取有多种方法,但应满足 C0 + C1 +… + CN - 1 = 1

1N

0iiNin YCY

Page 56: 第 5 章  智能仪器典型处理功能

WEIGHT: MOV R0 , #DATA  ;清  CLR  A  MOV  R2 , 03H

LOOP:  MOV @R0 , A INC R0 DJNZ R2 , LOOP MOV R5 , #SAMP ;采样值首址送 R5 MOV R6 , #COEFF ;系数首址送 R6 MOV R1 , #PRODT ;乘积首址送 R1 MOV R2 , #N ;滤波数据项数送 R2

LOOP1: ACLL MULT21 ;计算 Ck×Yk ,最低字节为小数部分

  设采样值已存于内部 RAM 中 SAMP 开始的单元中,采样值为双字节,加权系数 Ck 为二位小数,扩大 256倍变成整数后,以二进制形式存于 COEFF 开始的单元中。 程序中调用双字节乘以单字节的乘法子程序 MULT21 , R5 指出被乘数低位地址, R6 指出乘数地址,乘积放在 PRODT 开始的三个单元中,由 R1 指出。运算结果去掉最低字节后即为滤波值,存于 DATA 开始的单元中。

MOV R0 , #DATA  ;累加

MOV R7 , #03H  CLR C

LOOP2: MOV A , @R0 ADDC A , @R1 MOV @R0 , A INC R0 INC R1 DJNZ R7 , LOOP2 INC R5 ;修

正 INCR5 INCR6 DJNZR2 , LOOP1 RET

Page 57: 第 5 章  智能仪器典型处理功能

5.4.1 低通数字滤波

  将描述普通硬件 RC低通滤波器特性的微分方程用差分方程来表示,便可以用软件算法来模拟硬件滤波器的功能。简单的 RC低通滤波器的传递函数可以写为

1

1

)(

)()(

ssx

sysG

式中 , τ=RC, 为滤波器的时间常数。由公式 (5.13) 可以看出 , RC低通滤波器实际上是一个一阶滞后滤波系统。将式 (5.13) 离散可得其差分方程的表达式如下:

y(n)=αx(n)+(1-α)y(n-1) ( 5.14 )

( 5.13 )

Page 58: 第 5 章  智能仪器典型处理功能

式中: x(n)—— 本次采样值; y(n)—— 本次滤波的输出值; y(n-1)—— 上次滤波的输出值; α=1-e-T/τ——滤波平滑系数 , 其中 , T 为采样周期。

由于采样周期 T远小于 τ, 因此 α远小于 1 。结合式( 5.14 )可以看出 , 本次滤波的输出值 y(n) 主要取决于上次滤波的输出值 y(n-1) (注意 , 不是上次的采样值)。本次采样值对滤波的输出值贡献比较小 , 这就模拟了具有较大惯性的低通滤波器功能。低通数字滤波对滤除变化非常缓慢的被测信号中的干扰是很有效的。硬件模拟滤波器在处理低频时 ,电路实现起来很困难 ,而数字滤波器则不存在这个问题。实现 RC低通数字滤波的流程图如图5-18 所示。

Page 59: 第 5 章  智能仪器典型处理功能

µÍͨÊý×ÖÂ˲¨

È¡ ºÍ x (k )

Çóx (k )

È¡y (k £­1 )

Çóy (k £­1 )(1£­ )

¼ÆËãy (k )£½x (k )£«y (1£­ ) (k £­1 )

y (k £­1)¡û y (k )

·µ»Ø

图 5-18RC低通数字滤波流程图

Page 60: 第 5 章  智能仪器典型处理功能

式( 5-14 )所表达的低通数字滤波的算法与加权平均滤波有一定的相似之处 ,低通数字滤波算法中只有两个系数 α 和 1-α, 并且式

( 5-14 ) 的基本意图是加重上次滤波器输出的值。因而在输出过程中 ,任何快速的脉冲干扰都将被滤掉 ,仅保留缓慢的信号变化 ,故称之为低通数字滤波。

假如将式( 5-14 )变化为

y(k)=αx(k)-(1-α)y(k-1) ( 5-15 )

则可实现高通数字滤波。

Page 61: 第 5 章  智能仪器典型处理功能

2.4.4复合滤波法 在智能仪器的实际应用中 , 所面临的干扰往往不是单一的 , 有时既要消除脉冲干扰 ,又要使得数据平滑。因此 , 通常可以把前面介绍的两种以上的方法结合起来使用 ,形成复合滤波。

例如 ,防脉冲扰动平均值滤波算法就是一种应用实例。这种算法的特点是先用中值滤波算法滤掉采样值中的脉冲性干扰 ,然后把剩余的各采样值进行递推平均滤波。其基本算法如下:

Page 62: 第 5 章  智能仪器典型处理功能

如果 y-1≤y-2≤…≤y-n, 其中 3≤n≤4(y-1,y-n 分别是所有采样值中的最小值和最大值) ,则

由于这种滤波方法兼容了递推平均滤波法和中值滤波法的优点 , 因此无论是对缓慢变化还是快速变化的参数 , 都能起到较好的效果。

2

... 132

n

yyyy nn

Page 63: 第 5 章  智能仪器典型处理功能

这种算法只是一种组合 , 这里不再给出程序示例。 上面介绍了几种在智能仪器中使用较为普遍的克服随机干扰的软件算法。在一个具体的智能仪器中究竟选用哪种滤波算法 ,取决于仪器的具体用途和使用中的随机干扰情况 ,决不可生搬硬套。

Page 64: 第 5 章  智能仪器典型处理功能