- 3
- 0
- 约2.55千字
- 约 15页
- 2023-07-26 发布于广东
- 举报
第一页,共十五页,2022年,8月28日 4.1 克服随机误差的软件算法 随机误差是由窜入仪表的随机干扰所引起,这种误差是指在相同条件下测量同一量时,其大小和符号作无规则的变化而无法预测,但在多次测量中它是符合统计规律的误差。 为了克服随机干扰引入的误差,首先必须在仪器的结构和电路上采取各种防护干扰的措施和方法。减小外界干扰对仪器的影响(如,屏蔽、滤波等)在此基础上再按统计规律用软件算法来进一步抑制有效信号中的干扰成分,消除随机误差,以保证系统的正常,可靠运行。 第二页,共十五页,2022年,8月28日 采用数字滤波算法克服随机干扰引入的误差具有如下优点: (1) 数字滤波无需硬件,只是一个计算过程,因此可靠性高,不存在阻抗匹配问题,尤其是数字滤波可以对频率很高或很低的信号进行滤波,这是模拟滤波器所不及的。 (2) 数字滤波是用软件算法实现的。因此可以使多个输入通道共用一个软件“滤波器”,从而降低仪器仪表的硬件成本。 (3) 只要适当改变软件滤波器的滤波程序或运算参数,就能方便地改变滤波特性,这对于低频,脉冲干扰,随机噪声特别有效。 第三页,共十五页,2022年,8月28日 一、一阶惯性滤波 进行数字化处理: 第四页,共十五页,2022年,8月28日 设: 得: 而且 若取采样间隔△t足够小,则a≈△t/RC,滤波器的截止频率为: 一阶惯性滤波算法适用滤波常数要求较大的场合,且对于周期干扰具有良好的抑制作用。 第五页,共十五页,2022年,8月28日 二、限幅滤波 基本方法是比较相邻(n和n-1时刻)的两个采样值 和 ,如果它们的差值过大,超过了参数可能的最大变化范围,则认为发生了随机干扰,并视后一次采样值 为非法值,应予剔除, 作废后,可以用 替代 ,或采用递推方法由 , (n-1,n-2时刻的滤波值)来近似推出,其相应算法为: 上式中a表示相邻两个采样值之差的最大可能变化范围,上述限幅滤波算法很容易用程序判断的方法实现,故又称程序判断法。 第六页,共十五页,2022年,8月28日 设Data1和Data2为内部RAM单元,分别存放上次滤波值 和本次采样值 ,滤波值也存入Data2单元(均为单字节),则实现算法的程序如下所示: PRODET: MOV A,DATA2 CLR C SUBB A,DATA1 JNC PRODT1 ;若 转PRODT1 CPL A ;若 则求补 INC A PRODT1: CJNE A,#a,PRODT2 ;若 转PRODT2 AJMP DONE PRODT2:JC DONE ;若 转DONE MOVE DATA2,DATA1 ;否则 DONE: RET 第七页,共十五页,2022年,8月28日 三、中位值滤波 中位值滤波是对某一被测参数连续采样n次(一般n取奇数),然后把n次采样值按大小排列,取中间值为本次采样值。 中位值滤波能有效地克服偶然因素引起的波动或采样器不稳定引起的误码等脉冲干扰。 对温度,液位等缓慢变化的被测参数,采用此法能收到良好的滤波效果,但对于流量,压力等快速变化的参数一般不宜采用中位值滤波。 设SAMP为存放采样值的内存单元首地址,DATA为存放滤波值的内存单元地址,N为采样值个数,中位值滤波程序如下: 第八页,共十五页,2022年,8月28日 FILTER: MOV R3,#N-1 ;置循环初值 SORT: MOV R2,R3 ;循环次数送R2 MOV R0,#SAMP ;采样值首地址送R0 LOOP: MOV A,@R0 INC R0 CLR C SUBB A,@R0 ; yn-yn-1→A JC DONE ; ynyn-1转DONE ADD A,@R0 ;恢复A XCH A,@R0 ; yn≥yn-1交换数据 DEC R0
原创力文档

文档评论(0)