基于MATLAB的数字滤波器的设计

更新时间:2024-06-23 06:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

基于MATLAB的数字滤波器的设计

基于MATLAB的数字滤波器设计

专业:电子信息工程 班级08电子信息工程(2)班 姓名:何正雄 指导老师:王叶南

摘 要 在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方

法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。

在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。

为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。

关键字 数字滤波器,MATLAB,无线脉冲响应,有限脉冲响应,图像用户界面

I

Abstract

In the MATLAB environment IIR digital filter and FIR digital filters design method, the realization method, and graphical user interface design, to show introduced the design of filter mini features.

In the wireless impulse response (IIR) digital filter design, the design of the simulated filter first, then the simulation-digital filters conversion, which is a pulse response not political reform and bilinear Z variation method to design digital filter, the last of the filter band conversion. In finite impulse response (FIR digital) filters design, this article discusses the characteristics of linear phase FIR filter with window function and design FIR digital filters two questions. Two kinds of filter the whole process is according to the theoretical analysis, program design, collective realize steps.

For the convenience of analysis the intuitive visual, image, the analysis of the characteristics of convenient filter, innovative design the graphic user interface- -filter analysis system. The whole System is divided into two interfaces; its content mainly includes four parts: System (System), Analysis (Analysis), Tool (tools), and Help (Help).

Key word: Digital filters, MATLAB, wireless impulse response, limited impulse response, image user interface

II

目 录

第一章 绪论 ................................................................................................................. 1

1.1选题目的和意义及国内外对本课题涉及问题的研究现状 ........................... 1 1.1.1意义和目的 ............................................................................................................................. 1 1.1.2国内外的研究综述 ................................................................................................................. 1 1.3 数字滤波技术 ............................................................... 2 1.3.1滤波器原理 ............................................................................................................................. 3 1.3.2 数字滤波器设计方法概述 .................................................................................................... 4 1.3.3 IIR和FIR滤波器的比较 ...................................................................................................... 6

第二章 IIR滤波器设计及其MATLAB的实现 ............................................................ 9

2.1 模拟滤波器设计及其MATLAB实现 .............................................. 9 2.1.1 巴特沃斯滤波器设计 ........................................................................................................ 10 2.1.2 切比雪夫虑波器设计 .......................................................................................................... 16 2.1.3 椭圆滤波器设计 .................................................................................................................. 22 2.2 从模拟滤波器低通原型到各数字滤波器的频率变换 .............................. 25 2.2.1 低通变换 .............................................................................................................................. 26 2.2.2 高通变换 .............................................................................................................................. 33 2.2.3 带通变换 .............................................................................................................................. 35 2.2.4 带阻变换 .............................................................................................................................. 38

第三章 FIR滤波器设计及其MATLAB的实现 .......................................................... 41

3.1 FIR滤波器的设计 .......................................................... 41 3.2 窗口设计法 ................................................................ 42 3.2.1 矩形窗()的设计 .................................................................................................................. 47 3.2.2 汉宁(Hanning)窗的设计 .................................................................................................... 50 3.2.3 海明(Hamming)窗的设计 .................................................................................................. 52 3.2.4布莱克曼(Blackman)窗的设计 ........................................................................................... 54 3.2.5 凯塞(Kaiser)窗的设计 ....................................................................................................... 56 3.2.6 三角(triang)窗的设计......................................................................................................... 58 3.2.7本章小结所有带通滤波器的比较 ....................................................................................... 61

第四章 MATLAB软件简介 ........................................................................................... 63 结论 .............................................................................................................................. 66 致 谢 ........................................................................................................................ 67 参 考 文 献 ................................................................................................................ 69

III

第一章 绪论

1.1选题目的和意义及国内外对本课题涉及问题的研究现状

1.1.1意义和目的

长期以来,信号处理技术一直用于转化、产生数字或模拟信号,其中信号的滤波是应用的领域最为频繁的。数字滤波是图像处理、语音、谱分析和模式识别等应用中一个最为基本的处理部件,它能满足滤波器对相位特性和幅度的严格要求,避免模拟滤波器无法克服的温度漂移、电压漂移和噪声等问题。 1.1.2国内外的研究综述

数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。

数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技

1

术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。

数字滤波在通信。图像编码,语音编码,雷达等许多领域有着十分广泛的应用。目前,数字信号滤波器的设计在图像处理,数据压缩等方面的应用取得了令人瞩目的进展和成就。近年来迅速发展。

1.3 数字滤波技术

