基于matlab的数字滤波器的方案设计书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业论文(设计)
学院:计算机科学学院
专业: 自动化年级: 2007
题目:基于MA TLAB的数字滤波器的设计
学生姓名:伍杰杰学号: 07064098
指导教师:程立职称:讲师
2010年 5 月11日
中南民族大学本科论文(设计)原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写的成果作品。

本人完全意识到本声明的法律后果由本人承担。

作者签名:年月日
目录
摘要 (4)
关键词 (4)
Abstract (4)
Keywords (4)
1 数字滤波器的概述 (4)
1.1 数字滤波器的基本结构 (5)
1.1.1 IIR 滤波器的基本结构 (5)
1.1.2 FIR 滤波器的基本结构 (6)
1.2 数字滤波器的设计原理 (6)
1.2.1 滤波器的性能指标 (7)
1.2.2 IIR 数字滤波器的设计方法 (7)
1.2.3 FIR 数字滤波器的设计方法 (8)
2.MA TLAB中数字滤波器的设计 (10)
2.1 IIR数字滤波器设计 (11)
2.1.1. IIR滤波器阶数的选择 (11)
2.1.2. IIR滤波器的设计 (12)
2.2 FIR数字滤波器设计 (13)
2.2.1常用窗函数 (13)
2.2.2窗函数法设计FIR数字滤波器 (14)
3. 基于MA TLAB GUI的数字滤波器设计思路及实现 (15)
3.1 GUI界面设计概述 (15)
3.2 “滤波器设计软件”设计所实现任务 (16)
3.3基于MATLAB GUI的数字滤波器设计实现 (17)
3.3.1 “滤波器设计软件”GUI界面设计 (17)
3.3.1 “滤波器设计软件”回调函数编写 (18)
3.3.2 AutoChoose.m程序的编写 (21)
3.4 运行结果及显示 (25)
5. 设计总结和心得 (26)
参考文献 (26)
基于MATLAB的数字滤波器的设计
摘要:数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语音等许多领域有着十分广泛的应用,尤其在图像处理、数据压缩等方面取得了令人瞩目的进展与成就。

鉴于此,数字滤波器的设计想得尤为重要。

目前数字滤波器有很多现成的高级语言设计程序,但它们都存在设计效率较低,不具有可是图形,不便于修改参数等缺点,而MA TLAB的应用为数字滤波器的设计与研究一个直观、高效、便捷的利器。

它以矩阵运算为基础,把计算,可视化,程序设计融合到了一个交互式的工作环境中。

尤其是MATLAB的GUI图形用户编程。

关键词:MATLAB、GUI、高级语言、交互式
Design of MA TLAB-based digital filter
Abstract:Digital filter is based on digital signal processing, used to filter and detect signal ,and estimate parameter . It has a very wide range of applications in communications, image, voice and many other fields, and especially in processing image, compression data and achieved remarkable progress .In view of this, the digital filter design to be particularly important. Currently there are many ready-made digital filter design process high-level language, but they are a design of less efficient, and do not have the graphics, even not easy to modify parameters such shortcomings, and the application of MATLAB for digital filter design and research with an intuitive, efficient and convenient tool. It is based matrix operations, the computation, visualization, programming integrated into an interactive work environment. In particular, the GUI is the graphical user MATLAB programming.
Keywords:MATLAB,GUI ,high-level language, interactive
1 数字滤波器的概述
数字滤波器可以用差分方程、单位取样相应以及系统函数等表示,对于研究系统的实现方法,及它的运算结构来说,用狂徒便是最为直接。

一个给定的输入输出关系,可以用多种不同的数字网络来实现。

在不考虑量化影响是,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。

因此,运算结构是很重要的,同一系统函数H(Z),运算结构的不同,将会影响系
统的精度、误差、稳定性、经济型以及运算速度等许多重要性能。

