您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 计算机控制课设-数字滤波系统设计3
目录1设计原理.................................................................................................................................................................21.1数字滤波技术.............................................................................................................................................21.2常用的数字滤波方法................................................................................................................................22设计方案.................................................................................................................................................................53结果分析.................................................................................................................................................................54心得体会.................................................................................................................................................................8参考文献....................................................................................................................................................................921设计原理1.1数字滤波技术在微机控制系统的模拟输入信号中,一般均含有各种噪声和干扰,他们来自被测信号源本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。非周期的不规则随机信号,可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比重,因此他实际上是一个程序滤波。数字滤波器与模拟滤波器相比有以下优点:1)数字滤波器是用软件实现的,不需要增加硬设备,因而可靠性高、稳定性好,不存在阻抗匹配问题。2)模拟滤波器通常是各通道专用,而数字滤波器则可多通道共享,从而降低了成本。3)数字滤波器可以对频率很低(如0.01Hz)的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。4)数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。数字滤波器是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的装置。设数字滤波器的输入为X(n),输出为Y(n),则输入序列和输出序列之间的关系可用差分方程式表示为:=0=1n=an--bn-NNKKKKYXKYK(1)其中:输入信号X(n)可以是模拟信号经采样和A/D变换后得到的数字序列,也可以是计算机的输出信号。具有上述关系的数字滤波器的当前输出与现在的和过去的输入、过去的输出有关。由这样的差分方程式组成的滤波器称为递归型数字滤波器。如果将上述差分方程式中bK取0,则可得:=0n=an-NKKYXK(2)说明输出只和现在的输入和过去的输入有关。这种类型的滤波器称为非递归型数字滤波器。参数aK、bK的选择不同,可以实现低通、高通、带通、带阻等不同的数字滤波器。1.2常用的数字滤波方法(1)算术平均滤波法算术平均值滤波是要寻找一个Y,使该值与各采样值X(K)(K=1~N)之间误差的平方和为最小,即:22K=1=1=mine=min-NNKKEYXK(3)由一元函数求极限原理可以得到:=11=NKYXKN(4)这时,可满足上两式的便是算术平均值滤波的算法。设第二次测量的测量值包含信号成分Si和噪声成分Ci,则进行N次测量的信号成分之和为:ii=1=NSNS(5)噪声的强度是用均方根来衡量的,当噪声为随机信号时,进行N次测量的噪声强度之和为:32ii=1=NCNC(6)上式中S、C分别表示进行N次测量后信号和噪声的平均幅度。这样对N次测量进行算术平均后的信噪比为:=NSSNCNC(7)其中,S/C是求算术平均值前的信噪比。因此采用算术平均值后,使信噪比提高了N倍。优点:适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。(2)加权平均值滤波加权平均值法对每次采样值给出相同的加权系数,即1/N。但有些场合为了改进滤波效果,提高系统对当前所受干扰的灵敏度,需要增加新采样值在平均值中的比重,即将各采样值取不同的比例,然后再相加,此方法称为加权平均值法。一个N项加权平均式为:=1=NKKYCXK(8)其中,1C,2C,···,NC均为常熟且应满足下式:12120+++=1NNCCCCCC(9)常数1C,2C,…,NC的选取是多种多样的,其中常用的是加权系数法,即:11C2tCe······1NtNCe其中,121Neee,为控制对象的纯滞后时间。优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统。缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,增加了计算量,降低了控制速度。(3)中位值滤波法中值滤波是对某一被测参数连续采样N次(一般N取奇数),然后把N次采样值从小到大,或从大到小排队,再取其中间值作为本次采样值。优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。缺点:对流量、速度等快速变化的参数不宜。(4)滑动平均值滤波以上平均滤波算法有一个共同点,即每计算1次有效采样值必须连续采样N次。对于采样速度较慢或4要求数据计算速率较高的实时系统,这些方法是无法使用的。例如A/D数据,数据采样速率为每秒10次,而要求每秒输入4次数据时,则N不能大于2。滑动平均值法只采样1次,将本次采样值和以前的N-1次采样值一起求平均,得到当前的有效采样值。滑动平均值法把N个采样数据看成一个队列,对列的长度固定为N,每进行一次新的采样,把采样结果放入队尾,而扔掉原来队首的一个数据,这样在队列中始终有N个“最新”的数据。计算滤波值时,只要把队列中的N个数据进行平均,就可得到新的滤波值。优点:对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡系统。缺点:对偶然出现的脉冲性干扰的抑制作用差,不易消除由于脉冲干扰引起的采样值的偏差。(5)防脉冲干扰平均值滤波在脉冲干扰比较严重的场合,若采用一般的平均值法,则干扰将“平均”到计算结果中去,故平均值法不易消除由于脉冲干扰而引起的采样值偏差。防脉冲干扰平均值法先对N个数据进行比较,去掉其中的最大值和最小值,然后计算余下的N-2个数据的算术平均值。即:1212NKYXKN(10)其中,12,3XXXNN在实际应用中,N可取任何值,但为了加快测量计算速度,N一般不能太大,常取为4,即为四取二再取平均值法。优点:具有计算方便、速度快、存储量小等特点,得到了广泛应用。(6)低通滤波将普通硬件RC低通滤波器的微分方程用差分方程来表示,便可以用软件算法来模拟硬件滤波的功能。经推导,低通滤波算法如下:11YKXKYK(11)其中,X(K)为本次采样值;Y(K-1)为上次的滤波输出值;为滤波系数,其值通常远小于1;Y(K)为本次滤波的输出值。由上式可以看出,滤波的输出值主要取决于上次滤波的输出值(注意不是上次的采样值,这和加权平均滤波是有本质区别的),本次采样值对滤波输出的影响是比较小的,但多少有些修正作用。优点:模拟了具有较大惯性的低通滤波功能,当目标参数为变化很慢的物理量时,效果很好。缺点:不能滤除高于1/2采样频率的干扰信号。(7)限副滤波限幅滤波把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)ΔY进行比较,若小于或等于ΔY,则取本次采样值;若大于ΔY,则仍取上次采样值作为本次采样值。即:,11,1YKYKYKYYYKYKYKY(12)限幅滤波主要用于变化比较缓慢的参数,如温度、物理位置等测量系统。具体应用时,关键的问题是最大允差ΔY的选取,ΔY太大,各种干扰信号将“乘虚而入”,使系统误差增大;ΔY太小,又会使某些有用信号被“拒之门外”,使计算机采样效率变低。因此,门限值ΔY的选取是非常重要的。通常可根据经验5数据获得,必要时也可由实验得出。优点:能有效克服因偶然因素引起的脉冲干扰。缺点:无法抑制那种周期性的干扰,平滑度差。2设计方案加权平均值算法程序设计m=zeros(1,2000);fort=1:2000i=t/100000;x=5*sin(200*pi*i);y=0.7*rand(1);c(t)=x+y;endsubplot(2,1,1);plot(c);title('滤波前信号');xlabel('时间t');ylabel('电压值');n=input('请输入N=');sum=n*(n+1)/2;k=floor((n+1)/2);fora=k:2000-km(a)=0;forb=-k+1:k-1m(a)=m(a)+c(a+b)/sum;endendsubplot(2,1,2);plot(m);title('滤波后信号');xlabel('时间t');ylabel('电压值');3结果分析运行加权算法程序后,可得如图1、2所示波形。6图1滤波前信号波形图2滤波后信号波形(N=10)改变加权平均值滤波算法的采样个数,运行后得到以下输出波形。图3改变采样个数后的波形(N=30)7图4改变采样个数后的波形(N=60)通过以上波形可以得出,改变采样个数,的确会对滤波器的输出产生影响。在前期,随着N的增加,滤波效果会越来越明显,这也正表明其适用于采样周期较短的系统;但这一并不意味着N的取值尽可能大,如果N的取值偏大会对输出造成负面的影响,使波形发生不必要的失真,使信号不能迅速反应系统当前所受的干扰程度,不能较好的实现滤波效果,并且增加了计算量,反而得不偿失。84心得体会经过这次的计算机控制课程设计后,我从中学到了很多东西。在我们学了《计算机控制技术基础》之后,对专业课程基础知识已经有了最基本的掌握和接触。在经过团队的努力,我们成功的完成了本次设计。对于我个人而言,我熟练的掌握了几种数字滤波的方法,还进一步熟悉了其原理,以及各种方法的优缺点。开始拿到课题难免会感到畏惧,不过经过自己亲手实践后才发现,只有经过实践运用得来的知识,才是真正属于自己的东西。这其中还尤为深刻的就是要养成科学严谨的实验
本文标题:计算机控制课设-数字滤波系统设计3
链接地址:https://www.777doc.com/doc-2043379 .html