数字滤波器设计
基于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数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。
数字信号处理第五章-IIR数字滤波器的设计

2、由模平方函数确定系统函数
模拟滤波器幅度响应常用幅度平方函数表示:
| H ( j) |2 H ( j)H *( j)
由于冲击响应h(t)为实函数,H ( j) H *( j)
| H ( j) |2 H ( j)H ( j) H (s)H (s) |s j
H (s)是模拟滤波器的系统函数,是s的有理分式;
分别对应:通带波纹和阻带衰减(阻带波纹)
(4种函数)
只介绍前两种
31
32
33
无论N多大,所 有特性曲线均通 过该点
特性曲线单调减小,N越大,减小越慢 阻
特性曲线单调减小,N越大,减小越快
34
20Nlog2:频率增加一倍,衰减6NdB
35
另外:
36
无论N多大,所 有特性曲线均通 过Ωc点: 衰减3dB, Ωc 为 3dB带宽
8
根据
(线性相位滤波器)
非线性相位滤波器
9
问题:
理想滤波器的幅度特性中,频带之间存 在突变,单位冲击响应是非因果的;
只能用逼近的方法来尽量接近实际的要 求。
滤波器的性能要求以频率响应的幅度特 性的允许误差来表征,如下图:
10
p
11
低通滤波器的频率响应包括:
通带:在通带内,以幅度响应的误差δp逼近 于1;
20
3、数字滤波器设计的基本方法
利用模拟理论进行设计 先按照给定的技术指标设计出模拟滤波 器的系统函数H(s),然后经过一定的变 换得到数字滤波器的系统函数H(z),这实 际上是S平面到Z平面的映射过程: 从时域出发,脉冲响应不变法 从频域出发,双线性变换法 适合于设计幅度特性较规则的滤波器, 如低通、高通等。
由于系统稳定, H(s)的极点一定落在s的左半 平面,所以左半平面的极点一定属于H(s),右 半平面的极点一定属于H(-s)。
实验四FIR数字滤波器的设计

实验四FIR数字滤波器的设计
FIR数字滤波器也称作有限脉冲响应数字滤波器,是一种常见的数字滤波器设计方法。
在设计FIR数字滤波器时,需要确定滤波器的阶数、滤波器的类型(低通、高通、带通、带阻)以及滤波器的参数(截止频率、通带波纹、阻带衰减、过渡带宽等)。
下面是FIR数字滤波器的设计步骤:
1.确定滤波器的阶数。
阶数决定了滤波器的复杂度,一般情况下,阶数越高,滤波器的性能越好,但计算量也越大。
阶数的选择需要根据实际应用来进行权衡。
2.确定滤波器的类型。
根据实际需求,选择低通、高通、带通或带阻滤波器。
低通滤波器用于去除高频噪声,高通滤波器用于去除低频噪声,带通滤波器用于保留一定范围内的频率信号,带阻滤波器用于去除一定范围内的频率信号。
3.确定滤波器的参数。
根据实际需求,确定滤波器的截止频率、通带波纹、阻带衰减和过渡带宽等参数。
这些参数决定了滤波器的性能。
4.设计滤波器的频率响应。
使用窗函数、最小二乘法等方法,根据滤波器的参数来设计滤波器的频率响应。
5.将频率响应转换为滤波器的系数。
根据设计的频率响应,使用逆快速傅里叶变换(IFFT)等方法将频率响应转换为滤波器的系数。
6.实现滤波器。
将滤波器的系数应用到数字信号中,实现滤波操作。
7.优化滤波器性能。
根据需要,可以对滤波器进行进一步优化,如调整滤波器的阶数、参数等,以达到较好的滤波效果。
以上是FIR数字滤波器的设计步骤,根据实际需求进行相应的调整,可以得到理想的滤波器。
如何设计和实现电子电路的数字滤波器

