第四章智能仪器的基本数据处理算法数据处理能力是智能仪器水平的标志,不能充分发挥软件作用,等同硬件化的数字式仪器.测量精度和可靠性是仪器的重要指标,引入数据处理算法后,使许多原来靠硬件电路难以实现的信号处理问题得以解决,从而克服和弥补了包括传感器在内的各个测量环节中硬件本身的缺陷或弱点,提高了仪器的综合性能。基本数据处理算法内容提要克服随机误差的数字滤波算法消除系统误差的算法、非线性校正工程量的标度变换。诸如频谱估计、相关分析、复杂滤波等算法,阅读数字信号处理方面的文献。第一节克服随机误差的数字滤波算法随机误差:由串入仪表的随机干扰、仪器内部器件噪声和A/D量化噪声等引起的,在相同条件下测量同一量时,其大小和符号作无规则变化而无法预测,但在多次测量中符合统计规律的误差。采用模拟滤波器是主要硬件方法。数字滤波算法的优点:(1)数字滤波是一个计算过程,通常用软件实现,在实时性要求高的情况下用FPGA实现,因此可靠性高。无需模拟电路,不存在阻抗匹配、特性波动、非一致性等问题。(2)只要适当改变数字滤波程序有关参数,就能方便的改变滤波特性,因此数字滤波使用时方便灵活。常用的数字滤波算法一、克服大脉冲干扰的数字滤波法(非线性法)1.限幅滤波法2.中值滤波法3.基于拉依达准则的奇异数据滤波法4.基于中值数绝对偏差的决策滤波器二、抑制小幅度高频噪声的平均滤波法1.算数平均2.滑动平均3.加权滑动平均三、复合滤波法一、克服大脉冲干扰的数字滤波法克服由仪器外部环境偶然因素引起的突变性扰动或仪器内部不稳定引起误码等造成的尖脉冲干扰,通常采用简单的非线性滤波法。滤除脉冲干扰是仪器数据处理的第一步。1.限幅滤波法限幅滤波法(又称程序判别法、增量判别法)通过程序判断被测信号的变化幅度,从而消除缓变信号中的尖脉冲干扰。具体方法是,依赖已有的时域采样结果,将本次采样值与上次采样值进行比较,若它们的差值超出允许范围,则认为本次采样值受到了干扰,应予易除。1n2n1ny,y,y已滤波的采样结果:若本次采样值为yn,则本次滤波的结果由下式确定:a是相邻两个采样值的最大允许增量,其数值可根据y的最大变化速率Vmax及采样间隔Ts确定,即a=VmaxTs实现本算法的关键是设定被测参量相邻两次采样值的最大允许误差a.要求准确估计Vmax和采样间隔Ts。适合对温度、压力等变化较慢测控系统2.中值滤波法中值滤波是一种典型的非线性滤波器,它运算简单,在滤除脉冲噪声的同时可以很好地保护信号的细节信息。对某一被测参数连续采样n次(一般n应为奇数),然后将这些采样值进行排序,选取中间值为本次采样值。对温度、液位等缓慢变化(呈现单调变化)的被测参数,采用中值滤波法一般能收到良好的滤波效果。设滤波器窗口的宽度为n=2k+1,离散时间信号x(i)的长度为N,(i=1,2,…,N;Nn),则当窗口在信号序列上滑动时,一维中值滤波器的输出:med[x(i)]=x(k)表示窗口2k+1内排序的第k个值,即排序后的中间值。原始信号中值滤波后的信号对不同宽度脉冲滤波效果3.基于拉依达准则的奇异数据滤波法(剔除粗大误差)拉依达准则法的应用场合与程序判别法类似,并可更准确地剔除严重失真的奇异数据。拉依达准则:当测量次数N足够多且测量服从正态分布时,在各次测量值中,若某次测量值Xi所对应的剩余误差Vi>3σ,则认为该Xi为坏值,予以剔除。拉依达准则法实施步骤(1)求N次测量值X1至XN的算术平均值N1iiXN1X(2)求各项的剩余误差ViXXVii(3)计算标准偏差σ)1N/()V(N1i2i(4)判断并剔除奇异项Vi>3σ,则认为该Xi为坏值,予以剔除。依据拉依达准则净化数据的局限性采用3σ准则净化奇异数据,有的仪器通过选择Lσ中的L值(L=2,3,4,5)调整净化门限,L>3,门限放宽,L<3,门限紧缩。采用3σ准则净化采样数据有其局限性,有时甚至失效。(1)该准则在样本值少于10个时不能判别任何奇异数据;(2)3σ准则是建立在正态分布的等精度重复测量基础上,而造成奇异数据的干扰或噪声难以满足正态分布。4.基于中值数绝对偏差的决策滤波器中值绝对偏差估计的决策滤波器能够判别出奇异数据,并以有效性的数值来取代。采用一个移动窗口,,…,,利用m个数据来确定的有效性。如果滤波器判定该数据有效,则输出,否则,如果判定该数据为奇异数据,用中值来取代。(k)x0(k)x1,(k)x1m-(1).确定当前数据有效性的判别准则一个序列的中值对奇异数据的灵敏度远无小于序列的平均值,用中值构造一个尺度序列,设{xi(k)}中值为Z,则给出了每个数据点偏离参照值的尺度令{d(k)}的中值为d,著名的统计学家FR.Hampel提出并证明了中值数绝对偏差MAD=1.4826*d,MAD可以代替标准偏差σ。对3σ法则的这一修正有时称为“Hampel标识符”。(2).实现基于L*MAD准则的滤波算法●建立移动数据窗口(宽度m)●计算出窗口序列的中值Z(排序法)●计算尺度序列的中值d(排序法)●令Q=1.4826*d=MAD●计算●如果则否则(k)}x(k),x(k),x(k),{x(k)}w(k),w(k),w(k),w1-m2101-m210{|z-(k)w|(k)dii|z-(k)x|qmQLq(k)x(k)ymmZ(k)ym可以用窗口宽度m和门限L调整滤波器的特性。m影响滤波器的总一致性,m值至少为7。门限参数L直接决定滤波器主动进取程度,本非线性滤波器具有比例不变性、因果性、算法快捷等特点,实时地完成数据净化。二、抑制小幅度高频噪声的平均滤波法小幅度高频电子噪声:电子器件热噪声、A/D量化噪声等。通常采用具有低通特性的线性滤波器:算数平均滤波法加权平均滤波法滑动加权平均滤波法1.算数平均滤波N个连续采样值(分别为X1至XN)相加,然后取其算术平均值作为本次测量的滤波器输出值。即N1iiXN1X滤波效果主要取决于采样次数N,N越大,滤波效果越好,但系统的灵敏度要下降。因此这种方法只适用于慢变信号。iiinSXN1iiN1iN1iiiinN1sN1)ns(N1XSi为采样值中的信号,ni为随机误差。N1iiSN1X2.滑动平均滤波法对于采样速度较慢或要求数据更新率较高的系统,算术平均滤法无法使用。滑动平均滤波法把N个测量数据看成一个队列,队列的长度固定为N,每进行一次新的采样,把测量结果放入队尾,而去掉原来队首的一个数据,这样在队列中始终有N个“最新”的数据。1N0iinnXN1X为第n次采样经滤波后的输出;为未经滤波的第n-i次采样值;N为滑动平均项数。nXinX平滑度高,灵敏度低;但对偶然出现的脉冲性干扰的抑制作用差。实际应用时,通过观察不同N值下滑动平均的输出响应来选取N值以便少占用计算机时间,又能达到最好的滤波效果。3.加权滑动平均滤波增加新的采样数据在滑动平均中的比重,以提高系统对当前采样值的灵敏度,即对不同时刻的数据加以不同的权。通常越接近现时刻的数据,权取得越大。1N0iininXCN1X1CCC1N100CCC1N10按FIR滤波设计确定系数三、复合滤波法在实际应用中,有时既要消除大幅度的脉冲干扰,有要做数据平滑。因此常把前面介绍的两种以上的方法结合起来使用,形成复合滤波。去极值平均滤波算法:先用中值滤波算法滤除采样值中的脉冲性干扰,然后把剩余的各采样值进行平均滤波。连续采样N次,剔除其最大值和最小值,再求余下N-2个采样的平均值。显然,这种方法既能抑制随机干扰,又能滤除明显的脉冲干扰。为使计算更方便,N-2应为2,4,8,16常取N为4,6,8,10,问题:1.试画出去极值加权平均复合滤波算法流程图;2.测量的直流电压受到工频及其谐波干扰,如果用平均滤波算法,怎样确定平均点数N和采样间隔TS?3.如果被测量是频率为f0正弦波,如果用FIR滤波算法滤除高频噪声,根据哪些条件设计滤波器系数?