基于MATLAB的数字滤波器的设计要点
使用MATLAB进行数字滤波器设计的步骤与方法

使用MATLAB进行数字滤波器设计的步骤与方法数字滤波器是用于信号处理的重要工具,它可以对信号进行去噪、频率调整等操作。
而MATLAB作为一种强大的数学计算软件,提供了丰富的数字信号处理工具箱,可以方便地进行数字滤波器的设计与仿真。
本文将介绍使用MATLAB进行数字滤波器设计的步骤与方法。
1. 了解数字滤波器的基本原理在进行数字滤波器设计之前,首先需要了解数字滤波器的基本原理。
数字滤波器根据其频率响应特性可以分为低通、高通、带通和带阻滤波器等。
此外,数字滤波器的设计还需要考虑滤波器的阶数、截止频率以及滤波器类型等因素。
在设计中,我们可以选择滤波器的类型和相应的参考模型,然后利用MATLAB工具箱提供的函数进行设计。
2. 导入MATLAB中的数字信号处理工具箱使用MATLAB进行数字滤波器设计需要先导入数字信号处理工具箱。
通过在MATLAB命令窗口输入`>> toolbox`即可打开工具箱窗口,并可以选择数字信号处理工具箱进行加载。
加载完成后,就可以调用其中的函数进行数字滤波器设计。
3. 设计数字滤波器在MATLAB中,常用的数字滤波器设计函数有`fir1`、`fir2`、`iirnotch`等。
这些函数可以根据系统特性需求设计相应的数字滤波器。
以FIR滤波器为例,可以使用`fir1`函数进行设计。
该函数需要输入滤波器的阶数和截止频率等参数,输出设计好的滤波器系数。
4. 评估滤波器性能设计好数字滤波器后,需要进行性能评估。
可以使用MATLAB提供的`fvtool`函数绘制滤波器的幅频响应、相频响应和群延迟等。
通过观察滤波器在频域的性能表现,可以判断设计的滤波器是否满足要求。
5. 对滤波器进行仿真在对滤波器性能进行评估之后,还可以使用MATLAB进行滤波器的仿真。
通过将需要滤波的信号输入设计好的滤波器中,观察输出信号的变化,可以验证滤波器的去噪效果和频率调整能力。
MATLAB提供了函数`filter`用于对信号进行滤波处理。
基于matlab的数字滤波器设计

基于matlab的数字滤波器设计一.概述本文重点介绍MATLAB 中用于数字滤波器设计的函数组。
MATLAB具备设计高性能滤波器的众多工具(toolbox),包括数字滤波器设计工具箱(Digital Filter Design T oolbox)、滤波系统仿真工具箱(Filter Design and Analysis Toolbox )以及信号处理工具箱(Signal Processing Toolbox),可以设计数字滤波器的结构和参数,并实现Advanced Digital Filter Design。
二.数字滤波器介绍数字滤波器,也称计算滤波器,是指利用现代计算机中的数字回授技术来进行信号处理的方法,是对计算机处理信号的一种技术。
数字滤波器是模拟滤波器组成的数字信号处理系统,是将模拟的通全在一个硬件上实现的数字信号处理系统,它的功能比模拟滤波器更加强大。
目前它们已经应用于通信、声音、镜头、图像处理、仪器仪表、数据采集等领域。
三.MATLAB 中的滤波器设计(1)首先,MATLAB中提供了丰富的函数来实现滤波器设计工作。
其中最常用的函数有:a. firpm:有限冲激响应滤波器设计,支持线性和非线性过滤器设计。
b. butter:Butterworth低通和高通滤波器设计。
c. fir1:有限冲激响应低通和高通滤波器设计。
d. cheby1:Chebyshev第一类低通和高通滤波器设计。
(2) MATLAB还可以实现进阶的数字滤波器设计,用户可以用以下函数实现自动设计是否优化的滤波器:a. fda:设计优化低通滤波器b. fda2:设计优化定带滤波器c. fda3:设计优化双带和多带滤波器d. gfd:设计优化频谱均衡滤波器四.总结数字滤波器是一种应用广泛的信号处理技术,对于一些信号处理应用有着至关重要的作用。
MATLAB 可以简便的实现滤波器设计,并可以同时考虑多个优化目标,这些特性使其成为进行数字滤波器设计的理想工具。
基于matlab的fir数字滤波器的设计

