第7章-智能仪器中的数据处理及算法分析课件.ppt

上传人(卖家):晟晟文业 文档编号:4514379 上传时间:2022-12-16 格式:PPT 页数:60 大小:959KB
下载 相关 举报
第7章-智能仪器中的数据处理及算法分析课件.ppt_第1页
第1页 / 共60页
第7章-智能仪器中的数据处理及算法分析课件.ppt_第2页
第2页 / 共60页
第7章-智能仪器中的数据处理及算法分析课件.ppt_第3页
第3页 / 共60页
第7章-智能仪器中的数据处理及算法分析课件.ppt_第4页
第4页 / 共60页
第7章-智能仪器中的数据处理及算法分析课件.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、7.1 测量误差分类及处理方法测量误差分类及处理方法测量误差按照表示方法可分为绝对误差、相对误差和引用误差。测量误差按照表示方法可分为绝对误差、相对误差和引用误差。1 1)绝对误差)绝对误差 由测量所得到的被测量的值由测量所得到的被测量的值x x与其真值与其真值A A0 0之差称为绝对误差之差称为绝对误差,用用x x表示表示,即即x x=x x-A A0 0 因为测量结果因为测量结果x x总含有误差总含有误差,可能大于可能大于A A0 0,也可能小于也可能小于A A0 0,所所以以,x x是既有大小是既有大小,又有正负且有单位的数值又有正负且有单位的数值,其大小和符号其大小和符号分别表示测量结

2、果偏离真值的程度和方向。分别表示测量结果偏离真值的程度和方向。7.1.1测量误差分类测量误差分类第第7章智能仪器中的数据处理技术章智能仪器中的数据处理技术 A A0 0表示真值。实际应用中通常是用实际值表示真值。实际应用中通常是用实际值A A来代替真值来代替真值A A0 0。实际。实际值又称为约定真值值又称为约定真值,它是根据测量误差的要求它是根据测量误差的要求,使用高一级或几使用高一级或几级的标准仪器或计量器具测量所得之值级的标准仪器或计量器具测量所得之值,这时这时,上式可改写为上式可改写为 x x=x x-A A 这是绝对误差通常使用的表达式。这是绝对误差通常使用的表达式。与绝对误差的绝对

3、值大小相等而符号相反的值称为修正值与绝对误差的绝对值大小相等而符号相反的值称为修正值,用用C C表示:表示:C C=-=-x x=A A-x x 对仪器进行定期检定(校准)时对仪器进行定期检定(校准)时,用标准仪器与受检仪器相对比用标准仪器与受检仪器相对比,获得修正值获得修正值,并将修正值以表格、曲线或公式的形式给出。这样并将修正值以表格、曲线或公式的形式给出。这样,在测量时在测量时,利用测量的结果与已知的修正值相加利用测量的结果与已知的修正值相加,即可得到被测即可得到被测量的实际值量的实际值,即即A A=x x+C C 例例7-17-1 一只量程为一只量程为10V10V的电压表的电压表,当用

4、它进行测量时当用它进行测量时,测量指示测量指示值为值为7.5V7.5V。若检定时。若检定时,7.5V,7.5V刻度处的修正值为刻度处的修正值为-0.1V,-0.1V,求被测电求被测电压的实际值压的实际值U U。解解U=7.5+(-0.1)=7.4VU=7.5+(-0.1)=7.4V2 2)相对误差)相对误差 绝对误差虽然可以说明测量结果偏离实际值的情况绝对误差虽然可以说明测量结果偏离实际值的情况,但不能确但不能确切反映测量的精确程度。例如切反映测量的精确程度。例如,分别测量两个频率分别测量两个频率,其中一个频其中一个频率为率为f f1 1=1000Hz,=1000Hz,其绝对误差其绝对误差ff

5、1 1=1Hz=1Hz;另一个频率为;另一个频率为f f2 2=1000000Hz,=1000000Hz,其绝对误差其绝对误差ff2 2=10Hz=10Hz。l为了弥补绝对误差的不足为了弥补绝对误差的不足,引入相对误差的概念。引入相对误差的概念。绝对误差与被测量真值的比值用百分数来表示绝对误差与被测量真值的比值用百分数来表示,称为相对称为相对误差误差,用用表示表示,即即%1000Ax 相对误差没有量纲相对误差没有量纲,只有大小及符号。由于真值在实际测量只有大小及符号。由于真值在实际测量中是难以得到的中是难以得到的,因此通常用实际值因此通常用实际值A A代替真值代替真值A A0 0来表示相对来表