数字滤波是数字信号处理的重要基础,数字信号处理主要用研究数字或符号的序列来表示信号波形,并用数子的方式处理这些序列,把它们改变成我们所希望的形式,一边估计信号的特性参量,或消弱信号中的多余分量和增强信号中的有用分量。数字滤波器在信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一种线性系统。

数字滤波器(digital Filter,简称DF)是指完成信号滤波处理功能的、用有限精度算法实现的离散时间按线性非时变系统。数字滤波器的数学运算通常有两种实现方式。一种是频域法,就是利用FFI快速运算方法对输入的信号进行离散傅里叶变换,分析它的频谱,然后根据所希望的频谱特性进行滤波,再利用傅里叶反变换把时域信号给恢复出来,使用此方法具有很好的时域灵活性和选择特性。由于所期望的频谱特性与信号频率是简单相乘关系,因此它比计算等价的时域卷积快得多。另一种方法为时域分析法,这种方法不是对离散抽样数据作差分数学运算来达到目的的。

数字滤波器的输入是由一组数字量经过数字变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着

2

数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的重视,并且得到了广泛的发展和应用[1]。

数字信号处理这门科学的一项重大进展是关于数字滤波器的设计方法的研究。60年代中期,开始形成关于数字滤波器的一套完整的理论。在这一时期,提出了各种功能的数字滤波器结构,有的是以运算误差最小作为优势,有的是以运算速度快为见长;出现了数字滤波器的各种实现方法和逼近方法,并且还对递归和非递归着两类滤波器作了全面性的比较;很好的统一了数字滤波器的基本理论和概念,从此学者对有限冲激响应(IIR)和无限冲激响应(FIR)的认识有了完整的理论。70年代后,随着科学技术的蓬勃发展,数字信号处理运用在大规模、超大规模集成电路技术和微处理技术等新工艺技术上,并引进计算机铺助设计方法,丰富了数字滤波器的分析和设计,各种新的数字信号处理系统也都能用专用的数字硬件实施加以实现。坚信在不久的未来,随着电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能化等方向发展,包括数字滤波在内的数字信处理技术会有惊人的速度进行飞跃式发展[2]。 1.3.1滤波器原理

滤波器,它的作用是对输入信号起到滤波的作用,对于图1-1所示的LSI系统,它的时域输入输出关系为:

Y (n)=x(n)*h(n) (1-1)

3

x(n) h(n) y(n)

图1-1

如果存在y(n),x(n)的傅里叶变换,那么输入输出的频域关系为:

Y(ejw)?X(ejw)*H(ejw)

(1-2)

当输入信号x(n)通过滤波器系统h(n)后,其输出y(n)中不含有

???c的频率后,它的结果也不一样,仅使???c的信号成分通过。

所以,滤波器的形状不同,其滤波后的信号结果也不一样。 如果滤波器的输入、输出都是离散的信号,那么滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(DF,Digital Filter)。当用硬件实现一个DF时,所需元件都是延迟器、乘法器和加法器;而利用MATLAB软件时,它仅需线性卷积程序便可实现。而模拟滤波器(AF,Analog Filter)只能用硬件实现。因此DF比AF容易实现,且更容易获得理想的滤波性能。数字滤波器还具有以下优点:精度和稳定性高;系统函数容易改变;灵活性高;不岑在阻抗匹配;便于大规模集成电路;可实现多维滤波[3]。 1.3.2 数字滤波器设计方法概述

数字滤波器从其功能上可以分为以下几类:低通滤波器(LP,Low Pass)、高通滤波器(HP,High Pass)带通滤波器(BP,Band Pass)、带阻滤波器(BS,Band Stop)[4]。

从单位脉冲响应分类:如同模拟滤波器的性能可由g(t)和G(t)来

4

表示一样,数字滤波器的性能取决于H(n)和H(z)。因此,数字滤波器可以按照单位取样响应(或称脉冲响应,冲激响应)h(n)的性质分为两类:有限脉冲响应(Finite Impulse Response)数字滤波器,简称FIR数字滤波器,它的H(n)序列长度为有限的;无限脉冲响应(Infinite impulse response)数字滤波器,简称IIR数字滤波器,它的H(n)序列长度为有无限的,即当n→∞时,H(n)还有效。

数字滤波器的设计与实现,一般按下面的步骤进行: ①.根据不同用途提出数字滤波器的技术指标和性能要求。 ②.涉及一个稳定的、因果的数学模型H(z)来逼近所要求的的技术指标,并用有限精度的运算时线索涉及的系统。本文将重点介绍此步骤。

