您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 6.计算机控制系统的抗干扰与可靠性技术
第五章计算机控制系统设计实用技术主讲人:李东升主要内容(1)数字滤波程序程序判断滤波中值滤波算术平均滤波加权平均滤波一阶滞后滤波主要内容(2)标度变换程序标度变换原理标度变换程序非线性标度变换主要内容(3)过程通道的抗干扰设计噪声简介干扰简介干扰抑制措施第一节数字滤波程序概述•所谓数字滤波,是通过一定的计算程序对采样信号进行平滑加工,提高其有用信号,消除和减少各种干扰和噪音,以保证计算机系统的可靠性。数字滤波概述•数字滤波通过程序实现,不需硬件设备,系统的可靠性较高。•数字滤波可实现多通道共用。•可对低频信号(如0.01Hz)实现滤波。•采用不同的算法和参数就可实现对不同信号的滤波,使用起来灵活、方便。优点程序判断滤波•根据生产经验确定出两次采样输出信号可能出现的最大偏差,若超过此偏差值,则表明输入信号是干扰信号,应该去掉;若小于此一偏差,可将信号作为本次采样值。原理•由于随机干扰和误检测或变送器不稳定而出现严重失真的情况应用程序判断滤波•所谓限幅滤波就是把两次相邻的采样值进行相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)ΔY进行比较,如果小于或等于ΔY,则取本次采样值;如果大于ΔY,则取上次采样值作为本次采样结果。限幅滤波程序判断滤波限幅滤波流程图:现场保护Yn-1-Yn≥0读Yn-1,Yn求Yn-Yn-1Yn-1-YnY取上次采样值取本次采样值现场恢复否否是是开始返回程序判断滤波限幅滤波程序清单:PUSHPSW;保护现场PUSHACLRC;进位标志位清零MOVDATA,DATA2MOVA,DATA1SUBBA,DATA;求Yn-1-YnJNCCOMPARE;如果Yn-1-Yn≥0,转;COMPARECPLA;如果Yn-1-Yn0,求补INCA程序判断滤波限幅滤波程序清单(续):COMPARE:CLRCSUBBA,LIMIT;│Yn-Yn-1│和△y比较JCOVER;如果│Yn-Yn-;1│≤△y,DATA2→DATAMOVDATA,DATA1;如果│Yn-Yn-1│△y,;DATA1→DATAOVER:POPA;恢复现场POPPSWRET;返回程序判断滤波•所谓限速滤波就是把两次相邻的采样值进行相减,求出其增量(以绝对值表示),然后与采样允许的最大差值(由被控对象的实际情况决定)ΔY进行比较,如果小于或等于ΔY,则取本次采样值;如果大于ΔY,则在采样一次,并重新计算增量,若新计算的增量小于或等于ΔY,则取最后一次采样值为本次采样结果,否则取最后两次采样的平均值为本次采样结果。限速滤波中值滤波•所谓中值滤波法就是对某一被测参数连续采样n次(n一般取奇数),然后把n次采样值按顺序排列,取其中间值做为本次采样值。原理中值滤波流程图:现场保护设置数据个数读数据排序取中值据现场恢复排序完成否?是设置数据区首址开始返回是否中值滤波程序清单:PUSHPSWPUSHASORT:MOVR0,DATA;数据存储区单元首;址MOVR7,TIME;读比较次数CLRFLAG;清交换标志位LOOP:MOVA,@R0;取第一个数MOVFIRST,A;保存第一个数INCR0MOVSECOND,@R0;保存第二个数CLRCSUBBA,@R0;两数比较中值滤波程序清单(续):JCNEXT;第一数小于第二数,;不交换MOV@R0,FIRSTDECR0MOV@R0,SECOND;交换两数INCR0SETBFLAG;置交换标志位NEXT:DJNZR7,LOOP;进行下一次比较JBFLAG,SORT;进行下一轮比较DECR0CLRCMOVA,TIME中值滤波程序清单(续):RRCAMOVR7,ACONT:DECR0DJNZR7,CONTMOVSAMP,@R0;取中值POPAPOPPSWRET算术平均滤波•所谓算术平均滤波就是把n个采样值相加,然后取其算术平均值作为本次有效的采样信号。原理算术平均滤波流程图:现场保护设置数据区首址设置循环次数累加求和恢复现场所有数据加完否?求平均值否是开始返回读数据算术平均滤波程序清单:PUSHPSW;现场保护PUSHAMOVFLAG,#00H;进位位清零MOVR0,DATA;设置数据存储区首址MOVR7,#08H;设置采样数据个数CLRA;清累加器LOOP:ADDA,@R0;两数相加JNCNEXT;无进位,转NEXTINCFLAG;有进位,进位位加1NEXT:INCR0;数据指针加1DJNZR7,LOOP;未加完,继续加MOVR7,#03H;设置循环次数算术平均滤波程序清单(续):DIVIDE:MOVTEMP,A;保存累加器中;的内容MOVA,FLAG;累加结果除2CLRCRRCAMOVFLAG,AMOVA,TEMPRRCADJNZR7,DIVIDE;未结束,继续;执行MOVSAMP,A;保存结果至;SAMP中POPA;恢复现场POPPSWRET加权平均滤波•在算术平均滤波程序中,n次采样值在最后的结果中所占的比重是相等的,这样虽然消除了随机干扰,但有用信号的灵敏度也随之降低。为了提高滤波效果,将各个采样值取不同的比重,然后再相加求平均值,这种方法称为加权平均滤波。原理加权平均滤波流程图:加权平均滤波程序清单:PUSHPSW;保护现场PUSHAMOVR7,TIME;数据个数设置MOVR0,DATA;数据区首址设置MOVR1,COEFF;系数存储首址设置MOVFLAG,#00H;累加结果存储区清;零MOVSAMP_L,#00HMOVSAMP_H,#00HLOOP:MOVA,@R0;读采样值MOVB,AMOVA,@R1;读加权平均系数加权平均滤波程序清单(续):MULABCLRCADDA,SAMP_L;累加和MOVSAMP_L,AMOVA,BADDCA,SAMP_HJNCNEXTINCFLAGNEXT:MOVSAMP_H,AINCR0;数据区地址加1INCR1;系数地址加1加权平均滤波程序清单(续):DJNZR7,LOOP;未加完,继续MOVR7,#07H;设置循环次数DIV128:CLRCMOVA,FLAG;累加结果除2RRCAMOVFLAG,AMOVA,SAMP_HRRCAMOVSAMP_H,AMOVA,SAMP_LRRCA加权平均滤波程序清单(续):MOVSAMP_L,ADJNZR7,DIV128;未除完,继续MOVSAMP,SAMP_L;保存滤波后采样值POPA;恢复现场POPPSWRET一阶滞后滤波11nnnYXY一阶滞后滤波流程图:求求求1nyanxa)1(1)1(nnyaxannyy1开始返回一阶滞后滤波程序清单:MOVMUL1_H,COEFF1_HMOVMUL1_L,COEFF1_LMOVMUL2_H,DATA1_HMOVMUL2_H,DATA1_LACALLMULTDMOVBUFF1,PR_HMOVBUFF2,PR_LMOVMUL1_H,COEFF2_HMOVMUL1_L,COEFF2_L一阶滞后滤波程序清单(续):MOVMUL2_H,DATA2_HMOVMUL2_H,DATA2_LACALLMULTDCLRCMOVA,PR_HADDA,BUFF1MOVPR_H,AMOVA,PR_LADDCA,BUFF2MOVPR_L,A一阶滞后滤波程序清单(续):双字节无符号位乘法子程序(MULTD)入口条件:乘数MUL1存于MUL1_H和MUL1_L单元中,被乘数MUL2存于MUL2_H和MUL2_L单元中。出口条件:乘积按顺序存于PR_H、PR_L、MUL1_H、MUL1_L单元中。MULTD:CLRC;清进位标志;位MOVPR_L,#00H;乘积高8位;清零一阶滞后滤波程序清单(续):MOVPR_H,#00HMOVR7,#11H;设置循环次数LOOP1:JNCLOOP2;进位标志位为零,;转LOOP2MOVA,PR_L;PR+MUL2ADDA,MUL2_LMOVPR_L,AMOVA,PR_HADDCA,MUL2_HMOVPR_H,ALOOP2:MOVA,PR_H;PR右移一;位RRCA一阶滞后滤波程序清单(续):MOVPR_H,AMOVA,PR_LRRCAMOVPR_L,AMOVA,MUL1_H;MUL1右移一位RRCAMOVMUL1_H,AMOVA,MUL1_LRRCAMOVMUL1_L,ADJNZR7,LOOP1;循环未结束,继续第二节标度变换程序基本原理线性标度变换对于一般的线性仪表而言,标度变换公式为:为了简化程序设计,一般把被测参数的起点A0所对应的A/D转换值设定为0,即N0=0,这样上式可以改写为:0000xxmmNNAAAANN00xxmmNAAAAN基本原理非线性标度变换具体情况具体处理程序清单标度变换程序BDCHAN:MOVSUB1_L,AMINCAMMOVSUB1_H,AMMOVSUB2_L,A0INCA0MOVSUB2_H,A0ACALLSUB2MOVMUL1_H,DIFF_HMOVMUL1_L,DIFF_LMOVSUB1_L,NXINCNXMOVSUB1_H,NXMOVSUB2_L,N0程序清单INCN0MOVSUB2_H,N0ACALLSUB2MOVMUL2_H,DIFF_HMOVMUL2_L,DIFF_LACALLMULTDMOVDIV1_H,PR_HMOVDIV1_L,PR_LMOVSUB1_L,NMINCNMMOVSUB1_H,NMMOVSUB2_L,N0INCN0程序清单MOVSUB2_H,N0ACALLSUB2MOVDIV2_H,DIFF_HMOVDIV2_L,DIFF_LACALLDUBDIVCLRCMOVA,DIV1_LADDCA,A0MOVAX,AINCA0MOVA,DIV1_HADDCA,A0MOVAX,ARET程序清单双字节减法子程序(SUB2)程序入口:被减数放在SUB1_H、SUB1_L单元中,减数放在SUB2_H、SUB2_L单元中;程序出口:差放在DIFF_H、DIFF_L单元中。SUB2:CLRCMOVA,SUB1_L;A←SUB1_LSUBBA,SUB2_L;低8位相减MOVDIFF_L,A;保存低8位差值MOVA,SUB1_H;A←SUB1_HSUBBA,SUB2_H;高8位相减MOVDIFF_H,A;保存高8位差值RET程序清单程序入口:被除数存放在DIV1_H、DIV1_L单元中,除数存放在DIV2_H、DIV2_L单元中;程序出口:商存放在DIV1_H、DIV1_L单元中,余数存放在L_L和L_H单元中。DUBDIV:CLRA;余数单元清零MOVL_H,AMOVL_L,AMOVR0,#10H;设置除法移位次数LOOP:CLRC;移位MOVA,DIV1_LRLCAMOVDIV1_L,AMOVA,DIV1_HRLCAMOVDIV1_H,A程序清单MOVA,L_LRLCAMOVL_L,AMOVA,L_HRLCAMOVL_H,AMOVPSW.5,CLP1:MOVA,L_L;余数单元减除数SUBBA,DIV2_LMOVR1,AMOVA,L_HSUBBA,DIV2_HJBPSW.5ADD1JCSMALL程序清单ADD1:MOVL_H,AMOVA,R1MOVL_L,AINCDIV1_L;商加一SAMLL:DJNZR0,LOOPMOV20H,L_H;四舍五入JB07H,ADD_D;商的最高位为1,则;转ADD_DCLRC;判断小数部分是否大;于0.5MOVA,L_LRLCAMOVL_L,AMOVA,L_HRLCASUBBA,DIV2_H程序清单JCRETURN;小数部分小;于0.5,退出JNZADD1;小数部分大;于0.5,则转;ADD_DMOVA,L_LSUBBA,DIV2_LJCRETURNADD_D:CLRC;商加一INCDIV1_LMOVA,DIV1_HADDCA,#00HMOVDIV1_H,ARETURN:RET第三节抗干扰技术噪声与干扰•噪声是信号检测领域内,检测系统接收与传输的除有用信号以外的一切信号的总称。噪
本文标题:6.计算机控制系统的抗干扰与可靠性技术
链接地址:https://www.777doc.com/doc-4024532 .html