6、示相对误差误差,用用A A来表示来表示,称为实际相对误差:称为实际相对误差:在误差较小、要求不高的场合在误差较小、要求不高的场合,也可用测量值也可用测量值x x代替实际值代替实际值A A,由此得出示值相对误差由此得出示值相对误差,用用x x来表示:来表示:在测量仪器中在测量仪器中,经常用绝对误差与仪器满刻度值经常用绝对误差与仪器满刻度值x xm m之比来表之比来表示相对误差示相对误差,称为引用相对误差(或称满度相对误差)称为引用相对误差(或称满度相对误差),用用n n表示:表示:%100AxA%100 xxx%100mnxx 由于仪器在不同刻度上的绝对误差不完全相等由于仪器在不同刻度上的绝对误

7、差不完全相等,故采用最大引故采用最大引用误差来衡量仪器的准确度则更为合适。即用误差来衡量仪器的准确度则更为合适。即 式中式中:xxm m仪器在该量程范围内出现的最大绝对误差;仪器在该量程范围内出现的最大绝对误差;x xm m满刻度值;满刻度值;nmnm仪器在工作条件下的最大引用误差。仪器在工作条件下的最大引用误差。%100mmnmxx1 1)随机误差)随机误差 在相同条件下进行多次测量,单次测量误差出现无规律的在相同条件下进行多次测量,单次测量误差出现无规律的随机变化,而多次测量误差服从统计规律且大多数按正态随机变化,而多次测量误差服从统计规律且大多数按正态分布,这种误差称为随机误差或偶然误差

8、。随机误差反映分布,这种误差称为随机误差或偶然误差。随机误差反映了测量结果的精确度,随机误差越小,测量精确度越高。了测量结果的精确度,随机误差越小,测量精确度越高。根据测量误差的性质和特性根据测量误差的性质和特性,误差可分为误差可分为随机误差、系统误差和粗随机误差、系统误差和粗大误差大误差。2 2)系统误差)系统误差 在一定的条件下在一定的条件下,测量误差的数值(大小及符号)保持恒定或测量误差的数值(大小及符号)保持恒定或按照一定的规律变化的误差称为系统误差。按照一定的规律变化的误差称为系统误差。恒定不变的误差称为恒定系统误差恒定不变的误差称为恒定系统误差,例如例如,在校验仪器时在校验仪器时,

9、标准标准表存在的固有误差、仪器的基准误差等。表存在的固有误差、仪器的基准误差等。按一定规律变化的误差称为变化系统误差按一定规律变化的误差称为变化系统误差,例如例如,由仪器的零由仪器的零点漂移、放大倍数的漂移以及热电偶冷端随室温变化而引入点漂移、放大倍数的漂移以及热电偶冷端随室温变化而引入的误差等。的误差等。系统误差决定了测量的准确度。系统误差越小系统误差决定了测量的准确度。系统误差越小,测量结果越准测量结果越准确。确。3 3)粗大误差)粗大误差 粗大误差是指在一定的条件下粗大误差是指在一定的条件下,测量值明显地偏离实际值时测量值明显地偏离实际值时所对应的误差所对应的误差,简称为粗差。简称为粗差

10、。粗大误差是由读数错误、记录错误粗大误差是由读数错误、记录错误 、操作不正确、测量中、操作不正确、测量中的失误以及存在不被允许的干扰等原因造成的的失误以及存在不被允许的干扰等原因造成的,所以所以,粗大误粗大误差又称为疏失误差。差又称为疏失误差。粗大误差明显地歪曲了测量结果粗大误差明显地歪曲了测量结果,就其数值而言就其数值而言,它远远大于它远远大于随机误差和系统误差。随机误差和系统误差。7.1.2 克服误差的方法克服误差的方法一、克服系统误差的方法一、克服系统误差的方法系统误差是指在相同条件下多次测量同一量时,误差的系统误差是指在相同条件下多次测量同一量时,误差的绝对值和符号保持恒定或在条件改变

11、时按某种确定的规绝对值和符号保持恒定或在条件改变时按某种确定的规律而变化的误差。对系统误差没有通用的处理方法,只律而变化的误差。对系统误差没有通用的处理方法,只能根据具体情况采取相应的措施。能根据具体情况采取相应的措施。1利用误差模型修正系统误差利用误差模型修正系统误差2利用校正数据表修正系统误差利用校正数据表修正系统误差3通过曲线拟合来修正系统误差通过曲线拟合来修正系统误差1利用误差模型修正系统误差利用误差模型修正系统误差先通过分析来建立系统的误差模型,再由误差模型求出误差修先通过分析来建立系统的误差模型,再由误差模型求出误差修正公式。误差修正公式一般含有若干误差因子,修正时,先通正公式。误

