资源描述
大庆师范学院
计算机控制技术课程设计报告
设计课题
数字滤波系统设计
姓名
孙长伟 宫庭 匡博 卢炜
学院
物理与电气信息学院
专业
自动化
班级
二班
学号
200901071813 200901071807
200901071812 200901071818
日期
2012-9-18
指导教师
杨桂花
大庆师范学院本科毕业论文(设计)
III
目 录
1设计任务及要求 1
1.1 设计任务 1
1.2 设计要求 1
2 设计原理 1
2.1 数字滤波技术 1
2.2 常用的数字滤波方法 2
2.2.1 算术平均滤波法 2
2.2.2 加权平均值滤波 3
2.2.3 中位值滤波法 4
2.2.4 滑动平均值滤波 4
2.2.5 防脉冲干扰平均值滤波 4
2.2.6 低通滤波 5
2.2.7 限幅滤波 5
3 设计方案 5
4 结果分析 6
5 心得体会 8
参考文献 9
课程设计任务书
学生姓名: 刘炽 专业班级: 自动化1102班
指导教师: 陈静 教授 工作单位: 自动化学院
题 目: 数字滤波系统设计
要求完成的主要任务:
1.用计算机模拟带有干扰的正弦信号R(频率100Hz)。首先计算机产生一个随机信号,再与正弦信号叠加。
2.计算机对含有干扰的正弦信号进行数字滤波处理,保留正弦信号,去除干扰。
3.输入为模拟电压,输入模拟电压范围为0~+5V,最后滤波的结果用LED显示器显示。
1)分析数字滤波的常用方法,以及各自的优缺点;
2)加权平均值滤波器,设计算法程序;
3)通过数据分析采样周期T对滤波效果的影响;
4)撰写设计说明书。
时间安排:
6月9日 查阅和准备相关技术资料,完成整体方案设计
6月27日—6月28日 完成硬件设计
6月29日—6月30日 编写调试程序
7月1日—6月20日 撰写课程设计说明书
7月5日 提交课程设计说明书、图纸、电子文档
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
数字滤波系统设计
1设计任务及要求
1.1 设计任务
(1)用计算机模拟带有干扰的正弦信号R(频率100Hz)。首先计算机产生一个随机信号,再与正弦信号叠加。
(2)计算机对含有干扰的正弦信号进行数字滤波处理,保留正弦信号,去除干扰。
(3)输入为模拟电压,输入模拟电压范围为0~+5V,最后滤波的结果用LED显示器显示。
1.2 设计要求
1)分析数字滤波的常用方法,以及各自的优缺点;
2)加权平均值滤波器,设计算法程序;
3)通过数据分析采样周期T对滤波效果的影响;
4)撰写设计说明书。
2 设计原理
2.1 数字滤波技术
在微机控制系统的模拟输入信号中,一般均含有各种噪声和干扰,他们来自被测信号源本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。非周期的不规则随机信号,可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比重,因此他实际上是一个程序滤波。
数字滤波器与模拟滤波器相比有以下优点:
(1) 数字滤波器是用软件实现的,不需要增加硬设备,因而可靠性高、稳定性好,不存在阻抗匹配问题。
(2) 模拟滤波器通常是各通道专用,而数字滤波器则可多通道共享,从而降低了成本。
(3) 数字滤波器可以对频率很低(如0.01 Hz)的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。
(4) 数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。
数字滤波器是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的装置。设数字滤波器的输入为X(n),输出为Y(n),则输入序列和输出序列之间的关系可用差分方程式表示为:
(1)
其中:输入信号X(n)可以是模拟信号经采样和A/D变换后得到的数字序列,也可以是计算机的输出信号。具有上述关系的数字滤波器的当前输出与现在的和过去的输入、过去的输出有关。由这样的差分方程式组成的滤波器称为递归型数字滤波器。如果将上述差分方程式中bK取0,则可得:
(2)
说明输出只和现在的输入和过去的输入有关。这种类型的滤波器称为非递归型数字滤波器。
参数aK、bK的选择不同,可以实现低通、高通、带通、带阻等不同的数字滤波器。
2.2 常用的数字滤波方法
2.2.1 算术平均滤波法
算术平均值滤波是要寻找一个Y,使该值与各采样值X(K)(K=1~N)之间误差的平方和为最小,即:
(3)
由一元函数求极限原理可以得到:
(4)
这时,可满足上两式的便是算术平均值滤波的算法。
设第二次测量的测量值包含信号成分Si和噪声成分Ci,则进行N次测量的信号成分之和为:
(5)
噪声的强度是用均方根来衡量的,当噪声为随机信号时,进行N次测量的噪声强度之和为:
(6)
上式中S、C分别表示进行N次测量后信号和噪声的平均幅度。
这样对N次测量进行算术平均后的信噪比为:
(7)
其中,S/C是求算术平均值前的信噪比。因此采用算术平均值后,使信噪比提高了倍。
优点:适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。
缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。
2.2.2 加权平均值滤波
加权平均值法对每次采样值给出相同的加权系数,即1/N。但有些场合为了改进滤波效果,提高系统对当前所受干扰的灵敏度,需要增加新采样值在平均值中的比重,即将各采样值取不同的比例,然后再相加,此方法称为加权平均值法。一个N项加权平均式为:
(8)
其中,,,···,均为常数且应满足下式:
(9)
常数,,…,的选取是多种多样的,其中常用的是加权系数法,即:
······
其中,,为控制对象的纯滞后时间。
优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统。
缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,增加了计算量,降低了控制速度。
2.2.3 中位值滤波法
中值滤波是对某一被测参数连续采样N次(一般N取奇数),然后把N次采样值从小到大,或从大到小排队,再取其中间值作为本次采样值。
优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。
缺点:对流量、速度等快速变化的参数不宜。
2.2.4 滑动平均值滤波
以上平均滤波算法有一个共同点,即每计算1次有效采样值必须连续采样N次。对于采样速度较慢或要求数据计算速率较高的实时系统,这些方法是无法使用的。例如A/D数据,数据采样速率为每秒10次,而要求每秒输入4次数据时,则N不能大于2。滑动平均值法只采样1次,将本次采样值和以前的N-1次采样值一起求平均,得到当前的有效采样值。
滑动平均值法把N个采样数据看成一个队列,对列的长度固定为N,每进行一次新的采样,把采样结果放入队尾,而扔掉原来队首的一个数据,这样在队列中始终有N个“最新”的数据。计算滤波值时,只要把队列中的N个数据进行平均,就可得到新的滤波值。
优点:对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡系统。
缺点:对偶然出现的脉冲性干扰的抑制作用差,不易消除由于脉冲 干扰引起的采样值的偏差。
2.2.5 防脉冲干扰平均值滤波
在脉冲干扰比较严重的场合,若采用一般的平均值法,则干扰将“平均”到计算结果中去,故平均值法不易消除由于脉冲干扰而引起的采样值偏差。防脉冲干扰平均值法先对N个数据进行比较,去掉其中的最大值和最小值,然后计算余下的N-2个数据的算术平均值。即:
(10)
其中,
在实际应用中,N可取任何值,但为了加快测量计算速度,N一般不能太大,常取为4,即为四取二再取平均值法。
优点:具有计算方便、速度快、存储量小等特点,得到了广泛应用。
2.2.6 低通滤波
将普通硬件RC低通滤波器的微分方程用差分方程来表示,便可以用软件算法来模拟硬件滤波的功能。经推导,低通滤波算法如下:
(11)
其中,X(K)为本次采样值;Y(K-1)为上次的滤波输出值;为滤波系数,其值通常远小于1;Y(K)为本次滤波的输出值。
由上式可以看出,滤波的输出值主要取决于上次滤波的输出值(注意不是上次的采样值,这和加权平均滤波是有本质区别的),本次采样值对滤波输出的影响是比较小的,但多少有些修正作用。
优点:模拟了具有较大惯性的低通滤波功能,当目标参数为变化很慢的物理量时,效果很好。
缺点:不能滤除高于1/2采样频率的干扰信号。
2.2.7 限幅滤波
限幅滤波把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)ΔY进行比较,若小于或等于ΔY,则取本次采样值;若大于ΔY,则仍取上次采样值作为本次采样值。即:
(12)
限幅滤波主要用于变化比较缓慢的参数,如温度、物理位置等测量系统。具体应用时,关键的问题是最大允差ΔY的选取,ΔY太大,各种干扰信号将“乘虚而入”,使系统误差增大;ΔY太小,又会使某些有用信号被“拒之门外”,使计算机采样效率变低。因此,门限值ΔY的选取是非常重要的。通常可根据经验数据获得,必要时也可由实验得出。
优点:能有效克服因偶然因素引起的脉冲干扰。
缺点:无法抑制那种周期性的干扰,平滑度差。
3 设计方案
加权平均值算法程序设计
m=zeros(1,2000);
for t=1:2000
i=t/100000;
x=5*sin(200*pi*i);
y=0.7*rand(1);
c(t)=x+y;
end
subplot(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-k
m(a)=0;
for b=-k+1:k-1
m(a)=m(a)+c(a+b)/sum;
end
end
subplot(2,1,2);
plot(m);
title('滤波后信号');
xlabel('时间t');
ylabel('电压值');
4 结果分析
运行加权算法程序后,可得如图1、2所示波形。
图1 滤波前信号波形
图2 滤波后信号波形(N=10)
改变加权平均值滤波算法的采样个数,运行后得到以下输出波形。
图3 改变采样个数后的波形(N=30)
图4 改变采样个数后的波形(N=60)
通过以上波形可以得出,改变采样个数,的确会对滤波器的输出产生影响。在前期,随着N的增加,滤波效果会越来越明显,这也正表明其适用于采样周期较短的系统;但这一并不意味着N的取值尽可能大,如果N的取值偏大会对输出造成负面的影响,使波形发生不必要的失真,使信号不能迅速反应系统当前所受的干扰程度,不能较好的实现滤波效果,并且增加了计算量,反而得不偿失。
5 心得体会
经过这次的计算机控制课程设计后,我从中学到了很多东西。在我们学了《计算机控制技术基础》之后,对专业课程基础知识已经有了最基本的掌握和接触。在经过团队的努力,我们成功的完成了本次设计。对于我个人而言,我熟练的掌握了几种数字滤波的方法,还进一步熟悉了其原理,以及各种方法的优缺点。开始拿到课题难免会感到畏惧,不过经过自己亲手实践后才发现,只有经过实践运用得来的知识,才是真正属于自己的东西。
这其中还尤为深刻的就是要养成科学严谨的实验习惯,这样做起来才会更有条理性。要把所学的知识灵活运用,必须要翻阅大量的资料并且要多多请教同学和老师,有很多的知识是平时不会注意的,但到了实际操作时就会因为那么一点小欠缺而不能完成。
我们需要有扎实的知识基础,要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。要有耐心和毅力。理论只有与实践结合才能把所学知识灵活运用,本次课程设计我收获很大,既把课本上的理论知识给巩固了,也在实际操作中把所学知识与实际的电路很好的联系起来,并且从客观上理解所学知识。
这次设计中不但对以前的知识进行了巩固,而且还学会了更多的新知识,比如仿真软件Matlab软件,提高了思维、强化了动手能力,能够更好的适应独立自主完成任务的挑战,为以后的就业打下了基础。
本论文基本是按照实际工作而作的,也记录了我在这期间进行探索的每一步。从开始的稚嫩到现在的自信,这都是经过本次课设之后带给我的最大的改变。这很大程度上提高了我对专业的兴趣和掌握能力,也为以后的专业学习夯实了基础。
参考文献
[1]于海生. 计算机控制技术. 机械工业出版社,2010
[2]郑学坚,周斌. 微型计算机原理与应用. 清华大学出版社
[3]沈美明,温冬婵. IBM-PC汇编语言程序设计. 清华大学出版社
[4]何立民. 单片机应用系统设计. 北京航空航天大学出版社
[5]姚燕南,薛钧义. 微型计算机原理. 西安电子科技大学出版社
[6]占友等. 新编实用数字化测量技术. 国防工业出版社
[7]宋春荣等. 通用集成电路手册. 山东科技出版社
10
展开阅读全文