《第6章66软件抗干扰技术.ppt》由会员分享,可在线阅读,更多相关《第6章66软件抗干扰技术.ppt(30页珍藏版)》请在课桌文档上搜索。
1、6.6 软件抗干扰技术,一、测控系统软件的基本要求,(3)可测试性 两方面含义:其一是比较容易制定出测试准则,并根据这些准则对软件进行测试;其二软件设计完成后,首先在模拟环境下运行,经过静态分析和动态仿真运行,证明正确无误后才可投入实际运行。,(1)易理解、易维护 指软件系统容易阅读和理解,容易发现和纠正错误,容易修改和补充。,(2)实时性 要求系统及时响应外部事件的发生,并及时给出处理结果。,(4)准确性 算法选择、位数选择等要符合要求。,(5)可靠性 最重要的指标之一,两方面含义:第一是运行参数环境发生变化时,软件能可靠运行并给出准确结果,即软件应具有自适应性;第二是工业环境极其恶劣,干扰
2、严重,软件必须保证在严重干扰条件下也能可靠运行。,二.软件抗干扰研究的主要内容,1.采用软件的方法抑制叠加在输入输出信号上噪声影响,如模拟输入信号的数字滤波技术;2.由于干扰而使程序发生混乱,导致程序乱飞或陷入死循环,采取使程序纳入正轨的措施,如指令冗余、软件陷阱、“看门狗”技术等;3.发现程序失控后,解决系统恢复正常运行的方法,如重要信息的恢复,系统重入的条件等。,6.6.1 数字滤波技术,由于工业生产的现场环境非常恶劣,各种干扰源很多,计算机系统通过输入通道采集到的数据信号,虽经硬件电路的滤波处理,但仍会混有随机干扰噪声。因此,为了提高系统性能,达到准确的测量与控制,一般情况下还需要进行数
3、字滤波。,所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重。故实质上它是一种程序滤波。,数字滤波可靠性高,稳定性好,修改滤波参数也容易,而且一种滤波子程序可以被多个通道所共用,因而成本很低。另外,数字滤波可以对各种干扰信号,甚至极低频率的信号进行滤波。它的不足之处是需要占用CPU的机时。,与模拟滤波器相比,有以下几个优点:1.数字滤波是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。2.数字滤波可以对频率很低(如001HZ)的信号实现滤波,克服了模拟滤波器的缺陷。3.数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。,主要数字
4、滤波算法:算术平均值法、中位值滤波法、限幅滤波法、惯性滤波法 等,1、算术平均值法,算术平均值法是对输入的N个采样数据xi(i=1N),寻找这样一个y,使y与各采样值间的偏差的平方和为最小,即,由一元函数求极值原理可得:,意义,假设某次测量的测量值包括信号成分Si和噪音成分Ci,进行N次测量后信号成分之和为:,噪音的强度是用均方根来衡量的:,上两式中,S、C分别表示进行N次测量后信号和噪音的平均强度。,信噪比:,即算术平均值法使信噪比提高了 倍。,例:某压力仪表采样数据如下:,序 号采样值,采样数据明显存在被干扰现象(彩色数据)。,采用算术平均值滤波后,其采样值为:,Y=(24+25+20+2
5、7+24+60+24+25+26+23)/10=28,干扰被平均到采样值中去了,特点:,1)N值决定了信号平滑度和灵敏度。随着N的增大,平滑度提高,灵敏度降低。应该视具体情况选择N,以便得到满意的滤波效果。一般地,流量参数N=8-16,常取12;压力N=4;液面N=4-12;温度N=1-4,温度、成分等缓变信号可取2。在编制算法程序时,m一般取2、4、8等2的整数幂,以便于用移位来代替除法求得平均值。2)平均值滤波法一般适用于具有周期性干扰噪声的信号,特别适用信号本身在某一数值范围上下波动的情况,如压力、流量、液面等。但对偶然出现的脉冲干扰信号,滤波效果尚不理想。,2中位值滤波法(中值滤波),
6、中位值滤波法的原理是对被测参数连续采样m次(m3)且是奇数,并按大小顺序排列;再取中间值作为本次采样的有效数据。一般m取35次即可。特点:中位值滤波法对脉冲干扰信号等偶然因素引发的干扰有良好的滤波效果。如对温度、液位等变化缓慢的被测参数采用此法会收到良好的滤波效果;对流量、速度等快速变化的参数一般不宜采用中位值滤波法。中位值滤波法和平均值滤波法结合起来使用,滤波效果会更好。即在每个采样周期,先用中位值滤波法得到m个滤波值,再对这m个滤波值进行算术平均,得到可用的被测参数。也称为去脉冲干扰平均值滤波法。,例:某压力仪表采样数据如下:,序 号采样值,采样数据明显存在被干扰现象(彩色数据)。,采用去
7、脉冲干扰平均值滤波后,其采样值为:25,对1、2、3次采样中位值滤波后值:24对4、5、6次采样中位值滤波后值:27对7、8、9次采样中位值滤波后值:25,3.滑动平均值法滤波,在RAM区中设置一个先进先出的循环队列作测量数据缓冲区,其长度固定为N,每采样一个新数据,就将其存入队尾,而丢掉原来队首的一个数据,而后求出包括新数据在内的N个数据的算术平均值。这样每进行一次采样,就可计算出一个新的平均值,从而提高了系统响应速度和测量精度。特点:对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;但对偶然出现的脉冲性干扰抑制作用差,不易消除由于脉冲干扰引起的采样值偏差。所以不适合脉冲干扰比较严重的场合,
8、而适用于高频振荡系统。,N值设定的工程经验值为:,4限幅滤波法,(1)限幅滤波:采用上、下限限幅,即 当y(n)yH时,则取y(n)=yH(上限值);当y(n)yL时,则取y(n)=yL(下限值);当yLy(n)yH时,则取y(n)。,经验说明,生产过程中许多物理量的变化需要一定的时间,因此相邻两次采样值之间的变化幅度应在一定的限度之内。限幅滤波就是把两次相邻的采样值相减,求其增量的绝对值,再与两次采样所允许的最大差值Y进行比较,如果小于或等于Y,表示本次采样值y(k)是真实的,则取y(k)为有效采样值;反之,y(k)是不真实的,则取上次采样值y(k1)作为本次有效采样值。,(2)限速滤波(亦
9、称限制变化率):即 当|y(n)-y(n-1)|y0时,则取y(n);当|y(n)-y(n-1)|y0时,则取y(n)=y(n-1)。其中y0为两次相邻采样值之差的可能最大变化量。y0值的选取,取决于采样周期T及被测参数y应有的正常变化率。因此,一定要按照实际情况来确定y0、yH及yL,否则,非但达不到滤波效果,反而会降低控制品质。,优点:能有效克服因偶然因素引起的脉冲干扰。对随机干扰或采样器不稳定引起的失真有良好的滤波效果。缺点:无法抑制周期性干扰,平滑度差。,5惯性滤波法,常用的RC滤波器的传递函数是:其中Tf=RC,它的滤波效果取决于滤波时间常数Tf。因此,RC滤波器不可能对极低频率的信
10、号进行滤波。为此,人们模仿上式做成一阶惯性滤波器亦称低通滤波器。即将上式写成差分方程 稍加整理得 其中,称为滤波系数,且01,Ts为采样周期,Tf为滤波器时间常数。,根据惯性滤波器的频率特性,若滤波系数越大(Tf越大),则带宽越窄,滤波频率也越低。因此,需要根据实际情况,适当选取值,使得被测参数既不出现明显的纹波,反应又不太迟缓。,优点:对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合。缺点:相位滞后,灵敏度低。,6、其它滤波方法,(1).去极值平均滤波 算术平均滤波不能将明显的偶然的脉冲干扰消除,只是把其平均到采样结果中,从而降低了测量精度。去极值平均滤波是对连续采样的m个数据进行比
11、较,去掉其中的最大值与最小值,然后计算余下的m-2 个数据的算术平均值。在编制算法程序时,为便于用移位来代替除法求得平均值,m-2应取2、4、8等,故m取4、6、10等。这种算法适用于工业场合经常遇到的尖峰脉冲干扰的信号滤波。,(2).加权平均滤波 算术平均滤波和去极值平均滤波都存在平滑性和灵敏度的矛盾。采样次数太少则平滑效果差,次数太多则灵敏度下降,对测量参数的变化趋势不敏感。为协调两者关系,可采用加权平均滤波。加权平均滤波是对每次采样值不以相同的权系数而以增加新鲜采样值的权重相加。一个m项加权平均式为:,式中,第m次为最新值,C1、C2、Cm 为加权系数,先小后大,且均为小于1但总和等于1
12、的小数,即满足下式,C1+C2+Cm=1Cm Cm-1 C1 0,C1、C2、Cm 的取值应视具体情况选取,并通过调试确定。例如,某纯滞后时间为的被控对象,采用m=4的加权平均滤波算式为,=C1 y 1+C2 y 2+C3 y 3+C4 y 4,式中权系数,优点:这种算法能协调系统的平滑度和灵敏度的矛盾,提高灵敏度,更适用于纯滞后较大的对象和采用周期较短的系统。缺点:对于纯滞后时间常数较小和采用周期较长,变化缓慢的信号不能迅速反应当前所受干扰的严重程度,滤波效果差。,7、各种滤波方法选择,(1)滤波效果一般地,对于变化比较慢的参数,如温度,采用限幅滤波和惯性滤波法。对变化较快的参数,如压力、流
13、量等,可选用算术平均和加权平均滤波,特别是加权平均滤波效果更好。对要求比较高的系统,需采用复合滤波法。,(2)滤波时间:应选用滤波时间较短的程序。,6.6.2 开关量的软件抗干扰技术,2.开关量(数字量)信号输出抗干扰措施 在软件上,最为有效的方法就是重复输出同一个数据。只要有可能,其重复周期尽可能短些。输出设备是电位控制型还是同步锁存型,对干扰的敏感性相差较大。前者有良好的抗“毛刺”干扰能力,后者不耐干扰,当锁存线上出现干扰时,它就会盲目锁存当前的数据,也不管此时数据是否有效。,1.开关量(数字量)信号输入抗干扰措施 干扰信号多呈毛刺状,作用时间短,利用这一特点,我们在采集某一开关量信号时,
14、可多次重复采集,直到连续两次或两次以上结果完全一致方为有效。,6.6.3 CPU抗干扰技术,当干扰作用到CPU本身时,CPU将不能按正常状态执行程序,从而引起混乱。,1、睡眠抗干扰,CMOS型单片机通过执行ORL PCON,#1可以进入睡眠(待机)状态,只有定时/计数系统和中断系统处于值班状态。这时CPU对系统三总线上的出现的干扰不会作出什么反应,从而大大降低系统对干扰的敏感程度。,软件设计:,主程序自检、初始化,LOOP:ORL PCON,#1,LJMP LOOP,中断唤醒CPU,PC指针自动压栈,中断服务程序,中断返回,CPU睡眠,PC指针位置,2、指令冗余,CPU受干扰后,往往将操作数当
15、作操作码执行,造成程序混乱。,当程序弹飞到一单字节指令上时,便自动纳入正轨;,当程序弹飞到一双字节指令上时(操作码、操作数),有可能落到操作数上,从而出错;,当程序弹飞到一三字节指令上时(操作码、操作数、操作数),因其有两个操作数,从而出错机会更大。,应多采用单字节指令,并在关键地方人为插入一些单字节指令,或将有效单字节指令重复书写,提高弹飞程序纳入正轨的机会,这便是指令冗余。,实现方法:,在一些对程序流向起决定作用的指令之前插入两条NOP指令,以保证弹飞的程序迅速纳入正确的控制轨道。这些指令有:RET、RETI、LCALL、LJMP、JZ/JNZ、JC/JNC、JB/JNB、JBC、CJNE
16、、DJNZ等。(如51单片机),如:利用减法比较两无符号数的大小程序(数放A、B中):,无指令冗余程序:,CLRCSUBBA,BJCBBIGBBIG:NOP.,有指令冗余的情况:,CLRCSUBBA,BNOPNOPJCBBIGBBIG:NOP.,指令冗余缺点:降低指令执行效率,指令冗余特点:,1.降低正常程序执行的效率;2.可以减少程序弹飞的次数,使其很快纳入程序轨道,使CPU按“操作码、操作数”方式运行,但不能保证失控期间不干坏事,更不能保证程序纳入正常轨道后太平无事。因为弹飞的程序已经偏离正常顺序,做了不该做的事。解决这个问题还要靠软件容错技术,减少或消灭程序误动作。3.指令冗余使弹飞程序
17、安定下来是有条件的,首先弹飞的程序要落到程序区,其次必须执行到冗余的指令。4.当程序弹飞到非程序区时,或弹飞的程序碰到冗余指令前已形成死循环,都会使冗余指令失去作用。,3、软件陷阱,所谓软件陷阱,就是一条引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。,软件陷阱由三条指令构成:NOP NOP LJMP ERR;ERR错误处理程序入口,软件陷阱安排在下列四种地方:,1)未使用的中断向量区2)未使用的大片ROM区3)表格区尾部4)程序区,软件陷阱安排在程序的断裂点处,这类指令有LJMP、SJMP、AJMP、RET、RETI,正常执行的程序到此便不会继续往下执
18、行,如果还要顺序执行,必然是出错了,就有必要设陷阱将其捕捉出来。,例:根据累加器A内容的正、负、零情况进行三分支的程序中,软件陷阱的安置如下:,JNZXYZ;零处理 LJMP ABC NOP NOP LJMP ERRXYZ:JB ACC.7,UVW;正数处理,LJMP ABC NOP NOP LJMP ERRUVW:;负数处理ABC:;取结果RET NOP NOP LJMP ERR,软件陷阱,断裂点,4、程序运行监视系统(WATCHDOG),如果弹飞的程序弹飞到一个临时构成的死循环中,冗余指令和软件陷阱就无能为力了。这时系统将完全瘫痪。,解决方法:1)手动复位;2)采用程序运行监视系统,WATCHDOG特性:1)本身是能独立工作的定时器,基本不依赖CPU工作。2)CPU在一个固定的时间间隔中和该系统打一次交道(喂一次狗),以表明系统“目前正常”。3)当CPU掉入死循环后,能及时发现并使系统复位。,WATCHDOG电路构成,1、计数器形式;2、单稳态电路形式;3、集成WATCHDOG电路,如X5045、OMP813L、MAX705、CAT1023 等等。,以上措施只解决了如何发现系统被干扰,及如何捕捉失控的程序,仅此是不够的。还要让计算机根据被破坏的现场中的残留信息自动恢复到正常工作状态。,