12、差修正公式一般含有若干误差因子,修正时,先通过校正技术把这些误差因子求出来,然后利用修正公式来修正过校正技术把这些误差因子求出来,然后利用修正公式来修正测量结果,从而削弱了误差的影响。测量结果,从而削弱了误差的影响。X X是输入电压(被测量),是输入电压(被测量),y y是是带有误差的输出电压(测量结带有误差的输出电压(测量结果),果),是影响量(例如零点是影响量(例如零点漂移或干扰),漂移或干扰),i i是偏差量(例是偏差量(例如直流放大器的偏置电流),如直流放大器的偏置电流),K K是影响特性(例如放大器增益是影响特性(例如放大器增益变化)。变化)。)yx(Ky21RyiRyy)R1R1i

13、k1(yx2101bybx(1)零点校正:零点校正:0010byb (2)增益校正:增益校正:011bybE (3)实际测量:实际测量:01001)(yyyyEbybx 011yyEb 0101yyEb 2 利用校正数据表修正系统误差利用校正数据表修正系统误差如果对系统误差的来源及仪器工作原理缺乏充分的认识而不能建立如果对系统误差的来源及仪器工作原理缺乏充分的认识而不能建立误差模型时,可以通过建立校正数据表的方法来修正系统误差。误差模型时,可以通过建立校正数据表的方法来修正系统误差。(1 1)在仪器的输入端逐次加入一个个已知的标准电压)在仪器的输入端逐次加入一个个已知的标准电压x x1 1,x

14、,x2 2,.,x.,xn n,并实测出对应的测量结果并实测出对应的测量结果y y1 1,y,y2 2,y yn n。(2 2)如果将实测的)如果将实测的y yi i(i(i=1,2,=1,2,n),n)值对应于存储器中的某一区域,值对应于存储器中的某一区域,y yi i作为存储器中的一个地址,再把对应的作为存储器中的一个地址,再把对应的x xi i值存入其中,这就在存值存入其中,这就在存储器中建立了一张校准数据表。储器中建立了一张校准数据表。(3 3)实际测量时,令微处理器根据实测的)实际测量时,令微处理器根据实测的y yi i去访问内存,读出其去访问内存,读出其中的中的x xi i。x x

15、i i即为经过修正的测量值。即为经过修正的测量值。(4 4)若实际测量的)若实际测量的y y值介于某两个标准点值介于某两个标准点y yi i和和y yi+1i+1之间,为了减少之间,为了减少误差,还要在查表基础上作内插计算来进行修正。误差,还要在查表基础上作内插计算来进行修正。线性内插:线性内插:1 iiyyy)yy(yyxxxxii1ii1ii 3通过曲线拟合来修正系统误差通过曲线拟合来修正系统误差曲线拟和是指从曲线拟和是指从n n对测定数据(对测定数据(xi,yixi,yi)中,求得一个函数)中,求得一个函数f(x)f(x)来作为实际函数的近似表达式。来作为实际函数的近似表达式。曲线拟和的

16、实质就是找出一个简单的、便于计算机处理的近似曲线拟和的实质就是找出一个简单的、便于计算机处理的近似表达式来代替实际的非线性关系。表达式来代替实际的非线性关系。采用曲线拟和对测量结果进行修正的方法是,首先定出采用曲线拟和对测量结果进行修正的方法是,首先定出f(x)f(x)的的具体形式,然后再通过实测值进行选定函数的数值计算,求出具体形式,然后再通过实测值进行选定函数的数值计算,求出精确的测量结果。精确的测量结果。曲线拟和的方法分为连续函数拟和和分段曲线拟和两种。曲线拟和的方法分为连续函数拟和和分段曲线拟和两种。随机误差通常是由于仪器在测量过程中的一系列互不相关的随机误差通常是由于仪器在测量过程中

17、的一系列互不相关的独立因素独立因素,如外界电磁场的变化、温度的变化、空气的扰动、如外界电磁场的变化、温度的变化、空气的扰动、大地的微震以及随机干扰信号对测量值的综合影响所造成的。大地的微震以及随机干扰信号对测量值的综合影响所造成的。相对于一次测量而言相对于一次测量而言,随机误差是没有一定规律的。如上所述随机误差是没有一定规律的。如上所述,当测量次数足够多时当测量次数足够多时,测量结果中的随机误差服从一定的统计测量结果中的随机误差服从一定的统计规律规律,而且大多数按正态分布。因此而且大多数按正态分布。因此,消除随机误差最为常用的消除随机误差最为常用的方法是取多次测量结果的算术平均值方法是取多次测

18、量结果的算术平均值,即即NiixNx11(7-11)二、随机误差的处理方法二、随机误差的处理方法式中式中,N为测量次数为测量次数,xi(i=1,2,n)为测量值。显然为测量值。显然,N越大越大,x就越接近就越接近真值真值,但所需要的测量时间也越长。但所需要的测量时间也越长。三、粗大误差的处理方法三、粗大误差的处理方法粗大误差是指在一定的测量条件下,测量值明显的偏离实际粗大误差是指在一定的测量条件下,测量值明显的偏离实际值所形成的误差。粗大误差明显的歪曲了测量结果,应予以值所形成的误差。粗大误差明显的歪曲了测量结果,应予以剔除。在测量次数比较多时(剔除。在测量次数比较多时(N20N20),测量结

19、果中的粗大),测量结果中的粗大误差宜采用莱特准则判断。若测量次数不够多时,宜采用格误差宜采用莱特准则判断。若测量次数不够多时,宜采用格拉布斯准则。拉布斯准则。当对仪器的系统误差采取了有效技术措施后,对于测量过程当对仪器的系统误差采取了有效技术措施后,对于测量过程中所引起的随机误差和粗大误差一般可按下列步骤处理。中所引起的随机误差和粗大误差一般可按下列步骤处理。(5 5)如果判断存在粗大误差,给予剔除,然后重复上述步骤(每次只允许剔)如果判断存在粗大误差,给予剔除,然后重复上述步骤(每次只允许剔除其中最大一个)。如果判断不存在粗大误差,则当前算术平均值、各项剩余除其中最大一个)。如果判断不存在粗

