基于MATLAB的高通滤波器课程设计_第1页
基于MATLAB的高通滤波器课程设计_第2页
基于MATLAB的高通滤波器课程设计_第3页
基于MATLAB的高通滤波器课程设计_第4页
基于MATLAB的高通滤波器课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学数字信号处理课程设计说明书1绪论此部分就本次课程设计所用相关知识进行简要介绍。主要包括滤波器的相关知识及仿真软件matlab的相关知识。1.1滤波器知识简介(1)滤波器功能及分类滤波器主要功能是对信号进行处理,保留信号中的有用成分,去除信号中的无用成分。其按处理的信号可分为数字滤波器(digital filter,df)和模拟滤波器(analogfilter,af),按频域特性分为低通、高通、带通、带阻滤波器,按时域特性可分为有限长冲激响应(fir)滤波器和无限长冲激响应(iir)滤波器。(2)模拟滤波器设计理论模拟滤波器的理论和设计方法已发展得相当成熟,且有若干典型的模拟低通滤波

2、器的设计原型可供选择,如巴特沃斯(butterworth)滤波器、切比雪夫(chebyshev)滤波器、椭圆(ellips)滤波器、贝塞尔(bessel)滤波器等。这些滤波器各有特点,巴特沃斯滤波器具有通带内最平坦且单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或阻带内有波动,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;而椭圆滤波器的选择性相对前三种是最好的。模拟低通滤波器的设计是最基本的,而高通、带通、带阻滤波器则可利用频率转换的方法由低通滤波器映射而得到。模拟滤波器的设计是根据一组设计规范来设计模拟系统函数,使其逼近某个理想滤波器的特性。其中可以由幅度平方函数确定系统函数。

3、下面介绍两种常用的低通滤波器特性。一般以低通滤波器为基础来讨论逼近函数,而高通、带通、带阻滤波器则可用变换方法有低通滤波器映射而得到。一种是巴特沃斯低通逼近,另一种是切比雪夫低通逼近。本设计中选用第一种方法巴特沃斯低通逼近。由模拟低通滤波器系统函数确定模拟高通滤波器系统函数的方法如下:确定低通系统函数,其参考角频率(一般为截止频率)由高通参考角频率(一般为截止频率)选定,一般都选=1的归一化原型低通滤波器;在所得到的中代入变换关系式()中,得到高通系统函数 故模拟高通滤波器的实现可由模拟低通滤波器的归一化原型再经频率变换得到。1.2仿真软件知识简介1.2.1 matlab基础知识介绍matla

4、b是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计。它使用方便,输入简捷,运算高效,内容丰富,并且很容易由用户自行扩展,因此,当前已成为美国和其他发达国家大学教学和科学研究中最常用而必不可少的工具。matlab是“矩证实验室”(matrix laboratoy)的缩写,它是一种以钜阵运算为基础的交互式程序语言,专门针对科学工程计算机绘图的需求。与其他计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。它用解释方式工作,键入程序立即得出结果,人机交互性能好,深得科技人员喜爱。特别是数值计算用的最频繁的电子信息类的学科中,已成

5、为每个学生都掌握的工具了。它大大提高了课程教学解题作业分析研究的效率。学习掌握matlab,也可以说在科学计算工具上与国际接轨。matlab的语言特点为:起点高;人机界面合适科技人员;强大而简易的作图功能;智能化程度高;功能丰富,可扩展性强。matlab 7.x的工作环境主要有命令窗(command window)图形窗(figurewindow)和文本编辑器(file editor)组成。 matlab基本绘图方法中可以根据给出的数据,用绘图命令在屏幕上画出其图形,通过图形对科学计算进行描述。其中plot命令用来绘制x-y坐标中的曲线,它是一个功能很强的命令,输入变量不同,可以产生很多不同的