IIR(无限冲击响应)滤波器与FIR(有限冲击响应)滤波器在结构上有自己不同的特点,在设计时需综合考虑。

1.1 数字滤波器的基本结构
作为线形时不变的数字滤波器可以用系统函数来实现,而实现一个系统函数表达式所表示的系统可以用两种方法:一种方法是采用计算机软件实现;另一种方法是用加法器、乘法器、和延迟器等元件设计出专用的数字硬件系统,即硬件实现。

不论软件实现还是硬件实现,在滤波器设计的过程中,由同一系统函数可以构成很多不同的运算结构,对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关。

1.1.1 IIR 滤波器的基本结构
一个数字滤波器可以用系统函数表示为:
(2-1)
由这样的系统函数可以得到表示系统输入与输出关系的常系数线形差分程为:
(2-2)
可见数字滤波器的功能就是把输入序列x(n)通过一定的运算变换成输出序列y(n)。

不同的运算处理方法决定了滤波器实现结构的不同。

无限冲激响应滤波器的单位抽样响应h(n)是无限长的,其差分方程如(2-2)式所示,是递归式的,即结构上存在着输出信号到输入信号的反馈,其系统函数具有(2-1)式的形式,因此在z 平面的有限区间(0<|z|<∞)有极点存在。

前面已经说明,对于一个给定的线形时不变系统的系统函数,有着各种不同的等效差分方程或网络结构。

由于乘法是一种耗时运算,而每个延迟单元都要有一个存储寄存器,因此采用最少常熟乘法器和最少延迟支路的网络结构是通常的选择,以便提高运算速度和减少存储器。

然而,当需要考虑有限寄存器长度的影响时,往往也采用并非最少乘法器和延迟单元的结构。

IIR 滤波器实现的基本结构有:
(1)IIR 滤波器的直接型结构:
优点:延迟线减少一半,变为 N 个,可节省寄存器或存储单元;
缺点:其它缺点同直接 I 型。

通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合的低阶系统(一、二阶)来实现。

(2)IIR 滤波器的级联型结构;
特点:
●系统实现简单,只需一个二阶节系统通过改变输入系数即可完成。

●极点位置可单独调整;
●运算速度快(可并行进行);
●各二阶网络的误差互不影响,总的误差小,对字长要求低。

缺点:
不能直接调整零点,因多个二阶节的零点并不是整个系统函数的零点,当需要准确的传输零点时,级联型最合适。

(3)IIR 滤波器的并联型结构。

优点:
●简化实现,用一个二阶节,通过变换系数就可实现整个系统;
●极、零点可单独控制、调整,调整α1i、α2i 只单独调整了第i 对零点,调整β1i、
β2i 则单独调整了第 i 对极点对极点;
●各二阶节零、极点的搭配可互换位置,优化组合以减小运算误差;
●可流水线操作。

缺点:
二阶阶电平难控制,电平大易导致溢出电平小则使信噪比减小。

1.1.2 FIR 滤波器的基本结构
FIR 滤波器【7】的单位抽样响应为有限长度一般采用非递归形式实现。

通常的FIR 数的单位抽样响应为有限长度,数字滤波器有横截性和级联型两种。

FIR 滤波器实现的基本结构有:
(1)FIR 滤波器的横截型结构
表示系统输入输出关系的差分方程可写作:
(2)FIR 滤波器的级联型结构
将 H(z)分解成实系数二阶因子的乘积形式分解成实系数二阶因子的乘积形式:
这时FIR 滤波器可用二阶节的级联结构来实现,每个二阶节用横截型结构实现,如图所示:
FIR滤波器的级联结构
这种结构的每一节控制一对零点,因而在需要控制传输零点时可以采用这种结构。

1.2 数字滤波器的设计原理
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。

IIR 滤波器的特征是,具有无限持续时间冲激响应。

这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。

FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。

数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和 Chebyshev逼近法等等。

随着 MATLAB 软件尤其是 MA TLAB 的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。