如何设计和实现电子电路的数字滤波器数字滤波器是电子电路设计中常用的一种模块,它可以去除信号中的不需要的频率分量,同时保留所需的信号频率。
本文将介绍数字滤波器的设计和实现方法。
一、数字滤波器的基本原理数字滤波器可以分为两大类:无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。
IIR滤波器的特点是具有无限长的脉冲响应,可以实现更为复杂的滤波功能;而FIR滤波器的脉冲响应是有限长的,适用于对频率响应要求较为严格的应用场景。
数字滤波器的设计思路是将模拟信号进行采样并转换为离散信号,然后利用差分方程实现各种滤波算法,最后将离散信号再次还原为模拟信号。
常见的离散滤波器有低通、高通、带通和带阻四种类型,根据不同的滤波需求选择合适的类型。
二、数字滤波器的设计步骤1. 确定滤波器类型和滤波需求:根据要滤除或保留的频率范围选择滤波器类型,确定截止频率和带宽等参数。
2. 选择合适的滤波器结构:基于具体需求,选择IIR滤波器还是FIR滤波器。
IIR滤波器通常具有较高的性能和更复杂的结构,而FIR滤波器则适用于对相位响应有严格要求的场景。
3. 设计滤波器的差分方程:根据所选滤波器结构,建立差分方程,包括滤波器阶数、系数等参数。
4. 系统状态空间方程:根据差分方程建立系统状态空间方程,包括状态方程和输出方程。
5. 计算滤波器的系数:根据差分方程或系统状态空间方程,计算滤波器的系数。
可以使用Matlab等专业软件进行系数计算。
6. 系统实现和验证:根据计算得到的系数,使用模拟或数字电路实现滤波器。
通过测试和验证,确保滤波器的性能符合设计要求。
三、数字滤波器的实现方法1. IIR滤波器实现方法:IIR滤波器可以通过模拟滤波器转换实现。
首先,将连续系统的模拟滤波器转换为离散滤波器,这一步通常使用差分方程实现。
然后,利用模拟滤波器设计的频响特性和幅频特性,选择合适的数字滤波器结构。
最后,通过转换函数将连续系统的模拟滤波器转换为数字滤波器。
数字滤波器设计例题

数字滤波器设计例题数字滤波器在信号处理中扮演着至关重要的角色,它可以帮助我们对信号进行去噪、平滑、甚至提取感兴趣的特征。
设计一个高效的数字滤波器需要考虑到信号的特性以及滤波器的性能指标,同时根据具体需求来选择合适的滤波器类型和参数设置。
假设我们有一个包含噪声的输入信号,需要设计一个数字滤波器对这个信号进行去噪处理。
首先,我们需要明确信号在频域上的特性以及希望保留的频率成分。
根据这些信息,可以选择合适的滤波器类型,比如低通滤波器、高通滤波器或带阻/带通滤波器。
接下来,我们需要确定滤波器的性能指标,比如通带波动、阻带衰减、群延迟等。
这些指标将直接影响到滤波器在时域和频域上的表现,因此需要在设计过程中加以考虑。
在选择好滤波器类型和设置性能指标后,接下来是设计滤波器的具体参数,比如滤波器的阶数、截止频率等。
这些参数的选择需要综合考虑信号的特性以及滤波器的实际应用场景,以达到最佳的滤波效果。
设计完成后,需要对滤波器进行验证和性能评估。
可以通过仿真工具进行频域和时域分析,检查滤波器在不同频率下的响应情况,并根据性能指标来评估滤波器的效果。
最后,将设计好的数字滤波器应用到输入信号上,观察滤波后的信号效果,是否达到了预期的去噪效果。
如果需要进一步优化,可以针对具体情况进行参数调整和重新设计。
数字滤波器设计是一个复杂而又充满挑战的任务,需要不断地学习和实践才能设计出高效的滤波器。
通过合理的设计流程和严密的性能评估,我们可以为信号处理提供更加可靠和有效的解决方案。
希望以上内容可以帮助您更好地理解数字滤波器的设计原理和方法,同时也启发您在实际项目中进行数字滤波器的设计和应用。
祝愿您在文库项目中取得更多的进展和成就!1。
fir数字滤波器的设计指标