20、大误差,则当前算术平均值、各项剩余误差及标准偏差估计值分别为误差及标准偏差估计值分别为 NiixNx11xxvii NiivN1211 iiGv aNiixaNx11xxvii aNiivaN1211 A为坏值个数为坏值个数(1)求测量数据的算术平均值)求测量数据的算术平均值(2)求各项的剩余误差)求各项的剩余误差(3)求标准偏差)求标准偏差(4)判断粗大误差(坏值)判断粗大误差(坏值)G为系数,若测量次数足够多,可采用莱特准则判断,为系数,若测量次数足够多,可采用莱特准则判断,取取G=3,若测量次数不多,宜采用格拉布斯准则判断,若测量次数不多,宜采用格拉布斯准则判断,G需要通过查表求出。需要

21、通过查表求出。7.2 常用的数字滤波处理常用的数字滤波处理数字滤波:数字滤波:即通过一定的计算程序,对采集的数据进行某种处理,即通过一定的计算程序,对采集的数据进行某种处理,从而消除或减弱干扰和噪声的影响,提高测量的可靠性和精度。从而消除或减弱干扰和噪声的影响,提高测量的可靠性和精度。数字滤波的优点数字滤波的优点:无需硬件,可靠性高,不存在阻抗匹配问题。无需硬件,可靠性高,不存在阻抗匹配问题。用软件算法实现,因此可以使多个输入通道共用一个软件用软件算法实现,因此可以使多个输入通道共用一个软件“滤波器滤波器”,降低了仪器硬件成本。,降低了仪器硬件成本。适当改变软件滤波器的滤波程序或运算参数,就能

22、方便的改适当改变软件滤波器的滤波程序或运算参数,就能方便的改变滤波特性,对于低频、脉冲干扰、随机噪声特别有效变滤波特性,对于低频、脉冲干扰、随机噪声特别有效常用的数字滤波算法常用的数字滤波算法有:程序判断、中值滤波、算术平均滤波、递有:程序判断、中值滤波、算术平均滤波、递推平均滤波、加权递推平均滤波、一阶惯性滤波和复合滤波算法等。推平均滤波、加权递推平均滤波、一阶惯性滤波和复合滤波算法等。随机误差随机误差是由窜入仪器的随机干扰所引起的,这种误差是指在相同是由窜入仪器的随机干扰所引起的,这种误差是指在相同条件下同一量时,其大小和符号作无规则的变化而无法预测,但是条件下同一量时,其大小和符号作无规

23、则的变化而无法预测,但是在多次测量中他是符合统计规律的,而且大多数按正态分布。在多次测量中他是符合统计规律的,而且大多数按正态分布。7.2.1 克服大脉冲干扰的数字滤波法克服大脉冲干扰的数字滤波法 克服由仪器外部环境偶然因素引起的突变性扰动或仪器内部克服由仪器外部环境偶然因素引起的突变性扰动或仪器内部不稳定引起误码等造成的尖脉冲干扰,是仪器数据处理的第不稳定引起误码等造成的尖脉冲干扰,是仪器数据处理的第一步。通常采用简单的非线性滤波法,包括限幅滤波、中值一步。通常采用简单的非线性滤波法,包括限幅滤波、中值滤波等。滤波等。一、程序判断法一、程序判断法 21112,nnnnnnnnnnyyyyya