③.设计专用的数字硬件来实现这个数字模型,或者通过电子计算运行程序予以实现,本文将侧重于软件的实现[5]。

IIR滤波器和FIR滤波器的设计很不相同:IIR滤波器设计的方法有两种,常用一种设计方法是借助模拟滤波器的设计方法进行的。它的设计思路为如下:首先用模拟滤波器设计得到传输函数G(s),然后用一定的方法将G(s)转换为数字滤波器的系统函数H(z)。这种基于模拟滤波器的设计比较成熟,这种设计思路不但拥有完美的设计公式,而且还有完美的图标查阅,更能直接调用MATLAB中的对应的函数来进行设计。另一种是直接在频域或时域中进行设计,设计时必须用计算机铺助,直接调用MATLAB中的程序或函数即可设计[6] [7]。 FIR滤波器不能采用由模拟滤波器设计进行转换的方法而经常使

5

用的是窗口函数和频率采样法。也可以借助计算机铺助设计软件采用切比雪夫等波纹逼近法进行设计。 1.3.3 IIR和FIR滤波器的比较

①.选择数字滤波器是必须考虑经济问题,通常将硬件的复杂性、芯片的面积或计算速度等作为衡量经济问题的因素。在相同的技术指标要求下,由于IIR数字滤波器存在输出对输入的反馈,因此可以用较少的阶数来满足要求,所用的存储单元少,运算次数少,较为经济。例如,用频率抽样法设计一个阻带衰减为20dB的FIR数字滤波器,要33阶才能达到要求,而用双线性变换法只需4~5阶的切比雪夫IIR滤波器就可达到同样的技术指标。这就是说FIR滤波器的阶数要高5~10倍左右。

②.在大多数情况下,FIR数字滤波器的线性相位与它的高阶数带来的额外成本相比是非常值得的。对于IIR滤波器,选择性越好,它的相位的非线性也就越严重。如果要使IIR滤波器获得线性相位,又能达到幅度滤波器的技术要求,必须对相位进行加全通网络校正,这同样将大大增加滤波器的阶数。就这一点来看,FIR滤波器优于IIR滤波器。

③.FIR滤波器的结构是非递归的,这是因为不管是理论上还是实际的有限精度运算中它都是稳定的,也有误差较小的精度运算。IIR滤波器的结构是采用递归的,这是由于在z平面单位圆内的极点才是稳定。对于这种结构,运算中的舍入处理有时会引起寄生振荡。

④.在FIR滤波器中,因为冲激响应为有限长的,所以使用快速

6

傅里叶变换算法,这样在运算时就快得多。而IIR滤波器就不能使用快速傅里叶变换算法进行运算。

⑤.从设计分析,模拟滤波器可以为IIR滤波器的设计提供现成的闭合公式、数据和表格,可以用完整的设计公式来设计各种选频滤波器。一旦选定了已知的一种逼近方法(如巴特奥兹,切比雪夫等),就可以直接把技术指标带入一组设计方程计算出滤波器的阶次和系统函数的系数(或极点和零点)。FIR滤波器就没有提供现成的设计公式。窗函数法只是提供了窗函数的计算公式,但是在计算通带和阻带的衰减表达式是仍然无法显示的。一般借助于计算机的程序可资利用来进行FIR滤波器的设计。

⑥.IIR滤波器主要是设计标准的低通、高通、带通和带阻滤波器规格化、频率特性为分段常数。FIR滤波器就显得灵活许多,比如频率抽样法就能适应各种相位特性和幅度特性的要求。因此可以用FIR滤波器设计出理想微分器、理想正交变换器、线性调频器等各种网络,适应性很广。而且,目前已经有很多计算机的程序可供FIR滤波器使用。

7

表1-1 两种滤波器特点比较分析

设计方法 设计结果 结构 阶数 结构 运算误差 FIR滤波器 IIR滤波器 一般无解析的设计公式,要借助利用AF的成果,可简单、有效地计算机程序完成 完成设计 只能得到幅频特性,相频特性未可得到幅频特性(可以多带)和知,如需要线性相位,须用全通线性相位(最大优点) 网络校准,但增加滤波器阶数和复杂性 极点全部在原点(永远稳定)无有稳定性问题 稳定性问题 高 低 非递归系统 递归系统 有反馈,由于运算中的四舍五入一般无反馈,运算误差小 会产生极限环

接下来的两章将分别对IIR数字滤波器和FIR数字滤波器的设计实现进行分析讨论。在具体的设计过程中,将充分发挥利用MATLAB其强大的功能对数字滤器的仿真。

8

第二章 IIR滤波器设计及其MATLAB的实现