6、结果。plot(y)表示如果y是一个数组,函数ploty给出线性直角坐标的二位图,以y中元素的下标作为x坐标,y中元素的值作为y坐标,一一对应画在x-y坐标平面图上,而且将各点以直线相连。title命令用来给图加标题。xlabel,ylabel命令用来给坐标轴加说明。grid命令用来在图上打上坐标网格线。同时matlab会自动设定所画曲线的颜色和线型。如果用户对线型的默认值不满意,可以用命令控制线型,也可以根据需要选取不同的数据点的标记。为了设定线型,在输入变量组的后面,加一个引号,在引号内部放入线型和颜色的标识符,如plot(x,y,*b) 这样绘出的图线,其数据点处均用*做蓝色标记,而各点

7、之间不再连以直线。1.2.2 matlab信号处理工具箱函数介绍以下就本课程设计所用到的matlab函数进行简要介绍。(1)freqs 求模拟滤波器的频率响应函数。h=freqs(b,a,w) 计算由向量w(rad/s)指定的频率点上模拟滤波器的频率响应,结果存于h向量中。向量b和a分别为模拟滤波器系统的分子和分母多项式系数。h,w=freqs(b,a,w) 计算出m个频率点上的频率响应存于h向量中,m个频率存放在向量w 中。freqs函数自动将这m个频点设置在适当的频率范围。默认w和m时freqs自动选取200个频率点计算。不带左端输出向量时,freqs函数将自动绘出幅频和相频曲线。(2)b

8、uttord 求最小阶数n的函数n,wc=buttord(wp,ws,rp,rs,s) 根据滤波器指标wp,ws,rp,rs,求出巴特沃斯模拟滤波器的阶数n及频率参数wc,此处wp,ws及wc均以弧度/秒为单位。其中wp指通带截止频率,ws指阻带截止频率,rp指通带最大衰减,rs指阻带最小衰减。(3)buttap 模拟低通滤波器原型设计函数z,p,k=buttapn 得到z,p,k后,可求出滤波器系数b,a。其中z表示零点,p表示极点和k表示增益。(4)lp2lp/lp2hp/lp2bp/lp2bs 模拟频率变换函数bt,at=lp2lp(b,a,wo) 把单位截止频率的模拟低通滤波器系数b,

9、a变为另一截止频率wo的低通滤波器系数bt,at。(5)zp2tf 零极点转换至传递函数的函数b,a=zp2tf(z,p,k) 由零点、极点、增益求得滤波器的系数b,a。2任务分析2.1总体设计思路本课程设计任务要求设计一个阻带截止频率为200hz的模拟高通滤波器。分析题目可知题目只有一个滤波器参数即阻带截止频率,故设计时以此参数为基准,使其尽量逼近设计要求。由绪论部分提供的模拟滤波器知识及设计分析可得,模拟高通滤波器的实现可通过模拟低通滤波器再经频率变换而实现。其中模拟低通滤波器可根据已经存在的典型滤波器,如巴特沃斯滤波器等逼近实现,而由低通到高通转换理论依据在绪论部分已经进行了详细的论证,

10、又本设计基于matlab仿真软件实现,可利用matlab信号处理工具箱提供的各种函数模型实现,故可忽略其中的一些复杂的函数变换,从而简化理论设计和论证。2.2单元设计思路本课程设计以巴特沃斯滤波器为原型展开一系列的设计和讨论。以下部分就设计的各个单元进行详细的分析和论证。(1)模拟低通滤波器原型设计。在此单元模块主要依据设计参数完成模拟低通滤波器的原型设计。模拟原型滤波器指的是截止频率为1的滤波器。此处的模拟低通滤波器原型以巴特沃斯(butterworth)低通滤波器为模型进行逼近。matlab信号处理工具箱提供butterworth模拟低通滤波器原型设计函数buttap,函数调用形式为:z,

11、p,k=buttap(n)式中,n为butterworth滤波器阶数;z,p,k分别为滤波器的零点、极点和增益。又butterworth低通滤波器的幅度函数只由阶数n控制,假定阶数为1,则语句描述为: z,p,k=buttap1;再求解模拟低通滤波器的分子分母系数。因对模拟滤波器,其相应的系统函数为即系数关系为: , 故分子分母的系数多项式可由向量b,a表示,又滤波器系数b和a可由零极点转换至传递函数的函数zp2tf求得。语句描述为:b,a=zp2tf(z,p,k);最后利用matlab工具箱提供的模拟滤波器的频率响应函数freqs和相关绘图函数求出其传递函数图形。其语句描述为:h,w=fre