24、yyayyy或或程序判断法又称限幅滤波,由于测控系统存在随机脉冲干扰,或程序判断法又称限幅滤波,由于测控系统存在随机脉冲干扰,或由于变送器不可靠而将脉冲干扰引入输入端,从而造成测量信号由于变送器不可靠而将脉冲干扰引入输入端,从而造成测量信号的严重失真。对于这种随机干扰,限幅滤波是一种十分有效的方的严重失真。对于这种随机干扰,限幅滤波是一种十分有效的方法。法。其基本方法:比较相邻(其基本方法:比较相邻(n和和n-1时刻)的两个采样值时刻)的两个采样值yn和和yn-1,如果如果他们的差值过大,超过了参数可能的最大变化范围,则认为发生他们的差值过大,超过了参数可能的最大变化范围,则认为发生了随机干扰

25、,并视后一次采样值了随机干扰,并视后一次采样值yn为非法值,应予剔除。为非法值,应予剔除。yn作废后,作废后,可以用可以用yn-1替代;或用递推方法由替代;或用递推方法由yn-1,yn-2来近似推出,其相应算法来近似推出,其相应算法为:为:通常按参数可能的最大变化速度通常按参数可能的最大变化速度Vmax及采样周期及采样周期T决定决定a值,即值,即a=Vmax*T程序程序【7-2】限幅滤波子程序。】限幅滤波子程序。假设从假设从8位位AD中读取数据,子程序为中读取数据,子程序为get_ad()。()。/*A值可以根据实际情况调整,值可以根据实际情况调整,Value为上次采样的有效值,为上次采样的有

26、效值,new_value为当前采样值,滤波程序返回本次采样的有效值为当前采样值,滤波程序返回本次采样的有效值*/#define A 10/设置两次采样允许的最大偏差值设置两次采样允许的最大偏差值char value;/上次采样后的有效值变量上次采样后的有效值变量char filter()()char new_value;/本次采样值变量本次采样值变量 new_value=get_ad();();/读入本次采样值读入本次采样值 if(new_value-value)A)|(value-new_value)A)/是否超出最大偏是否超出最大偏差值差值return value;/如果超出,返回上次的有

27、效值作为本次的有效值如果超出,返回上次的有效值作为本次的有效值else return new_value;/如果没有超出,返回本次的采样值作为本如果没有超出,返回本次的采样值作为本次的有效值次的有效值二、中值滤波二、中值滤波中值滤波是一种典型的非线性滤波器,它运算简单,在滤除中值滤波是一种典型的非线性滤波器,它运算简单,在滤除脉冲噪声的同时可以很好地保护信号的细节信息。对某一被脉冲噪声的同时可以很好地保护信号的细节信息。对某一被测参数连续采样测参数连续采样n次(一般次(一般n应为奇数),然后将这些采样值应为奇数),然后将这些采样值进行排序,选取中间值为本次采样值。这种方法能有效克服进行排序,选

28、取中间值为本次采样值。这种方法能有效克服因偶然因素引起的波动干扰,对温度、液位等缓慢变化的被因偶然因素引起的波动干扰,对温度、液位等缓慢变化的被测参数,有良好的滤波效果。缺点是对流量、速度等快速变测参数,有良好的滤波效果。缺点是对流量、速度等快速变化的参数不宜使用。化的参数不宜使用。中值滤波程序主要由数据排序和取中间值两步分组成。数据中值滤波程序主要由数据排序和取中间值两步分组成。数据排序可采用几种常规的排序方法,如冒泡法、沉底法等排序可采用几种常规的排序方法,如冒泡法、沉底法等【例【例7-3】中值滤波子程序。】中值滤波子程序。/*N值可根据实际情况调整,排序采用冒泡法值可根据实际情况调整,排

29、序采用冒泡法*/#define N 11/设置连续采样的次数设置连续采样的次数 char filter()char value_bufN,count,i,j,temp;for(count=0;countN;count+)/N个采样值个采样值 Value_bufcount=get_ad();delay();for(j=1;jN-1;j+)/冒泡排序,由小到大冒泡排序,由小到大 for(i=0;i value_bufi+1)temp=value_bufi;value_bufi=value_bufi+1;value_bufi+1=temp;return value_buf(N-1)/2;/将排序后的

30、中间值作为最后结果将排序后的中间值作为最后结果 7.2.2 抑制小幅度高频噪声的平均滤波法抑制小幅度高频噪声的平均滤波法 对于小幅度高频电子噪声包括电子器件热噪声、对于小幅度高频电子噪声包括电子器件热噪声、A/D量化量化噪声等,通常采用具有低通特性的线性滤波器进行数据处噪声等,通常采用具有低通特性的线性滤波器进行数据处理,如算数平均滤波法、滑动平均滤波法、加权滑动平均理,如算数平均滤波法、滑动平均滤波法、加权滑动平均滤波法等。滤波法等。最基本的平均滤波程序是算术平均滤波程序。最基本的平均滤波程序是算术平均滤波程序。N1iixN1x一、算术平均滤波一、算术平均滤波算术平均滤波对滤除混杂在被测信号

