数字滤波器的设计_第1页
数字滤波器的设计_第2页
数字滤波器的设计_第3页
数字滤波器的设计_第4页
数字滤波器的设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计任务书学生姓名: xxx 专业班级: 自动化xxxx班 指导教师: xxx 工作单位: 自动化学院 题 目: 数字滤波器的设计初始条件:1计算机对含有干扰的正弦信号R(频率100Hz)进行数字滤波处理,保留正弦信号,去除干扰。2用计算机模拟带有干扰的正弦信号。首先计算机产生一个随机信号,再与正弦信号叠加。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 分析数字滤波的常用方法,以及各自的优缺点;2. 采用一阶惯性滤波器算法,设计算法程序;3. 在显示器上显示滤波前与滤波后的信号曲线;4. 通过数据分析采样周期T对滤波效果的影响;5. 撰写设计说明书

2、。课程设计说明书应包括:设计任务及要求;方案比较及论证;数字滤波原理,硬件原理,电路图,采用器件的功能说明;软件思想,流程,源程序;调试记录及结果分析;参考资料;附录:芯片资料,程序清单;总结。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘 要本次设计是对带有干扰的正弦信号进行数字滤波处理保留正弦信号去除干扰信号。数字滤波是一种用软件程序实现的滤波方式,不需要硬件,适当改变滤波器程序或运算参数,就能十分方便的改变滤波特性。我的设计是采用数字滤波中的一阶惯性滤波的方法进行滤波,一阶惯性滤波对高频及低频的干扰信号有较好的滤波效果。将一阶惯性滤波的算法编写成MATLAB的程序,再

3、在MATLAB上进行仿真,可清楚地看到滤波前后信号的对比。滤波后的信号去除了干扰信号,保留了正弦信号。 关键词:数字滤波 滤波参数 一阶惯性滤波 MATLAB目 录1设计要求12 数字滤波方法及简介12.1数字滤波简介12.2数字滤波的常用方法及优缺点13 一阶惯性滤波器设计43.1一阶惯性滤波算法43.2一阶惯性滤波器参数选取43.3一阶惯性滤波流程图53.4方案比较论证及程序设计63.4.1方案比较论证63.4.2运行环境简介63.4.3程序设计63.4.4分析采样周期对滤波效果的影响104 心得体会12参考文献13武汉理工大学计算机控制课程设计说明书数字滤波器的设计1设计要求计算机对含有

4、干扰的正弦信号R(频率100Hz) 进行数字滤波处理,保留正弦信号,去除干扰。用计算机模拟带有干扰的正弦信号。首先计算机产生一个随机信号,再与正弦信号叠加。1)分析数字滤波的常用方法,以及各自的优缺点;2)采用一阶惯性滤波器算法,设计算法程序;3)在显示器上显示滤波前与滤波后的信号曲线;4)通过数据分析采样周期T对滤波效果的影响;5)撰写设计说明书。2 数字滤波方法及简介2.1数字滤波简介数字滤波,就是通过一定的计算程序或者判断程序,对采集的数据进行某种处理,从而消除或削弱干扰和噪声的影响,提高测量的可靠性和精度。数字滤波的优点:是一个计算过程,无需硬件,因此可靠性高,并且不存在阻抗匹配、特性

5、波动、非一致性等问题。模拟滤波器在频率很低时较难实现的问题,不会出现在数字滤波器的实现过程中。数字滤波的缺点:需要占用单片机资源。由于单片机速度和存储容量都很有限 ,实际应用中由于实时性和存储量的限制 ,在普通单片机上要实现复杂的数字滤波是不太可能和实际的。2.2数字滤波的常用方法及优缺点数字滤波方法有很多种,每种方法有其不同的特点和使用范围,常用方法如下:1)限幅滤波法(又称程序判断滤波法)系统的输入端如果窜入尖脉冲干扰,会造成信号的严重失真。对于这种随机干扰,我们就要用到限幅滤波的方法。 方法: 比较相邻的两个采样值Yn和Yn-1,根据经验判断,确定两次采样允许的最大偏差值(设为A)。如果

6、两次采样值Yn和Yn-1的差值超过了允许的最大偏差范围,则认为是发生了随机干扰,并且认为最后一次采样值Yn为非法值,予以剔除。剔除Yn后,可用Yn-1代替Yn。若未超过允许的最大偏差范围,则认为本次采样值有效。 优点: 能有效克服因偶然因素引起的脉冲干扰。 缺点: 无法抑制那种周期性的干扰,平滑度差。 2)中位值滤波法中位值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。中位值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,消除孤立的噪声点。 方法: 对被测参数连续采样N次(N取奇数),再把N次采样值按大小顺序排列,取中间值作为本次采样的有效值