fir数字滤波器的设计指标FIR数字滤波器的设计指标主要包括以下几个方面:1. 频率响应:FIR数字滤波器的频率响应是指滤波器对不同频率信号的响应程度。
设计时需要根据应用场景确定频率响应特性,例如低通、高通、带通等。
低通滤波器用于消除高频噪声,高通滤波器用于保留低频信号,带通滤波器则用于限制信号在特定频率范围内的传输。
2. 幅频特性:FIR数字滤波器的幅频特性是指滤波器在不同频率下的幅值衰减情况。
设计时需要根据频率响应特性调整幅频特性,以满足信号处理需求。
例如,在通信系统中,为了消除杂散干扰和多径效应,需要设计具有特定幅频特性的滤波器。
3. 相位特性:FIR数字滤波器的相位特性是指滤波器对信号相位的影响。
设计时需要确保滤波器的相位特性满足系统要求,例如线性相位特性。
线性相位特性意味着滤波器在不同频率下的相位延迟保持恒定,这对于许多通信系统至关重要。
4. 群延迟特性:FIR数字滤波器的群延迟特性是指滤波器对信号群延迟的影响。
群延迟是指信号通过滤波器后,各频率成分的延迟时间。
设计时需要根据应用场景调整群延迟特性,以确保信号处理效果。
例如,在语音处理中,需要降低滤波器的群延迟,以提高语音信号的清晰度。
5. 稳定性:FIR数字滤波器的稳定性是指滤波器在实际应用中不发生自激振荡等不稳定现象。
设计时需要确保滤波器的稳定性,避免产生有害的谐波和振荡。
6. 计算复杂度:FIR数字滤波器的计算复杂度是指滤波器在实现过程中所需的计算资源和时间。
设计时需要权衡滤波器的性能和计算复杂度,以满足实时性要求。
例如,在嵌入式系统中,计算资源有限,需要设计较低计算复杂度的滤波器。
7. 硬件实现:FIR数字滤波器的硬件实现是指滤波器在实际硬件平台上的实现。
设计时需要考虑硬件平台的特性,如处理器速度、内存容量等,以确定合适的滤波器结构和参数。
8. 软件实现:FIR数字滤波器的软件实现是指滤波器在软件平台上的实现。
设计时需要考虑软件平台的特性,如编程语言、算法库等,以确定合适的滤波器设计和实现方法。
fir数字滤波器设计实验报告

fir数字滤波器设计实验报告FIR数字滤波器设计实验报告概述数字滤波器是数字信号处理中的重要组成部分,广泛应用于音频、图像、视频等领域。
其中,FIR数字滤波器是一种常见的数字滤波器,具有线性相位、稳定性好、易于实现等优点。
本实验旨在设计一种基于FIR数字滤波器的信号处理系统,实现对信号的滤波和降噪。
实验步骤1. 信号采集需要采集待处理的信号。
本实验采用的是模拟信号,通过采集卡将其转换为数字信号,存储在计算机中。
2. 滤波器设计接下来,需要设计FIR数字滤波器。
为了实现对信号的降噪,我们选择了低通滤波器。
在设计滤波器时,需要确定滤波器的阶数、截止频率等参数。
本实验中,我们选择了8阶低通滤波器,截止频率为500Hz。
3. 滤波器实现设计好滤波器后,需要将其实现。
在本实验中,我们采用MATLAB 软件实现FIR数字滤波器。
具体实现过程如下:定义滤波器的系数。
根据滤波器设计的公式,计算出系数值。
利用MATLAB中的filter函数对信号进行滤波。
将采集到的信号作为输入,滤波器系数作为参数,调用filter函数进行滤波处理。
处理后的信号即为滤波后的信号。
4. 结果分析需要对处理后的信号进行分析。
我们可以通过MATLAB绘制出处理前后的信号波形图、频谱图,比较它们的差异,以评估滤波器的效果。
结果显示,经过FIR数字滤波器处理后,信号的噪声得到了有效的降低,滤波效果较好。
同时,频谱图也显示出了滤波器的低通特性,截止频率处信号衰减明显。
结论本实验成功设计并实现了基于FIR数字滤波器的信号处理系统。
通过采集、滤波、分析等步骤,我们实现了对模拟信号的降噪处理。
同时,本实验还验证了FIR数字滤波器的优点,包括线性相位、稳定性好等特点。
在实际应用中,FIR数字滤波器具有广泛的应用前景。
FIR数字滤波器的设计