数字
滤波器设计的基本步骤如下:
(1)确定指标
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。

在很多实际应用中,数字滤波器常常被用来实现选频操作。

因此,指标的形式一般在频域中给出幅度和相位响应。

幅度指标主要以两种方式给出。

第一种是绝对指标。

它提供对幅度响应函数的要求,一般应用于FIR 滤波器的设计。

第二种指标是相对指标。

它以分贝值的形式给出要求。

在工程实际中,这种指标最受欢迎。

对于相位响应指标形式,通常希望系统在通频带中具有线性相位。

运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N 的滤波器(阶数为 N-1),计算量为 N/2 数量级。

因此,本文中滤波器的设计就以线性相位 FIR 滤波器的设计为例。

(2)逼近
确定了技术指标后,就可以建立一个目标的数字滤波器模型。

通常采用理想的数字滤波器模型。

之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。

(3)性能分析和计算机仿真
上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。

根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。

1.2.1 滤波器的性能指标
我们在进行滤波器设计时,需要确定其性能指标。

一般来说,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。

以低通滤波器特性为例,频率响应有通带、过渡带及阻带三个范围。

在通带内:
在阻带中:
其中ωc 为通带截止频率 st 为阻带截止频率,Ap 为通带为通带截止频率,ω 误差, Ast 为阻带误差。

与模拟滤波器类似,数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型,由于数字滤波器的频率响应是周期性的,周期为2π 。

1.2.2 IIR 数字滤波器的设计方法
目前,IIR 数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法。

模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便,IIR数字滤波器的设计步骤是:
(1)按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;
(2)根据转换后的技术指标设计模拟低通滤波器 H(s);
(3)在按一定规则将 H(s)转换为 H(z)。