IIR数字滤波器具有无限持续时间脉冲响应,而所有的模拟滤波器一般都具有无限长的脉冲响应,因此IIR数字滤波器与模拟滤波器是相匹配的。因此IIR数字滤波器的设计可以先通过设计模拟低通滤波器H(s),然后按一定规则将H(s)进行滤波器变换为数字域的IIR低通滤波器G(z),最后通过频带变换转换成其它频带滤波器。本章按此思路将IIR数字滤波器设计分为三部分:设计模拟滤波器;进行滤波器转换,得到数字滤波器;最后再简单分析数字滤波器的频带转换问题。下面,将以此进行分别讨论。

2.1 模拟滤波器设计及其MATLAB实现

IIR的设计流程图:

模拟低通滤波器设计 模拟地通变高通、带通等 模拟滤波器变换为数字滤波器 IIR滤波器 模拟低通滤波器设计 模拟滤波器变换为数字滤波器 数字低通变换为高通、带通等 IIR滤波器

IIR数字滤波器技术最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表可供查询,因此充分利用这些已有的资源将会给数字滤波器的设计带来很大的方便。滤波器设计最重要的是寻找一个稳定、因果的系统函数去逼近滤波器的技术指标,因此模拟滤波器的设计十分重要。实际中,有三种广泛应用的滤波器,即

9

巴特沃斯低通滤波器、切比雪夫低通滤波器和椭圆低通滤波器。而高通、带通、带阻等滤波器则可以利用变量变换,可以由低通滤波器转换得到。下面,将分别予以介绍[12]。 2.1.1 巴特沃斯滤波器设计

巴特沃斯滤波器的特点是:它的频率响应是最平滑的,频率响应在截止频率以外为单调下降。理想的单位响应是在带通中产生的,在阻带中相应等于零,在截止频率处的衰减点为3dB。巴特沃斯滤波的另外一个优点是过渡带的陡峭程度正比于滤波器的阶数,因此频率响应近似于理想低通滤波器可以设计高阶巴特沃斯滤波器 [1]。

巴特沃斯滤波器的幅度平方函数可以写成:

A(?2)?Ha(j?)?21?j??1???j?c??2N (2-1)

式中,N为整数,称为滤波器的阶数,N的值越大,带通和阻带的近似性越好,过渡带也越陡,因为函数表达式分母带有高阶项,在带通内Ω/Ωc<1则??/?c?2N非常小而是函数A(?2)接近于1,然而在过渡带和阻带内Ω/Ωc>1,??/?c?2N则远大于1,从而使函数值骤然下降,如图2-1所示。在边界频率Ωc处,幅度平方等于之流的1/2。这相当于幅度相应的

12或3dB衰减点。可以证明:理想幅度响应及

其逼近响应的差值,与在Ω=0处的函数导数等于0的阶数有关,应尽量使导数等于0的阶次数高一些。因此当阶次数N增加时,在通带内的响应变得更为平坦,在阻带内衰减将更大。而在过度带内,阶次

10

为N的巴特沃斯滤波器的幅度响应趋于斜率的-6ndB/倍频程的渐近线[13]。

图2-1巴特沃斯滤波器振幅平方特性 图2-1描述:

通带: 使信号通过的频带 阻带:抑制噪声通过的频带

过渡带:通带到阻带间过渡的频率范围 Ωc :截止频率。

?过渡带为零??阻带H(j?)?0理想滤波器?

通带内幅度H(j?)?cons??H(j?)的相位是线性的?图2-1中,N增加,通带和阻带的近似性越好,过渡带越陡。 通带内,分母Ω/Ωc<1, ??/?c?2N<1,A(Ω2)→1。过渡带和阻带,

2NΩ/Ωc>1,??/?c?>1, Ω增加,A(?2)快速减小。Ω=Ωc,

21A(?c)1?,幅度衰减,相当于3dB衰减点。 A(?)?,

2A(0)22振幅平方函数的极点

11

Ha(?S)?Ha(S)?1?(1S2N)j?c (2-2)

可见,Butter worth滤波器 的振幅平方函数有2N个极点,它们均匀对称地分布在|S|=Ωc的圆周上。

图2-2为N=3的巴特沃斯滤波器的幅度平方函数的极点分布。 从系统的稳定性分析可知,巴特沃斯滤波器的系统函数是由S平面左半部分的极点(SP3,SP4,SP5)组成的,它们分别为:

Sp3??ce2j?3,Sp4???c,Sp5??ce2?j?3 (2-3)

系统函数为:

