基于matlab的iir数字滤波器设计(脉冲响应不变法)(编辑修改稿)内容摘要:

B T=2s Ws=[ ]rad As=10dB 程序为。 课程设计 第 19 页 共 44 页 T=2。 %采样周期 fs=1/T。 %采样频率 Wp=[.*pi .*pi]。 Ws=[.*pi .*pi]。 %设置归一化通带和阻带截止平率 Ap= 1。 As= 10。 %设置通带最大最小衰减 [N,Wc]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wc,39。 bandpass39。 ,39。 s39。 )。 %调用 butter函数设计巴特沃斯滤波器 W=linspace(0,pi,400*pi)。 %指定一段频率值 [D,C]=impinvar(B,A,fs)。 %调用脉冲响应不变法 168。 Hz=freqz(D,C,W)。 %返回频率值 166。 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字滤波器的幅频特性曲线 grid on。 title(39。 巴特沃斯带通滤波器 39。 )。 xlabel(39。 Frequency/Hz39。 )。 ylabel(39。 Magnitude39。 )。 得出幅频特性如下图: 课程设计 第 20 页 共 44 页 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 100 . 20 . 40 . 60 . 811 . 21 . 4巴特沃斯带通数字滤波器F r e q u e n c y / H zMagnitude 用脉冲响应不变法设计 IIR 带阻数字滤波器实例。 带阻滤波器技术指标为: Wp=[ ]rad Ap=1dB T=2s Ws=[ ]rad As=11dB 程序为: 课程设计 第 21 页 共 44 页 T=2。 fs=1/T。 Wp=[.*pi .*pi]。 Ws=[.*pi .*pi]。 %设置归一化通带和阻带截止平率 Ap= 1。 As= 11。 %设置通带最大最小衰减 [N,Wc]=buttord(Wp,Ws,Ap,As,39。 s39。 )。 %调用 butter函数确定巴特沃斯滤波器阶数 [B,A]=butter(N,Wc,39。 stop39。 ,39。 s39。 )。 %调用 butter函数设计巴特沃斯滤波器 247。 W=linspace(0,pi,400*pi)。 %指定一段频率值 [D,C]=impinvar(B,A,fs)。 %调用脉冲响应不变法 168。 Hz=freqz(D,C,W)。 %返回频率响应 plot(W/pi,abs(Hz))。 %绘出巴特沃斯数字滤波器的幅频特性曲线 grid on。 title(39。 巴特沃斯带阻滤波器 39。 )。 xlabel(39。 Frequency/Hz39。 )。 得出幅频特性如下图: 课程设计 第 22 页 共 44 页 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 10 . 20 . 40 . 60 . 811 . 21 . 41 . 6巴特沃斯帯阻数字滤波器F r e q u e n c y / H z 小结: 经观察滤波器幅频特性图得, 巴特沃斯滤波器的特点是 通带 内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。 在 振幅 的对数对角频率的波特图上 ,从某一边界角频率开始 ,振幅随着角频率的增加 而逐步减少 ,趋向负无穷大。 低通滤波器容许低频信号通过 , 但减弱 (或减少 )频率高於截止频率的信号的通过。 高通滤波器容许高频信号通过 , 但减弱 (或减少 )频率低于於截止频率的信号的通过。 带通滤波器容许一定频率范围信号通过 , 但减弱 (或减少 )频率低于於下限截止频率和高于上限截止频率的信号的通过。 带阻滤波器减弱 (或减少 )一定频率范围信号 , 但容许频率低于於下限截止频率和高于上限截止频率的信号的通过。 对于巴特沃斯滤波器低通和带通效果较好,而高通和帯阻效果较差。 课程设计 第 23 页 共 44 页 (附)滤波信号的输入 : t=0::9。 m=str2double(get(,39。 String39。 ))。 n=str2double(get(,39。 String39。 ))。 y1=sin(m.*t)。 y2=sin(n.*t)。 y=y1+y2。 % plot(f,abs(fx(n+1))*2/N)。 grid。 plot(t,y)。 grid。 输入信号为: y=y1+y2=sin(mπ ) +sin(n*π )。 其中 m, n 为信号参数。 滤波的效果 滤波前的信号图: m=2; n=5 课程设计 第 24 页 共 44 页 滤波后图形; 第四章 界面设定 在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。 课程设计 第 25 页 共 44 页 软件功能及使用方法。 功能:该软件为 IIR巴特沃斯滤波器的模拟软件,可根据参数的不同,设计出不同指标要求的滤波器。 并且对固定的信号进行滤波模拟。 使用方法: 1,在信号输入通道中可以选择滤波器种类。 2,在信号输入通道中输入滤波器的参数。 3, 点 ‘ 输出波形 ‘按钮即可输出相 应滤波器的幅频特性曲线。 4,在信号输入通道中,输入两参数按‘原信号波形‘按钮得以固定原始信号。 5,再按 ‘ 滤波后图形 ‘ 按钮,得出经滤波后 图形。 注: Wph 和 Wsh 两输入只有在带通和帯阻时,输入参数有效。 因为带通帯阻时, Wp和 Ws都为二维量。 带通帯阻为高低通的组合。 课程设计 第 26 页 共 44 页 总结 经过一周的课程设计,使我们学到了很多,并且明白 熟练掌握 MATLAB软件的使用是非常重要的,整个课程设计过程中,我们都要用到它。 在这个 课程设计中我们须利用 MATLAB 设计各种滤波器。 其实用 MATLAB 软件做实验是要细心的,因为很多的语法和常量变量的定义我们都要仔细 ,一个不小心看错了或者输入不认真是容易出错误。 在发现错误时,问了很多同学也问了老师,当发现错误原因时,很多次都是因为自己的不细心造成。 但经过思考并仔细检查,最后得以编译成功。 在做实验是一定要小心谨慎,也许一个小小的语法错误和常量变量的定义的错误就造成整个程序出现问题,得不到所需的波形,导致实验结果不正确。 采用 MATLAB设计滤波器,使原来非常繁琐复杂的程序设计变成了简单的函数调 用,为滤波器的设和实现开辟了广阔的天地, 尤其是 Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。 其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。 MATLAB 信号处理工具箱为滤波器设计及分析提供了非常优秀的辅助设计工具 , 在设计数字滤波器时 , 善于应用 MATLAB进行辅助设计 , 能够大大提高设计效率。 课程设计 第 27 页 共 44 页 参考资料: 1谢平,林洪彬 信号处理原理及应用 北京:机械工程出版社 2刘波 .MATLAB信号处理 [M].北京:电子工业出版社, 2020。 3 张圣勤 实用教程 北京:机械工程出版社 2020 年 3 月 课程设计 第 28 页 共 44 页 附录 界面程序: function varargout = lyl(varargin) % LYL Mfile for % LYL, by itself, creates a new LYL or raises the existing % singleton*. % % H = LYL returns the handle to a new LYL or the handle to % the existing singleton*. % % LYL(39。 CALLBACK39。 ,hObject,eventData,handles,...) calls the local % function named CALLBACK in with the given input arguments. % % LYL(39。 Property39。 ,39。 Value39。 ,...) creates a new LYL or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before lyl_OpeningF gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to lyl_OpeningF via varargin. % % *See GUI Options on GUIDE39。 s Tools menu. Choose GUI allows only one % instance to run (singleton). % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help lyl % Last Modified by GUIDE 25Jun2020 20:22:38 % Begin initialization code DO NOT EDIT gui_Singleton = 1。 gui_State = struct(39。 gui_Name39。 , mfilename, ... 39。 gui_Singleton39。 , gui_Singleton, ... 39。 gui_OpeningF39。 , @lyl_OpeningF, ... 39。 gui_OutputF39。 , @lyl_OutputF, ... 课程设计。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。