一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。
其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。
本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。
二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。
fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。
fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。
三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。
在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。
下面将分别介绍这两种设计方法的基本原理及实现步骤。
1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。
在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。
通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。
2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。
基于MATLAB的数字滤波器设计说明

第一章绪论1.1引言随着信息时代与数字技术的发展,数字信号处理己逐渐发展成为当今极其重要的学科与技术领域之一。
数字信号处理在通信、语音、图像、自动控制雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理的基本方法中,通常会涉与到变换、滤波、频谱分析、调制解调和编码解码等处理。
其中,滤波是应用非常广泛的一个环节,数字滤波器的相关理论也一直都是人们研究的重点之一。
数字滤波器是数字信号处理的重要基础,在对信号的滤波、检测与参数的估计等信号应用中,数字滤波器是使用最为广泛的一种线性系统。
数字滤波器根据其单位冲击响应函数的时域特性可分为两类:无限冲击响应(IIR)数字滤波器和有限冲击响应(FIR)数字滤波器。
与IIR数字滤波器相比,FIR数字滤波器的实现是非递归的,稳定性好,精度高;更重要的是FIR数字滤波器在满足幅度响应要求的同时,可以获得严格的线性相位。
因此,它在高保真的信号处理中,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。
1.2数字滤波器的研究背景与意义滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛的应用。
目前,数字信号滤波器的设计在图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。
它是数字信号处理理论的一部分。
数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。
具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。
数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。
关于数字滤波器,50年代已有人讨论过数字滤波器,但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。
在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长,而有的则二者兼而有之。
实验五 基于MATLAB的数字滤波器设计

实验五 基于MATLAB 的数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。
实验原理:低通滤波器的常用指标:P P j P for e G ωωδδω≤+≤≤-,1)(1πωωδω≤≤≤S S j for e G ,)(通带边缘频率:Pω,阻带边缘频率:S ω ;通带起伏:P δ,通带峰值起伏:])[1(log 2010dB p p δα--=,阻带起伏:s δ; 最小阻带衰减:])[(log 2010dB s S δα-=。
数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。
在MATLAB 中,可以用[b ,a]=butter (N,Wn )等函数辅助设计IIR 数字滤波器, 也可以用b=fir1(N,Wn,’ftype’) 等函数辅助设计FIR 数字滤波器。
实验内容:利用MATLAB 编程设计一个数字带通滤波器,指标要求如下:通带边缘频率:π65.0w π,45.0p21==p w ,通带峰值起伏:][1dB p ≤α。
阻带边缘频率:π75.0w π,3.0s21==s w ,最小阻带衰减: ][40dB S ≥α。
分别用IIR 和FIR 两种数字滤波器类型进行设计。
实验要求:给出IIR 数字滤波器参数和FIR 数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。
实验步骤:IIR 数字滤波器的幅度和相位频响曲线:程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);[b,a]=butter(N,Wn);freqz(b,a)实验结果图:(1)利用boxcar窗函数设计的FIR数字滤波器滤波器的冲激响应程序:wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);[b,a]=butter(N,Wn);[H,t]=impz(b,a);Stem(t,H)滤波器的冲激响应图:滤波器的幅度和相位频响曲线程序:wp=[0.45,0.65];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);w=boxcar(N+1);b=fir1(N,Wn,w);Freqz(b,1)滤波器的幅度和相位频响曲线图:(2)利用Hanning窗函数设计的FIR数字滤波器滤波器的冲激响应程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);[b,a]=butter(N,Wn);[H,t]=impz(b,a);Stem(t,H)滤波器的冲激响应图:滤波器的幅度和相位频响曲线程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);w=Hanning(N+1);b=fir1(N,Wn,w);Freqz(b,1)滤波器的幅度和相位频响曲线图:(3)利用Bartlett窗函数设计的FIR数字滤波器滤波器的冲激响应程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);[b,a]=butter(N,Wn);[H,t]=impz(b,a);Stem(t,H)滤波器的冲激响应图:滤波器的幅度和相位频响曲线程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);w=Bartlett(N+1);b=fir1(N,Wn,w);Freqz(b,1)滤波器的幅度和相位频响曲线图:(4)利用triang窗函数设计的FIR数字滤波器滤波器的冲激响应程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);[b,a]=butter(N,Wn);[H,t]=impz(b,a);Stem(t,H);滤波器的冲激响应图:滤波器的幅度和相位频响曲线程序:wp=[0.45,0.65];wr=[0.3,0.75];Ap=1;Ar=40;[N,Wn]=buttord(wp,wr,Ap,Ar);w=triang(N+1);b=fir1(N,Wn,w);Freqz(b,1)滤波器的幅度和相位频响曲线图:实验分析:由实验结果中的相位特性曲线可以看出,FIR滤波器可以得到严格的线性相位,而IIR滤波器做不到这一点。
如何在MATLAB中进行数字滤波器设计