?3c Ha(s)?(S?Sp3)(S?Sp4)(S?Sp5)(2-4)

图2-2三阶A(?s2)的极点分布

分子的?3c使得s=0时如果令?c=1,便得归一化的三阶巴特沃斯滤低通波器:

Ha(s)?1S3?2S2?2S?1 (2-5)

令s=s?,则上式变成为原来的的式子:

c

Ha(s)?1

(s/?c)3?2(s/?c)2?2(s/?c)?112

(2-6)

用MATLAB对巴特沃斯低通模拟滤低通波器仿真的编程程序如

下:其调用的格式为:[z,p,k]=buttap(N)其中,z表示零点,p表示极点,

k表示增益,N表示阶次。

%巴特沃斯低通模拟滤波器 n=0:0.01:2; %设定频率点

for i=1:4; %定义循环,产生不同阶数的曲线 switch i case 1 N=2; case 2 N=5; case 3 N=10; case 4 N=20; end

[z,p,k]=buttap(N); %调用Butterworth模拟低通原型的函数 [b,a]=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数的形式

[H,w]=freqs(b,a,n); %按n制定的频率点给频率响应 magH2=(abs(H)).^2; %函数abs—取模值函数 hold on

%函数hold—控制是否保持当前图形

13

plot(w,magH2) axis([0 2 0 1]); end

xlabel('w/wc'); ylabel('|H(jw)|^2');

%函数plot—画二维线性图

%函数axis—控制坐标轴比例和外观

title('巴特沃斯低通模拟滤波器'); grid on

仿真出来巴特沃斯低通模拟滤波器的平方幅度响应曲线如图所示:

图2-3 巴特沃斯滤波器的幅频特性(基于MATLAB实现) 由图2-3可清晰的分析出,巴特沃斯滤波器拥有平滑的频率响应,在截止频率以外,频率响应单调下降。其过渡带的峭陡程度正比于滤波器的阶数,高阶巴特沃斯滤波器和N=20阶滤波器的平方幅度响应进行比较后,证明了高阶巴特沃斯滤波器有更好的幅度特性,更接近理想低通滤波器

用MATLAB对巴特沃斯低通模拟滤低通波器仿真的编程程序如

14

下:其调用的格式为:[z,p,k]=buttap(N)其中,z表示零点,p表示极点,k表示增益,N表示阶次。

MATALAB的编程程序: %巴特沃斯高通模拟滤波器 n=0:1:5000; %设定频率点

for i=1:4; %定义循环,产生不同阶数的曲线 switch i case 1 N=2; case 2 N=5; case 3 N=10; case 4 N=20; end

[z,p,k]=buttap(N); %调用Butterworth模拟低通原型的函数 [b,a]=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数的形式

[bt,at]=lp2hp(b,a,200*2*pi); %又低通原型滤波器转换为截止频率为200Hz的高通滤波器

[Ht,w]=freqs(bt,at,n);

15

subplot(2,1,2); hold on; plot(w,abs(Ht)); end

xlabel('w/pi'); ylabel('|H(jw)|^2');

title('巴特沃斯高通模拟滤波器');

仿真出的巴特沃斯高通模拟滤波器的平方幅度响应曲线如图2-4所示:

图2-3 巴特沃斯滤波器的幅频特性(基于MATLAB实现)

对图2-3的结果进行分析:由图的模拟高通滤波器幅度平方函数曲线可得到随着阶数N的增大曲线的过度带逐渐变窄,滤波器的性能越接近直角矩形特性,滤波效也就越好。 2.1.2 切比雪夫虑波器设计

切比雪夫低波器的显著特点是,其逼近误差峰值在一个规定的频段上为最小,实际上误差值在规定的频段上是等波纹的,既误差之等

16

幅的在极大值和极小值之间摆动。

切比雪夫低波器的幅度平方函数为:

A(?2)?Ha(j?)?21 221??VN(??c)

式中,?c为有效通带边界频率,?为小于1的正数,是与通带波纹有关的参量,?值愈大通带波动愈大;VN(x)是N介切比雪夫多项式

VN(x)?cos(Narcosx)x?1cosh(Narcoshx)x?1 (2-7)

由(2-7)上式可知,当x?1时,VN(x)?1;在x?1的区间内VN(x)随着x而单调递增加,所以,在x?1间隔内,1+?2VN2(x)的值将在1与

1??2之间变化。x?1即为??c?1,也就是在通带范围内,此时的Ha(j?)在1与

21之间波动。在x?1时,也就是说???c时,随着1??222??c的增大Ha(j?)迅速趋于0。由下2-4看出N为偶数是Ha(j?)在