FIR数字滤波器的设计
FIR(有限冲激响应)数字滤波器的设计主要包括以下几个步骤:
1.确定滤波器的要求:根据应用需求确定滤波器的类型(如低通、高通、带通、带阻等)和滤波器的频率特性要求(如截止频率、通带波动、阻带衰减等)。
2.确定滤波器的长度:根据频率特性要求和滤波器类型,确定滤波器的长度(即冲激响应的系数个数)。
长度通常根据滤波器的截止频率和阻带宽度来决定。
3.设计滤波器的冲激响应:使用一种滤波器设计方法(如窗函数法、频率抽样法、最小二乘法等),根据滤波器的长度和频率特性要求,设计出滤波器的冲激响应。
4.计算滤波器的频率响应:将设计得到的滤波器的冲激响应进行傅里叶变换,得到滤波器的频率响应。
可以使用FFT算法来进行计算。
5.优化滤波器的性能:根据频率响应的实际情况,对滤波器的冲激响应进行优化,可以通过调整滤波器的系数或使用优化算法来实现。
6.实现滤波器:将设计得到的滤波器的冲激响应转化为差分方程或直接形式,并使用数字信号处理器(DSP)或其他硬件进行实现。
7.验证滤波器的性能:使用测试信号输入滤波器,检查输出信号是否满足设计要求,并对滤波器的性能进行验证和调整。
以上是FIR数字滤波器的一般设计步骤,具体的设计方法和步骤可能因应用需求和设计工具的不同而有所差异。
在实际设计中,还需要考虑滤波器的实时性、计算复杂度和存储资源等方面的限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字滤波器设计通信与电子信息当中,在对信号作分析与处理时,常会用到有用信号叠加无用噪声的问题。
这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的,在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。
根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波。
滤波器的种类很多,实现方法也多种多样,本章利用Matlab来进行数字滤波器的设计。
数字滤波器是一离散时间系统,它对输入序列x(n)进行加工处理后,输出序列y(n),并使y(n)的频谱与x(n)的频谱相比发生某种变化。
由DSP理论得知,无限长冲激响应(IIR)需要递归模型来实现,有限长冲激响应(FIR)滤波器可以采用递归的方式也可采用非递归的方式实现。
本章把FIR 与IIR滤波器分别用Matlab进行分析与设计。
数字滤波器的结构参看《数字信号处理》一书。
数字滤波器的设计一般经过三个步骤:1(给出所需滤波器的技术指标。
2(设计一个H(Z),使其逼近所需要的技术指标。
3(实现所设计的H(Z)。
4.1 IIR数字滤波器设计设计IIR数字滤波器的任务就是寻求一个因果、物理可实现的系统函数H(z),jω使它的频响H(e)满足所希望得到的低通频域指标,即通带衰减A、阻带衰减A、 pr通带截频ω、阻带截频ω。
而其它形式的滤波器由低通的变化得到。
pr采用间接法设计IIR数字滤波器就是按给定的指标,先设计一个模拟滤波器,进而通过模拟域与数字域的变换,求得物理可实现的数字滤波器。
从模拟滤波器变换到数字滤波器常用的有:脉冲响应不变法和双线性变换法。
IIR滤波器的设计过程如下,,,数字频域指标模拟频域指标设计模拟滤波器H(S) 设计数字滤波器H(z) 1. 模拟滤波器简介模拟滤波器的设计方法已经发展得十分成熟,常用的高性能模拟低通滤波器有巴特沃斯型、切比雪夫型和椭圆型,而高通、带通、带阻滤波器则可以通过对低通进行频率变换来求得。
必须指出,这三种滤波器都是非线性的相频特性。
具体设计方法参见《数字信号处理》一书。
(1)巴特沃斯低通滤波器的特点是:通、阻带均为单调下降。
这种单调下降的特性使得系统的误差分布不均匀。
在设计中,如果在通带满足指标,阻带指标就过于好了。
或者说,在阻带满足指标,通带指标也过于好了。
这样不利于以最小的阶数来满足设计指标。
(2)切比雪夫模拟低通滤波器分成Ι型和ΙΙ型:Ι型是通带等波纹,阻带单调下降; ΙΙ型滤波器是通带单调下降,阻带等波纹。
切比雪夫的等波纹特性使得可以用较小的阶数设计出符合指标的滤波器。
(3)椭圆滤波器特点是通、阻带均为等波纹。
椭圆滤波器的误差均匀分布在通、阻带,比较上面几种滤波器,在同样衰耗指标下,椭圆滤波器所要求的阶数最小。
在同样阶数情况下,椭圆滤波器的通带到阻带的变化最陡峭、性能最好。
2(模拟滤波器映射到数字滤波器从模拟滤波器变换到数字滤波器常用的有:冲激响应不变法和双线性变换法。
(1)冲激响应不变法冲激响应不变法的基本思路为:设模拟滤波器的单位冲激响应为h(t),数 a字滤波器的单位脉冲响应h(n),是对h(t)的均匀取样,即 a拉氏逆变换抽样z变换,,,,,,,,,,,,, H(S)h(t) h(n)= h(nT) H(z)冲激响应不变法由于保持了模拟滤波器的冲激响应在取样时刻的取样值,所以具有较好的时间特性。
但由于从模拟域(s域)变换到数字域(z域)的映射关系不是一一对应的关系,因而频谱混叠难以避免, 所以在实际应用中有它的局限性。
3( Matlab滤波器设计函数简介使用MATLAB信号处理工具箱中提供的函数可以很容易地实现IIR滤波器设计。
常用的IIR数字滤波器设计函数有:(1)IIR滤波器阶数(order)选择buttord - 巴特沃斯(Butterworth)滤波器阶数选择cheb1ord - 切比雪夫(Chebyshev)I型滤波器阶数选择cheb2ord - 切比雪夫(Chebyshev)II型滤波器阶数选择ellipord - 椭圆(Elliptic)滤波器阶数选择buttord用来确定巴特沃斯滤波器的阶数:[N,Wc] = buttord (Wp,Wr,Ap,Ar,options)Ap,Ar为通带最大衰减和阻带最小衰减,以dB为单位;Wp,Wr为归一化通带截频和阻带截频。
Options=’low’, ’high’, ’bandpass’, ’stop’, ’s’, 分别对应低通、高通、带通、带阻、模拟滤波器,默认情况下,为低通或带通。
对于带通和带阻滤波器Wp=[Wp1,Wp2], Wp1和 Wp2为通带的上、下截频,Wr=[Wr1,Wr2],Wr1和Wr2分别为阻带的上、下截频。
若为模拟滤波器定阶,令Options= ’s’, 则Wp和Wr以(归一或非归一) 给出,因此可大于1。
输出参数N为滤波器的阶数,Wc为归一化3dB截频。
若Ap=3dB,则Wc= Wp。
其他滤波器的定阶函数类似buttord的格式:切比雪夫I型滤波器[N,Wc] = cheb1ord(Wp, Wr, Ap, Ar)切比雪夫II型滤波器[N,Wc] = cheb2ord(Wp, Wr, Ap, Ar)椭圆滤波器[N,Wc] = ellipord(Wp, Wr, Ap, Ar)(2)完整的滤波器设计函数,根据滤波器阶数和通带截频设计出实际数字滤波器的H(z) (模拟域到数字域的变换只采用双线性变换法):butter - 巴特沃斯(Butterworth)滤波器设计cheby1 -切比雪夫(Chebyshev)I型滤波器设计cheby2 - -切比雪夫(Chebyshev)II型滤波器设计ellip - 椭圆(Elliptic)滤波器设计maxflat - 通用的巴特沃斯(Butterworth)低通滤波器设计yulewalk - Yule-Walker滤波器设计(直接数字滤波器设计法)butter的格式如下:[b,a] = butter(N,Wc,options)[z,p,k] = butter(N,Wc,options)[A,B,C,D] = butter(N,Wc,options)N为滤波器的阶数,Wc为频率归一化后的3dB截频:0 < Wc < 1。
Options=’low’, ’high’, ’bandpass’, ’stop’, ’s’, 分别对应低通、高通、带通、带阻、模拟滤波器,默认情况下,为低通或带通。
对于带通和带阻滤波器,Wc=[W1,W2], W1和W2分别为通带的上、下截频。
输出变量的三种格式对应着滤波器系统函数H (z)的分子分母多项式形式、零极点-增益形式和状态空间形式。
若设计模拟滤波器,令Options= ’s’, 则Wc 以 rad/ s(归一化或非归一化)给出,因此可大于1。
例1( 设计一个数字低通滤波器,要求在0~0.2π内衰耗不大于3dB,在0.6π~π 内衰耗不小于60dB。
解:若模拟低通原型采用巴特沃斯滤波器:[N,Wc]=buttord(0.2,0.6,3,60);[b,a]=butter(N,Wc);freqz(b,a);axis([0,1,-120,0]);可见,相位为非线性。
例2 使用脉冲响应不变法设计一个数字带通滤器,其指标为:,1) 3dB通带中心频率在, 0.5π 0,,2) 上截频= 0.55π,下截频, 0.45π c2c1,3) 在阻带, 0.6π处,最小衰耗A,10dB r,6,设取样周期T,5π×10s,要求,,>衰耗曲线单调增加。
,0解:(1)确定数字频率指标omega0=0.5*pi; %通带中心频率omegac1=0.45*pi ; omegac2=0.55*pi; Apmax=3; %通带截频omegar2=0.6*pi; Armin=10;T=5*pi*10^(-6); %取样间隔(2)利用脉冲响应不变法设计数字滤波器1) 按给定数字频率求得相应的模拟角频率wc1=omegac1/T; wc2=omegac2/T; w0=omega0/T;omegar1=omega0-(omegar2-omega0); wr1=omegar1/T; wr2=omegar2/T;B=wc2-wc1;2) 将指标转换为归一化模拟低通频率指标norm_wr1=(((wr1^2)-(w0^2))/(B*wr1)); norm_wr2=(((wr2^2)-(w0^2))/(B*wr2)); norm_wc1=(((wc1^2)-(w0^2))/(B*wc1));norm_wc2=(((wc2^2)-(w0^2))/(B*wc2)); 3) 设计归一化模拟低通滤波器确定归一化截频if (abs(norm_wr1)-abs(norm_wr2))>0norm_wr=abs(norm_wr2);elsenorm_wr=abs(norm_wr1);endnorm_wc=1;确定归一化模拟低通滤波器阶数N=buttord(norm_wc,norm_wr,Apmax ,Armin,'s');设计归一化模拟低通滤波器[b_LP,a_LP]=butter(N,norm_wc,'s'); 4) 把归一化模拟低通滤波器转换为模拟带通滤波器[b_BP,a_BP]=lp2bp(b_LP,a_LP,w0, B); 5) 利用脉冲响应不变法把模拟滤波器转换为数字滤波器Fs=1/T;[b,a]=impinvar(b_BP,a_BP,Fs); w=linspace(0,2*pi,500);h=freqz(b,a,w);plot(w,20*log10(abs(h))); axis([0,2*pi,-50,20]); gridxlabel('frequency (rad)');ylabel('gain (dB)');sys=tf(b,a,T)(2) 双线性变换法双线性变换法克服了脉冲响应不变法存在频谱混叠的缺点, 但在设计过程中一定要注意,由于宽频带压缩到较窄的频率范围,导致了频率畸变。
其基本思想是: 首先按给定的指标设计一个模拟滤波器,通过适当的数学变换方法将s域映射到z 域,把无限宽的频带变换成有限宽频带。
由于在实现数字化以前已经对频带进行了压缩,所以在数字化以后的频响可以做到无频谱混叠。
该法可以用来设计各种不同频带要求的数字滤波器,所以获得广泛应用。
例3:按[例2]的指标使用双线性变换法设计一个数字带通滤波器。
解: (1)给定数字频率指标omega0=0.5*pi; %通带中心频率omegac1=0.45*pi; omegac2=0.55*pi; Apmax=3; %通带截频omegar2=0.6*pi; Armin=10;T=5*pi*10^(-6); %取样间隔(2)用双线性变换法设计滤波器1) 按给定数字频率求得相应的模拟角频率:频率预畸变omegar1=omega0-(omegar2 - omega0); wc1=(2/T)*tan(omegac1/2);wc2=(2/T)*tan(omegac2/2);wr1=(2/T)*tan(omegar1/2); wr2=(2/T)*tan(omegar2/2);w0=(2/T)*tan(omega0/2);B=wc2-wc1;2) 将指标转换为归一化模拟低通频率指标norm_wr1=(((wr1^2)-(w0^2))/(B*wr1)); norm_wr2=(((wr2^2)-(w0^2))/(B*wr2)); norm_wc1=(((wc1^2)-(w0^2))/(B*wc1));norm_wc2=(((wc2^2)-(w0^2))/(B*wc2)); 3) 设计归一化模拟低通滤波器确定归一化截频:if (abs(norm_wr1)-abs(norm_wr2))>0norm_wr=abs(norm_wr2);elsenorm_wr=abs(norm_wr1);endnorm_wc=1;确定归一化模拟低通滤波器阶数:N=buttord(norm_wc,norm_wr,Apmax,Armin,'s');设计归一化模拟低通滤波器:[b_LP,a_LP]=butter(N,norm_wc,'s'); 4) 把归一化模拟低通滤波器转换为模拟带通滤波器[b_BP,a_BP]=lp2bp(b_LP,a_LP,w0,B); 5) 转换为数字滤波器Fs=1/T;[b,a]=bilinear(b_BP,a_BP,Fs); w=linspace(0,2*pi,500);h=freqz(b,a,w);plot(w,20*log10(abs(h))); axis([0,2*pi,-120,20]); gridxlabel('frequency (rad)'); ylabel('gain (dB)');sys=tf(b,a,T)例4 :若信号由5Hz、15Hz和30Hz三个正弦频率成分构成。