如何在MATLAB中进行数字滤波器设计数字滤波器是一种常用的信号处理工具,可以用于去除噪音、滤波信号以及提取所需的频率成分。
MATLAB作为一款强大的科学计算软件,提供了丰富的工具和函数来进行数字滤波器设计。
本文将介绍如何在MATLAB中进行数字滤波器设计。
一、概述数字滤波器设计涉及两个核心问题:滤波器类型选择和滤波器参数设计。
滤波器类型选择决定了滤波器的频率响应特性,而滤波器参数设计则决定了滤波器的具体性能。
二、滤波器类型选择在MATLAB中,可以通过使用fir1、fir2、butter、cheby1、cheby2等函数来选择不同类型的滤波器。
这些函数提供了各种常见的数字滤波器设计方法,比如FIR 滤波器、IIR滤波器、Butterworth滤波器、Chebyshev滤波器等。
其中,fir1函数可以用于设计FIR滤波器,fir2函数可以用于设计FIR滤波器的频率响应,butter函数可以用于设计Butterworth滤波器,cheby1函数可以用于设计Chebyshev Type I滤波器,cheby2函数可以用于设计Chebyshev Type II滤波器。
选择滤波器类型时,需要根据具体应用需求和性能要求来进行选择。
比如,如果需要低通滤波器,可以选择fir1函数来设计FIR低通滤波器;如果需要带通滤波器,可以选择fir2函数来设计FIR带通滤波器;如果需要高阶滤波器,可以选择butter函数来设计Butterworth滤波器。
三、滤波器参数设计滤波器参数设计包括滤波器阶数、截止频率、通带衰减、阻带衰减等方面。
在MATLAB中,可以通过调整函数参数来实现滤波器参数设计。
以fir1函数为例,可以通过指定滤波器阶数和截止频率来设计FIR滤波器。
fir1函数的调用格式为:h = fir1(N, Wn)其中,N为滤波器阶数,Wn为截止频率,取值范围为0到1。
在进行滤波器参数设计时,一般需要根据具体应用需求来选择适当的阶数和截止频率。
使用MATLAB进行数字滤波器设计的注意事项

使用MATLAB进行数字滤波器设计的注意事项数字滤波器设计是数字信号处理中常见且重要的任务。
MATLAB作为一种强大的数学软件工具,被广泛应用于信号处理领域。
在使用MATLAB进行数字滤波器设计时,我们需要注意一些关键的事项。
本文将介绍一些在数字滤波器设计过程中需要注意的内容,并提供一些实用的技巧和建议。
一、了解数字滤波器设计的基本原理在使用MATLAB进行数字滤波器设计之前,我们首先需要了解数字滤波器的基本原理。
数字滤波器可以用于去除信号中的噪声、增强信号的特定频率成分等。
根据滤波器的特性不同,我们可以设计低通滤波器、高通滤波器、带通滤波器等。
了解这些基本原理对于合理选择和配置滤波器非常重要。
二、选择适合的滤波器设计方法MATLAB提供了多种数字滤波器设计方法,如FIR滤波器设计、IIR滤波器设计等。
在选择滤波器设计方法时,需要考虑到实际应用的需求和设计要求。
例如,FIR滤波器设计方法通常适用于需要线性相位响应的情况,而IIR滤波器设计方法则更适用于需要更高的滤波器阶数和更紧凑的滤波器结构。
三、进行滤波器规格说明和分析在进行数字滤波器设计之前,我们需要明确滤波器的规格说明。
这包括滤波器的通带频率、阻带频率、通带纹波、阻带衰减等。
根据这些规格说明,可以选择合适的设计参数和设计方法。
在设计过程中,需要进行分析和评估,确保设计出的滤波器满足规格要求。
四、MATLAB的滤波器设计工具箱MATLAB提供了丰富的滤波器设计工具箱,如Signal Processing Toolbox、Filter Design Toolbox等。
使用这些工具箱,可以方便地进行数字滤波器设计、分析和优化。
使用MATLAB工具箱,不仅可以减少滤波器设计的复杂度,还能提高设计的效率和精度。
五、滤波器设计过程中的常见问题及解决方法在进行数字滤波器设计过程中,常常会遇到一些问题和挑战。
例如,滤波器的阶数选择、设计参数的确定、滤波器结构的选择等。
MATLAB数字滤波器的设计