?=0处的值为

12H(j?),是带通内的最小值;N为奇数是在?=0a21??处的值为1,是最大值。

11 ?1??2cos[Narccos(0)]1??2cos2(N??)2?2N为奇数,Ha(j?)??0?1,cos2(N?)?0 (max), (2-8)

21?22cos(N?)?1 (min), N为偶数,Ha(j?)??0?, (2-9)

1??22当N为0时,Ha(j?)??0?2

图2-4切比雪夫滤波器的振幅平方特性

17

有关参数的确定:

?c是通带边界频率,一般是预先给定的。ε是与通带波动有关的

一个参数,通带波动δ 表示成

??20lgHa(j?)maxHa(j?)min?20lg111??2 (2-10)

??10lg(1??2) (2-11)

?(dB)后,可求?。 给定通带波纹值分贝数

???r时,Ha(j?)?21 2A (2-12)

阶数N—由阻带的边界条件确定。(?r,A事先给定)

???r时,Ha(j?)?1???1??2VN2?r???c??212 A (2-13) (2-14)

1 A2

1???1??2VN2?r???c??1 A2 (2-15)

x?1时, VN(x)?cosh(Narcoshx)

(2-16)

arcosh(A2?1/?得 N? (2-17)

arcosh(?r/?c)因此,要求阻带的边,界频率处的衰减越大,也就是过渡带内幅频特性越陡,则需要用的阶数N越高。N,?c,ε给定后,就可以求得滤波器系统函数Ha(s),MATLAB等设计软件均提供了切比雪夫低通滤波器的设计函数。下面是用MATLAB对切比雪夫低通滤波器Ⅰ型Ⅱ型

18

的仿真,其调用格式为:[z,p,k]=cheb1ap(N,Rp)和[z,p,k]=cheb2ap(N,Rs)

其中,z表示零点,p表示极点,k表示增益,N表示阶次,Rp表示通带波纹(dB),Rs表示为阻带波纹(dB)。

MATLAB编程程序

%切比雪夫Ⅰ型低通模拟滤波器 n=0:0.01:2; for i=1:2 switch i case 1 N=7; case 2 N=8; end

Rp=1; %通带波纹系数为1dB

[z,p,k]=cheb1ap(N,Rp);%函数cheb1--设计切比雪夫Ⅰ型低通滤波器

[a,b]=zp2tf(z,p,k);

[H,w]=freqs(a,b,n);%函数freqs--求解模拟滤波器频率响应 magH2=(abs(H)).^2; %绘制出图形 hold on plot(w,magH2) axis([0 2 0 1]);

19

end

xlabel('w/wc'); ylabel('|H(jw)|^2');

title('切比雪夫Ⅰ型低通滤波器'); grid on 仿真出来的结果

图2-5切比雪夫Ⅰ型低通模拟滤波器的幅频特性 切比雪夫Ⅱ型低通模拟滤波器的MATLAB的编程代码: %切比雪夫Ⅱ型低通模拟滤波器 n=0:0.01:2; for i=1:2 switch i case 1 N=7; case 2 N=8; end

20

Rs=10; %阻带波纹系数为10dB

[z,p,k]=cheb2ap(N,Rs);%函数cheb2--设计切比雪夫Ⅱ型低通滤波器

[a,b]=zp2tf(z,p,k);

[H,w]=freqs(a,b,n);%函数freqs--求解模拟滤波器频率响应 magH2=(abs(H)).^2; %绘制出图形 hold on plot(w,magH2) axis([0 2 0 1.2]); end

xlabel('w/wc'); ylabel('|H(jw)|^2');

title('切比雪夫Ⅱ型低通滤波器'); grid on

仿真出来的结果如下图所示:

图2-6切比雪夫Ⅱ型低通模拟滤波器的幅频特性 由图2-5,2-6分析出:切比雪夫低通滤波器有效地将技术指标的

21

所以H(s)和H(z)的关系为:

H(z)z?esT1?T?H(s?jk?) (2-22)

sk????式(2-22)是将模拟滤波器的系统函数H(s)作周期延拓,在经过式(2-21)的映射变换,映射到Z平面上,从而得到数字滤波器的系统函数H(z)。数字和模拟频率满足:???T的关系。经过z?esT的映射,s平面的左半平面映射为Z平面的单位圆内,因此,一个模拟滤波器的稳定性和因果性经过映射可以得到数字滤波器的稳定性和因果性。

经上面的分析,通过模拟滤波器的系统传递函数G(s)可求得数字滤波器系统传递函数H(z),它的设计具体步骤可以归纳如下:

a.利用???T,使数字滤波的指标?p和?s转换为模拟滤波器指标

?p和?s。

b.根据指标?p和?s来设计模拟滤波H(s)。

c.通过使用部分分式展开法,把H(s)展开为H(s)??d.最后把模拟的极点Pk转换为数字的极点eNAk(2-23) s?Pk?1kNSkT,得到

Ak H(z)??SkT?1 (2-24) Zk?11?e根据上面的理论,在MATLAB环境下用函数实现脉冲响应不变法设计数字低通滤波器。其函数为[bz,az]=impinvar(b,a,T),其中,b表示数字滤波器自变量为Z?1的分子多项式,a表示数字滤波器自变的量Z?1的分母多项式, T表示采样变换参量。

低通,采样频率为 1Hz,通带临界频率 fp =0.2Hz,通带内衰减

27

小于1dB(αp=1);阻带临界频率 fs=0.3Hz,阻带内衰减大于 25dB(αs=25)。设计一个数字滤波器满足以上参数。

FS=1

[n,Wn]=buttord(0.2*2*pi,0.3*2*pi,1,25,'s'); %临界频率采用角频率表示

[b,a]=butter(n,Wn,'s'); %freqs(b,a) %设计模拟的

[bz,az]=impinvar(b,a,FS); %映射为数字的 freqz(bz,az,512,FS) 仿真的结果图:

图 2-12 脉冲响应不变法频率响应(基于MATLAB实现) 对图2-12 分析,脉冲响应不变法的优点:①是频率坐标实线性的即???T,②数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,时域逼近好。缺点:若抽样频率不高或其他原因将产生混叠失真,不能重现原来的模拟滤波器频率响应。故,脉冲响应不变法不适合带通、低通、高通、带阻等滤波器的设计。

28

2.双线性变换法

采用双线性不变法可以克服脉冲响应不变法产生频率响应的混叠失真,是因为双线性变换法的s平面与z平面是一一映射的关系,消除了多值变换性如下图2-13所示:

图 2-13 双线性变换法的映射关系

为了将S平面的j?轴压缩到s1平面j?1轴上的??/T到?/T一段上,可以通过正切变换实现:

??T???c.tan?1? (2-25)

?2?C为任意常数。令z得z??es1T21?z?1,c为2/T,得s?同样对z求解?1T1?z1?(T2)s这样的变换称为双线性变换,在MATLAB环境下用函

1?(T2)s数对双线性变换的实现如下。

①双线性变换实现 ButterWorth 低通 编程代码: %采样频率 10Hz,通带截止频率 fp=3Hz,阻带截止频率 fs=4Hz

%通带衰减小于 1dB,阻带衰减大于 20dB。

%使用双线性变换法由模拟滤波器原型设计数字滤波器 T=0.1; FS=1/T;

29

fp=3;fs=4; wp=fp/FS*2*pi; ws=fs/FS*2*pi; Rp = 1; %通带衰减 As = 20; %阻带衰减 % 频率预畸

OmegaP = (2/T)*tan(wp/2); % Prewarp Prototype Passband freq OmegaS = (2/T)*tan(ws/2); % Prewarp Prototype Stopband freq %设计 butterworth 低通滤波器原型

N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS)));