31、上的随机干扰非常有效。算术平均滤波对滤除混杂在被测信号上的随机干扰非常有效。一般讲,采样次数一般讲,采样次数N N愈大,滤除效果愈好,但系统的灵敏度要下愈大,滤除效果愈好,但系统的灵敏度要下降。为了提高运算速度,程序中常用移位来代替除法,因此降。为了提高运算速度,程序中常用移位来代替除法,因此N N一一般取般取4 4,8 8,1616等等2 2的整数幂。的整数幂。算术平均滤波的缺点是:对于测量速度较慢或要求数据计算速算术平均滤波的缺点是:对于测量速度较慢或要求数据计算速度较快的实时控制不适用;比较浪费度较快的实时控制不适用;比较浪费RAM空间。空间。ORG 0000H LJMP FILT3OR

32、G4000HFILT3:CLRA;清累加和清累加和MOVR2,AMOVR3,AMOVR0,#30H;指向第一个采样值指向第一个采样值FILT30:MOVA,R0;取一个采样值取一个采样值ADDA,R3MOVR3,ACLRAADDC A,R2MOVR2,AINCR0CJNER0,#38H,FILT30;累加完累加完8次次MOVR0,#03HFILT31:CLRCMOVA,R2RRCAMOVR2,AXCHA,R3RRCAMOVR3,ADJNZR0,FILT31RET;设设8 8次采样值依次存放在次采样值依次存放在30H30H37H37H的连续单元中,的连续单元中,;累加和存放在累加和存放在R2,R

33、3R2,R3中中;平均值求出后,保留在累加器平均值求出后,保留在累加器A A中。中。【例【例7-67-6】算术平均滤波子程序。】算术平均滤波子程序。/*N N为进行平均运算的每组采样值的数量为进行平均运算的每组采样值的数量*/#define N 12#define N 12/设置每组参与平均运算的采样值个数设置每组参与平均运算的采样值个数 char filterchar filter()()intint sum=0sum=0;/求和变量,用于存储采样值的累加值求和变量,用于存储采样值的累加值 char countchar count;forfor(count=0;countN;countcou

34、nt=0;countN;count+)sum+=get_adsum+=get_ad();();delaydelay();();returnreturn(charchar)()(sum/Nsum/N););/将累加值进行平均计算作为返回值将累加值进行平均计算作为返回值 为了克服算术平均滤波速度较慢的缺点,采用移动平均滤为了克服算术平均滤波速度较慢的缺点,采用移动平均滤波。即先在波。即先在RAM中建立一个数据缓冲区,依顺序存放中建立一个数据缓冲区,依顺序存放N次次采样数据,然后每采进一个新数据就将最早采集的数据去采样数据,然后每采进一个新数据就将最早采集的数据去掉,最后再求出当前掉,最后再求出当前

35、RAM缓冲区中的缓冲区中的N个数据的算术平均个数据的算术平均值或加权平均值。这样每进行一次采样,就可计算出一个值或加权平均值。这样每进行一次采样,就可计算出一个新的平均值,即测量数据取一丢一,测量一次便计算一次新的平均值,即测量数据取一丢一,测量一次便计算一次平均值,大大加快了数据处理的能力。平均值,大大加快了数据处理的能力。这种数据存放方式可以采用环形这种数据存放方式可以采用环形队列结构来实现。设环形队列地队列结构来实现。设环形队列地址为址为40H4FH共共16个单元,用个单元,用R0作队尾指示。作队尾指示。二、移动平均滤波二、移动平均滤波移动平均滤波:移动平均滤波:FLT30:ACALL

36、INPUT;采样值放入;采样值放入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次次 MOVR0,#04HFILT32:CLRC MOV

37、A,R2 RRCA MOV R2,A XCHA,R3 RRCA MOV R3,A DJNZ R0,FILT32 RETINPUT:MOV A,R7 RET 【例【例7-7】滑动平均滤波子程序。】滑动平均滤波子程序。/*缓冲队列长度缓冲队列长度N可以依据情况的不同进行改变可以依据情况的不同进行改变*/#define N 12/设置先进先出队列的变量设置先进先出队列的变量 char value_bufN;/先进先出队列变量先进先出队列变量 char filter()()char count;int sum=0;value_bufi+=get_ad();();for(count=0;countN;c

