1、大庆师范学院计算机控制技术课程设计报告设计课题 数字滤波系统设计姓名 孙长伟 宫庭 匡博 卢炜学院 物理与电气信息学院专业 自动化班级 二班学号 200901071813 200901071807 200901071812 200901071818日期 2012-9-18指导教师 杨桂花目 录1 设计任务及要求 .11.1 设计任务 .11.2 设计要求 .12 设计原理 .12.1 数字滤波技术 .12.2 常用的数字滤波方法 .22.2.1 算术平均滤波法 .22.2.2 加权平均值滤波 .32.2.3 中位值滤波法 .42.2.4 滑动平均值滤波 .42.2.5 防脉冲干扰平均值滤波 .
2、42.2.6 低通滤波 .52.2.7 限幅滤波 .53 设计方案 .54 结果分析 .65 心得体会 .8参考文献 .91课程设计任务书学生姓名: 刘炽 专业班级: 自动化 1102 班 指导教师: 陈静 教授 工作单位: 自动化学院 题 目: 数字滤波系统设计 要求完成的主要任务: 1用计算机模拟带有干扰的正弦信号R(频率100Hz) 。首先计算机产生一个随机信号,再与正弦信号叠加。2计算机对含有干扰的正弦信号进行数字滤波处理,保留正弦信号,去除干扰。3输入为模拟电压,输入模拟电压范围为 0+5V,最后滤波的结果用 LED显示器显示。1)分析数字滤波的常用方法,以及各自的优缺点;2)加权平
3、均值滤波器,设计算法程序;3)通过数据分析采样周期T对滤波效果的影响;4)撰写设计说明书。时间安排:6 月 9 日 查阅和准备相关技术资料,完成整体方案设计6 月 27 日6 月 28 日 完成硬件设计6 月 29 日6 月 30 日 编写调试程序7 月 1 日6 月 20 日 撰写课程设计说明书7 月 5 日 提交课程设计说明书、图纸、电子文档指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日2数字滤波系统设计1 设计任务及要求1.1 设计任务(1)用计算机模拟带有干扰的正弦信号R(频率100Hz) 。首先计算机产生一个随机信号,再与正弦信号叠加。(2)计算机对含有干扰的正弦信
4、号进行数字滤波处理,保留正弦信号,去除干扰。(3)输入为模拟电压,输入模拟电压范围为0+5V,最后滤波的结果用LED显示器显示。1.2 设计要求1)分析数字滤波的常用方法,以及各自的优缺点;2)加权平均值滤波器,设计算法程序;3)通过数据分析采样周期T对滤波效果的影响;4)撰写设计说明书。2 设计原理2.1 数字滤波技术在微机控制系统的模拟输入信号中,一般均含有各种噪声和干扰,他们来自被测信号源本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。非周期的不规则随机信号,可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信
5、号中的比重,因此他实际上是一个程序滤波。数字滤波器与模拟滤波器相比有以下优点:(1) 数字滤波器是用软件实现的,不需要增加硬设备,因而可靠性高、稳定性好,不存在阻抗匹配问题。(2) 模拟滤波器通常是各通道专用,而数字滤波器则可多通道共享,从而降低了成本。(3) 数字滤波器可以对频率很低(如0.01 Hz) 的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。3(4) 数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。数字滤波器是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的装置。设数字滤波器的输入为X(n),输出为 Y(n),
6、则输入序列和输出序列之间的关系可用差分方程式表示为:(1) =0=1nan-bn-NNKKYXY其中:输入信号X(n) 可以是模拟信号经采样和 A/D变换后得到的数字序列,也可以是计算机的输出信号。具有上述关系的数字滤波器的当前输出与现在的和过去的输入、过去的输出有关。由这样的差分方程式组成的滤波器称为递归型数字滤波器。如果将上述差分方程式中bK取0,则可得:(2) =0nan-NKYX说明输出只和现在的输入和过去的输入有关。这种类型的滤波器称为非递归型数字滤波器。参数aK、bK 的选择不同,可以实现低通、高通、带通、带阻等不同的数字滤波器。2.2 常用的数字滤波方法2.2.1 算术平均滤波法
7、算术平均值滤波是要寻找一个Y,使该值与各采样值 X(K)(K=1N)之间误差的平方和为最小,即:(3)22K=1=1minein-NNKEYX由一元函数求极限原理可以得到:(4)=1NKYX这时,可满足上两式的便是算术平均值滤波的算法。设第二次测量的测量值包含信号成分Si和噪声成分Ci,则进行N 次测量的信号成分之和为:(5)i=1S4噪声的强度是用均方根来衡量的,当噪声为随机信号时,进行N 次测量的噪声强度之和为:(6)2i=1C上式中S、C分别表示进行 N次测量后信号和噪声的平均幅度。这样对N次测量进行算术平均后的信噪比为:(7)=S其中,SC是求算术平均值前的信噪比。因此采用算术平均值后
8、,使信噪比提高了 倍。N优点:适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。2.2.2 加权平均值滤波加权平均值法对每次采样值给出相同的加权系数,即1N 。但有些场合为了改进滤波效果,提高系统对当前所受干扰的灵敏度,需要增加新采样值在平均值中的比重,即将各采样值取不同的比例,然后再相加,此方法称为加权平均值法。一个N项加权平均式为:(8)=1KYCX其中, , , 均为常数且应满足下式:2NC(9)120+N常数 , , 的选取是多种多样的,其中常用的是加权系数
9、法,1C即: 12te1NtC5其中, , 为控制对象的纯滞后时间。121Nee优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统。缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,增加了计算量,降低了控制速度。2.2.3 中位值滤波法中值滤波是对某一被测参数连续采样N次(一般N取奇数),然后把N次采样值从小到大,或从大到小排队,再取其中间值作为本次采样值。优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。缺点:对流量、速度等快速变化的参数不宜。2.2.4 滑动平均值滤波以上平均滤波算法有一个共同
10、点,即每计算1次有效采样值必须连续采样N次。对于采样速度较慢或要求数据计算速率较高的实时系统,这些方法是无法使用的。例如AD数据,数据采样速率为每秒10次,而要求每秒输入4次数据时,则N不能大于2。滑动平均值法只采样1次,将本次采样值和以前的N1次采样值一起求平均,得到当前的有效采样值。滑动平均值法把N个采样数据看成一个队列,对列的长度固定为 N,每进行一次新的采样,把采样结果放入队尾,而扔掉原来队首的一个数据,这样在队列中始终有N个“最新”的数据。计算滤波值时,只要把队列中的 N个数据进行平均,就可得到新的滤波值。优点:对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡系统。缺点:对偶然
11、出现的脉冲性干扰的抑制作用差,不易消除由于脉冲 干扰引起的采样值的偏差。2.2.5 防脉冲干扰平均值滤波在脉冲干扰比较严重的场合,若采用一般的平均值法,则干扰将“平均”到计算结果中去,故平均值法不易消除由于脉冲干扰而引起的采样值偏差。防脉冲干扰平均值法先对N个数据进行比较,去掉其中的最大值和最小值,然后计算余下的N-2个数据的算术平均值。即:(10)12NKYX其中, ,3N6在实际应用中,N可取任何值,但为了加快测量计算速度, N一般不能太大,常取为4,即为四取二再取平均值法。优点:具有计算方便、速度快、存储量小等特点,得到了广泛应用。2.2.6 低通滤波将普通硬件RC 低通滤波器的微分方程
12、用差分方程来表示,便可以用软件算法来模拟硬件滤波的功能。经推导,低通滤波算法如下:(11)11YKXYK其中,X(K) 为本次采样值;Y(K-1) 为上次的滤波输出值; 为滤波系数,其值通常远小于1;Y(K)为本次滤波的输出值。 由上式可以看出,滤波的输出值主要取决于上次滤波的输出值(注意不是上次的采样值,这和加权平均滤波是有本质区别的),本次采样值对滤波输出的影响是比较小的,但多少有些修正作用。优点:模拟了具有较大惯性的低通滤波功能,当目标参数为变化很慢的物理量时,效果很好。缺点:不能滤除高于12采样频率的干扰信号。2.2.7 限幅滤波限幅滤波把两次相邻的采样值相减,求出其增量(以绝对值表示
13、),然后与两次采样允许的最大差值(由被控对象的实际情况决定)Y进行比较,若小于或等于Y,则取本次采样值;若大于Y,则仍取上次采样值作为本次采样值。即:(12),11YKYKY限幅滤波主要用于变化比较缓慢的参数,如温度、物理位置等测量系统。具体应用时,关键的问题是最大允差Y的选取,Y太大,各种干扰信号将“乘虚而入” ,使系统误差增大;Y太小,又会使某些有用信号被“拒之门外” ,使计算机采样效率变低。因此,门限值Y的选取是非常重要的。通常可根据经验数据获得,必要时也可由实验得出。优点:能有效克服因偶然因素引起的脉冲干扰。缺点:无法抑制那种周期性的干扰,平滑度差。73 设计方案加权平均值算法程序设计
14、m=zeros(1,2000);for t=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);for a=k:2000-km(a)=0;for b=-k+1:k-1m(a)=m(a)+c(a+b)/sum;endendsubplot(2,1,2);plot(m);title(滤波后信号);xlabel(时间 t);ylabel(电压值 );
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。