OmegaC = OmegaP/((10^(Rp/10)-1)^(1/(2*N))); [z,p,k] = buttap(N); %获取零极点参数 p = p*OmegaC; k = k*OmegaC^N; B = real(poly(z)); b0 = k; cs = k*B; ds = real(poly(p)); % 双线性变换

[b,a] = bilinear(cs,ds,FS); % 绘制结果

30

freqz(b,a,512,FS); 仿真出来的结果图如2-13

图 2-13双线性变换实现 ButterWorth 低通 ②双线性变换法实现 Chebyshev 低通(I 型)

采样频率为10Hz,设计一个数字低通滤波器,要求其通带临界频率 fp= 3Hz ,通带αp= 1dB ,阻带临界频率fs= 4Hz ,阻带内衰减大于 15dB

程序代码: T=0.1; FS=1/T; fp=3;fs=4; Rp = 1; As = 15; % 频率预畸 wp=fp/FS*2*pi; ws=fs/FS*2*pi; OmegaP = (2/T)*tan(wp/2);

31

OmegaS = (2/T)*tan(ws/2);

%设计 Chebyshev 低通滤波器原型 ep = sqrt(10^(Rp/10)-1); A = 10^(As/20); OmegaC = OmegaP; OmegaR = OmegaS/OmegaP; g = sqrt(A*A-1)/ep;

