计算机控制课程设计PID控制系统中数字滤波.docx_第1页
计算机控制课程设计PID控制系统中数字滤波.docx_第2页
计算机控制课程设计PID控制系统中数字滤波.docx_第3页
计算机控制课程设计PID控制系统中数字滤波.docx_第4页
计算机控制课程设计PID控制系统中数字滤波.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计(综合实验)报告(2010 - 2011 年度第 2 学期)名 称: 计算机控制技术与系统 题 目:单回路PID控制系统中数字滤波 算法的设计与MATLAB仿真验证院 系: 自动化 班 级: 学 号: 学生姓名: 指导教师: 设计周数: 1 成 绩: 日期: 2011年 6月 16日计算机控制技术与系统课程设计任 务 书一目的与要求1通过本课程设计教学环节,使学生加深对所学课程内容的理解和掌握;2结合工程问题,培养提高学生查阅文献、相关资料以及组织素材的能力;3培养锻炼学生结合工程问题独立分析思考和解决问题的能力;4要求学生能够运用所学课程的基本理论和设计方法,根据工程问题和实际应用任务的要求,进行方案的总体设计和分析评估;5.报告原则上要求依据相应工程技术规范进行设计、制图、分析和撰写等。二主要内容1数字控制算法分析设计;2现代控制理论算法分析设计3模糊控制理论算法分析设计4过程数字控制系统方案分析设计;5微机硬件应用接口电路设计;6微机应用装置硬件电路、软件方案设计;7数字控制系统I/O通道方案设计与实现;8PLC应用控制方案分析与设计;9数据通信接口电路硬软件方案设计与性能分析;10现场总线控制技术应用方案设计;11数控系统中模拟量过程参数的检测与数字处理方法;12基于嵌入式处理器技术的应用方案设计;13计算机控制系统抗干扰技术与安全可靠性措施分析设计;14计算机控制系统差错控制技术分析设计;15计算机控制系统容错技术分析设计;16工程过程建模方法分析及设计。三进度计划序号设计内容完成时间备注1选择课程设计题目,查阅相关文献资料6月13日2文献资料学习,根据所选题目进行方案设计6月14日3与指导老师讨论设计内容修改设计方案6月15日4撰写课程设计报告6月16日5课程设计答辩6月17日四设计成果要求1针对所选题目的国内外应用发展概述;2课程设计正文内容,包括设计方案、硬件电路和软件流程,以及综述、分析等;3课程设计总结(或结论)以及参考文献;4要求设计报告规范完整。五考核方式计算机控制技术与系统课程设计成绩评定依据如下:1撰写的课程设计报告;2独立工作能力及设计过程的表现;3答辩时回答问题情况。成绩以四级分制综合评定分为优、良、通过、不通过四个等级。学生姓名:指导教师:年 月 日一、课程设计(综合实验)的目的与要求1通过本课程设计教学环节,使学生加深对所学课程内容的理解和掌握;2结合工程问题,培养提高学生查阅文献、相关资料以及组织素材的能力;3培养锻炼学生结合工程问题独立分析思考和解决问题的能力;4要求学生能够运用所学课程的基本理论和设计方法,根据工程问题和实际应用任务的要求,进行方案的总体设计和分析评估;5.报告原则上要求依据相应工程技术规范进行设计、制图、分析和撰写等。二、设计(实验)正文1 数字滤波概述 在微机控制系统的模拟输入信号中,一般均含有各种噪声和干扰,他们来自被测信号源本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。噪声有2大类:一类为周期性的,其典型代表为50 Hz的工频干扰,对于这类信号,采用积分时间等于20 ms整倍数的双积分A/D转换器,可有效地消除其影响;另一类为非周期的不规则随机信号,对于随机干扰,可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比重,因此他实际上是一个程序滤波。数字滤波器克服了模拟滤波器的许多不足,他与模拟滤波器相比有以下优点:(1)数字滤波器是用软件实现的,不需要增加硬设备,因而可靠性高、稳定性好,不存在阻抗匹配问题。(2)模拟滤波器通常是各通道专用,而数字滤波器则可多通道共享,从而降低了成本。(3)数字滤波器可以对频率很低(如0.01 Hz)的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。(4)数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。2 常用数字滤波算法数字滤波器是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的装置。设数字滤波器的输入为,输出为,则输入序列和输出序列之间的关系可用差分方程式表示为: (1)其中:输入信号可以是模拟信号经采样和A/D变换后得到的数字序列,也可以是计算机的输出信号。具有上述关系的数字滤波器的当前输出与现在的和过去的输入、过去的输出有关。由这样的差分方程式组成的滤波器称为递归型数字滤波器。如果将上述差分方程式中取0,则可得:(2)说明输出只和现在的输入和过去的输入有关。这种类型的滤波器称为非递归型数字滤波器。参数、的选择不同,可以实现低通、高通、带通、带阻等不同的数字滤波器。2.1算数平均值滤波 12算术平均值滤波是要寻找一个Y,使该值与各采样值(K=1)之间误差的平方和为最小,即: (3)由一元函数求极限原理得:(4)这时,可满足式(3)、式(4)便是算术平均值滤波的算法。设第二次测量的测量值包含信号成分和噪声成分,则进行N次测量的信号成分之和为: (5)噪声的强度是用均方根来衡量的,当噪声为随机信号时,进行N次测量的噪声强度之和为:(6)式(5)和式(6)中,S、C分别表示进行次测量后信号和噪声的平均幅度。这样对次测量进行算术平均后的信噪比为:(7)其中,SC是求算术平均值前的信噪比。因此采用算术平均值后,使信噪比提高了倍。算术平均值法适用于对一般具有随机干扰的信号进行滤波,这种信号的特点是有一个平均值,信号在某一数值范围附近作上下波动,此时仅取一个采样值作依据显然是不准确的,如压力、流量、液平面等信号的测量。但对脉冲性干扰的平滑作用尚不理想,因此他不适用于脉冲性干扰比较严重的场合。由式(7)可知,算术平均值法对信号的平滑滤波程度完全取决于。当较大时,平滑度高,但灵敏度低,即外界信号的变化对测量计算结果Y的影响小;当较小时,平滑度低,但灵敏度高。应视具体情况选取,以便既少占用计算时间,又达到最好的效果,如对一般流量测量,可取=816,对压力等测量,可取=4。2.2 加权平均值滤波算术平均值法对每次采样值给出相同的加权系数,即1。但有些场合为了改进滤波效果,提高系统对当前所受干扰的灵敏度,需要增加新采样值在平均值中的比重,即将各采样值取不同的比例,然后再相加,此方法称为加权平均值法。一个项加权平均式为:(8)其中都是常数,且应满足下式:(9)常数的选取是多种多样的,其中常用的是加权系数法,即:其中,为控制对象的纯滞后时间。加权平均值法适用于系统纯滞后时间常数较大、采样周期较短的过程,他给不同的相对采样时间得到的采样值以不同的权系数,以便能迅速反应系统当前所受干扰的严重程度。但采用加权平均值法需要测试不同过程的纯滞后时间,同时要不断计算各权系数,增加了计算量,降低了控制速度,因而他的实际应用不如算术平均值法广泛。2.3 滑动平均值滤波以上平均滤波算法有一个共同点,即每计算1次有效采样值必须连续采样次。对于采样速度较慢或要求数据计算速率较高的实时系统,这些方法是无法使用的。例如AD数据,数据采样速率为每秒10次,而要求每秒输入4次数据时,则不能大于2。滑动平均值法只采样1次,将本次采样值和以前的1次采样值一起求平均,得到当前的有效采样值。滑动平均值法把个采样数据看成一个队列,对列的长度固定为,每进行一次新的采样,把采样结果放入队尾,而扔掉原来队首的一个数据,这样在队列中始终有个“最新”的数据。计算滤波值时,只要把队列中的个数据进行平均,就可得到新的滤波值。滑动平均值法对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;但对偶然出现的脉冲性干扰的抑制作用差,不易消除由于脉冲干扰引起的采样值的偏差。因此他不适用于脉冲干扰比较严重的场合,而适用于高频振荡系统。通过观察不同值下滑动平均的输出响应来选取N值,以便既少占用时间,又能达到最好的滤波效果。其工程经验值为:流量取12,压力取4,液面取412,温度取14。2.4中值滤波中值滤波是对某一被测参数连续采样次(一般取奇数),然后把次采样值从小到大,或从大到小排队,再取其中间值作为本次采样值。中值滤波对于去掉偶然因素引起的波动或采样器不稳定而造成的误差所引起的脉冲干扰比较有效,对温度、液位等变化缓慢的被测参数采用此法能收到良好的滤波效果,但对流量、速度等快速变化的参数一般不易采用。2.5 防脉冲干扰平均值滤波在脉冲干扰比较严重的场合,若采用一般的平均值法,则干扰将“平均”到计算结果中去,故平均值法不易消除由于脉冲干扰而引起的采样值偏差。防脉冲干扰平均值法先对个数据进行比较,去掉其中的最大值和最小值,然后计算余下的-2个数据的算术平均值。即:(10)其中在实际应用中,可取任何值,但为了加快测量计算速度,一般不能太大,常取为4,即为四取二再取平均值法。他具有计算方便、速度快、存储量小等特点,故得到了广泛应用。2.6程序判断滤波工程实践表明,许多物理量的变化都需要一定的时间,相邻两次采样值之间的变化有一定的限度。程序判断滤波就是根据实践经验确定出相邻两次采样信号之间可能出现的最大偏差Y,若超出此偏差值,则表明该输入信号是干扰信号,应该去掉;若小于此偏差值,可将信号作为本次采样值。当采样信号由于随机干扰,如大功率用电设备的启动或停止,造成电流的尖峰干扰或误检测,以及变送器不稳定而引起的严重失真等,可采用程序判断法进行滤波。程序判断滤波根据滤波方法的不同,可分为限幅滤波和限速滤波2种。2.6.1限幅滤波限幅滤波把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)进行比较,若小于或等于,则取本次采样值;若大于,则仍取上次采样值作为本次采样值。即:(11)限幅滤波主要用于变化比较缓慢的参数,如温度、物理位置等测量系统。具体应用时,关键的问题是最大允差的选取,太大,各种干扰信号将“乘虚而入”,使系统误差增大;太小,又会使某些有用信号被“拒之门外”,使计算机采样效率变低。因此,门限值的选取是非常重要的。通常可根据经验数据获得,必要时也可由实验得出。2.6.2限速滤波限速滤波最多可用3次采样值来决定采样结果,设顺序采样时刻的采样值分别为,则(12)限速滤波较为折中,既照顾了采样的实时性,又顾及了采样值变化的连续性。但这种方法也有明显的缺点:(1) 的确定不够灵活,必须根据现场的情况不断更换新值;(2)不能反映采样点数3时各采样值受干扰的情况,因而其应用受到一定的限制。具体应用时,可用作为,这样也可基本保持限速滤波的特性,虽增加计算量,但灵活性提高了。2.7低通滤波将普通硬件RC低通滤波器的微分方程用差分方程来表示,便可以用软件算法来模拟硬件滤波的功能。经推导,低通滤波算法如下:其中,为本次采样值;为上次的滤波输出值;为滤波系数,其值通常远小于1;为本次滤波的输出值。由式(13)可以看出,本次滤波的输出值主要取决于上次滤波的输出值(注意不是上次的采样值,这和加权平均滤波是有本质区别的),本次采样值对滤波输出的影响是比较小的,但多少有些修正作用。这种算法模拟了具有较大惯性的低通滤波功能,当目标参数为变化很慢的物理量时,效果很好,但他不能滤除高于12采样频率的干扰信号。除低通滤波外,同样可用软件来模拟高通滤波和带通滤波。2.8复合数字滤波为了进一步提高滤波效果,有时可以把2种或2种以上不同滤波功能的数字滤波器组合起来,组成复合数字滤波器,或称多级数字滤波器。例如防脉冲干扰平均值滤波就是一种应用实例,由于这种滤波方法兼顾了中值滤波和算术平均值滤波的优点,所以无论对缓慢变化的信号,还是对快速变化的信号,都能获得较好的滤波效果。此外,也可采用双重滤波的方法,即把采样值经过低通滤波后,再经过一次高通滤波。这样,结果更接近理想值,这实际上相当于多级RC滤波器。3 仿真验证3.1数字PID控制算式PID控制是仪表过程控制系统应用最广泛的一种控制规律,而数字PID控制算式就是将模拟PID控制表达式离散化,如图1所示。数字PID控制算式又分为位置型和增量型两种,分别如下面式(13)、式(14)所示:(13) (14)式中u(n)为第n次采样时刻计算机的输出;u(n)为第n次采样时刻计算机输出的增量;e(n)为第n次采样时刻的偏差信号;T为采样周期;KC为调节器的比例增益;Ti为调节器的积分时间;TD为调节器的微分时间。由上面两式可知,数字PID控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。由于偏差信号e(n)是由测量环节输出的测量信号S(t)和设定值r相比较后采样而得到的e(n)r(n)S(n),而测量信号中总是存在一些干扰、噪声或者畸变,这些因素都影响上述控制算法的精度,从而使整个控制系统的性能下降。但是,利用数字滤波和动态补偿技术能够有效地对偏差信号(测量信号)中的干扰、噪声进行滤波或者对其畸变进行动态补偿,从而提高数字PID控制算式的精度,改进控制系统的性能。3.2数字平滑滤波引入数字平滑滤波的增量型数字PID算式程序框图如图2所示。3.3一阶递推滤波为了抑制现场输入线路带来的电磁干扰及测量变送器存在的交流噪声,通常采用一阶递推滤波方法。所谓一阶递推滤波法就是一种以数字形式实现RC低通滤波器的动态滤波方法,在滤波常数要求较大的场合这种方法尤为适用。对一个RC低通滤波器,假设其传递函数为HL(s)1(1),其中RC为滤波器时间常数,将该式离散化可得:e(n)e(n1)(1)e(n)(3)式中,eT;T为采样周期;e(n)为第n次采样时滤波器的输入;e(n)为第n次采样时滤波器的输出;e(n1)为第n1次采样时滤波器的输出。采用式(3)对偏差信号e(n)进行修正,然后将修正后的偏差值e(n)作为第n次采样时刻的偏差信号,代入式(1)或式(2)进行计算,便减少了高频干扰或交流噪声对数字PID控制算式的影响。引入一阶递推滤波的增量型数字PID算式程序框图如图3所示。三、课程设计(综合实验)总结或结论为期一周的计算机控制课程设计,令我收获颇丰。通过查找资料和实验我对计算机控制有了深入的理解。本次以单回路PID控制系统中数字滤波算法的设计与MATLAB仿真验证为题,数字滤波技术有了更进一步的了解,体会也丰富了。当然,作为抗干扰的一种措施,并非完美,还有很多值得完善的地方,在实际使用中,应综合考虑控制系统的需求。选择适宜的数字滤波的算法,以提高控制品质,进而提高效益。下表给出了常用数字滤波算法的比较结果。总之,本次课程设计达到了预期目的,取得了预期成果,在此仅对指导老师和答辩老师致以最深的谢意!方法优点缺点限幅滤波法(又称程序判断滤波法)根据经验判断,确定两次采样允许的最大偏差值(设为A)。每次检测到新值时判断:如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值能有效克服因偶然因素引起的脉冲干扰无法抑制那种周期性的干扰,平滑度差中位值滤波法连续采样N次(N取奇数) 把N次采样值按大小排列 取中间值为本次有效值能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果对流量、速度等快速变化的参数不宜算术平均滤波法连续取N个采样值进行算术平均运算;N值较大时:信号平滑度较高,但灵敏度较低;N值较小时:信号平滑度较低,但灵敏度较高;N值的选取:一般流量,N=12;压力:N=4适用于对一般具有随机干扰的信号进行滤波。这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动对于测量速度较慢或要求数据计算速度较快的实时控制不适用。比较浪费RAM递推平均滤波法(又称滑动平均滤波法)把连续取N个采样值看成一个队列。队列的长度固定为N。每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)。把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。N值的选取:流量,N=12;压力:N=4;液面,N=412;温度,N=14对周期性干扰有良好的抑制作用,平滑度高。适用于高频振荡的系统 。灵敏度低。对偶然出现的脉冲性干扰的抑制作用较差。不易消除由于脉冲干扰所引起的采样值偏差。不适用于脉冲干扰比较严重的场合,比较浪费RAM中位值平均滤波法(又称防脉冲干扰平均滤波法)相当于“中位值滤波法”+“算术平均滤波法”;连续采样N个数据,去掉一个最大值和一个最小值;然后计算N-2个数据的算术平均值;N值的选取:314融合了两种滤波法的优点;对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差测量速度较慢,和算术平均滤波法一样, 比较浪费RAM限幅平均滤波法相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差比较浪费RAM一阶滞后滤波法取a=01。本次滤波结果=(1-a)*本次采样值+a*上次滤波结果对周期性干扰具有良好的抑制作用。适用于波动频率较高的场合。相位滞后,灵敏度低滞后程度取决于a值大小。不能消除滤波频率高于采样频率的1/2的干扰信号加权递推平均滤波法是对递推平均滤波法的改进,即不同时刻的数据加以不同的权。通常是,越接近现时刻的数据,权取得越大。给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低适用于有较大纯滞后时间常数的对象和采样周期较短的系统对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号 不能迅速反应系统当前所受干扰的严重程度,滤波效果差 消抖滤波法设置一个滤波计数器,将每次采样值与当前有效值比较:如果采样值当前有效值,则计数器清零;如果采样值当前有效值,则计数器+1,并判断计数器是否=上限N(溢出)。如果计数器溢出,则将本次值替换当前有效值,并清计数器。对于变化缓慢的被测参数有较好的滤波效果,可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动对于快速变化的参数不宜, 如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统限幅消抖滤波法相当于“限幅滤波法”+“消抖滤波法”先限幅,后消抖继承了“限幅”和“消抖”的优点;改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统对于快速变化的参数不宜四、参考文献1潘新民,王燕芳微型计算机控制技术M北京:人民邮电出版社,19992张毅刚,彭喜源,等MCS-51单片机应用设计M哈尔滨:哈尔滨工业大学出版社,19993王幸之,王雷,等单片机应用系统抗干扰技术M北京:北京航空航天大学出版社,2000附录(设计流程图、程序、表格、数据等)假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();1、限副滤波/* A值可根据实际情况调整 value为有效值,new_value为当前采样值 滤波程序返回有效的实际值 */#define A 10char value;char filter() char new_value; new_value = get_ad(); if ( ( new_value - value A ) | ( value - new_value A ) return value; return new_value; 2、中位值滤波法/* N值可根据实际情况调整 排序采用冒泡法*/#define N 11char filter() char value_bufN; char count,i,j,temp; for ( count=0;countN;count+) value_bufcount = get_ad(); delay(); for (j=0;jN-1;j+) for (i=0;ivalue_bufi+1 ) temp = value_bufi; value_bufi = value_bufi+1; value_bufi+1 = temp; return value_buf(N-1)/2; 3、算术平均滤波法/*/#define N 12char filter() int sum = 0; for ( count=0;countN;count+) sum + = get_ad(); delay(); return (char)(sum/N);4、递推平均滤波法(又称滑动平均滤波法)/*/#define N 12 char value_bufN;char i=0;char filter() char count; int sum=0; value_bufi+ = get_ad(); if ( i =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论