您好,欢迎访问三七文档
概述5.1测量结果的非数值处理5.2测量结果的数值处理5.3测量数据的标度变换5.4首页本章内容第5章智能仪器的典型数据处理功能重点:返回1.随机误差的处理和数字滤波方法3.测量数据的标度变换2.系统误差的处理和传感器的非线性校正下页上页返回5.1概述与常规的模拟电路相比,智能仪器的数据处理具有如下优点:(1)可用程序代替硬件电路,完成多种运算。(2)能自动修正误差。(3)能对被测参数进行较复杂的计算和处理。(4)能进行逻辑判断。(5)智能仪器不但精度高,而且稳定可靠,抗干扰能力强。下页上页返回5.2测量结果的非数值处理一、查表所谓查表法就是把事先计算或测得的数据按照一定顺序编制成表格,根据被测参数的值或者中间结果,查出最终所需要的结果。顺序查表法顺序查表法就是从头开始,按照顺序把表中元素的关键项逐一地与给定的关键字进行比较。若比较结果相同,所比较的元素就是要查找的元素;若表中所有元素的比较结果都不相同,则该元素在表中查找不到。顺序查表查找速度相对较慢。对于无序表,特别是在表中记录不多的情况下,用顺序查找法是适宜的。下页上页返回2.对半查表法设置两个指针L0和Hi,分别保存表的下限值和上限值的序号,开始查表时设置Lo=0,Hi=N-1。设N个元素按照从小到大的顺序排列,则中心元素的序号为:基本思想]2/)0[(HiLMi由此将表分为前半部分和后半部分。然后计算中心元素的地址:iMi表首地址Addm下页上页返回根据中心元素的位置找出中心元素,并和查表的元素进行比较,若中心元素大于查表的元素,则选取表的前半部分,修改上限指针Hi:(下限指针Lo不变)MiHi若中心元素小于查表的元素,则选取表的后半部分,修改下限指针Lo:(上限指针Hi不变)MiLo若中心元素等于查表的元素,则查表成功。下页上页返回[例5.1]单片机温度控制系统中,利用K分度号热电偶进行温度检测,现假设热电偶输出信号经信号处理、单片机采集并完成标度变换后的电压代码值为u1(mV),要求利用对半查表法查K分度表并经计算获得相应的温度值,将温度值存入变量var中。对半查找程序框图下页上页返回在Keilc51编程环境下查表子程序清单如下:unsignedcharu1;unsignedintvar;/*0~1300°C范围的K分度表,每隔10°C对应一个电压值*/unsignedcharcodeK_TABLE[131]={0,397,798,1203,1611,2022,2436,2850,3266,3681,4095,4508,4919,5327,5733,6137,6539,6939,7338,7738,8137,8537…};voidser2(void)/*查表子函数,由主函数调用,主函数略*/{unsignedintda=0,max,min,mid;da=u1*1000;/*u1扩大1000倍*/max=130;min=0;while(1)下页上页返回{mid=(max+min)/2;/*中心元素位置*/if(K_TAB[mid]=da)var=mid*10;break;/*中心元素等于查表的元素,计算相应温度*/if(K_TAB[mid]da)max=mid;elsemin=mid;if((max-min)=1/*线性插值计算温度值*/{j=(K_TABLE[max]-K_TABLE[min])/10;/*表中相邻两值对应温度相差10°C*/j=(da-K_TABLE[min])/j;var=10*min+j;break;}}}下页上页返回3.计算查表法这是智能仪器中经常使用的快速查表方法,仅适宜于有序表格。这种方法不需要像上述两种方法那样逐个比较表中的关键项,查出表中关键项的记录,而是直接由关键项或经过简单计算,即可直接找到所需数据。二、排序1.冒泡排序法在有N个数据的数列中依次比较两个相邻的一对数据,如果不符合规定的递增(或递减)顺序,则交换两个数据的位置,接着比较第二对(第二个和第三个数据),直到数列所有的数据依次比较完毕后,第一轮比较结束,这时最大(或最小)的数据降到数列中最后的位置。第一轮排序需要进行(N一1)次比较同理,第二轮比较需要进行(N一2)次比较,第二轮结束后,次最大(或最小)的数据排在底部往上第二位置上。重复上述过程,直至全部排完,从而实现这组数据由大到小(或由小到大)的顺序排列。下页上页返回下页上页返回2.希尔排序法先取一个正整数d1(d1<n,n为数据个数),把全部记录分成d1个组,所有相距为dl的数据看成是一组,然后在各组内分别进行插入排序,也就是在每组中将一个待排序的数据按其大小插到这组已经排序的序列中的适当位置,直到这组数据全部插入完毕为止;接着取d2(d2<d1),重复上述分组和排序操作;直到di=1(i>=1),即所有记录成为一个组为止。希尔排序对di的选择没有严格规定,一般选d1约为n/2,d2为d1/2,d3为d2/2,…,di=1。这样大大减少了数据移动次数,提高了排序效率。算法思路取dl=4,将数列分为4组:(86,90)、(75,33)、(50,15)、(40,70),对每组数从小到大进行插入排序后为(86,90)、(33,75)、(15,50)、(40,70)此时原数列变为(86,33,15,40,90,75,50,70)[例5.2]设有一数列(86,75,50,40,90,33,15,70),n=8,将其按由小到大的顺序排序。第一步下页上页返回取d2=2,将数列分为2组:(86,15,90,50)、(33,40,75,70)对每组数从小到大进行插入排序后为(15,50,86,90)、(33,40,70,75)此时数列变为(15,33,50,40,86,70,90,75)下页上页返回第二步取d3=1,对第二步所得数列进行插入排序后数列为(15,33,40,50,70,75,86,90)第三步下页上页返回5.3测量结果的数值处理一、随机误差处理及数字滤波随机误差(randomerror)由窜入仪器的随机干扰所引起。它是指在相同条件下多次测量同一物理量时,其大小和符号作无规则的变化,且无法进行预测,但在多次重复测量时,其总体服从统计规律的误差。与硬件滤波相比,数字滤波具有以下优点:①因为用程序滤波,无需增加硬件设备,且可多通道共享一个滤波器(多通道共同调用一个滤波子程序),从而降低了成本。②由于不用硬设备,各回路间不存在阻抗匹配等问题,故可靠性高,稳定性好。③可以对频率很低的信号(如0.01Hz以下)进行滤波,这是模拟滤波器做不到的。④可根据需要选择不同的滤波方法或改变滤波器的参数,使用方便、灵活。下页上页返回下页上页返回1.程序判断滤波限幅滤波的基本算法是把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)△y进行比较,若小于或等于△y,则取本次采样值;若大于△y,则仍取上次采样值作为本次采样值,即:|Y(k)-Y(k-1)|≤△y,则Y(k)=Y(k),取本次采样值;|Y(k)-Y(k-1)|△y,则Y(k)=Y(k-1),取上次采样值。式中Y(k)——第k次采样值;Y(k-1)——第(k-1)次采样值;△y——相邻两次采样值所允许的最大偏差,取决于采样周期T及采样值Y的动态响应。限幅滤波限幅滤波程序流程下页上页返回这种滤波方法主要用于变化比较缓慢的参数,如温度、物位等测量系统。门限值△y的选取是非常重要的,通常可根据经验数据获得,必要时也可由实验得出。下页上页返回限速滤波限速滤波是用3次采样值决定采样结果,设采样时刻tl、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的确定不够灵活,必须根据现场的情况不断更换新值;②不能反映采样点数N3时各采样数值受干扰的情况。因此,它的应用受到一定的限制。在实际使用中,可用[|Y(1)-Y(2)|+|Y(2)-Y(3)|]/2取代△y,这样也可以基本保持限速滤波的特性,虽然运算量增加,但灵活性大为提高。下页上页返回2.中值滤波中值滤波是对某一参数连续采样N次(N取奇数),然后把N次采样值顺序排列,再取中间值作为本次采样值。中值滤波对于去掉由于偶然因素引起的波动或采样器不稳定所引起的脉动干扰十分有效。对缓慢变化的过程变量采用此法有良好的效果,但不宜用于快速变化的过程参数(如流量)。下页上页返回算术平均值滤波就是连续取N个采样值进行算术平均。其数学表达式为:3.算术平均值滤波式中,N为采样次数,yi为第i次采样值。显然N越大,结果越准确,但计算时间也越长。这种滤波方法适用于对压力、流量等周期脉动的采样值进行平滑加工,但对脉冲性干扰的平滑作用不理想,不宜用于脉冲性干扰较严重的场合。NiiyNy11下页上页返回下页上页返回4.递推平均值滤波把N个测量数据y1、y2...、yN看成一个队列,队列的长度固定为N,每进行一次新的测量,把测量结果作为队尾的yN,而扔掉队首的y1,这样在队列中始终有N个“最新”数据。计算滤波值时,只要把队列中的N个数据进行算术平均,就可以得到新的滤波值,这样,每进行一次测量,就可以计算得到一个新的平均滤波值,其数学表达式101NiinnyNyN——递推平均项数。nyiny式中——第n次采样值经滤波后的输出;——未经滤波的第n-i次采样值;递推平均滤波法对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;对偶然出现的脉冲干扰的抑制作用差,不易消除由于脉冲干扰引起的采样值偏差,因此它不适用于脉冲干扰比较严重的场合,而适用于高频震荡系统。N值的选取既要考虑计算滤波值时少占用计算机的时间,又能达到较好的滤波效果。参数流量压力液位温度N值1244~121~4下页上页返回5.加权递推平均值滤波为了提高滤波效果,可将各次采样值取不同的比例系数后再相加,这种方法被称为加权平均滤波法。其运算关系式为10Niininycyci为加权系数,对它的选取应满足:c...cc11-N2010Niic下页上页返回6.一阶惯性滤波(低通数字滤波)11)1(nnnffnfnyxyTTTxTTTy式中:xn是第n次采样值,yn是第n次滤波输出值,yn-1是第n-1次滤波输出值。为滤波系数,Tf和T分别为滤波时间常数和采样周期,α可以由实验确定,只要使被测信号不产生明显的纹波即可。()ffTTT下页上页返回7.高通数字滤波数学表达式为1)1(nnnyxy8.复合数字滤波为了进一步提高滤波效果,有时可以把两种和两种以上不同滤波功能的数字滤波器组合起来,构成复合数字滤波器,或称多级数字滤波器。下页上页返回2、系统误差的处理及传感器的非线性校正系统误差(systemerror)是指在相同条件下多次测量同一物理量,误差的大小和符号保持不变或按一定规律变化。恒定不变的误差称为恒定系统误差,而按一定规律变化的误差称为变化系统误差。产生误差的主要因素有:(1)测量装置方面(2)环境方面(3)测量方法方面(4)测量人员方面下页上页返回1.系统误差的模型校正法在仪表中用运算放大器电路测量电压,常会引入零位误差和增益误差。设x是实际值,y是带有误差(零漂和误差增益)的测量值,ε是干扰或零漂,i是放大器偏置电流,k是放大器增益,从输出端y引一反馈量y′到输入端以改善系统的稳定性。下页上页返回假设实际值x与测量值y是线性关系,即建立系统误差模型为01bybx为了消除系统误差的影响,求出x,需要先求出式中的系数b1、b0。现在分别测量标准电源E和短路电压信号,由此得到两个
本文标题:智能仪器课件第5章
链接地址:https://www.777doc.com/doc-7515624 .html