MATLAB数字滤波器的设计一、数字滤波器设计数字滤波器就是由数字乘法器、加法器和延时单位组成的一种装置。
它的作用是对输入离散信号的数字代码进行运算处理,从而达到改变信号频谱的目的。
数字滤波器可以用计算机软件实现或者大规模集成数字硬件实时实现。
在数字滤波器处理模拟信号的时候,先要对输入的模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率要大于信号带宽的两倍,它的频率响应还要具有以抽样频率为间隔的周期重复特性,并且它还要以1/2抽样频率点呈镜像对称。
数字滤波器具有高精度、高可靠性、可控制改变特性、便于集成等优点。
现在数字滤波器的使用范围比较广,例如,在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域。
数字滤波器有低通、高通、带通、带阻和全通等类型。
函数butter可用于设计Butterworth滤波器,butter函数可以设计低通、高通、带通和带阻的数字和模拟滤波器,用butter函数设计的滤波器通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。
函数chebyl可用于设计Chebyshev I型滤波器,chebyl函数可以设计低通、高通、带通和带阻的数字和模拟Chebyshev I型滤波器,用chebyl函数设计的Chebyshev I型滤波器的通带内为等波纹,它的阻带内为单调。
Chebyshev I型滤波器的下降斜度比Chebyshev II型的要大,但是Chebyshev II的代价是通带内波纹比较大。
除了典型设计以外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。
在MATLAB中设计IIR滤波器时要设计出巴特沃斯滤波器可以使用Butterworth函数,要设计契比雪夫I型滤波器时可以使用Cheby1函数,设计契比雪夫II型滤波器要使用Cheby2,而椭圆滤波器则需要ellipord函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB 的数字滤波器的设计1 引言数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散线性非时变系统,其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换或说处理的另一组数字量。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。
这里所说的数字滤波器是指理想带通,低通等的频率选择数字滤波器。
数字滤波器设计的一个重要步骤是确定一个可实现的传输函数H(z),这个确定传输函数H(z)的过程称为数字滤波器设计。
数字滤波器的一般设计过程为:(1)按照实际需要,确定滤波器的性能要求(通常在频域内给定数字滤波的性能要求)。
(2)寻找一满足预定性能要求的离散时间线性系统。
(3)用有限精度的运算实现所设计的系统。
(4)通过模拟,验证所设计的系统是否符合给定性能要求。
2 数字滤波器的设计滤波器分为两种,分别为模拟滤波器和数字滤波器。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化的过程中,使信号按预定的形式变化。
数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR )和有限长冲激响应滤波器(FIR )。
数字滤波器指标:一般来说,滤波器的幅频特性是分段常数的,以低通为例,在通带内逼近于1,阻带内逼近与0,实际设计的滤波器并非是锐截止的通带和阻带两个范围,两者之间总有一个过渡带。
在设计滤波器时事先给定幅频特性允许误差,在通带范围内幅度响应以误差1σ逼近于1,在阻带内幅度响应以误差2σ逼近于0。
πσσ≤≤≤≤≤≤-w w e H w w e H r jwc jw ,2|)(|,1|)(|11 (1)式中wc 和wr 分别为通带边界频率和阻带边界频率,wr-wc 为过渡带。
在具体的技术指标中往往用通带波动σ来表示1σ,用最小阻带衰减At 来表示2σ,其具体的对应公式这里就不详述了。
2.1 IIR 数字滤波器设计IIR DF 的冲激响应h(n)是无限长的,其输入输出的关系为:)()()(i n x i h n y i -=∑+∞-∞= (2)系统函数为∑+∞=-∞=-=n n nzn h z H )()(=∑∑=-=--nk kk mr rrz a zb 11 (3)设计无限长单位脉冲响应(IIR )数字滤波器一般可有三种方法。
第一种方法,先设计一个合适的模拟滤波器,然后将其数字话,即将S 平面映射到Z 平面得到所需的数字滤波器。
模拟滤波器的设计技巧非常成熟,不仅得到的是闭合形式的公式,而且设计系数已经表格化了。
因此,由模拟滤波器设计数字滤波器的方法准确,简便,得到普遍采用。
对于这种方法,工程上有两种常见得变换法——脉冲响应不变法及双线性变换法。
第二种方法,在Z 平面直接设计IIR 数字滤波器,给出闭合形式的公式,或者以所希望的滤波器响应作为依据,直接在Z 平面上通过多次选定极点和零点的位置,以逼近该响应。
第三种方法,利用最优化技术设计参数,选定极点和零点在Z 平面上的合适位置,在某种最优化准则意义上逼近所希望的响应。
但一般不能得到滤波器的系数(即零,极点的位置)作为给定响应的闭合形式函数表达式。
优化设计需要完成大量的迭代运算,这种设计法实际上也是IIR 滤波器的直接设计。
本文着重介绍由模拟滤波器设计相应的IIR 数字滤波器的方法。
(1)脉冲响应不变法脉冲响应不变法是使数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应()a h t ,让h(n)正好等于()a h t 的采样值。
设已有满足要求的模拟滤波器, 则可()a H s →()a h t →()()a h n h nT =→()H z{因为:()()a h t h n ≈的图形的图形}, 公式导出:具体转换如下:设(以一阶极点为例)1()Nka k kA H s s s ==-∑(4) 作拉氏反变换,得11()[()]()k Ns t a a k k h t FT H s A e u t -===∑采样得1()()()k Ns nT a k k h n h nT A e u nT ===∑作Z 变换,得1011()()1k k NNs nTnkk s T n k k A H z A eu nT ze z ∞--=====-∑∑∑(5)()H z 与()a H s 极点关系为: k s T kz e = (6)一般对应关系sTj T j T s j j z rez e re e e ωσΩσΩω=+==→=⇒,T r e T σωΩ⇒== (7)图1 S 平面到Z 平面变换示意图所以, 模拟系统稳定因果→数字系统稳定因果。
按照脉冲响应不变法,从S 平面到Z 平面的映射不是单值关系,而是先将()a H s 在S 平面沿虚轴作周期严拓,再按照映射关系将()a H s 映射到Z 平面,得到()H z ,因此,脉冲响应不变法只适用于带限的滤波器(如低通、带通)。
在Matlab 中利用M 文件impinvar 可以对模拟传输函数实行脉冲响应不变法。
(2)双线性变换法脉冲响应不变法不适带阻和高通滤波器的设计,因为高频带为通带,前述方法易引起混频。
故希望:s 平面虚轴⇔z 平面单位圆一周, 且应有:0:0Ωωπ→+∞⇔→,:0:0Ωωπ→-∞⇔→-,因为tan(/2)π±=±∞, 所以选变换tan2K ωΩ= (8)其中K 可取任意正常数, 后面将导出2/K T =.设计思路: tan 2,,,,,,p s p s p s p s K ΩωωωααΩΩαα=========>.→设计出模拟滤波器→转化成数字滤波器.图2 数字域频率与模拟域频率的对应关系 转化公式推导如下:sin(/2)tan 2cos(/2)j j jK K ωωΩω==/2/2/2/211j j j j j j e e e K K e e e ωωωωωω------==++因只关心频率转换, 故可设s j Ω=,j ze ω=, 则有1111z s K z ---=+, (称为双线性变换) (9)所以模拟滤波器转换成数字滤波器的公式为j ΩσO1ω1r =O s 平面0σ<0σ=z 平面1r <Tr e σ=ks ⨯kz⨯-10-50510-202w2 atan(w)ΩωpωpΩππ-O1111()()z a s K z H z H s ---=+= (10)由双线性变换公式, 可得11Ksz Ks+=-, 视为两复平面变换, 再由,j s j z re ωσΩ=+=.可得2222(1)()(1)()K K r K K σΩσΩ++=-+ (11)从上式可得:0σ=时,1r =, s 上虚轴⇔z 上单位圆周。
0σ<时,1r <, s 上左半平面⇔ z 上单位圆内。
0σ>时,1r >, s 上右半平面⇔z 上单位圆外。
故若模拟滤波器稳定,则双线性变换后数字滤波器也稳定。
由于双线性变换法是一种单值映射,因此消除了频率混叠的现象。
双线性变换法的缺点是模拟频率与数字频率间的非线性,这种非线性关系要求被变换的连续系统的幅度响应是分段常数型的(某一频率范围内幅度响应近似于某一常数),不然所映射出的数字频率响应相对于原来的模拟频率响应会产生变形。
为解决双线性变换中的频率非线性关系,我们采用预畸的方法,即tan2K ωΩ=,其中K=2/T 。
在Matlab 中利用M 文件bilinear 可以对模拟传输函数实行双线性变换法。
MATLAB 中IIR 数字滤波器的设计过程包括两步。
第一步,根据给定指标,确定滤波器的阶数N 和频率缩放因子Wn 。
第二步,利用这些参数和给定的波纹参数,确定传输函数的关系。
阶数估计:利用双线性变换法设计数字滤波器时,首先要对IIR 数字滤波器的阶数进行估计,相应的M 文件为:buttord 用于巴特沃斯滤波器,cheb1ord 用于切比雪夫1型滤波器,cheb2ord 用于切比雪夫2型滤波器,ellipord 用于椭圆滤波器。
滤波器的设计:对于基于双线性变换法的IIR 滤波器设计,对应于四种逼近技术(即巴特沃斯、切比雪夫1型和2型及椭圆逼近),MATLAB 工具箱中有相应的函数。
特别地可以用到下面的M 文件:butter 用于巴特沃斯滤波器的设计,cheby1用于切比雪夫1型滤波器的设计,cheby2用于切比雪夫2型滤波器的设计,ellip 用于椭圆滤波器的设计。
这些函数的输出可以是滤波器传输函数分子和分母的系数向量,也可以是滤波器的零极点向量和标量增益因子。
同时,利用zp2tf 可以由滤波器的零极点向量和标量增益因子得到传输函数分子和分母的系数向量。
相应地,利用函数zp2sos 可以得到传输函数分子和分母系数向量的二次项因子。
在计算出传输函数的系数之后,可以利用M 文件freqz 来计算频率响应。
2.2 FIR 数字滤波器设计FIR DF 的冲激响应h(n)是有限长的,M 阶FIR DF 可以表示为:∑-=-=1)()()(M i i n x i h n y (12)其系统函数为:∑-=-=1)()(M n n z n h z H (13)与IIR 数字滤波器的设计不同,FIR 滤波器的设计与模拟滤波器的设计没有任何联系。
因此,FIR 滤波器的设计基于对指定幅度响应的直接逼近,并通常要求其具有线性相位响应。
为了保证滤波器具有线性相位特性,滤波器系数必须满足条件:h(n)=±h(M-1-n)。
目前关于FIR 滤波器的设计方法主要有三种,即窗函数法,频率取样法和切比雪夫等波纹逼近的最优化设计方法。
一般应用较多的是第一种和第三种方法。
这是因为窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不严格的情况下市比较灵活的。
最优化设计法必须借助计算机计算,但是它能得到最佳的等波纹的线性相位FIR 滤波器。
目前切比雪夫等波纹的线性相位FIR 滤波器的计算机机助设计程序已经比较完善,由于采用了REMEZ 迭代算法,所以设计效率也很高,在应用中越来越占优势。
(1)窗函数法一般设计过程总是先给定一理想的滤波器频率响应)(jw d e H ,然后设计一个FIR 滤波器,用它的频率响应jwnM n jwen h e H --=∑=10)()(来逼近理想的)(jw d e H 。
这种逼近中最直接的方法,是在时域中用FIR 滤波器的单位脉冲响应h(n)去逼近理想的单位脉冲响应)(n h d 。
因而,先由)(jw d e H 的IDTFT 导出)(n h ddw e e Hn h jwn jw dd )(21)(⎰-=πππ(14)由于)(jw d e H 是矩形频率特性,故)(n h d 一定是无限长的序列,且是非因果的。