N=ceil(log10(g+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR-1)));

[z,p,k] = cheb1ap(N,Rp); a = real(poly(p)); aNn = a(N+1); p = p*OmegaC; a = real(poly(p)); aNu = a(N+1); k = k*aNu/aNn; b0 = k;

B = real(poly(z)); b = k*B; % 双线性变换

[bz,az] = bilinear(b,a,FS); % 绘制结果

32

%获取零极点参数

%freqz(bz,az,200,FS,'whole'); H=freqz(bz,az,200,'whole'); plot(abs(H));

图2-14双线性变换法实现 Chebyshev低通(I 型) [1]

2.2.2 高通变换

有模拟低通滤波器至模拟高通滤波器的变换就是s变量的倒量变

21?z?1换。将这个关系用于高通滤波器的设计,只要将式子s?双线

T1?z?1性变换中的s用其倒数1/s代替,就可以得到数字高通滤波器,即

T1?z?1s?

21?z?1 (2-26)

由于倒量的变换没有改变模拟滤波器的稳定条件,因此,也不会

j?影响双线性变换后的稳定条件。令s?j?,z?e,代入(2-26)中,

可得

T?T??.cot(?/2) (2-27) ??.cot(?/2) 或

22 33

在MATLAB环境下用函数对用双线性变换法设计一个ChebyshevⅡ高通滤波器的实现如下:

s=2*pi*1kHz,Wp=2*pi*1.4kHz,在Ws处的最小衰减为15dB,在Wp处的最大衰减不超过0.3dB,抽样频率为20kHz[1]。

编程代码:

ws=2*pi*1000; ws1=ws*2*pi; wp=2*pi*1400; wp1=wp*2*pi; rp=0.3; rs=15; fs=20000;

[N,Wn]=cheb2ord(wp1,ws1,rp,rs,'s'); [z,p,k]=cheb2ap(N,rs); [A,B,C,D]=zp2ss(z,p,k);

[At,Bt,Ct,Dt]=lp2hp(A,B,C,D,Wn); [At1,Bt1,Ct1,Dt1]=bilinear(At,Bt,Ct,Dt,fs); [num,den]=ss2tf(At1,Bt1,Ct1,Dt1); freqz(num,den); [H,W]=freqz(num,den); plot(W*fs/(2*pi),abs(H)); grid;

34

xlabel('频率/Hz'); ylabel('幅值');

图2-15 ChebyshevⅡ高通滤波器的频率响应(基于MATLAB实现) 由图看出模拟滤波器在Ω趋于无穷处的三阶零点通过高通变换后出现在w=0(z=1)处,这正是高通滤波器所希望的。 2.2.3 带通变换

在已知模拟低通滤波器的系统函数G(s),则模拟低通滤波器s平面到数字带通滤波器的Z平面的变换公式:

1?2z?1coa?0?1 (2-28)s?2z?1令s?j?,z?ej? 代入(2-28),可得:

??cos?0?cos?

sin? (2-29)

在设计带通时,通过给定的上下边界频率?1和?2代入(2-29)式中就能得到

?1?cos?0?cos?1cos?0?cos?2 和 ?2?

sin?1sin?2 35

由于?1和?2是一对镜像频率即:?1=-?2将此关系式代入上面的两个等式可得

cos?0?sin(?1??2) (2-30)

sin?1?sin?2通过(2-30)式可以求得模拟低通边界?c:

?c?cos?0?cos?1sin?1 (2-31)

根据上式,将数字带通滤波器中所给出的边界频率映射到低通模拟滤波器的边界频率作为设计的指标设计的低通模拟滤波器,再通过(2-28)式,就能得出特定滤波器要求的数字带通滤波器。

下面在MATLAB环境下用函数对带通数字滤波器的仿真实现: 编程代码:

%采样频率 100Hz,Wpl=20Hz,Wph=30Hz,Wsl=15Hz,Wsh=35Hz,

% 频率/采样频率*2*pi

%Wpl=0.4*pi,Wph=0.6*pi,Wsl=0.2*pi,Wsh=0.8*pi, %Rp=1;As=20

T = 1; Fs = 1/T; % Set T=1 %T=2;

Wpl=tan(0.4/2/Fs*pi); Wph=tan(0.6/2/Fs*pi); Wsl=tan(0.3/2/Fs*pi); Wsh=tan(0.7/2/Fs*pi);

36

本文来源:https://www.bwwdw.com/article/6k23.html

Top