克服随机误差的软件算法

克服随机误差的软件算法

ID:37070152

大小:270.41 KB

页数:15页

时间:2019-05-11

克服随机误差的软件算法_第1页
克服随机误差的软件算法_第2页
克服随机误差的软件算法_第3页
克服随机误差的软件算法_第4页
克服随机误差的软件算法_第5页
资源描述:

《克服随机误差的软件算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章微机应用系统中软件设计微机应用系统中的软件组成:监控程序;中断服务程序;完成各种测控算法的功能模块。主要介绍直接与测量与控制有关算法,如:克服随机误差的数字滤波算法;克服系统误差的校正算法;PID控制算法等,以及监控程序设计的基本方法。4.1克服随机误差的软件算法随机误差是由窜入仪表的随机干扰所引起,这种误差是指在相同条件下测量同一量时,其大小和符号作无规则的变化而无法预测,但在多次测量中它是符合统计规律的误差。为了克服随机干扰引入的误差,首先必须在仪器的结构和电路上采取各种防护干扰的措施和方法。

2、减小外界干扰对仪器的影响(如,屏蔽、滤波等)在此基础上再按统计规律用软件算法来进一步抑制有效信号中的干扰成分,消除随机误差,以保证系统的正常,可靠运行。采用数字滤波算法克服随机干扰引入的误差具有如下优点:(1)数字滤波无需硬件,只是一个计算过程,因此可靠性高,不存在阻抗匹配问题,尤其是数字滤波可以对频率很高或很低的信号进行滤波,这是模拟滤波器所不及的。(2)数字滤波是用软件算法实现的。因此可以使多个输入通道共用一个软件“滤波器”,从而降低仪器仪表的硬件成本。(3)只要适当改变软件滤波器的滤波程序或运算参

3、数,就能方便地改变滤波特性,这对于低频,脉冲干扰,随机噪声特别有效。一、一阶惯性滤波进行数字化处理:设:得:而且若取采样间隔△t足够小,则a≈△t/RC,滤波器的截止频率为:一阶惯性滤波算法适用滤波常数要求较大的场合,且对于周期干扰具有良好的抑制作用。二、限幅滤波基本方法是比较相邻(n和n-1时刻)的两个采样值和,如果它们的差值过大,超过了参数可能的最大变化范围,则认为发生了随机干扰,并视后一次采样值为非法值,应予剔除,作废后,可以用替代,或采用递推方法由,(n-1,n-2时刻的滤波值)来近似推出,其相

4、应算法为:上式中a表示相邻两个采样值之差的最大可能变化范围,上述限幅滤波算法很容易用程序判断的方法实现,故又称程序判断法。设Data1和Data2为内部RAM单元,分别存放上次滤波值和本次采样值,滤波值也存入Data2单元(均为单字节),则实现算法的程序如下所示:PRODET:MOVA,DATA2CLRCSUBBA,DATA1JNCPRODT1;若转PRODT1CPLA;若则求补INCAPRODT1:CJNEA,#a,PRODT2;若转PRODT2AJMPDONEPRODT2:JCDONE;若转DONE

5、MOVEDATA2,DATA1;否则DONE:RET三、中位值滤波中位值滤波是对某一被测参数连续采样n次(一般n取奇数),然后把n次采样值按大小排列,取中间值为本次采样值。中位值滤波能有效地克服偶然因素引起的波动或采样器不稳定引起的误码等脉冲干扰。对温度,液位等缓慢变化的被测参数,采用此法能收到良好的滤波效果,但对于流量,压力等快速变化的参数一般不宜采用中位值滤波。设SAMP为存放采样值的内存单元首地址,DATA为存放滤波值的内存单元地址,N为采样值个数,中位值滤波程序如下:FILTER:MOVR3,#

6、N-1;置循环初值SORT:MOVR2,R3;循环次数送R2MOVR0,#SAMP;采样值首地址送R0LOOP:MOVA,@R0INCR0CLRCSUBBA,@R0;yn-yn-1→AJCDONE;yn

7、存放滤波值ENT四、算术平均滤波法算术平均滤波法就是连续取n个采样值进行算术平均,其数学表达式为:算术平均滤波法适用于对一般具有随机干扰的信号进行滤波,这种信号的特点是信号本身在某一数值范围附近上下波动,在这种情况下仅取一个采样值作依据显然是不准确的。算术平均滤波法对信号的平滑程度取决于N,当N较大时,平滑度高,但灵敏度低,当N较小时,平滑度低,但灵敏度高,应视具体情况选取N,以使既少占用计算时间,又达到最好的效果,五、递推平均滤波法递推平均滤波法是把N个测量数据看成一个队列,队列的长度固定为N,每进行

8、一次新的测量,把测量结果放入队尾,而扔掉原来队首的一次数据,这样在队列中始终有N个“最新”的数据,计算滤波值时,只要把队列中的N个数据进行算术平均,就可得到新的滤波值,这样每进行一次测量,就可以得到一个新的平均滤波值,这种滤波算法称为递推平均滤波法,其数学表达式为:设N为采样值个数,SAMP为存放双字节采样值的内存单元首址,P_SAMP为指针(单字节),get_Data为一采集子程序,其结果存放在R6、R7单元,则实现递推平均滤波的子程序如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。