7、。 优点: 能有效克服因偶然因素引起的波动干扰。对温度、液位的变化缓慢的被测参数有良好的滤波效果。 缺点: 对流量、速度等快速变化的参数不宜。 3)算术平均滤波法 所谓算术平均滤波就是把n个采样值相加,然后取其算术平均值作为本次有效的采样信号。方法: 连续取N个采样值进行算术平均运算; N值较大时,信号平滑度较高,但灵敏度较低; N值较小时,信号平滑度较低,但灵敏度较高; N值的选取:一般流量,N=12;压力,N=4; 优点: 适用于对一般具有随机干扰的信号进行滤波,特别适用于信号本身在某一数值范围附近上下波动的情况。 这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。 缺点: 对

8、于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。 4)递推平均滤波法(又称滑动平均滤波法)所谓递推平均滤波法是指把连续取N个采样值看成一个队列,队列的长度固定为N ,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据,并且把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。 方法: 把连续取N个采样值看成一个队列,队列的长度固定为N; 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则); 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果 ; N值的选取:流量,N=12;压力,N=4;液面,N=412;温度,N=14; 优点: 对周期

9、性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。 缺点: 灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合,比较浪费RAM。 5)一阶滞后滤波法 一阶滞后滤波法又称为低通滤波法,是在硬件电路RC低通滤波器的基础上改写为一阶滞后滤波的算法,并通过程序实现。方法: 取a=01; 本次滤波结果=(1-a)*本次采样值+a*上次滤波结果; 优点: 对周期性干扰具有良好的抑制作用,适用于高频及低频的干扰信号。缺点: 相位滞后,灵敏度低,滞后程度取决于a值大小,不能消除滤波频率高于采样频率的1/2的干扰信号。 3 一阶惯性滤波器

10、设计3.1一阶惯性滤波算法一阶滤波,又叫一阶惯性滤波,或一阶低通滤波,是使用软件编程实现普通硬件RC低通滤波器的功能。低通滤波器就是允许低频信号通过,而将高频信号衰减的电路,一般的一阶RC低通滤波器电路图如图3-1所示。图3-1一阶RC低通滤波器电路将电路输出电压与输入电压的比称为传递函数,RC滤波器的传递函数为:=令Tf=RC,称之为滤波时间常数。假设一阶RC低通滤波器的输入电压为X(t),输出为Y(t),它们之间的关系如下:RC +Y(t)=X(t) 分别对其采样,即 Yn=Y(nt),Xn=X(nt)。如果采样间隔t足够小,则可得离散值约为:RC Y(nt)- Y(n-1)t/t+ Y(

11、nt)= X(nt) 即写成差分方程为:Tf+Y(n)= X(n)整理后为:Y(n)= X(n)+Y(n-1)=(1-r)X(n)+rY(n-1)其中Ts是采样周期,r= 是滤波系数,满足r(0,1)。X(n)为未经滤波的第n次采样值,Y(n)为第n次采样值经滤波后输出值。 一阶惯性滤波算法对周期性干扰具有良好的抑制作用,适用于波动频繁的参数滤波,不足之处是使相位滞后,灵敏度低,滞后的程度取决于滤波系数r的大小。同时,它不能滤除频率高于采样频率二分之一的干扰信号。3.2一阶惯性滤波器参数选取滤波系数r由实验确定,只要使被测的信号不产生明显的纹波即可。一般情况下,滤波系数r越大,则带宽越窄,滤波

12、频率越低。 滤波器的截止频率为fc=1/2RC,当Tf=RC的值越大,滤波系数r越大,滤波器截止频率越低。在程序设计时,选取r=0.8,计算得到Tf=4Ts,取采样周期为Ts=0.2*10s,则采样频率为50KHZ,Tf=0.8*10s,又fc=1/2RC,代入数据得fc=12.5 KHZ。3.3一阶惯性滤波流程图本次设计是对带有随机信号干扰的正弦信号进行滤波,采用MATLAB进行软件编程。首先应对正弦信号和随机信号进行采样,离散化,再将信号叠加,输出滤波前的叠加信号波形图。再编写一阶惯性滤波的算法程序,赋初值,用差分方程求出滤波后电压值,再通过MATLAB输出波形图。流程图如下图2-2所示:

13、开始信号采样,离散化信号叠加输出滤波前的信号赋初值循环开始一阶惯性滤波算法公式结束循环后,输出滤波后信号结束图3-2一阶惯性滤波算法流程图3.4方案比较论证及程序设计3.4.1方案比较论证数字滤波是一种程序滤波,它克服了模拟滤波器的不足,不需要增加硬件设备,稳定性好,可靠性高,还可对低频信号和高频信号进行滤波,滤波方法灵活多样,只需针对不同的信号及滤波要求,选取滤波方法及参数,就可得到较好的滤波结果。这是数字滤波器优于模拟滤波器之处。在硬件电路中,常用一阶惯性RC网络的模拟滤波器来抑制干扰,当滤波时间常数Tf越大时,R值越大,设备体积增大,误差增大,降低了滤波效果。而一阶惯性滤波算法是以数字形