38、ount+)sum+=value_bufcount;return(char)()(sum/N););7.2.3 复合滤波法复合滤波法 在实际应用中,有时既要消除大幅度的脉冲干扰,又要做数在实际应用中,有时既要消除大幅度的脉冲干扰,又要做数据平滑。因此常把前面介绍的两种以上的方法结合起来使用,据平滑。因此常把前面介绍的两种以上的方法结合起来使用,形成复合滤波。包括:去极值平均滤波算法,限幅平均滤波形成复合滤波。包括:去极值平均滤波算法,限幅平均滤波法,限幅消抖滤波法等。法,限幅消抖滤波法等。一、去极值平均滤波算法一、去极值平均滤波算法算术平均滤波对抑制随机干扰效果较好,但对脉冲干扰的抑制能算术平

39、均滤波对抑制随机干扰效果较好,但对脉冲干扰的抑制能力较弱,明显的脉冲干扰会使平均值远离实际值。而中值滤波对力较弱,明显的脉冲干扰会使平均值远离实际值。而中值滤波对脉冲干扰的抑制能力却非常有效,因而可以将两者结合起来形成脉冲干扰的抑制能力却非常有效,因而可以将两者结合起来形成去极值平均滤波,也称中值平均滤波滤波。具体算法是:连续采去极值平均滤波,也称中值平均滤波滤波。具体算法是:连续采样样N次,去掉一个最大值,去掉一个最小值,再求余下次,去掉一个最大值,去掉一个最小值,再求余下N-2个采个采样值的平均值,样值的平均值,)yyy(2N1yN1iminmaxi 为了节省计算时间,为了节省计算时间,N

40、-2应为应为2的整数幂(如的整数幂(如2、4、8等),等),因而常取因而常取N为为4、6、10等。此等。此外,对于快速变化的被测量,外,对于快速变化的被测量,可以先连续采样可以先连续采样N次,把各采次,把各采样值存于缓冲区,然后进行滤样值存于缓冲区,然后进行滤波运算;对于慢变化的被测量,波运算;对于慢变化的被测量,可以一边采样一边运算处理,可以一边采样一边运算处理,这时不必在这时不必在RAM中开辟数据缓中开辟数据缓存区。存区。ORG 0000HLJMP MAINORG 4000HMAIN:CLR AMOV R2,A;0放最大寄存器放最大寄存器R2MOV R6,AMOV R7,A;0放累加和寄存

41、器放累加和寄存器R6,R7MOV R4,#0FFH;FFH放最大寄存器放最大寄存器R4MOV R0,#04HDAV1:NOP ;LCALL RDXP;读读A/D结果到结果到A(采样子程序采样子程序)MOV R1,A;采样数据存采样数据存R1ADDA,R7;要求连续采样要求连续采样4 4次,去掉其中最大、最小值,次,去掉其中最大、最小值,;求剩下两数据的平均值求剩下两数据的平均值;R2;R2放最大值,放最大值,R4R4放最小值放最小值;R6,R7;R6,R7放累加和及最后结果。放累加和及最后结果。CLRCMOV A,R7SUBB A,R2MOV A,R6SUBB A,#00HMOV A,R7SU

42、BB A,R4MOV A,R6SUBB A,#00H CLR C RRC AMOV R6,A MOV A,R7RRC AMOV R7,ARET MOVR7,AMOV A,#00HADDCA,R6 MOV R6,ACLRCMOV A,R2SUBB A,R1JNCDAV2MOV A,R1MOV R2,ADAV2:CLRCMOV A,R1SUBB A,R4JNCDAV3MOV A,R1MOV R4,ADAV3:DJNZ R0,DAV1【例7-8】去极值平均滤波法子程序。/*采样值N为每组采样值的数量,依据实际情况可以改变*/#define N 12/设置每组采样值的数量char filter()ch

43、ar count,i,j;char value_bufN;/缓冲N个采样值的存储变量 int sum=0;/求和变量,用于存储采样值的累加值for(count=0;countN;count+)value_bufcount=get_ad();delay();for(j=1;jN-1;j+)/冒泡法排序,由小到大 for(i=0;i value_bufi+1)temp=value_bufi;value_bufi=value_bufi+1;value_bufi+1=temp;for(count=1;countN-1;count+)sum+=value count;return(char)(sum/(

44、N-2);7.2.4 低通数字滤波低通数字滤波X(t)y(t)RC低通滤波器)t(x)t(ydt)t(dyRCyn=y(nt),xn=x(nt)数字化处理数字化处理若若t足够小,则上式近似为:足够小,则上式近似为:1babyaxytRC1tRCbtRC11aytRCxytRC1)tn(x)tn(ytt)1n(y)tn(yRC1nnn1nnn,则,令)即(将描述普通硬件将描述普通硬件RCRC低通滤波器特性的微分方程用差分方程来表低通滤波器特性的微分方程用差分方程来表示,便可用软件算法来模拟硬件滤波器的功能。示,便可用软件算法来模拟硬件滤波器的功能。)()1()1()(naXnYnY 式中式中X(

45、n):本次采样值本次采样值Y(n):本次滤波的输出值本次滤波的输出值Y(n-1):上次滤波的输出值上次滤波的输出值当当t 足够小,足够小,=T/:滤波平滑系数滤波平滑系数,远小于远小于1T:采样周期采样周期本次滤波的输出值本次滤波的输出值y(n)主要取决于上次滤波的输出值主要取决于上次滤波的输出值y(n-1)。本次采样值对滤波的输出值贡献比较小本次采样值对滤波的输出值贡献比较小,这就模拟了具有较大惯这就模拟了具有较大惯性的低通滤波器功能。低通数字滤波对滤除变化非常缓慢的被测性的低通滤波器功能。低通数字滤波对滤除变化非常缓慢的被测信号中的干扰是很有效的。硬件模拟滤波器在处理低频时信号中的干扰是很

46、有效的。硬件模拟滤波器在处理低频时,电路电路实现起来很困难实现起来很困难,而数字滤波器则不存在这个问题。而数字滤波器则不存在这个问题。一阶惯性滤波子程序一阶惯性滤波子程序设设Yn-1在在DATA1为首地址的单元中,为首地址的单元中,Xn在在DATA2为首地址的单元为首地址的单元中,均为双字节。取中,均为双字节。取a=0.25,b=0.75,滤波结果在,滤波结果在R2,R3中。中。FOF:MOV R0,#DATA1MOV R1,#DATA2CLRC ;0.5Yn-1存入存入R2,R3INCR0MOV A,R0RRCAMOV R2,ADECR0 MOV A,R0RRCAMOV R3,AMOV A,

47、R0;Xn+Yn-1 MOV R7,AMOV A,R1ADDA,R7 MOV R7,AINCR0 INCR1MOV A,R0 MOV R6,AMOV A,R1 ADDC A,R6 MOV R6,ACLR CRRCA;(Xn+Yn-1)*0.5,存入,存入R6,R7MOV R6,AMOV A,R7RRCAMOV R7,ACLRC;(Xn+Yn-1)*0.25MOV A,R6RRCAMOV R6,AMOV A,R7RRCAADDA,R3;0.25(Xn+Yn)+0.5Yn-1存入存入R2,R3MOV R3,AMOV A,R6ADDCA,R2MOV R2,ARET【例【例7-12】一阶滞后滤波法子程

48、序。一阶滞后滤波法子程序。#define a 0.25/定义加权系数定义加权系数 char value;/上一个采样值变量上一个采样值变量 char filter()()char new_value;/本次采样值变量本次采样值变量 new_value=get_ad();();return(1-a)*value+a*new_value;/返回的返回的本次滤波结果本次滤波结果 仪器采集的数据并不等于原来带有量纲的参数值,它仅仅对应仪器采集的数据并不等于原来带有量纲的参数值,它仅仅对应于参数的大小,必须把它转换成带有量纲的数值后才能显示、于参数的大小,必须把它转换成带有量纲的数值后才能显示、打印输出

49、和应用,这种转换就是工程量变换,又称标度变换。打印输出和应用,这种转换就是工程量变换,又称标度变换。例:例:被测温度为被测温度为100,经热电偶转换成热电势,再经放大和,经热电偶转换成热电势,再经放大和A/D转换得到数字量为转换得到数字量为35,则这个,则这个A/D转换结果转换结果35与与100温度温度虽然是对应的,但数值上并不相等,因此不能将其当作温度值虽然是对应的,但数值上并不相等,因此不能将其当作温度值去显示或打印,必须把去显示或打印,必须把A/D转换结果转换结果35变成供显示或打印的温变成供显示或打印的温度值度值100,这个变换就是数字显示的标度变换。,这个变换就是数字显示的标度变换。

50、7.3 智能仪器的标度变换技术智能仪器的标度变换技术一、线性标度变换一、线性标度变换 7.3.1 标度变换的硬件实现方法标度变换的硬件实现方法对于不含任何非线性环节的测量通道,对于不含任何非线性环节的测量通道,A/D转换结果转换结果Di与被测与被测量量xi=x0Ni存在如下线性关系:存在如下线性关系:FSi0FSiFSiiD/ENksxD/EksxD/EkuD式中:式中:s为传感器灵敏度(即被测量转换成电压的转换系数),为传感器灵敏度(即被测量转换成电压的转换系数),E为为A/D转换器满量程输入电压,转换器满量程输入电压,DFS为为A/D转换器满量程输出数字转换器满量程输出数字量。只要适当选择

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第7章-智能仪器中的数据处理及算法分析课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|