基于Matlab的IIR数字滤波器的设计 别人实验
基于MATLAB的IIR数字滤波器的设计方法
(5)运用冲击响应不变法或双线性变换 法把模拟滤波器转换成数字滤波器。 3.1 IIR滤波器的设计实例
FDATool(Filter Design & Analysis Tool) 是MATLAB信号处理工具箱专用的滤波器 设 计 分 析 工 具 。M A T L A B 6 . 0 以 上 的 版 本 还 专门增加了滤波器设计工具箱(Filter De- sign Toolbox)。FDATool可以设计几乎所有 基本的常规滤波器,包括FIR和IIR的各种设 计方法。它操作简单, 方便灵活。
18
科技创新导报 Science and Technology Innovation Herald
I T 技 术
中 设 计 I I R 数 字 带 来 了 极 大 的 方 便 。利 用 MATLAB设计滤波器,可以随时对比设计 要求和滤波器特性调整参数,直观简便,极 大地减轻了工作量,有利于滤波器设计的 最优化。
由于图像在摄取过程中收到摄取器 件 、周 围 环 境 、通 道 传 输 误 差 等 影 响 , 会使 摄 取 到 的 图 像 中 含 有 噪 声 。噪 声 通 常 是 随 机产生的,因而具有分布和大小的不规律 性 。影 响 了 图 像 的 视 觉 效 果 和 有 关 处 理 工 作 。因 此 需 要 对 图 像 中 的 噪 声 进 行 消 除 。而 噪声消除也就是滤波,目前数字滤波器的 设计有许多现成的高级语言设计程序,但 他们都存在设计效率低,不具有可视图形, 不便于参数修改等缺点,而MATLAB的 FDATool工具为数字滤波器的研究和应用 提 供 了 一 个 直 观 、高 效 、便 捷 的 利 器 。它 以 矩 阵 运 算 为 基 础 , 把 计 算 、可 视 化 、仿 真 设 计 融 合 到 一 个 交 互 式 的 工 作 环 境 中 。尤 其 是MATLAB工具箱使各个领域的研究人员 可以直观方便地进行科学研究和工程应 用 。本 文 基 于 M A T L A B 中 F D A T o o l 工 具 对 IIR数字理滤波器进行设计与仿真。
基于Matlab的IIR数字滤波器设计(论文)
摘要在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。
实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。
Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。
尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。
本文首先介绍了数字滤波器的概念,分类以及设计要求。
接着利用MATLAB函数语言编程,用信号处理图形界面FDATool来设计滤波器以及Sptool界面设计的方法,并用FDATool模拟IIR 数字滤波器处理信号。
重点设计Chebyshev I型和Chebyshev II型数字低通滤波器,并介绍最优化设计。
【关键字】IIR 滤波器FDATool Sptool SimulinkABSTRACTIn modern communication systems,Because often mixed with various signal complex components,So many signal analysis is based on filters, and the digital filter is realized through numerical computation, digital filters filter with high precision, stability and flexibility, don't exist, can realize the impedance matching simulating the special filter cannot achieve filter function. Digital filter according to its impulse response function and characteristics of the time can be divided into two kinds, namely the infinite impulse response (IIR) digital filter and finite impulse response (FIR digital filters). The order of realizing IIR filter is used, low and high efficiency less storage unit, high precision, and can keep some simulation characteristics of filter, so it is widely used. Matlab software based on matrix computation, the calculation, visualization and program design of organic integration to interactive environment for digital filter, and the research and application of provides an intuitive, efficient and convenient tool. Especially in the Matlab signal processing to all areas of research toolbox personnel can easily for scientific research and engineering application. This paper introduces the concept of digital filter, classification and design requirements. Then using MATLAB language programming, with functions of signal processing FDATool graphical interface design of interface design and Sptool filter, and FDATool analog signal processing IIR digital filter. Key design Chebyshev type I and II digital Chebyshev lowpass filter, and introduces optimization design.【Keywords】IIR Filter FDATool Sptool Simulink目录前言 ............................................................. 1第一章数字滤波器 ................................................. 2第一节数字滤波器的概念........................................ 2第二节数字滤波器的分类........................................ 2第三节数字滤波器的设计要求.................................... 4第二章 IIR数字滤波器设计方法...................................... 5第一节 IIR数字滤波器的设计步骤................................. 5第二节用脉冲相应不变法设计IIR数字滤波器...................... 6一、设计原理................................................ 6二、脉冲响应不变法优缺点.................................... 8第三节双线性变换法设计IIR数字滤波器.......................... 9一、设计原理................................................ 9二、双线性变换法优缺点.................................... 11第三章 IIR滤波器的MATLAB设计................................... 13第一节 IIR数字滤波器的典型设计法............................. 14第二节 IIR数字滤波器的直接设计法............................. 18第三节 FDATool介绍和界面设计................................. 23第四节 FDATOOL设计IIR数字滤波器............................. 24第五节 SIMULINK 仿真IIR滤波器............................... 26总结 ........................................................... 29致谢 ........................................................... 30参考文献 ........................................................ 31结束语 .......................................................... 32前言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
基于MATLAB的IIR数字滤波器设计与仿真
基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。
其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。
无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。
本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。
IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。
与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。
在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。
MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。
通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。
本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。
接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。
本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。
1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。
与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。
这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。
IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。
基于matlab的IIR数字滤波器的设计毕业设计(论文)
基于matlab的IIR数字滤波器的设计摘要:IIR数字滤波器在MATLAB环境下的设计方法和实现方法,在无限脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟—数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。
关键词:IIR数字滤波器;matlab;频带转换;引言数字滤波器是数字信号处理的重要基础,数字信号处理主要是研究数字或符号的序列表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某分量和中意义上更希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。
数字滤波器在对信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一种线性系统。
滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,上述每种滤波器又可以分为模拟滤波器和数字滤波器。
如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器,它通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波。
根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
有数字信号处理的一般理论可知,IIR 滤波器的特征是具有无限持续时间的冲激响应,而FIR滤波器使冲激响应只能持续一定的时间。
随着信息时代的到来,数字信号处理已经成为当今一门极其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。
在数字信号处理中,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性大等特点。
现代数字滤波器可以用软件或硬件两种方式来实现。
软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。
MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。
基于MATLAB的IIR数字滤波器的设计及应用
IIR滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计思路是:先设计模拟滤波器得到传输函数 ,然后将 按某种方法转换为数字滤波器的系统函数 。这一类方法是基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式,也有完整的图标供查阅,更可以直接调用MATLAB中的对应的函数进行设计。另一种是直接在频域或者时域中进行设计,设计时必须使用计算机辅助,直接调用MATLAB中的程序或函数即可设计。
附录B程序清单33
第
数字滤波是数字信号处理的重要基础,数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。数字滤波器在对信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一种线性系统。
Digital filter uses discrete system characteristics to conduct processing and transformation to the system input signal, change the input sequence spectrum or signal waveform, let the useful frequency components through, inhibit the outputing of unwanted signal components. Industrial parts throughout our daily necessities, but in the processing of industrial parts often appears scratches, abrasions, mark phenomenon, in order to collection qualified industrial parts effectively,using digital filter analysis to noise forms (such as salt and pepper noise) simulating the acquisition of industrial parts of the dust, mark, followed by the de-noising and filtering to obtain the purpose of qualified parts.
基于MATLAB的IIR数字滤波器的设计及应用
青岛工学院毕业论文(设计)基于Matlab的IIR数字滤波器的设计及应用学生姓名学号指导教师学院信息工程学院专业电子信息工程年级2009级答辩日期 2013 年 5 月 22 日青岛工学院基于MATLAB的IIR数字滤波器的设计及应用完成日期:指导教师签字:答辩小组成员签字:由于信号处理的基础就是滤波,信号处理的基本运算也就是滤波运算,滤波器的设计也就提升为数字信号处理的最基本问题之一。
这里主要是对IIR数字滤波器的设计进行研究,应用Ellipse滤波器、Butterworth滤波器、Chebyshev滤波器分别对低通、带通及带阻滤波器形式进行仿真。
在该系统中,只需要将数字滤波器的技术性能指标根据指定的或是需要的设计方法(如双线性变换法或脉冲响应不变法等),转换为模拟滤波器的技术性能指标,根据指定的模拟滤波器设计出相应的数字滤波器。
本文对MATLAB软件进行了介绍,并对数字滤波器在其环境下如何实现进行了介绍;并描述了数字滤波器的基本概念,其包括系统的描述、系统的传递函数、基本结构运算单元;本文重点描述了IIR数字滤波器的设计过程及几种设计方法,并对IIR滤波器的仿真做了一些介绍。
关键词:IIR数字滤波器;设计方法;仿真Due to the signal processing is the basis of filtering, signal processing the basic operation of filtering arithmetic, the design of the filter is promoted as one of the most fundamental problem in digital signal processing. Here is mainly to the design of IIR digital filter is studied, using the Ellipse filter, Butterworth filter, Chebyshev filter respectively to form low pass, band pass and band-stop filter. In the system, just need to technical performance index of the digital filter based on the specified or required design methods (such as bilinear transformation method or impulse response is not political reform, etc.), the technical performance indicators are converted to analog filter, based on the specified analog filter design corresponding digital filter.Are introduced in this paper, the MATLAB software, and digital filter in the environment how to implement are introduced; And describes the basic concept of digital filter, which includes a description of the system, system's transfer function, the structure of the basic computing unit; This paper describes the design of IIR digital filter process, and several design methods, and the simulation of IIR filter did some introduction.Key words: IIR digital filter; The design method; The simulation1绪论 (1)1.1数字滤波器技术的发展状况 (1)1.2 MATLAB软件简介 (1)2 IIR数字滤波器的简介 (3)2.1 IIR数字滤波器的基本概念 (3)2.2 IIR数字滤波器的基本结构 (3)3 IIR数字滤波器的设计方法 (6)3.1 间接设计法 (6)3.2 直接设计法 (6)3.2.1计算机辅助设计法 (6)3.2.2 IIR数字滤波器的应用举例 (6)4IIR数字滤波器的设计及MATLAB实现 (8)4.1 IIR数字滤波器的设计 (8)4.1.1 巴特沃兹滤波器 (8)4.1.2 切比雪夫滤波器 (9)4.1.3 椭圆滤波器 (12)4.2 MATLAB实现 (13)4.2.1双线性变换法及MATLAB实现 (14)4.2.2脉冲响应不变法及MATLAB实现 (14)4.2.3 Simulink设计仿真 (16)总结 (20)致谢 (22)附录 (23)1绪论1.1数字滤波器技术的发展状况人们对有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识转化是数字滤波器的一个重要发展。
dsp实验基于MATLAB的IIR数字滤波器设计
实验五基于MATLAB的IIR数字滤波器设计一、实验目的:1.加深对IIR数字滤波器常用指标的理解;2.学会设计IIR数字滤波器;3.根据指标要求设计数字滤波器,并进行信号的处理。
二、实验原理:补充:(1)filter函数用来实现数字滤波器对数据的滤波,函数调用格式为:y=filter(b,a,x)其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量。
(2)filtfilt函数实现零相位前后与后向结合滤波,其调用格式为:y=filtfilt(b,a,x)其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量,这个函数实现的滤波后其输出信号与输入信号的相位一致,也就是没有改变信号波形形状。
但filter函数滤波后有一些延迟,改变了信号的形状。
三、实验内容:1.假设一个信号x(t)= sin(2*pi*f1*t)+0.5cos(2*pi*f2*t),其中f1=5Hz,f2=30Hz。
请设计一个数字滤波器能把f2滤除掉,请写出程序,并画出原信号波形以及原信号通过该数字滤波器后输出信号的波形。
四、实验分析:根据要求,先设计出满足需要的模拟带通滤波器,再转化为数字滤波器,最后利用数字滤波器的输出函数,画出波形五、实验结论:设计程序%设计模拟带通滤波器wp=[4 6]*2*pi;ws=[1 9]*2*pi;Rp=1;Rs=10;[N,wc]=buttord(wp,ws,Rp,Rs,'s'); %求的滤波器的最小阶数和截止频率[b,a]=butter(N,wc,'s'); %设计模拟巴特沃斯滤波器%转化为数字滤波器FS=100;[numd,dend]=impinvar(b,a,FS);%输入信号验证dt=1/100; %模拟信号采样间隔f1=5;f2=30;t=0:dt:2;x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);y=filter(numd,dend,x)%画出图形subplot(2,1,1)plot(t,x);title('输入信号');subplot(2,1,2)plot(t,y);title('输出信号');六、实验心得:通过本次实验,学会了设计一个数字滤波器的方法,加深理解了数字滤波器的技术指标以及具体功能,如何进行数字滤波。
基于MATLAB的IIR数字滤波器设计与实例
1 数字滤波器分类
所谓数字滤波器,是指输入、输出均为数字信号,通过一
定运算关系改变输入信号所含频率成分的相对比例或者滤除某
些频率成分的器件。
数字滤波器从通带特性可以划分为:低通、高通、带通、
带阻这四类,在实际的设计中,滤波器的技术指标就直接指定
了它的具体类型。
从设计方法上划分为:巴特沃茨 (Butterworth) 滤波器,切
较之于 IIR 低,但是线性相位。另外有限的单位响应也有利于对
数字信号的处理,便于编程。
从处理信号分,一类称为经典滤波器,即一般的滤波器,
另一类为现代滤波器。
2 滤波器设计指标
以低通滤波器 (LPF) 为例,介绍滤波器的技术指标。需要
注意的是,传统的设计指标只是限制了滤波器的幅频特性,而
没有考虑相频特性。对于离散传函为 H(z) 的 LPF,其技术指标
图 1 传函及系数矩阵
图 2 低通滤波器 3.4 IIR 低通滤波器验证 若 产 生 一 个 连 续 信 号,x(t)=sin(2π*2t)+ sin(2频分量,对其进行采样,进行 频谱分析 程序如下: f1=2;
— 92 —
f2=200; f3=500; t=(1:100)/2000; x1=sin(2*pi*t*f1); x2=sin(2*pi*t*f2); x3=sin(2*pi*t*f3); x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); n=[1:100];t=n/2000 X=fft(x,512);w=(0:255)/256*1000; x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); Ft=100; Fp=5; Fs=10; As=40 ; Ap=3; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Fp*tan(wp/2); fs=2*Fs*tan(ws/2); [n11,wn11]=buttord(wp,ws,1,50,’s’); [b11,a11]=butter(n11,wn11,’s’); [num11,den11]=bilinear(b11,a11,0.5); [h,w]=freqz(num11,den11); z11=filter(num11,den11,x); m11=fft(z11); figure plot(abs(x),‘g‘); xlabel(‚t‘);ylabel(‚ 幅度 '); title(‚ 滤波前信号的频谱 '); figure plot(abs(m11),’r’); xlabel(‘t’);ylabel(‘幅度 '); title(‘滤波后信号频谱 '); figure plot(x); xlabel(‘Hz’);ylabel(‘频率响应幅度 '); title(‘滤波前信号的波形 '); figure plot(z11); xlabel(‘Hz’);ylabel(‘频率响幅度 '); title(‘滤波后的信号波形 ');
matlab实验报告 IIR数字滤波器设计
实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。
掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。
二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。
虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。
因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。
三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。
四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。
2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。
3.求脉冲响应、频率响应以及零极点。
4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。
实验步骤根据所给定的技术指标进行指标转换。
112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。
根据指标设计Butterworth 模拟低通滤波器。
调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。
调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。
调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。
(完整版)基于MATLAB的IIR数字滤波器的设计与DSP实现毕业设计
1 绪论 (1)1.1课题分析 (1)1.2数字滤波器在国内外发展概况 (1)1.3MATLAB简介 (3)1.4数字信号处理(DSP)器简介 (5)1.5DSP芯片开发工具 (6)2 IIR数字滤波器设计的方案选择及原理分析 (12)2.1总体方案比较 (12)2.2IIR滤波器的基本原理 (13)2.3IIR数字滤波器的设计方法 (16)3 IIR滤波器的MATLAB设计与仿真 (21)3.1FDAT OOL界面设计 (21)3.2程序设计 (25)3.3IIR数字滤波器的仿真 (27)4 IIR滤波器在DSP上的实现 (40)4.1IIR数字滤波器在DSP上的实现步骤和条件 (40)4.2IIR数字滤波器在TMS320VC5416DSP上的实现过程 (40)5 总结 (45)参考文献 (46)致谢 (47)附录一:XP-IIR-AD.C (47)附录二:XP-IIR-AD.CMD...............................错误!未定义书签。
1绪论1.1 课题分析在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号的处理和分析都是基于滤波器而进行的。
但是,传统数字滤波器的设计使用繁琐的公式计算,改变参数后需要重新计算,从而在设计滤波器尤其是高阶滤波器时工作量很大。
利用MATLAB信号处理箱(Signal Processing Toolbox)可以快速有效地实现数字滤波器的设计与仿真。
本课题正是利用MATLAB软件进行IIR数字滤波器的设计并进行仿真,这使得滤波器的设计更加快速和有效。
21 世纪是信息科学与技术的世纪, 其中, 数字信号处理技术(DSP) 已经成为当今一门极其重要的学科。
数字信号处理(DSP) 在通信, 语音, 图像, 自动控制, 雷达, 军事, 航空航天, 医疗和家用电器等很多领域已经得到广泛的应用。
[10]近年来,在数字信号处理领域具有绝对优势的DSP技术得到了迅速发展,不仅应用于通信、计算机领域,还逐渐渗透到其他科学研究领域。
基于MATLAB的IIR数字带通滤波器的设计与仿真——毕业设计
基于MATLAB的IIR数字带通滤波器的设计与仿真——毕业设计毕业设计(论文)任务书毕业设计(论文)学生开题报告课题类型:(1)A—工程实践型;B—理论研究型;毕业设计(论文)学生申请答辩表学生签名:日期:毕业设计(论文)指导教师评审表4毕业设计(论文)评阅人评审表5毕业设计(论文)答辩表6-1毕业设计(论文)答辩记录表(不足加附页)7毕业设计(论文)成绩评定总表学生姓名:专业班级:毕业设计(论文)题目:基于MATLAB的IIR数字带通滤波器的设计与仿真注:成绩评定由指导教师、评阅教师和答辩组分别给分(以百分记),最后按“优(90--100)”、“良(80--89)”、“中(70--79)”、“及格(60--69)”、“不及格(60以下)”评定等级。
其中,指导教师评定成绩占40%,评阅人评定成绩占20%,答辩组评定成绩占40%。
毕业设计(论文)基于MATLAB的IIR数字带通滤波器的设计与仿真学生姓名:学号:所在系部:专业班级:指导教师:日期:Based on the MATLAB IIR digital bandpass filter design and simulationBy(Wang Zheng)May 2013学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:年月日学位论文版权使用授权书本学位论文作者完全了解学院有关保管、使用学位论文的规定,同意学院保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密□,在年解密后适用本授权书。
实验5 基于MATLAB的IIR滤波器设计
实验5 基于MATLAB的IIR滤波器设计实验目的:掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR 数字滤波器的计算机编程。
实验原理:在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord 和cheblord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;2)[num,den]=butter(N,Wn)(巴特沃斯)和[num,den]=cheby1(N,Wn),[num,den]=cheby2(N,Wn)(切比雪夫1型和2型)可以进行滤波器的设计;3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通、带通、带阻滤波器的转换;4)使用bilinear可以对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数;5)利用impinvar可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。
例3-1 设采样周期T=250μs(采样频率fs =4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。
[B,A]=butter(3,2*pi*1000,'s');[num1,den1]=impinvar(B,A,4000);[h1,w]=freqz(num1,den1);[B,A]=butter(3,2/0.00025,'s');[num2,den2]=bilinear(B,A,4000);[h2,w]=freqz(num2,den2);f=w/pi*2000;plot(f,abs(h1),'-.',f,abs(h2),'-');grid;xlabel('频率/Hz ')ylabel('幅值/dB')程序中第一个butter的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter的边界频率2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率.图1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。
基于matlab的iir数字滤波器的设计与仿真
基于matlab的iir数字滤波器的设计与仿真四川师范大学成都学院毕业设计基于MATLAB的IIR数字滤波器的设计与仿真摘要:数字滤波器在数字信号处理中起着非常重要的作用,用于信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。
实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。
这里我们用到的是第一种方法即是用MATLAB提供的信号处理工具箱来实现数字滤波器。
本文首先介绍IIR数字滤波器及其传递函数,然后介绍了MATLAB的相关知识并阐述了基于MATLAB的三种实现手段:基于模拟原型的设计、直接设计法、通用Butterworth设计方法。
文中着重介绍了模拟原型各步骤:模拟滤波器设计、频带变换、离散化处理。
这些设计方法为数字滤波器设计带来全新的实现手段,设计快捷方便,仿真波形直观。
关键词:数字滤波器 IIR数字滤波器 MATLAB 信号处理工具箱IIR digital filter design and simulation based MATLABI四川师范大学成都学院毕业设计Abstract: Digital filter plays an important role in the digital signal processing, uses in the signal filtration, examination and parameter aspects and so on estimate, It is one kind of the most widely used linear system.it has two methods to Realize the digital filter's; first, running it by the computer software, Is the work which must complete through the procedure lets the computer realize; Second, designning the special-purpose digital processing hardware. What here weuse is the first method is the signal processing toolbox which provides with MATLAB realizes the digital filter. This article first introduced the IIR digit filter and its transfer function ,then introduced the related knowledge about MATLAB and described three means of achieving which based MATLAB: Based on simulation prototype design、direct design、general Butterworth design.In the article focused on introduced simulation prototype various steps: Analog filter design、band changing、discretization processing. These design methodsbring a new means of achieving for digital filter design, the design is quickly convenient, the simulation profile is direct-viewing.Digital filter IIR digital filter MATLAB Signal Processing Keywords: ToolboxII四川师范大学成都学院毕业设计目录前言 .....................................................................1 1 IIR数字滤波器 ........................................................ 1 1.1 数字滤波器简介 ..................................................... 1 1.2 数字滤波器分类及传递函数 ........................................... 2 2 MATLAB简介及IIR的主要实现方法 .......................................2 2.1 MATLAB简介 ........................................................ 2 2.2 IIR数字滤波器设计 (3)2.2.2 IIR滤波器的特点 ...............................................3原型的设计法 .................................................. 4 3基于模拟3.1 模拟滤波器的设计 (4)3.1.1 巴特沃斯(Butterworth)模拟低通滤波器的设计 (6)3.1.2 切比雪夫,Chebyshev,模拟低通滤波器的设计 ......................83.2 频带变换 (9)3.2.1 频带变换原理 (9)3.2.2 MATLAB设计实例 ...............................................10 3.3 离散化 (12)3.3.1 脉冲响应不变变换法变换原理 ....................................123.3.2 双线性变换法变换原理 ..........................................133.3.3 MATLAB设计实例 ...............................................14 5 通用Butterworth设计方法 .............................................. 18 结束语 (19)致谢 ....................................................................20 参考文献: (21)III四川师范大学成都学院毕业设计基于MATLAB的IIR数字滤波器的设计与仿真前言滤波是信号处理的基础,滤波运算是信号处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一。
IIR数字滤波器的设计实验报告
IIR数字滤波器的设计实验报告
实验目的
本实验的目的在于探讨IIR(递归)数字滤波器的原理,掌握能够设计微分器和积分
器的IIR滤波器的方法。
同时,熟悉MATLAB中滤波器设计的相关函数,并用新的函数进
行实验验证。
实验仪器
对于本次实验,所用的仪器主要为实验课电脑,及其软件MATLAB,用于完成滤波器设计及实验实现。
实验过程
1、用MATLAB实现IIR数字滤波器,设计并实现IIR滤波器,并用校准参数系数评估
滤波器性能。
3、对设计的滤波器的传递函数进行仿真、评估。
使用MATLAB绘出滤波器的幅频特性、频谱,以及滤波器输入、输出的波形和信号,观察其传递特性。
实验结果
仿真结果表明,IIR数字滤波器的滤波效果较好,有效降低了背景噪声,使信号在指
定某一范围内得到有效过滤。
滤波器的幅频特性绘制,可以看到滤波器在频率范围内的衰
减特性,证明IIR滤波器具有良好的传输特性,有效控制频率范围的信号,使信号得以准
确输出。
本次实验通过MATLAB完成IIR数字滤波器的设计,经过仿真、评估之后,发现该IIR 滤波器可以有效滤除信号中的指定范围的频率,在精度和效率方面得到保证,而且参数耦
合范围小,可被用于绝大多数滤波器需求场景。
基于matlab的IIR数字滤波器课程设计报告
.数字信号处理课程设计报告专业:通信工程院系:信息工程学院一、课题名称基于matlab的IIR滤波器设计二、课题意义数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。
数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。
三、数字滤波器原理在数字滤波中,我们主要讨论离散时间序列。
如图1所示。
设输入序列为()n x ,离散或数字滤波器对单位抽样序列()n δ的响应为()n h 。
因()n δ在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。
图1 数字滤波器原理数字滤波器的序列()n y 将是这两个序列的离散卷积,即()()()∑∞∞=-=k k n x k h n y (1)同样,两个序列卷积的z 变换等于个自z 变换的乘积,即()()()z X z H z Y = (2)用T j e z ω=代入上式,其中T 为抽样周期,则得到()()()T j T j T j e X e H e Y ωωω= (3)式中()T j e X ω和 ()T j e Y ω 分别为数字滤波器输入序列和输出序列的频谱,而()T j e H ω为单位抽样序列响应()n h 的频谱。
由此可见,输入序列的频谱()T j e X ω经过滤波后,变为()()T j T j e X e H ωω ,按照()T j e X ω的特点和我们处理信号的目的,选取适当的()T j e H ω使的滤波后的()()T j T j e X e H ωω符合我们的要求。
基于MATLAB的IIR滤波器设计与实现
基于MATLAB的IIR滤波器设计与实现基于MATLAB的IIR滤波器设计与实现 IIR滤波器的设计主要有经典设计法、直接设计法和最⼤平滑滤波器设计法三种⽅法。
1、经典设计法是基于模拟滤波器的变换原理,⾸先根据滤波器的技术指标设计出相应的模拟滤波器,然后再离散化为满⾜给定技术指标的数字滤波器。
对应的⼯具函数由完全设计函数——butter、cheby1、cheby2、ellip、besself;阶数估计函数——buttord、cheb1ord、cheb2ord、ellipord;低通模拟原型滤波器函数——buttap、cheb1ap、cheb2ap、ellipap;频率转换函数——lp2lp、lp2bp、lp2bs;滤波器离散化函数——bilinear、impinvar。
2、直接设计法是离散域内⽤最⼩⼆乘法逼近给定的幅频特性,对应的⼯具函数是yulewalk。
3、最⼤平滑滤波器设计法是设计⼀般化低通滤波器,其零点数多于极点,对应的⼯具函数是maxflat。
分别⽤⼏个例⼦来说明三种⽅法的应⽤。
例⼀、经典法设计滤波器有脉冲响应不变法和双线性变换法两种⽅式。
(1)、脉冲响应不变法 ⽤椭圆滤波器原型设计⼀个低通滤波器,满⾜wp=0.2pi、Rp=0.5dB、w s=0.3pi、A s=20dB。
代码如下:1 wp=0.2*pi;2 ws=0.3*pi;3 rp=0.5;4 rs=20;5 [n,wn]=ellipord(wp,ws,rp,rs,'s');6 [z,p,k]=ellipap(n,rp,rs);7 w=logspace(-1,1,1000);8 h=freqs(k*poly(z),poly(p),w);9 semilogx(w,abs(h));10 grid; 波形如下:命令窗⼝可得:n =3wn =0.6283 (2)、双线性变换法 设计带通Chebyshev I型数字滤波器,要求通带边界频率为100~200Hz;通带纹波⼩于3dB;阻带衰减⼤于30dB;过渡带宽为30Hz;采样频率为1000Hz。
基于Matlab的IIR数字滤波器设计
基于Matlab的IIR数字滤波器设计谢黎明;郑锐【摘要】Digital filter plays an important role in digital signals. The conventional way have some disadvantages; for example: lower efficiency, complex method and so on. Matlab have a powerful compute,using Matlab can design filters that fixed to the needs quickly, performance parameters can be easily modified and be simulated. It has more advantage compared to the traditional. This paper design a IIR digital filter using the conversion function method of Matlab for the high - speed spindle of 15 000 r/min. The results show that this method has a good reference to the design of the filter. It can be widely applied in the rotor vibration signal preprocessing.%滤波器在数字信号处理中具有重要的作用.传统的设计方法存在效率低、方法复杂等缺点,不能满足高效高精度的需要.利用Matlab软件强大的计算能力,可以快速设计出符合要求的滤波器并对性能参数进行方便的修改及仿真,相对传统方式具有较大的优势.针对转速为15 000 r/min的高速电主轴,利用Matlab软件中的的转换函数法对IIR滤波器进行了设计,分析表明该滤波器具有良好的性能,可广泛应用于转子振动信号预处理中.【期刊名称】《机械与电子》【年(卷),期】2011(000)001【总页数】3页(P28-30)【关键词】Matlab;高速电主轴;转换函数法;IIR数字滤波器【作者】谢黎明;郑锐【作者单位】兰州理工大学机电工程学院,甘肃兰州730050;兰州理工大学机电工程学院,甘肃兰州730050【正文语种】中文【中图分类】TN713.70 引言高速电主轴在工作中总会产生振动,其振动主要由轴承和转子的振动所引起。
实验5 基于MATLAB的IIR滤波器设计
实验5 基于MATLAB的IIR滤波器设计实验目的:掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR 数字滤波器的计算机编程。
实验原理:在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord 和cheblord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;2)[num,den]=butter(N,Wn)(巴特沃斯)和[num,den]=cheby1(N,Wn),[num,den]=cheby2(N,Wn)(切比雪夫1型和2型)可以进行滤波器的设计;3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通、带通、带阻滤波器的转换;4)使用bilinear可以对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数;5)利用impinvar可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。
例3-1 设采样周期T=250μs(采样频率fs =4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。
[B,A]=butter(3,2*pi*1000,'s');[num1,den1]=impinvar(B,A,4000);[h1,w]=freqz(num1,den1);[B,A]=butter(3,2/0.00025,'s');[num2,den2]=bilinear(B,A,4000);[h2,w]=freqz(num2,den2);f=w/pi*2000;plot(f,abs(h1),'-.',f,abs(h2),'-');grid;xlabel('频率/Hz ')ylabel('幅值/dB')程序中第一个butter的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter的边界频率2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率.图1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Matlab的IIR数字滤波器的设计一绪论数字滤波是数字信号处理的重要内容,是由乘法器、加法器和单位延时器组成的一种运算过程,其功能是对输入离散信号进行运算处理,以达到改变信号频谱的目的。
数字滤波器根据频域特性可分为低、高通、带通和带阻四个基本类型;根据时域特性可分为无限长单位冲激响应IIR(Infinite Impulse Response)滤波器和有限长单位冲激响应FIR(Finite Impulse Response)滤波器。
数字滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛的应用。
目前,数字信号滤波器的设计图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。
鉴于此,数字滤波器的设计就显得尤为重要。
MATLAB是美国MathWorks公司推出的一套用于工程计算的可视化高性能语言与软件环境。
MATLAB为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。
它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。
MATLAB推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理(signal processing)、图像处理(image processing),小波(wavelet)等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。
二数字滤波器2.1什么是数字滤波器滤波器是指用来对输入信号进行滤波的硬件和软件。
所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。
数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。
一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机软件来实现;二是设计专用的数字处理硬件。
MATLAB 的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。
工具箱提供了丰富而简便的设计,使原来繁琐的程序设计简化成函数的调用。
只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。
2.2数字滤波器的分类数字滤波器从功能上分类:可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。
从滤波器的网络结构或者从单位脉冲响应分类:可分为IIR 滤波器(即无限长单位冲激响应滤波器)和FIR 滤波器(即有限长单位冲激响应滤波器)。
它们的函数分别为:第一个公式中的H (z)称为N 阶IIR 滤波器函数,第二个公式中的H (z)称为(N-1)阶FIR 滤波器函数。
2.3数字滤波器的设计要求滤波器的指标常常在频域给出。
数字滤波器的频响特性函数一般为复函数,所以通常表示为: )()(|)()(w j jw e z jw e e H z H e H jw Φ===其中,||称为幅频特性函数,Φ(w)称为相频特性函数。
幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。
一般IIR 数字滤波器,通常只用幅频响应函数||来描述设计指标,相频特性一般不作要求。
IIR 滤波器指标参数如下图所示。
图中,ωp 和ωs 分别为通带边界频率和阻带边界频率;δ1和δ2分别为通带波纹和阻带波纹;允许的衰减一般用dB 0110()1()()M r r r N k k k N nn b z H z a z H z h n z -=-=--==+=∑∑∑数表示,通带内所允许的最大衰减(dB)和阻带内允许的最小衰减(dB)分别为αp和αs表示:一般要求:低通滤波器的技术要求2.4数字滤波器设计方法概述IIR数字滤波器的设计步骤流程图如下:步骤流程图IIR滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行的。
其设计思路是:先设计模拟滤波器得到传输函数Ha(s),然后将Ha(s)按某种方法转换成数字滤波器的系统函数H (Z)。
这一类方法是基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式,也有完整的图表供查阅。
更可以直接调用MATLAB中的对应的函数进行设计。
另一类是直接在频域或者时域中进行设计的,设计时必须用计算机作辅助设计,直接调用MATLAB中的一些程序或者函数可以很方便地设计出所需要的滤波器。
三IIR滤波器的设计3.1典型的IIR数字滤波器的设计模拟滤波器的理论和设计方法已发展得相当成熟,且有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth )滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer )滤波器、贝塞尔(Bessel )滤波器等,这些典型的滤波器各有特点。
用MATLAB进行典型的数字滤波器的设计,一般步骤如下:(1)将设计指标归一化处理。
如果采用双线性变换法,还需进行预畸变。
(2)根据归一化频率,确定最小阶数N和频率参数Wn。
可供选用的阶数择函数有:buttord,cheblord,cheb2ord,ellipord等。
(3)运用最小阶数N设计模拟低通滤波器原型。
模拟低通滤波器的创建函数有:buttap,cheblap,cheb2ap,ellipap和besselap,这些函数输出的是零极点式形式,还要用zp2tf函数转换成分子分母多项式形式。
如果想根据最小阶数直接设计模拟低通滤波器原型,可用butter,chebyl,cheby2,ellip,bessel等函数,只是注意要将函数中的Wn设为1。
(4)根据第2步的频率参数Wn,模拟低通滤波原型转换模拟低通、高通、带通、带阻滤波器,可用函数分别是:lp21p,lp2hp,lp2bp,lp2bs。
(5)运用脉冲响应不变法或双线性变法把模滤波器转数字滤波器,调用的函数是impinvar和bilinear。
脉冲响应不变法适用于采样频率大于4倍截止频率的锐截止低通带通滤波器,而双线性变换法适合于相位特性要求不高的各型滤波器。
(6)根据输出的分子分母系数,用tf函数生成H(z)的表达式,再用freqz 函数验证设计结果。
设计巴特沃思数字低通滤波器和椭圆数字低通滤波器,要求通带边界频率fp=2.1kHZ,通带最大衰减Rp=0.5dB;阻带边界频率fs=8kHZ,阻带最小衰减Rs=30dB,采样频率为Fs=20kHZ。
用脉冲响应不变法设计的巴特沃思数字低通滤波器的M程序如下:fp=2100;fs=8000;Fs=20000;Rp=0.5;Rs=30;T=1/Fs; %设计指标W1p=fp/Fs*2;W1s=fs/Fs*2;%求归一化频率[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s');%确定butterworth的最小介数N和频率参数Wn[z,p,k]=buttap(N); %设计模拟低通原型的零极点增益参数[bp,ap]=zp2tf(z,p,k); %将零极点增益转换成分子分母参数[bs,as]=lp2lp(bp,ap,Wn*pi*Fs);%将低通原型转换为模拟低通[bz,az]=impinvar(bs,as,Fs); %用脉冲响应不变法进行模数变换sys=tf(bz,az,T); %给出传输函数H(Z)[H,W]=freqz(bz,az,512,Fs); %生成频率响应参数subplot(2,1,1);plot(W,20*log10(abs(H))); %绘制幅频响应grid on; %加坐标网格xlabel('频率/Hz');ylabel('振幅/dB');subplot(2,1,2);plot(W,abs(H)); grid on;xlabel('频率/Hz');ylabel('振幅/H');运行后的波形如下:运行结果:N =4bz = 0.0000 0.0999 0.1914 0.0252az= 1.0000 -1.4336 1.0984 -0.4115 0.0627用双线性变换法设计的椭圆数字低通滤波器的M程序如下: fs=20000;wp=2*pi*2100/fs;ws=2*pi*8000/fs;Rp=0.5;Rs=30;Ts=1/fs;Wp=2/Ts*tan(wp/2);Ws=2/Ts*tan(ws/2); %按频率转换公式进行转换[N,Wn]=ellipord(Wp,Ws,Rp,Rs,'s'); %计算模拟滤波器的最小阶数[z,p,k]=ellipap(N,Rp,Rs);%设计模拟原型滤波器[Bap,Aap]=zp2tf(z,p,k); %零点极点增益形式转换为传递函数形式[b,a]=lp2lp(Bap,Aap,Wn); %低通转换为低通滤波器的频率转化[bz,az]=bilinear(b,a,fs); %运用双线性变换法得到数字滤波器传递函数 [H,f]=freqz(bz,az,512,fs);subplot(2,1,1);plot(f,20*log10(abs(H)));title('N=2 频率响应');grid on;xlabel('频率/Hz');ylabel('振幅/dB');subplot(2,1,2);plot(f,abs(H)); grid on;xlabel('频率/Hz');ylabel('振幅/H');运行结果:N=2bz= 0.1213 0.1662 0.1213az= 1.0000 -0.9889 0.42183.2完全滤波器设计除了典型设计以外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。
设计Butterworth滤波器用函数butter(),可以设计低通、高通、带通和带阻的数字和模拟滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。
设计Chebyshev I型滤波器用函数chebyl()。
可以设计低通、高通、带通和带阻的数字和模拟Chebyshev I型滤波器,其通带内为等波纹,阻带内为单调。
Chebyshev I型滤波器的下降斜度比II型大,但其代价目是通带内波纹较大。
设计Chebyshev II型滤波器用函数cheby2()。
可以设计低通、高通、带通和带阻的数字和模拟Chebyshev II型滤波器,其通带内为单调,阻带内等波纹。
Chebyshev II型滤波器的下降斜度比I型小,但其阻带内波纹较大。