若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:
(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后
按上述步骤(2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的 H(z)。

s - z 映射的方法有:冲激响应不变法、阶跃响应不变法、双线性变换法等。

下面讨论双线性变换法。

双线性变换法[8]是指首先把 s 平面压缩变换到某一中介平面 s1 的一条横带(宽度为 2 πT,即从- πT 到πT) ,然后再利用 z = exp(s1T)的关系把 s1 平面上的这条横带变换到整个 z 平面。

这样s 平面与z 平面是一一对应关系,消除了多值变换性, 也就消除了频谱混叠现象。

s 平面到 z 平面的变换可采用Ω= tan(Ω1T/2) (2-5)
令jΩ=s,jΩ1=s1 有:
从s平面到 z 平面的变换可采用 z =exp(s1T) (2-8)
代入上式,得到:
一般来说,为使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入代定常数 c ,

这种s 平面与z 平面间的单值映射关系就是双线性变换。

有了双线性变换,模拟滤平面间的单值映射关系就是双线性变换。

有了双线性变换波器的数字化只须用进行置换进行置换。

1.2.3 FIR 数字滤波器的设计方法
IIR 滤波器[7]的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需要用全通网络进行校正。

FIR 滤波器的优点是可方便地实现线性相位。

FIR 滤波器单位冲激响应 h(n)的特点:
其单位冲激响应 h(n)是有限长 ,系统函数为:
在有限 Z 平面有(N-1)个零点,而它的(N-1)个极点均位于原点 z=0 处。

Fir 滤波器线性相位的特点:
如果 FIR 滤波器的单位抽样响应 h(n)为实数,而且满足以下任一条件:
偶对称 h(n)=h(N-1-n)
奇对称 h(n)=-h(N-1-n)
其对称中心在 n=(N-1)/2 处,则滤波器具有准确的线性相位。

窗函数设计法:一般是先给定所要求的理想滤波器频率响应H d (e jω ) ,由 H d (e jω ) 导出 hd ( n) 是无限长的非因果序列,而我们要设计的是 hd ( n) 是有限长而我们要设计的是的 FIR 滤波器,所以要用有限长序列 hd ( n) 来逼近无限长序列 hd ( n) ,设:
常用的方法是用有限长度的窗函数 w(n)来截取即:
这里窗函数就是矩形序列RN(n),加窗以后对理想低通滤波器的频率响应将产生什么样的影响呢?根据在时域是相乘关系:
通过频域卷积过程看矩形的频率响应产生以下几点影响:
(1)使理想频率特性不连续点处边沿加宽,形成一个过渡带,其宽度等于窗的频率响应的主瓣宽度。

(2)在截止频率的两边的地方即过渡带的两边,出现最大的肩峰值,肩峰的两侧形成起伏振荡,其振荡幅度取决于旁瓣的相对幅度,而振荡的多少,则取决于旁瓣的多少。

(3)改变N,只能改变窗谱的主瓣宽度,改变ω 的坐标比例以及改变的绝对值大小,但不能改变主瓣与旁瓣的相对比例(此比例由窗函数的形状决定 )。

(4)对窗函数的要求
a、窗谱主瓣尽可能窄,以获取较陡的过渡带;
b、尽量减小窗谱的最大旁瓣的相对幅度;即能量集中于主瓣,使肩峰和波纹减小使肩峰和波纹减小,增大阻带的衰减。

频率采样法:
窗函数设计法是从时域出发,把理想的hd(n)用一定形状的窗函数截取成有限长的h(n),这样得到的频率响应逼近于所要求的理想的频率响应。

频率抽样法则是从频域出发,把给定的理想频率响应频率抽样法则是从频域出发,然后以此2π k N 加以等间隔抽样得到作为实际 FIR 滤波器的频率特性的抽样值 H(k),即
知道H(k)后,由DFT 定义可唯一确定有限长序列h(n),利用这N 个频域抽样值H(k) 同样利用频率内插公式可得 FIR 滤波器的系统函数 H(z),及频率响应
频率抽样法内插公式:
1.3 IIR滤波器与 FIR 滤波器的分析
前面已经介绍了IIR 和FIR 数字滤波器的设计方法,选择哪一种滤波器取决于每种类型滤波器的优点在设计中的重要性。

为了能在实际工作中恰当地选用合适的滤波器,现将两种滤波器特点比较分析[]如下如下:
(1) 选择数字滤波器是必须考虑经济问题,通常将硬件的复杂性、芯片的面积或计
算速度等作为衡量经济问题的因素。

在相同的技术指标要求下,由于 IIR 数字滤波器存在输出对输入的反馈,因此可以用较少的阶数来满足要求,所用的存储单元少,运算次数少,较为经济。

例如,用频率抽样法设计一个阻带衰减为 20dB 的 FIR 数字滤波器用频率抽样法设计一个阻带衰减为数字滤波器,要33 阶才能达到要求,而用双线性变换法只需 4~5 阶的切比雪夫 IIR 滤波器就可达到同样的技术指标。

这就是说 FIR 滤波器的阶数要高 5~10 倍左右。

(2) 在很多情况下,FIR 数字滤波器的线性相位与它的高阶数带来的额外成本相比是非常值得的。

对于 IIR 滤波器,选择性越好,其相位的非线性越严重。

如果要使 IIR 滤波器获得线性相位,又满足幅度滤波器的技术要求,必须加全通网络进行相位校正,这同样将大大增加滤波器的阶数。

就这一点来看,FIR滤波器优于IIR滤波器。

(3) FIR 滤波器主要采用非递归结构,因而无论是理论上还是实际的有限精度运算中滤波器主要采用非递归结构,它都是稳定的,有限精度运算误差也较小。

IIR 滤波器必须采用递归结构,极点必须在z 平面单位圆内才能稳定。

对于这种结构运算中的舍入处理有时会引起寄生振荡。

(4) 对于FIR 滤波器,由于冲激响应是有限长的,因此可以用快速傅里叶变换算法因此可以用快速傅里叶变换算法,这样运算速度可以快得多。

IIR 滤波器不能进行这样的运算。

(5) 从设计上看,IIR 滤波器可以利用模拟滤波器设计的现成的闭合公式、数据和表格,可以用完整的设计公式来设计各种选频滤波器。

一旦选定了已知的一种逼近方法(巴特奥兹,切比雪夫等),就可以直接把技术指标带入一组设计方程计算出滤波器的阶次和系统函数的系数(或极点和零点或极点和零点)。

FIR 滤波器则一般没有现成的设计公式。

窗函数法只给出了窗函数的计算公式,但计算通带和阻带衰减仍无显式表达式。

一般 FIR 滤波器设计仅有计算机程序可资利用,因而要借助于计算机。

(6) IIR 滤波器主要是设计规格化、频率特性为分段常数的标准低通、高通、带通和带阻滤波器。

FIR 滤波器则灵活很多,例如频率抽样法可适应各种幅度特性和相位特性的要求。

因此FIR 滤波器可设计出理想正交变换器、理想微分器、线性调频器等各种网络,适应性很广。

而且,目前已经有很多 FIR 滤波器的计算机程序可供使用。

2.MATLAB中数字滤波器的设计
数字滤波器在对信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一种线性系统。

常用的数字滤波器分为IIR数字滤波器和FIR数字滤波器两种,在MA TLAB中
有许多用于滤波器设计的函数。

下面就来一一介绍一下。

2.1 IIR数字滤波器设计
在MATLAB中,设计IIR数字滤波器的方法可以归纳为两类:一类是先设计出相应的模拟滤波器,在转换成数字滤波器:另一类是直接调用有关函数设计符合要求的数字滤波器的接数。

2.1.1.IIR滤波器阶数的选择
在设计IIR数字滤波器时,首先应该确定滤波器的阶数。

在MA TLAB中,常常用下列函数估计滤波器的阶数。

函数buttord,该函数用于Butterworth滤波器阶的选择。

常用格式为
[n,Wn]=buttord(Wp,Ws,Rp,Rs)
[n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)
该函数可在给定滤波器性能的情况下,选择模拟或数字Butterworth滤波器最小阶。

其中,Wp与Ws分别是通带和阻带的截止频率,Rp和Rs分别是通带和阻带区的波纹系数。

格式[n,Wn]=buttord(Wp,Ws,Rp,Rs)可得到Butterworth数字滤波器的最小阶n,并使在通带(0,Wp)内波纹系数小于Rp,在阻带(Ws,1)内衰减系数大于Rs。

函数还可得到3dB截止频率Wn,这样利用butter函数可产生满足指定性能的滤波器。

利用buttord函数,还可以得到高通、带通和带阻滤波器的阶。

当Wp》Ws是,这时为高通滤波器;当Wp,Ws为二元矢量时,若Wp(Ws,则为带通或带阻滤波器,这是Wn也为二元矢量。

格式[n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)可得满足指定性能的模拟Butterworth滤波器的阶n 和3dB截止频率Wn,从而可利用butter函数设计模拟滤波器。

函数cheblord,该函数用于ChebyshevⅠ型滤波器阶的选择。

常用格式为
[n,Wn]=cheblord(Wp,Ws,Rp,Rs)
[n,Wn]=cheblord(Wp,Ws,Rp,Rs,’s’)
该函数在给定滤波器性能的情况下,选择ChebyshevⅠ型滤波器的最小阶,其中Wp和Ws分别为滤波器通带和阻带的截止频率,Rp和Rs分别为通带和阻带区的波纹系数。

格式[n,Wn]=cheblord(Wp,Ws,Rp,Rs)可得到数字ChebyshevⅠ型滤波器的最小阶,并使其在通带(0,Wp)内波纹系数小于Rp,在阻带(Ws,1)内衰减系数大于Rs,函数cheblord还可得到滤波器的3dB截止频率Wn,这样利用cheby1函数可得到满足指定性能的滤波器。

同样Cheblord函数还可以得到高通、带通和带阻滤波器的阶。

利用格式[n,Wn]=cheblord(Wp,Ws,Rp,Rs,’s’)可得到满足指定性能的模拟ChebyshevⅠ型滤波器的阶n和3dB截止频率Wn,从而利用cheby1函数设计模拟滤波器。

函数cheb2ord,该函数用于ChebyshevⅡ型滤波器阶的选择。

常用格式为
[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs)
[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs,’s’)
该函数与cheb2ord函数类似,只不过它用于选择指定性能的ChebyshevⅡ型滤波器阶n 和3dB截止频率,于函数配合可设计出最低阶的ChebyshevⅡ型滤波器
函数ellipord,该函数用于椭圆滤波器阶的选择。

常用格式为
[n,Wn]=elipord(Wp,Ws,Rp,Rs)
[n,Wn]=elipord(Wp,Ws,Rp,Rs,’s’)
该函数与cheblord函数类似,只不过它用于选择指定性能时的椭圆滤波器的阶n和
3dB截止频率Wn,并与ellip函数配合设计最低阶的椭圆滤波器.
2.1.2.IIR滤波器的设计
在MATLAB中,IIR数字滤波器的设计可以通过模拟滤波器转换方式设计,也可以直接调用有关函数进行设计。

函数bilinear,该函数的功能是:利用双线性变换法设计IIR数字滤波器。

常用格式为
[numd,dend]=bilinear(num,den,Fs)
双线性变换为变量的映射关系,在数字滤波器中,它是将S域(模拟域)映射成Z域(数字域)的标准方法,它可将以经典滤波器设计技术设计的模拟滤波器变换成离散等效滤波器。

impinvar函数,该函数的功能是:利用冲激响应不变法实现模拟滤波器到数字滤波器的变换,常用格式为
[bz,az]=impinvar(b,a,Fs)
[bz,az]=impinnar(b,a)
该函数将模拟滤波器(b,a)变换成数字滤波器(bz,az),两者的冲激响应不变,即模拟滤波器的冲激响应按取样后等同于数字滤波器的冲激响应。

在格式[bz,az]= impinnar(b,a)中采用Fs的缺省值1Hz。

函数butter,该函数用于设计Butterworth模拟滤波器。

常用格式为
[b,a]=butter(n,Wn)
[b,a]=butter(n,Wn,’ftype’)
[b,a]=butter(n,Wn,’s’)
[b,a]=bu tter(n,Wn,’ftype’,’s’)
该函数可设计低通、带通、高通和带阻的数字和模拟滤波器,其特性为使通带内的幅度响应最大限度地平坦。

butter函数可设计出数字域和模拟域的Butterworth滤波器。

格式[b,a]=butter(n,Wn)可设计截止频率为n阶的低通Butterworth数字滤波器,b和a分别为滤波器的分子和分母多项式系数。

当Wn=[W1 W2](W1<W2)时,butter函数产生一个2n阶的数字带通滤波器。

在格式[b,a]=butter(n,Wn,’ftype’)中,当ftype=high时,可设计出截止频率为Wn的高通滤波器;当ftype=stop时,可设计出带阻滤波器,这时Wn=[W1 W2],且阻带为W1到W2格式[b,a]=butter(n,Wn,’s’)可设计截止频率为Wn的n阶低通模拟Butterworth滤波器。

函数cheby1,该函数用于设计ChebyshevⅠ型滤波器。

常用格式为
[b,a]=cheby1(n,Rp,Wn)
[b,a]=cheby1(n,Rp,Wn,’ftype’)
[b,a]=c heby1(n,Rp,Wn,’s’)
[b,a]=cheby1(n,Rp,Wn,’ftype’,’s’)
该函数可设计低通、高通和带阻的数字和模拟ChebyshevⅠ型滤波器,其通带内为等波纹,阻带内为单调。

与butter函数类似,cheby1函数可设计出数字的和模拟的ChebyshevⅠ型滤波器。

格式[b,a]=cheby1(n,Rp,Wn)可设计出n阶低通ChebyshevⅠ型数字滤波器,其截止频率由Wn确定,通带内的波纹由Rp(分贝)确定,b和a分别为滤波器的分子和分母多项式系数。

当Wn=[W1 W2]时,cheby1函数可产生一个2n阶的数字滤波器,其通带为W1<w<W2。

在格式[b,a]=cheby1(n,Rp,Wn,’ftype’)中,当ftype=high时,可设计出截止频率为Wn的高通滤波器,当ftype=stop时,可设计出带阻滤波器,这时Wn=[W1 W2],且阻带为
W1<w<W2。

利用格式[b,a]=cheby1(n,Rp,Wn,’s’)可设计出截止频率为Wn的n阶ChebyshevⅠ型模拟滤波器。

函数Cheby2,该函数用于设计ChebyshevⅡ型滤波器。

常用格式为
[b,a]=cheby2(n,Rs,Wn)
[b,a]=cheby2(n,Rs,Wn,’ftype’)
[b,a]=cheby2(n,Rs,Wn,’s’)
[b,a]=cheby2(n,Rs,Wn,’ftype’,’s’)
该函数与Cheby1函数几乎一摸一样,只不过cheby2函数设计的滤波器是ChebyshevⅡ型滤波器。

其通带内为单调,阻带内为等波纹,因此由Rs指定阻带内的波纹。

Cheby2函数可设计为低通、带通、高通和带阻的数字和模拟ChebyshevⅡ型滤波器,针对所获得滤波器的形式:传递函数表示、零极点增益表示和状态方程,都有两种格式,因此对数字域和模拟域各有六种格式。

函数ellip,该函数用于设计椭圆滤波器。

常用格式为
[b,a]=ellip(n,Rp,Rs,Wn)
[b,a]=ellip(n,Rp,Rs,Wn,’ftype’)
[b,a]=ellip(n,Rp,Rs,Wn,’s’)
[b,a]=ellip(n,Rp,Rs,Wn,’ftype’,’s’)
该函数与函数类似,可设计低通、高通、带通和带阻的数字和模拟椭圆滤波器。

与或滤波器相比,函数可得到下斜度更大的滤波器,但在通带和阻带内均为等波纹的。

一般情况下,椭圆滤波器能以最低的阶实现指定的性能。

在格式中,用于指定通带的波纹,指定阻带波纹,指定截止频率。

2.2 FIR数字滤波器设计
在MA TLAB中,FIR数字滤波器的设计常用的方法有:窗函数法、频率抽样法、切比雪夫逼近法和约束最小二乘法等。

2.2.1常用窗函数
在MATLAB中,可以用下列函数产生常用的窗函数序列:函数boxcar、函数triang、函数batlett、函数hamming、函数hanning、函数blackman、函数chebwin。

函数boxcar。

该函数用于产生矩形窗序列。

格式为
w=boxcar(n)
格式boxcar(n)可产生一长度为n的矩形窗函数。

函数triang。

该函数用于产生三角窗序列。

格式为
w=triang(n)
格式triang(n)可得到n点的三角窗函数。

三角窗函数类似于bartett窗。

bartett窗在取样点1和n上总是以零结束,而三角窗在这些点上并不为零。

实际上,当n为奇数时,的中心(n-2)个点等效于bartett(n).
函数bartett。

该函数用于产生bartett窗。

格式为
w=Bartlett(n)
格式bartlett(n)可以得到n点Bartett窗函数。

bartett窗函数与三角函数非常类似。

当n 为奇数时,bartett(n)的中心(n-2)点等效于triang(n-2)。

相关文档
最新文档