12、qs(b,a,n); magh2=(abs(h).2; hold on; plot(w,magh2); endxlabel(w/wc);ylabel(|h(jw)|2);title(butterworth模拟原型滤波器);至此,可得到模拟低通滤波器的原型,该滤波器的截止频率为为1。(2)频率转换,得到模拟高通滤波器。此单元模块可以利用matlab工具箱提供的模拟频率变换函数求得。即利用函数lp2hp即可由模拟低通滤波器得到模拟高通滤波器。语句描述为:bt,at=lp2hp(b,a,wc);其中wc为题设所要求的模拟高通滤波器的阻带截止角频率,即 wc=2*pi*f=2*pi*200=400*p

13、i至此即得到符合设计参数要求的阻带频率为200hz的模拟高通滤波器。最后利用matlab工具箱提供的模拟滤波器的频率响应函数freqs和相关绘图函数求出各响应曲线,以便对滤波器的性能有更为直观的了解和认识。语句描述为:h,w=freqs(bt,at); subplot(); plot(w,20*log10(abs(h); grid; xlabel(w/pi); ylabel(频率响应/db);title(模拟高通滤波器);至此,整个设计的理论分析阶段完成。2.3补充说明此说明部分就以上各设计模块应注意的事项加以阐述。首先对滤波器的阶数n的选择加以说明。前面所述的模拟低通滤波器原型设计中,滤波器

14、阶数是我们在编程时任意指定的。其实它是决定滤波器品质的主要参数之一。通常在满足性能指标的前提下,阶数应该尽可能小,以满足易于实现、提高运算速度的要求。而在滤波器阶数和滤波器性能之间存在一定的函数关系,我们通过这一函数关系可以求出满足滤波性能指标的最低阶数。matlab信号处理工具箱中提供了用来计算最小阶数和截止频率的工具函数,如:n,wc=buttord(wp,ws,rp,rs, s)为butterworth 滤波器最小阶数选择函数(式中,wp为通带边界频率,ws为阻带边界频率,单位为rad/s。rp,rs分别为通带波纹和阻带衰减,单位为db。函数返回值n为模拟滤波器的最小阶数;wc为模拟滤波

15、器的截止频率,单位为rad/s)。因本设计中提供的滤波器参数较少,故忽略了滤波器最小阶数的选择,在结果分析中再对典型阶数进行讨论。其次是模拟滤波器性能测试的问题。可从频域、时域两方面分析滤波器特性,其中频域分析可用滤波器的传递函数描述,绘出其幅度和相位曲线,可采用matlab信号处理工具箱提供的函数abs给出系统的幅频曲线和angle给出系统的相频曲线;时域分析可用脉冲(冲激)响应来描述,绘出其脉冲响应和阶跃响应曲线,可分别采用matlab信号处理工具箱提供的函数y,t=impulse(h)给出该系统的模拟脉冲响应和y,t=step(h)来得到该系统的阶跃响应。3程序设计3.1程序编写结合理论

16、分析阶段的研究,得到该模拟高通滤波器的matlab程序如下:%butterworth 模拟低通滤波器原型设计n=0:0.01:2; %设定频率点for ii=1:4 %定义循环,产生不同阶数的曲线 switch ii case 1,n=2; case 2,n=5; case 3,n=10; case 4,n=30; endz,p,k=buttap(n); %调用butterworth模拟低通滤波器原型函数b,a=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数形式h,w=freqs(b,a,n); %按n指定的频率点给出频率响应magh2=(abs(h).2;subplot(21

17、1);hold on;plot(w,magh2); endxlabel(w/wc);ylabel(|h(jw)|2);title(butterworth 模拟低通滤波器原型);text(1.5,0.18,n=2) %对不同曲线做标记text(1.3,0.08,n=5)text(1.16,0.08,n=10)text(0.93,0.98,n=20)grid on; %模拟高通滤波器设计m=0:1:5000;for ii=1:4 switch ii case 1,n=2; case 2,n=5; case 3,n=10; case 4,n=30; endz,p,k=buttap(n); b,a=z

18、p2tf(z,p,k); bt,at=lp2hp(b,a,200*2*pi); %由低通原型滤波器转换为截止频率为200hz的高通滤波器ht,w=freqs(bt,at,m); subplot(212);hold on;plot(w,abs(ht);endxlabel(w/pi);ylabel(|h(jw)|2); title(模拟高通滤波器);text(200,0.28,n=2) text(600,0.12,n=4)text(1000,0.28,n=10)text(1200,0.10,n=30)grid on; %模拟高通滤波器性能pha=angle(ht); %输出系统的相频特性figur

19、esubplot(2,1,1);plot(w,20*log10(pha);grid;xlabel(w/wc);ylabel(相位/db); title(模拟高通滤波器相频特性); mag=abs(ht); %输出系统的幅频特性subplot(2,1,2);plot(w,20*log10(mag);grid;xlabel(w/wc);ylabel(幅度/db); title( 模拟高通滤波器幅频特性);3. 2运行结果对上述程序在matlab 7.0环境中仿真,得到如下波形。其中图1为滤波器幅度平方函数曲线,包括butterworth 模拟低通原型滤波器和模拟高通滤波器。图2和图3为模拟高通滤波

20、器性能测试图,其中图2表示频域特性包括相频特性和幅频特性,图3表示时域特性包括脉冲响应和阶跃响应曲线。 图1滤波器幅度平方函数曲线 图2模拟高通滤波器相频/幅频特性 3.3结果分析(1)butterworth模拟低通原型滤波器由图1的butterworth模拟低通原型滤波器幅度平方函数曲线可得随着阶数n的增大曲线的过渡带逐渐变窄,滤波器的性能越接近于直角矩形特性,滤波效果也越好。(2)模拟高通滤波器由图1的模拟高通滤波器幅度平方函数曲线同样可得随着阶数n的增大曲线的过渡带逐渐变窄,滤波器的性能越接近于直角矩形特性,滤波效果也越好。又题设要求其阻带截止频率为200hz,即wc=2*pi*2001

21、256.636rad/s。又由图3可得当衰减为0.707倍左右时,截止频率为1256.5rad/s左右。以n=30时进行讨论,对图形进行缩放研究,可得阻带截止频率为1102.5rad/s,衰减为0.02,通带截止频率为1325rad/s,衰减为0.98处。与理论值存在一定的误差。由相频曲线得该滤波器为非线性相位,这也和巴特沃斯滤波器的特点相吻合。由幅频特性曲线得在阻带边界处衰减达100db,通带内几乎无衰减。图33.4小结以上是阻带截止频率为200hz的模拟高通滤波器的设计及实施全过程,由结果分析可知虽然存在一定的误差,相对误差为12.27%,故可认定其基本满足设计要求,此项设计任务完成。4心

22、得体会通过这次课程设计,使我掌握了课程设计的基本思路和方法,掌握了课程设计说明书的基本撰写方法,了解了基本的设计思想和设计方法。同时此次课程设计使我对数字信号处理原理这门课程的基础知识和基本理论有了更深的理解和掌握,锻炼了我们综合运用所学知识的能力,并在理论分析设计、计算制图运用标准和规范查阅设计手册与资料以及计算机应用能了等方面得到了初步的训练和提高,培养了我们严谨求实的科学态度。同时这次课程设计采用分组的形式进行,锻炼了我们的分工合作能力,同时培养了我们的团队意识。这次课程设计使我进一步熟悉了计算工具软件-matlab.并进一步掌握了matlab的使用方法.对matlab语言的发展和特点有了更深的了解,熟悉其工作环境,并掌握了matlab的基本语法,在其应用方

温馨提示

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

评论

0/150

提交评论