智能仪器第七章智能仪器的数据处理技术学习提纲1数据的非数值处理技术2系统误差的数据处理技术3数字滤波技术4系统软件的组成与设计1数据的非数值处理技术数据结构定义:数据间的相互关系,即数据的组织形式数据的逻辑结构数据之间的逻辑关系数据的存储结构数据元素在存储器中的表示及其配置数据的线性结构线性表、线性链表、堆栈数据的非线性结构树、图1数据的非数值处理技术线性表n个元素a1、a2、…an的集合,各元素间具有线性的位置关系若一个数据元素由若干个数据项组成,则堆栈后进先出设立一个指针指示栈顶位置队列先进先出设立两个指针分别指示队头和队尾liaai)1()LOC()LOC(0线性链表数据元素在存储器内可以任意存放除了存储元素的值,还需要一个指针,指明下一个元素在存储器中的位置数据的元素值和指针两者组成链表的一个节点一个线性链表由一个起始指针和若干节点组成外加一个自由链表:便于链表的插入和删除1数据的非数值处理技术1数据的非数值处理技术线性表的查表技术顺序查找法从头开始,按顺序把表中元素的关键项逐一与给定的关键字进行比较,相符后取出元素值适用于排列无序的表格的查找,速度较慢1数据的非数值处理技术SER:MOVA,R0MOVB,ACLRAMOVCA,@A+DPTRCJNEA,B,SER2INCDPTRMOVA,R1MOVB,ACLRAMOVCA,@A+DPTRCJNEA,B,SER3JMPSER4SER2:INCDPTRSER3:INCDPTRDJNZR2,SERMOVDPTR,#0FFFFHSER4:RET1数据的非数值处理技术对半查找法针对有序表的查找方法每次截取表的一半,确定被查找元素在哪一部分,逐步细分,缩小查找范围最终确定位置设置两个指针LO和HI分别保存表的低界元素和高界元素的序号,设n个元素按照从小到大的顺序排列,则(LO)=0,(HI)=n-1,中心元素序号:计算中心元素的地址2)HI()LO()MI(l)MI()AM(表首地址1数据的非数值处理技术根据中心元素的位置找出中心元素值,与要查找的元素x相比较若,选取高半个表,修改低界指针若,选取低半个表,修改高界指针若,则查找成功))AM((x1)MI()LO())AM((x1)MI()HI())AM((x1数据的非数值处理技术直接查表法直接根据关键项或由关键项经过简单计算即可找到该数据,要求关键项与数据记录所在的位置或次序有严格对应关系,适用于有序表格8段数码管的段码查表程序AJCB:MOVDPTR,#TABMOVA,R0MOVCA,@A+DPTRMOVDPTR,#PORTMOVX@DPTR,ARETTAB:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH1数据的非数值处理技术排序使一组记录按照关键字的大小有序排列气泡排序法依次比较两个相邻的一对数据,调整数据位置使其满足规定的排序规则第1轮比较后,最大(小)数降到数据表的最后位置,第2轮比较后,次最大(小)数降到数据包倒数第2位置,以此类推。若数据表共有n个数据,则第1轮排序需要进行n-1次比较,第2轮排序需要n-2次比较,以此类推1数据的非数值处理技术DECR3T0:MOVA,R3MOVR5,AMOVA,R2MOVR0,AINCAMOVR1,AT1:CLRCMOVA,@R0SUBBA,@R1JCT2MOVA,@R1XCHA,@R0XCHA,@R1T2:INCR0INCR1DJNZR5,T1DJNZR3,T0RET2系统误差的数据处理技术误差分类系统误差在同一条件下,多次测量同一量值时,绝对值和符号保持不变,或在条件改变时,按一定规律变化的误差系统误差有规律可循,可利用一定算法进行校准和补偿随机误差在同一测量条件下,多次测量同一量值时,绝对值和符号以不可预定方式变化的误差,但具有统计规律粗大误差超出在规定条件下预期的误差,误差值较大,明显歪曲测量结果,应从测量结果中剔除2系统误差的数据处理技术系统误差建模误差模型的数学表达式中存在待定系数,需要通过校准方法确定这些系数设信号测量值x和实际值y满足线性关系分别测量标准电压VR和短路电压,得两个误差方程x1和x0分别为两次测量值,解方程组可得得校正后的算式01axay0010110axaaxaVR1001xxxVaR1000xxxVaR010)(xxxxVyR2系统误差的数据处理技术代数插值法基本原理(P202)线性插值从一组数据(xi,yi)中选取2个有代表性的值(x0,y0)和(x1,y1),根据一次拉格朗日插值原理,写出插值方程求出待定系数0110100101)(axayxxxxyxxxxxpn01011xxyya0100xaya2系统误差的数据处理技术拟合误差将点取为曲线或数组的端点,设分别为和根据线性插值原理,建立校正方程与有拟合误差若在区间[a,b]内始终有,则是理想的校正方程)(xf))(,(afa))(,(bfb011)(axaxp)(1xp)(xf)()(1iiixfxpViV)(1xp多项式选取注意事项首先决定多项式的次数n,一般根据测试数据的分布,凭经验或通过试凑来决定通常,离散数据点的数目要大于n+1,选择合适的插值节点很重要,直接影响拟合误差;可先选择等分值的,再根据拟合误差的分布情况,调整多项式的次数不宜选的太高,计算实时性跟不上;而且对一些非线性特而言,提高次数也难以提高精度,宜采用分段插值法2系统误差的数据处理技术抛物线插值在数据中选取三个点,进行过三点的二次曲线拟合(抛物线),精度比直线拟合高),(),(),(221100yxyxyx2120210121012002010212))(())(())(())(())(())(()(yxxxxxxxxyxxxxxxxxyxxxxxxxxxp),(iiyx),(iiyx2系统误差的数据处理技术最小二乘法若实验数据含有随机误差,宜选择“误差平方和最小”来衡量逼近结果,即最小二乘法基本原理逼近误差记,令,在最小二乘意义上使最小直线拟合曲线拟合)()()(iiixgxfxVniixV12)(min)(ixV2系统误差的数据处理技术系统误差校正测量情况复杂,难以通过理论分析建立校正模型,利用实验手段进行校正实验获取校正数据点以表格形式将数据点存入仪器存储器(EEPROM)yi作为索引地址,对应的xi存入存储器相应地址实时测量时,查表来修正测量结果若正好测得yi,则查表结果就是校正后的测量结果若测量结果介于yi和yi+1之间,需进一步采用线性插值或抛物线插值的方法,求得校正值增加校正表中的数据点可提高测量精度3数字滤波技术数字滤波作用抑制有效信号中的干扰成分,消除随机误差对信号进行必要的平滑处理数字滤波的优点不需要硬件,可靠性高,不存在阻抗匹配问题可对频率很高或很低的信号进行滤波数字滤波由软件算法实现,可多输入通道共用,降低成本改变滤波程序或运算参数就可改变滤波器特性3数字滤波技术限幅滤波滤除尖峰脉冲的有效手段基本原理比较相邻两个采样值yn-1和yn的大小若差值过大,超出可能范围,剔除yn弥补缺失用yn-1代替yn由yn-2和yn-1递推差值的选取:取决于被测对象的动态特性3数字滤波技术限幅滤波程序PROGET:MOVA,DATA2CLRCSUBBA,DATA1JNCPRODT1CPLAINCAPRODT1:CJNEA,#a,PRODT2AJMPDONEPRODT2:JCDONEMOVDATA2,DATA1DONE:RET3数字滤波技术中值滤波基本原理对被测量连续采样n次(奇数),把n次采样值按大小排序,取中间值作为一次采样值有效滤除因偶然因素引起的波动或仪器不稳定引起的误码适用于变化缓慢的信号3数字滤波技术FILTER:MOVR3,#N-1SORT:MOVA,R3MOVR2,AMOVR0,#SAMPLOOP:MOVA,@R0INCR0CLRCSUBBA,@R0JCDONEADDA,@R0XCHA,@R0DECR0MOV@R0,AINCR0DONE:DJNZR2,LOOPDJNZR3,SORTMOVA,#NCLRCRRCAADDA,#SAMPMOVR0,AMOVDATA,@R0RET3数字滤波技术算术平均滤波算法:连续取n个采样值进行平均适用于对随机干扰信号的滤波平滑程度:取决于nn趋于无穷时,平均值接近期望值,但灵敏度低n较小时,平滑度低,但灵敏度高n的选取原则:保证滤波效果,尽量减少计算时间3数字滤波技术ARIFILE:CLRCMOVR7,#N-1MOVR0,#SAMPMOVR1,#SAMP+2ADD1:MOVR2,#02ADD2:MOVA,@R0ADDCA,@R1MOV@R1,AINCR0INCR1DJNZR2,ADD2CLRCDJNZR7,ADD1MOVA,@R0MOVR6,AINCR0MOVA,@R0MOVR7,AMOVR5,#NACALLDIV21MOVSAMP+1,R7MOVSAMP,R6RET3数字滤波技术滑动平均滤波采用队列作为测量数据的存储器原理队列长度固定为n,每进行一次新的测量,结果放入队尾,扔掉原来队首的数据,总长保持为n将队列中的当前数据进行算术平均,即可得到新的滤波值,每采样一次都可得到新的滤波值适用于周期干扰信号的滤波,若平滑度高则灵敏度低,n值的选取需观察滑动平均输出响应,尽量少占用CPU时间3数字滤波技术FSAV:LCALLRDXIMOVA,7FHMOVB,#3MULABMOVDPTR,#2000HADDA,DPLMOVDPL,AMOVA,R6MOVX@DPTR,AINCDPTRMOVA,R2MOVX@DPTR,AINCDPTRMOVA,R3MOVX@DPTR,AMOVA,7FHINCACJNEA,#16,FSA1CLRAFSA1:MOV7FH,AMOVR0,#15INCDPTRFSA2:MOVA,DPLCJNEA,#30,FSA3MOVDPL,#03数字滤波技术FSA3:MOVXA,@DPTRMOVR7,AINCDPTRMOVXA,@DPTRMOVR4,AINCDPTRMOVXA,@DPTRMOVR5,AINCDPTRCLR3AHLCALLFABPMOVA,R4MOVR6,ADJNZR0,FSA2MOVC,ACC.7DECADECADECADECAMOVACC.7,CMOVR4,ALCALLFSTRRET3数字滤波技术低通数字滤波硬件RC低通滤波器的微分方程离散化得差分方程本次采样值本次滤波值上次滤波值平滑系数11)()()(ssXsYsG)()1()1()(nXnYnY)(nX)1(nY/1Te)(nY4系统软件的组成与设计软件功能处理模拟量/数字量的输入/输出实现人机对话(输入、显示)时间机机对话(通信接口)软件组成主程序中断服务程序子程序4系统软件的组成与设计主程序4系统软件的组成与设计中断服务程序为实时处理而设计被允许才会产生中断程序计数器必须保护必须保护现场注意中断标志位的清除注意服务程序不要与主程序交叉必须恢复现场多中断源的优先级问题子程序