14、式通过算法来实现的动态RC滤波,能很好的克服模拟滤波器的缺点,更适合于滤波常数大的场合。3.4.2运行环境简介此次设计用到了一个编程软件MATLAB。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。MATLAB有以下优点:可用于技术计算,开发环境可对代码、文件和数据进行管理,交互式工具可以按迭代的方式探

15、查、设计及求解问题,数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等,二维和三维图形函数可用于可视化数据,各种工具可用于构建自定义的图形用户界面,各种函数可将基于MATLAB的算法与外部应用程序和语言集成。3.4.3程序设计本次设计中,正弦信号为s=A*sin(w*t+),A为正弦波幅值,取A=6,w= 2f,由于要求为100HZ的正弦波,所以f=100HZ,取=/6,得正弦波方程式为s=6sin(200t+/6)。随机信号选取MATLAB的rand函数,rand函数是一种均匀分布的随机数,其元素分布在(0,)上。进行滤波前编写采样子程序为:for t=1:3000i=t/5

16、0000;s=6*sin(200*pi*i+pi/6);v=1*rand(1);x(t)=s+v;end用MATLAB的plot函数输出滤波前的信号波形图。figure(1);plot(x);title('一阶惯性滤波前信号');xlabel('时间t');ylabel('电压值');MATLAB绘出的滤波前信号图如图3-3所示:图3-3 滤波前信号图一阶惯性滤波的子程序编写如下:for i=2:n %注意i从2开始取y(i)=r*y(i-1)+(1-r)*x(i); %一阶惯性滤波算法公式end由于滤波前t=1:3000,为保持一致,程序赋初值

17、时n=3000,选取的滤波系数r=0.8,MATLAB编写的总程序如下:for t=1:3000i=t/50000;s=6*sin(200*pi*i+pi/6);v=1*rand(1);x(t)=s+v;endfigure(1);plot(x);title('一阶惯性滤波前信号');xlabel('时间t');ylabel('电压值');x(1)=3;%赋初值y(1)=3;%赋初值r=0.8;%赋初值n=3000;%赋初值for i=2:n %注意i从2开始取y(i)=r*y(i-1)+(1-r)*x(i); %一阶惯性滤波算法公式endfigu

18、re(2);plot(y);title('一阶惯性滤波后信号');xlabel('时间t');ylabel('电压值');MATLAB绘出的滤波后信号图如下图3-4所示:图3-4滤波后信号图滤波前和滤波后输出信号的对比图如图3-5所示,程序如下,运用MATLAB的subplot函数。subplot(2,1,1);plot(x);title('一阶惯性滤波前信号');xlabel('时间t');ylabel('电压值');subplot(2,1,2);plot(y);title('一阶惯性滤波

19、后信号');xlabel('时间t');ylabel('电压值');图3-5 一阶惯性滤波前后信号对比图3.4.4分析采样周期对滤波效果的影响随着采样周期Ts增大,根据公式r= 中可知Tf=RC一定时,Ts与r成反比,Ts越大,r越小;Ts越小,r越大。取r=0.8的滤波前后对比图效果如图3-5所示。当Ts增大时,取r=0.4时得到的滤波前后信号对比图如图3-6所示。图3-6 将Ts增大后的滤波前后信号对比图由图3-6可知,当Ts增大时,带有干扰的正弦信号经过一阶惯性滤波后的滤波效果没有Ts值较小时的滤波效果好。 分析知,采样周期Ts值能够影响一阶惯性滤

20、波的滤波效果,RC选定时,当Ts越大,滤波的结果是正弦信号所带的纹波越明显。因为此时滤波器的带宽较大,滤波频率较高,使能够通过的干扰信号增加,滤出来的正弦信号所带纹波较多。4 心得体会为期一周多的课程设计结束了。回想起来,还是有许多滋味从心头涌起。这次课程设计,我所做的是有关数字滤波器的设计的问题。从本次课程设计的目的来看,收获是不少的,它使我们对课本以及以前学过的知识有了一个更好的总结与理解,也让我知道了,学和做分开是不行的。通过这次微型计算机控制技术的课程设计,我更清楚实践的重要性。经过这次课程设计后,觉得自己有一个不小的进步。虽然有些方面有些不足,但通过阅读相关书籍,学到了更好更多的东西。他们从另一个方面透析了自己的不足,这是很重要的,它让我学会了怎样学习别人的长处并把它变成自己的长处。有这样的机会和收获,要感谢老师的教导,是他们让自己有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路,虽然自己走出来的路要崎岖的多,但觉得踏实、放心。以前对于编程工具的使用还处于一知半解的状态上,但是这次设计我通过

温馨提示

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

评论

0/150

提交评论