IIR数字带通滤波器设计
- 格式:doc
- 大小:275.00 KB
- 文档页数:9
电气与信息工程学院数字信号处理实验报告学生姓名班级电子信息工程学号指导教师2019.12实验四 IIR 数字滤波器的设计一、实验目的:1. 掌握双线性变换法及脉冲响应不变法设计IIR 数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR 数字滤波器的MATLAB 编程。
2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。
3. 熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。
二、实验原理:1. 脉冲响应不变法用数字滤波器的单位脉冲响应序列 模仿模拟滤波器的冲激响应 ,让 正好等于 的采样值,即 ,其中 为采样间隔,如果以 及 分别表示 的拉式变换及 的Z 变换,则)2(1)(m T j s H T z H m a e z sT ∑∞-∞==+=π2.双线性变换法S 平面与z 平面之间满足以下映射关系:);(,2121,11211ωωσj re z j s s T s T z z z T s =+=-+=+-⋅=-- s 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
三、实验内容及步骤:实验中有关变量的定义:fc 通带边界频率;fr阻带边界频率;δ通带波动;At 最小阻带衰减;fs采样频率;T采样周期上机实验内容:(1)fc=0.3KHz,δ=0.8dB,fr=0.2KHz, At=20dB,T=1ms;设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
MATLAB源程序:wp=2*1000*tan(2*pi*300/(2*1000));ws=2*1000*tan(2*pi*200/(2*1000));[N,wn]=cheb1ord(wp,ws,0.8,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn[B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动[num,den]=bilinear(B,A,1000);[h,w]=freqz(num,den);f=w/(2*pi)*1000;plot(f,20*log10(abs(h)));axis([0,500,-80,10]);grid;xlabel('频率');ylabel('幅度/dB')程序结果num = 0.0304 -0.1218 0.1827 -0.1218 0.0304 den = 1 1.3834 1.4721 0.8012 0.2286系统函数:123412340.0304 -0.1218z 0.1827z-0.1218z0.0304z H(z)=1.0000+1.3834z+1.4721z+ 0.8012z+0.2286z--------++幅频响应图:分析:由图可知,切比雪夫滤波器幅频响应是通带波纹,阻带单调衰减的。
iir数字滤波器设计原理IIR数字滤波器设计原理IIR(Infinite Impulse Response)数字滤波器是一种常用的数字滤波器,其设计原理基于无限冲激响应。
与FIR(Finite Impulse Response)数字滤波器相比,IIR数字滤波器具有更低的计算复杂度和更窄的频率过渡带。
在信号处理和通信系统中,IIR数字滤波器被广泛应用于滤波、陷波、均衡等领域。
IIR数字滤波器的设计原理主要涉及两个方面:滤波器的结构和滤波器的参数。
一、滤波器的结构IIR数字滤波器的结构通常基于差分方程来描述。
最常见的结构是直接型I和直接型II结构。
直接型I结构是基于直接计算差分方程的形式,而直接型II结构则是通过级联和并联方式来实现。
直接型I结构的特点是简单直接,适用于一阶和二阶滤波器。
它的计算复杂度较低,但对于高阶滤波器会存在数值不稳定性的问题。
直接型II结构通过级联和并联方式来实现,可以有效地解决数值不稳定性的问题。
它的计算复杂度相对较高,但适用于高阶滤波器的设计。
二、滤波器的参数IIR数字滤波器的参数包括滤波器的阶数、截止频率、增益等。
这些参数根据实际需求来确定。
滤波器的阶数决定了滤波器的复杂度和性能。
阶数越高,滤波器的频率响应越陡峭,但计算复杂度也越高。
截止频率是指滤波器的频率响应开始衰减的频率。
截止频率可以分为低通、高通、带通和带阻滤波器。
根据实际需求,选择合适的截止频率可以实现对信号的滤波效果。
增益是指滤波器在特定频率上的增益或衰减程度。
增益可以用于滤波器的频率响应的平坦化或强调某些频率。
IIR数字滤波器的设计通常包括以下几个步骤:1. 确定滤波器的类型和结构,如直接型I或直接型II结构;2. 确定滤波器的阶数,根据要求的频率响应和计算复杂度来选择;3. 设计滤波器的差分方程,可以使用脉冲响应不变法、双线性变换法等方法;4. 根据差分方程的系数,实现滤波器的级联和并联结构;5. 进行滤波器的参数调整和优化,如截止频率、增益等;6. 对滤波器进行性能测试和验证,确保设计满足要求。
IIR 带通与带阻滤波器的设计张磊 S200502096(小组成员:张磊,闫宏阳,孙章固,王婕,邵文婷)[设计目的]1. 用Matlab 设计一个IIR 带通与带阻滤波器2. 用设计好的滤波器对声音文件进行过滤3. 学习了解Matlab 滤波器相关函数[设计原理]IIR 滤波器 是一个递归型系统,其系统函数:作。
性能要求,并能稳定工以使滤波器满足给定的或零极点确定的设计系统至少有一个不为其中,ii i i i Ni iM i iN i i i Mi ii d c b a z H N i a zd zC Az a zb z H ,,,)(.0),1()1()1(1)(1111110⇒=--=-=∏∏∑∑=--=-=-=-利用模拟滤波器设计IIR 数字低通滤波器的步骤。
(1)确定数字低通滤波器的技术指标:通带截止频率ωp 、通带衰减αp 、阻带截止频率ωs 、阻带衰减αs 。
(2)将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。
(3)按照模拟低通滤波器的技术指标设计模拟低通滤波器.(4)将模拟滤波器Ha (s),从s 平面转换到z 平面,得到数字低通滤波器系统函数H (z )。
[Matlab 设计步骤]设滤波器的通带截止频率为wp ,止带截止频率为ws,通带衰减为Rp ,止带衰减为As ,通带波纹为Rp 。
这里,我们设定Wpl=20Hz ,Wph=30Hz ,Wsl=15Hz ,Wsh=35Hz1、根据给定指标得出,低通模拟原型滤波器的阶数和截止频率。
利用函数buttord , cheb1ord ,cheb2ord 。
[n ,wn ]=buttord(wp ,ws ,Rp ,As,’s’) [n ,wn ]=cheb1ord(wp ,ws,Rp,As,’s’) 这里我们采用Buttord 函数。
2、求出低通模拟原型滤波器,利用函数Buttap,Cheb1ap,Cheb2ap. [z,p,k]=Buttap(n)[z,p ,k]=Cheb1ap (n ,Rp)由于所得的结果为零极点型,还必须转成b/a 型,可用函数zp2tf 。
课程设计报告专业班级课程题目学号学生姓名指导教师年月一、设计题目:IIR 数字带通滤波器设计 二、设计目的1、巩固所学理论知识。
2、提高综合运用所学理论知识独立分析和解决问题的能力。
3、更好地将理论与实践相结合。
4、掌握信号分析与处理的基本方法与实现。
5、熟练使用MATLAB 语言进行编程实现。
三、设计要求采用适当方法基于MATLAB 设计一个IIR 带通滤波器,其中带通的中心频率为ωp0=0.5π,;通带截止频率ωp1=0.4π,ωp2=0.6π;通带最大衰减αp =3dB;阻带最小衰减αs =15dB;阻带截止频率ωs2=0.7π. 四、设计原理1.用脉冲相应不变法设计IIR 数字滤波器利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,这种模仿可以从不同的角度出发。
脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h (n )模仿模拟滤波器的冲激响应h a (t ),即将h a (t )进行等间隔采样,使h (n )正好等于h a (t )的采样值,满足 h (n )=h a (nT )式中,T 是采样周期。
如果令H a (s )是h a(t )的拉普拉斯变换,H (z )为h (n )的Z 变换,利用采样序列的Z 变换与模拟信号的拉普拉斯变换的关系得(1-1)则可看出,脉冲响应不变法将模拟滤波器的S 平面变换成数字滤波器的Z 平面,这个从s 到z 的变换z =e sT 是从S 平面变换到Z 平面的标准变换关系式。
⎪⎭⎫ ⎝⎛-=Ω-=∑∑∞-∞=∞-∞==k T j s X T jk s X Tz X k a s k a ez sTπ21)(1)(图1-1脉冲响应不变法的映射关系由(1-1)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为(1-2)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。
正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即(1-3)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|ω|<π (1-4)但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图7-4所示。
设计IIR切贝雪夫数字带通滤波器发布时间:2021-08-09T15:40:00.743Z 来源:《中国科技信息》2021年9月中作者:黄寒冰朱家玮胡旺文郭祥宇[导读] 仿真设计的案例效果对比分析证明了该设计方法可行、有效。
河南科技大学黄寒冰朱家玮胡旺文郭祥宇 450062一、设计要求指标1:通带截止频率 wp1=1/3*pi,wp2=2/3*pi指标2:通带最大衰减Ap=1dB指标3:阻带截止频率 ws1=1/6*pi,ws2=5/6*pi指标4:阻带最小衰减As=18dB二、设计步骤步骤1:确定性能指标根据研究任务,需设计切比雪夫 I 型数字带通滤波器的性能指标如下:通带截止频率 wp1=π/3, wp2=2π/3,阻带截止频率 ws1=π/6, ws2=5π/6, 实际通带波动 Ap≤1dB,最小阻带衰减 As≥ 18dB。
步骤2:作预畸处理求样本归一化模拟低通切贝雪夫滤波器的阶次取N=2借助切贝雪夫(chebyshev)滤波器得到归一化模拟低通滤波器系统函数Ha(s) 步骤5:模拟低通滤波器转换成模拟带通滤波器作逆归一化处理,调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器步骤6:模拟带通滤波器转换成数字带通滤波器利用双线性法将模拟带通滤波器(s)转换成数字带通滤波器H(z)三、仿真分析为验证分析滤波器性能,输入不同频率的正弦波信号,观察结果如下:结果显示当频率为2500HZ时经过滤波器后输出波形是符合滤波器的设计。
应用双线性变换法设计的基于Matblab的IIR数字滤波器不仅具有精度高、稳定性和灵活性好、处理功能强等数字滤波器的诸多优点,而且高效、方便,较少的阶数就可以满足设计指标的要求。
仿真设计的案例效果对比分析证明了该设计方法可行、有效。
IIR数字滤波器设计及软件实现[1]IIR数字滤波器是一种常见的数字滤波器类型,它利用数字信号处理技术对信号进行滤波,广泛应用于信号处理、音频处理、图像处理等领域。
本文将介绍IIR数字滤波器的设计方法和软件实现。
一、IIR数字滤波器的基本原理IIR数字滤波器是一种基于递归算法的数字滤波器,它可以用于对离散时间信号进行滤波。
具体而言,IIR数字滤波器是由一组差分方程组成的,其中包括有限冲激响应(FIR)和无限冲激响应(IIR)数字滤波器两种类型。
与FIR数字滤波器不同的是,IIR数字滤波器是具有无限冲激响应的性质,因此可以实现更高阶的滤波效果。
IIR数字滤波器可以用如下的一阶滤波器来进行递归实现:y(n) = a1 * y(n-1) + a0 * x(n) - b1 * x(n-1)其中,x(n)表示输入信号,y(n)表示输出信号,a0、a1、b1是滤波器的系数。
这种一阶滤波器可以通过级联组合来构成更高阶的滤波器,形成一系列级联的一阶滤波器。
1.滤波器类型的选择在开始设计IIR数字滤波器之前,需要先确定所需的滤波器类型,即低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。
各种类型的滤波器的特点及应用范围不同,需要根据具体需求进行选择。
2.设计滤波器参数确定了滤波器类型之后,需要根据要求的滤波器截止频率、带宽、通带衰减等参数来确定滤波器的系数。
一般可以采用Butterworth滤波器设计方法、Chebyshev滤波器设计方法或Elliptic滤波器设计方法等常见方法来进行设计。
3.验证设计结果设计出的IIR数字滤波器需要进行验证,可以采用MATLAB等数字信号处理软件进行仿真测试,进行频率响应、相位响应、群延迟等分析,以确保设计结果满足要求。
IIR数字滤波器的实现可以采用MATLAB、Python等数字信号处理工具,也可以使用C 语言来进行程序设计。
下面以MATLAB为例,介绍IIR数字滤波器的实现。
IIR数字滤波器设计及软件实现实验一:IIR数字滤波器设计及软件实现一、实验指导1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB 信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip 可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。
由图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
图1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
实验三IIR数字滤波器设计实验报告一、实验目的:1.通过仿真冲激响应不变法和双线性变换法2.掌握滤波器性能分析的基本方法二、实验要求:1.设计带通IIR滤波器2.按照冲激响应不变法设计滤波器系数3. 按照双线性变换法设计滤波器系数4. 分析幅频特性和相频特性5. 生成一定信噪比的带噪信号,并对其滤波,对比滤波前后波形和频谱三、基本原理:㈠IIR模拟滤波器与数字滤波器IIR数字滤波器的设计以模拟滤波器设计为基础,常用的类型分为巴特沃斯(Butterworth)、切比雪夫(Chebyshev)Ⅰ型、切比雪夫Ⅱ型、贝塞尔(Bessel)、椭圆等多种。
在MATLAB信号处理工具箱里,提供了这些类型的IIR数字滤波器设计子函数。
(二)性能指标1.假设带通滤波器要求为保留6000hz~~7000hz频段,滤除小于2000hz和大宇9000hz频段2.通带衰减设为3Db,阻带衰减设为30dB,双线性变换法中T取1s.四、实验步骤:1.初始化指标参数2.计算模拟滤波器参数并调用巴特沃斯函数产生模拟滤波器3.利用冲激响应不变法和双线性变换法求数字IIR滤波器的系统函数Hd (z)4.分别画出两种方法的幅频特性和相频特性曲线5.生成一定信噪比的带噪信号6.画出带噪信号的时域图和频谱图6.对带噪信号进行滤波,并画出滤波前后波形图和频谱图五、实验结果模拟滤波器的幅频特性和相频特性:101010101Frequency (rad/s)P h a s e (d e g r e e s )1010101011010-5100Frequency (rad/s)M a g n i t u d e在本实验中,采用的带通滤波器为6000-7000Hz ,换算成角频率为4.47-0.55,在上图中可以清晰地看出到达了题目的要求。
冲击响应不变法后的幅频特性和相频特性:0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )双线性变换法的幅频特性和相频特性:0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )00.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )通过上图比较脉冲响应不变法双线性变换法的幅频特性和相频特性,而在在幅频曲线上几乎没有差别,都能达到相同的结果。
iir数字滤波器的设计方法IIR数字滤波器的设计方法IIR数字滤波器是一种常用的数字信号处理工具,用于对信号进行滤波和频率域处理。
其设计方法是基于传统的模拟滤波器设计技术,通过将连续时间滤波器转换为离散时间滤波器来实现。
本文将介绍IIR数字滤波器的设计方法和一些常见的实现技巧。
一、IIR数字滤波器的基本原理IIR数字滤波器是一种递归滤波器,其基本原理是将输入信号与滤波器的系数进行加权求和。
其输出信号不仅与当前输入值有关,还与之前的输入和输出值有关,通过不断迭代计算可以得到最终的输出结果。
二、IIR数字滤波器的设计步骤1. 确定滤波器的类型:低通滤波器、高通滤波器、带通滤波器或带阻滤波器。
2. 确定滤波器的阶数:阶数决定了滤波器的陡峭度和性能。
3. 选择滤波器的截止频率或通带范围。
4. 根据所选的滤波器类型和截止频率,设计滤波器的模拟原型。
5. 将模拟原型转换为数字滤波器。
三、IIR数字滤波器的设计方法1. 巴特沃斯滤波器设计方法:- 巴特沃斯滤波器是一种最常用的IIR数字滤波器,具有平坦的通带特性和陡峭的阻带特性。
- 设计方法为先将模拟滤波器转换为数字滤波器,然后通过对模拟滤波器进行归一化来确定截止频率。
2. 阻带衰减设计方法:- 阻带衰减设计方法是一种通过增加滤波器的阶数来提高滤波器阻带衰减特性的方法。
- 通过增加阶数,可以获得更陡峭的阻带特性,但同时也会增加计算复杂度和延迟。
3. 频率变换方法:- 频率变换方法是一种通过对滤波器的频率响应进行变换来设计滤波器的方法。
- 通过对模拟滤波器的频率响应进行变换,可以得到所需的数字滤波器。
四、IIR数字滤波器的实现技巧1. 级联结构:- 将多个一阶或二阶滤波器级联起来,可以得到更高阶的滤波器。
- 级联结构可以灵活地实现各种滤波器类型和阶数的设计。
2. 并联结构:- 将多个滤波器并联起来,可以实现更复杂的频率响应。
- 并联结构可以用于设计带通滤波器和带阻滤波器。
iir数字滤波器设计实验总结IIR数字滤波器设计实验总结一、设计目的IIR数字滤波器是数字信号处理中的一种常见滤波器。
本次实验的设计目的在于掌握IIR数字滤波器的设计方法,并掌握MATLAB软件工具在数字信号处理中的应用。
二、设计原理IIR数字滤波器是由反馈和前馈两个滤波器组成的结构,具有无限长冲激响应的特点。
其中反馈滤波器主要用于抑制高频信号,前馈滤波器则用于增益低频信号。
IIR数字滤波器通常使用差分方程表示,并通过z变换将其转化为传递函数形式。
三、设计步骤1. 选择滤波器类型和参数在实验中,我们主要采用了IIR低通滤波器的设计。
根据设计要求,选择滤波器的截止频率、通带增益和阻带衰减等参数。
2. 设计IIR滤波器传递函数根据选择的滤波器类型和参数,采用MATLAB软件中的fdatool工具箱进行设计,生成IIR滤波器的传递函数。
3. 实现数字滤波器将生成的传递函数导入到MATLAB软件中,进行编程实现,实现数字滤波器。
四、实验结果1. 对IIR数字滤波器进行功能验证采用MATLAB软件中的测试向量,对IIR数字滤波器进行功能验证。
比较输入信号和输出信号的波形和频谱图,验证滤波器的正确性。
2. 对IIR数字滤波器的性能进行测试采用不同波形和频率的信号,对IIR数字滤波器的性能进行测试。
比较滤波器输出信号和参考信号的波形和频谱图,评估滤波器的性能。
五、实验体会通过本次实验,我们学会了IIR数字滤波器的设计方法和MATLAB软件的应用技巧。
同时,我们也深刻理解了数字信号处理中常见的滤波器的工作原理和特点。
此外,实验还培养了我们的编程实践能力和信号处理思维能力。
六、总结IIR数字滤波器是数字信号处理中常用的滤波器,其设计方法和MATLAB软件的应用技巧都是数字信号处理领域中必备的知识点。
通过本次实验,我们深刻理解了滤波器的工作原理和特点,并在编程实践中掌握了数字信号处理的基本技能,收益颇丰。
实验报告姓名:李鹏博 实验名称: 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)实现模型转换。
IIR数字滤波器的设计及软件实现什么是IIR数字滤波器?IIR数字滤波器是一种数字信号处理滤波器,它基于递归的思想,可以对原始信号进行滤波处理。
与FIR数字滤波器相比,IIR数字滤波器具有更高的效率和更灵活的设计。
它的设计基于对滤波器的传递函数进行分析和优化,可以通过不同的传递函数来实现不同的滤波目标。
IIR数字滤波器的设计方法要设计一个IIR数字滤波器,可以采用以下步骤:步骤1:确定滤波器的类型根据滤波的目的和要求,确定滤波器的类型。
常见的滤波器类型有低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
步骤2:计算滤波器的阶数滤波器的阶数是指滤波器中的二阶段数。
阶数越高,滤波器的性能越好,但也意味着计算量和实现难度会增加。
根据滤波的要求和性能要求,计算滤波器的阶数。
步骤3:选择滤波器的截止频率滤波器的截止频率是指滤波器在截止频率附近的频率响应。
对于低通滤波器和高通滤波器,截止频率通常是一个常数。
对于带通滤波器和带阻滤波器,截止频率需要确定两个频率。
步骤4:计算滤波器的传递函数根据滤波器类型、阶数和截止频率,可以通过传递函数的计算得到滤波器的传递函数。
步骤5:采用正则化处理在计算得到传递函数后,需要进行正则化处理。
正则化处理可以消除传递函数中的不稳定性,并确保滤波器的稳定性和可变性。
步骤6:实现反馈环和前馈环根据传递函数,可以实现反馈环和前馈环。
反馈环和前馈环的选择会影响滤波器的性能。
IIR数字滤波器的软件实现要实现IIR数字滤波器,可以使用MATLAB或Python等数学软件。
这里以Python为例进行说明。
步骤1:导入必要的库import numpy as np #用于处理数组和矩阵import scipy.signal as signal #用于信号处理import matplotlib.pyplot as plt #用于绘图步骤2:指定滤波器的类型、截止频率和阶数type ='lowpass'#低通滤波器fc =2000#截止频率order =4#阶数步骤3:计算滤波器的系数b, a = signal.butter(order, fc, type)步骤4:生成信号并进行滤波t = np.linspace(0, 1, 500, endpoint=False)x = np.sin(2* np.pi *5* t) + np.sin(2* np.pi *10* t) + np.sin(2* np.pi *20* t)y = signal.filtfilt(b, a, x)步骤5:绘制原始信号和滤波后的信号plt.plot(t, x, label='original signal')plt.plot(t, y, label='filtered signal')plt.legend(loc='best')plt.show()IIR数字滤波器是数字信号处理中一种重要的滤波器。
实验四 IIR 数字滤波器的设计与滤波一、巴特沃斯模拟滤波器的设计1. 模拟滤波器的设计参数模拟滤波器的4个重要的通带、阻带参数为:p f 或Omegap :通带截止频率 s f 或Omegas :阻带截至频率p R :通带内波动(dB),即通带内所允许的最大衰减;s R :阻带内最小衰减通过以上参数就可以进行模拟滤波器的设计。
2. 巴特沃斯模拟滤波器设计1) 巴特沃斯滤波器阶数的选择:在已知设计参数p f ,s f ,p R ,s R 之后,可利用“buttord ”命令可求出所需要的滤波器的阶数和3dB 截止频率,其格式为:[N ,Omegac]=buttord[fp ,fs ,Rp ,Rs ,’s ’],其中fp ,fs ,Rp ,Rs 分别为通带截止频率、阻带起始频率、通带内波动、阻带内最小衰减。
返回值N 为滤波器的最低阶数,Wc 为3dB 截止频率。
2) 巴特沃斯滤波器系数计算:由巴特沃斯滤波器的阶数N 以及3dB 截止频率Omegac 可以计算出对应传递函数H(z)的分子分母系数,MATLAB 提供的命令如下:● 巴特沃斯低通滤波器系数计算:[b ,a]=butter(N,Omegac),其中b 为H(z)的分子多项式系数,a 为H(z)的分母多项式系数● 巴特沃斯高通滤波器系数计算:[b ,a]=butter(N,Omegac,’High ’)● 巴特沃斯带通滤波器系数计算:[b ,a]=butter(N ,[Omega1,Omega2]),其中[Omega1,Omega2]为通带截止频率,是2元向量,需要注意的是该函数返回的是2N 阶滤波器系数。
● 巴特沃斯带阻滤波器系数计算:[b ,a]=butter(N ,[Omega1,Omega2],’stop ’),其中[Omega1,Omega2]为通带截止频率,是2元向量,需要注意的是该函数返回的也是2N 阶滤波器系数。
二、巴特沃斯数字滤波器的设计1. 数字滤波器的设计参数滤波器的4个重要的通带、阻带参数为:p f :通带截止频率(Hz ) s f :阻带起始频率(Hz )p R :通带内波动(dB ),即通带内所允许的最大衰减; s R :阻带内最小衰减设采样速率(即奈奎斯特速率)为N f ,将上述参数中的频率参数转化为归一化频率参数:p ω:归一化通带截止频率,)2//(N p p f f =ω;s ω:归一化阻带截至频率,)2//(N s s f f =ω通过以上参数就可以进行数字滤波器的设计。
目录前言 (2)工程概括 (3)1.1 IIR数字滤波器工作原理 (3)正文 (4)2.1 数字滤波器介绍 (4)2.2 数字滤波器的分类 (5)2.3 脉冲响应不变法 (5)2.4 双线性变换法 (7)2.5 滤波器的特性及使用函数 (8)3.1 设计步骤 (10)3.2 程序流程图 (11)3.3 MATLAB程序 (11)3.4 仿真结果 (14)3.5 总结 (16)致谢 (16)参考文献 (17)前言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,Digital Filter)。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
MATLAB是英文MA Trix LABoratory(矩阵实验室)的缩写。
它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。
它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。
在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。
本次基课程设计将完成一个数字切比雪夫带通IIR滤波器的设计,利用双线性变换和无限冲激响应IIR原理完成设计,并利用MATLAB进行仿真。
工程概括1.1 IIR 数字滤波器工作原理数字滤波器是一个离散时间系统,输入x(n)是一个时间序列,输出y(n)也是一个时间序列。
如数字滤波器的系统函数为H(z),其脉冲响应为h(n),则在时间域内存在下列的关系。
)()()(n h n x n y ⊗=在z 域内,输入和输出存在下列关系:)()()(z X z H z Y =式中,X(z)、Y(z)分别为输入x(n)和输出y(n)的z 变换。
实验四IIR数字滤波器的设计实验报告
实验材料:
Matlab2023a软件
实验目的:
1、了解和掌握IIR滤波器的基本设计方法;
2、掌握基于频响特性的滤波器设计方法,熟悉Matlab中滤波器设计函数的使用;
3、实验中设计一组窄带通滤波器,掌握滤波器图形的绘制和滤波器参数的计算方法.
一、实验内容
本次实验中,我们设计一个窄带通滤波器,频率响应为:
截止频率为:0.3πrad/s;
抑制频率为:0.4πrad/s;
频率带宽为:≤ 0.1πrad/s;
通带增益为:≥0dB;
抑制区增益为:≤-40dB.
二、实验步骤
1、设计并绘制IIR滤波器的频率响应:绘制滤波器的通带和抑制区的频率响应;
2、确定IIR滤波器的极点数:根据上述设计要求,确定滤波器的极
点数;
3、使用matlab设计IIR滤波器:使用matlab设计IIR滤波器,调
节滤波器的极点数、滤波器的通带增益、频率带宽和抑制区增益,调节滤
波器的频率响应;
4、绘制滤波器的极点图:使用matlab绘制滤波器的极点图,并观察
滤波器的极点分布;
5、绘制滤波器的频率响应:使用matlab绘制滤波器的实际频率响应;。
实验五IIR数字滤波器设计及软件实现IIR数字滤波器是一种基于递归方程的滤波器,在频域中表现为有限的非零频率响应。
与FIR数字滤波器相比,IIR数字滤波器具有更高的滤波效率和更窄的滤波器幅频响应。
设计IIR数字滤波器的一种常见方法是使用模拟滤波器设计技术,然后将其转换为数字域。
以下是一种基本的IIR数字滤波器设计流程:1.确定滤波器的规范:确定滤波器的带宽、截止频率、滤波器阶数等规范。
2.使用模拟滤波器设计方法设计滤波器:可以使用模拟滤波器设计方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等来设计模拟滤波器。
选择适当的滤波器类型和滤波器参数,以满足滤波器规范。
3.将模拟滤波器转换为数字滤波器:使用数字滤波器设计方法,如双线性变换、频率采样等方法将模拟滤波器转换为数字滤波器。
这些方法可以将模拟滤波器的差分方程转换为数字滤波器的差分方程。
4.优化数字滤波器性能:可以使用优化方法,如最小均方误差、最小最大误差等方法,来优化数字滤波器的性能。
5.实现数字滤波器:将优化后的数字滤波器的差分方程实现为计算机程序,可以使用软件工具、编程语言等来实现数字滤波器。
根据设计的滤波器规范,可以选择不同的设计方法和工具来实现IIR 数字滤波器。
常用的设计工具包括MATLAB、Python中的SciPy等。
这些工具提供各种滤波器设计函数和优化工具,可以方便地进行IIR数字滤波器的设计和实现。
需要注意的是,在实际应用中,IIR数字滤波器的设计还需要考虑滤波器的稳定性、量化效应等因素。
此外,数字滤波器的实现还需要考虑计算复杂度和实时性等问题。
因此,在设计和实现IIR数字滤波器时,需要结合具体的应用需求进行综合考虑。
课 程 设 计 报 告课程名称: 数字带通滤波器设计 学生姓名: 学 号: 专业班级: 指导教师: 完成时间:报告成绩:IIR 数字带通滤波器的设计1课程设计目的1掌握冲激响应不变法IIR 低通滤波器的设计。
2 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。
2.课程设计要求采用双线性变换法设计一IIR 数字带通滤波器,抽样频率为1s f kH z=,性能要求为:通带范围从250Hz 到400Hz ,在此两频率处衰减不大于3dB , 在150Hz 和480Hz 频率处衰减不小于20dB ,采用巴特沃思型滤波器3.设计原理3.1用双线性变换法设计IIR 数字滤波器脉冲响应不变法的主要缺点是产生频率响应的混叠失真。
这是因为从S 平面到Z平面是多值的映射关系所造成的。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T ~π/T 之间,再用stez=转换到Z 平面上。
也就是说,第一步先将整个S 平面压缩映射到S 1平面的-π/T ~π/T 一条横带里;第二步再通过标准变换关系z =e s 1T 将此横带变换到整个Z 平面上去。
这样就使S 平面与Z 平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1-3所示。
图1双线性变换的映射关系 为了将s 平面的整个虚轴Ωj 压缩到1s 平面1Ωj 轴上的-π/T 到π/T 段上,Z 平面S 1平面S 平面可以通过以下的正切变换实现(1-5)式中,T 仍是采样间隔。
当Ω1由-π/T 经过0变化到π/T 时,Ω由-∞经过0变化到+∞,也即映射了整个j Ω轴。
将式(1-5)写成将此关系解析延拓到整个S 平面和S1平面,令j Ω=s ,j Ω1=s1,则得再将S1平面通过以下标准变换关系映射到Z 平面 z=e s 1T ,从而得到S 平面和Z 平面的单值映射关系为:(1-6)(1-7)式(1-6)与式(1-7)是S 平面与Z 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换式(1-5)与式(1-6)的双线性变换符合映射变换应满足的两点要求。
首先,把z =e j ω,可得(1-8)即S 平面的虚轴映射到Z 平面的单位圆。
其次,将s =σ+j Ω代入式(1-8),得 因此由此看出,当σ<0时,|z |<1;当σ>0时,|z |>1。
也就是说,S 平面的左⎪⎭⎫ ⎝⎛Ω=Ω2tan 21T T 2/2/2/2/11112T j T j T j T j eee e T j Ω-ΩΩΩ+-⋅=ΩTs Ts T s T s T s T s ee T T s T eee e Ts 1111111122tanh 2212/2/2/2/----+-⋅=⎪⎭⎫ ⎝⎛=+-⋅=11112--+-=zz T s sT s T sT s T z -+=-+=222121Ω=⎪⎭⎫⎝⎛=+-=--j T jee T s j j 2tan 2112ωωωΩ--Ω++=j Tj Tz σσ22222222||Ω+⎪⎭⎫ ⎝⎛-Ω+⎪⎭⎫ ⎝⎛+=σσT T z半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。
因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。
4.设计思路4.1 设计步骤(1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;(2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器;(3)根据双线性不变法把模拟滤波器转换为数字滤波器;(4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
程序流程框图:↓↓↓↓↓↓↓图2程序流程框图4.2设计过程(1)根据任务,确定性能指标:在设计带通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:带通滤波器的阻带边界频率关于中心频率0wp几何对称,因此ws1=wp0- ()π3.0ws通带范围从z H2=-wp250到z H400,在此两频率处衰减不大于3dB, 在150Hz和480Hz频率处衰减不小于20dB(2)用Ω=2/T*tan(w/2)对带通数字滤波器H(z)的数字边界频率预畸变,得到带通模拟滤波器H(s)的边界频率主要是通带截止频率ωp1,ωp2;阻带截止频率ωs1,ωs2的转换。
为了计算简便,对双线性变换法一般T=2s通带截止频率wc1=(2/T)*tan(wp1/2)=tan(0.4π/2)=0.7265wc2=(2/T)*tan(wp2/2)=tan(0.6π/2)=1.3764 阻带截止频率wr1=(2/T)*tan(ws1/2)=tan(0.3π/2)=0.5095wr2=(2/T)*tan(ws2/2)=tan(0.7π/2)=1.9626(3)运用低通到带通频率变换公式λ=(((Ω^2)-(Ω0^2))/(B*Ω))将模拟带通滤波器指标转换为模拟低通滤波器指标。
B=wc2-wc1=0.6499normwr1=(((wr1^2)-(w0^2))/(B*wr1))=2.236normwr2=(((wr2^2)-(w0^2))/(B*wr2))=2.236normwc1=(((wc1^2)-(w0^2))/(B*wc1))=1normwc2=(((wc2^2)-(w0^2))/(B*wc2))=1得出,normwc=1,normwr=2.236模拟低通滤波器指标:normwc=1,normwr=2.236,αp=3dB,αs=20dB (4)设计模拟低通原型滤波器。
用模拟低通滤波器设计方法得到模拟低通滤波器的传输函数()pG;借助巴特沃斯滤波器。
此时三阶巴特沃思模拟低通滤波器的系统函数为()122123+++=p p p p G 。
(5)利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z). 将 G (p )转换为数字带通滤波器H d (z )。
由 ()()()BWs ss spΩΩ+=Ω-ΩΩΩ+=22213312,而 1-1-z1z-12+=T s则p 与z 之间转换关系,即()()()BWz z z p Ω+⨯+Ω+-⨯=---232122216110211104将22Ω,BW Ω 带入上式,得 ()()()22121114813.114813.0---+++-=z zzp再将所得的结果代入()p G 中即可得数字带通滤波器()z H 。
()()1234562461405.2981.19184.19130.05704.01391.0133104953.0---------++++++-+-=zzz z zzzzzz H5.实验程序及结果5.1 实验程序MATLAB 程序如下:clear;close all t=0.001;fs=1000;wpu=0.8*pi,wpl=0.5*pi;wsu=0.96*pi,wsl=0.3*pi; wpz=[0.5,0.8]; wsz=[0.3,0.96]; wp=2/t*tan(wpz/2);ws=2/t*tan(wsz/2);rp=3;as=20;[n,wc]=buttord(wp,ws,rp,as,'s');%计算带通滤波器阶数N和3dB截止频率wc [b,a]=butter(n,wc,'s'); %计算带通滤波器系统函数分子分母多项式系数向量b,a [bz,az]=bilinear(b,a,fs);[nd,wdc]=buttord(wpz,wsz,rp,as);[bd,adz]=butter(nd,wdc);hk=freqz(bd,adz)figure(1)plot(abs(hk))grid on; xlabel('Hz');ylabel(' 幅度');title('幅度函数曲线') figure(2)plot(angle(hk));grid on;xlabel('\omega/\pi');ylabel('phi(omega)');title('相频特性曲线')5.2 MATLAB结果图3数字带通滤波器设计6.心得体会在之前数字信号与处理的学习以及完成课后的作业的过程中,已经使用过MATLAB,对其有了一些基础的了解和认识。
通过这次练习是我进一步了解了信号的产生、采样及频谱分析的方法。
以及其中产生信号和绘制信号的基本命令和一些基础编程语言。
让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用MATLAB也可以很好的加深我对课程的理解,方便我的思维。
这次设计使我了解了MATLAB的使用方法,学会分析滤波器的优劣和性能,提高了分析和动手实践能力。
同时我相信,进一步加强对MATLAB的学习与研究对我今后的学习将会起到很大的帮助。
在课程设计中也出现了很多问题,主要有以下几个方面:(1)对IIR滤波器的设计原理掌握不牢,在设定通带阻带频率上碰到点麻烦。
在经过很多的尝试以后,我们采用了巴特沃思低通滤波器,并把阻带通带设定在了一个合理的位置上。
(2)对Matlab相关函数不太了解,很多函数都是现学的。
对于Matlab里面的各种滤波器的函数也不时很了解,经过了大量的实验之后,才有了本实验程序与结果。
(3)在结果屡试都达不到要求的情况下,很急躁导致程序出现细微的错误都察觉不出来。
后经过多次检查及翻阅书籍才达到要求。
7.参考资料[1] 维纳•K•恩格尔等编,刘树棠译.《数字信号处理—使用MATLAB》[2] 薛年喜.《MATLAB在数字信号处理中的应用》清华大学出版社[3]丁玉美.数字信号处理西安电子科技大学出版社[4] 张明照.应用MATLAB实现信号分析和处理科学出版社[5] 余成波.数字信号处理及MATLAB实现清华大学出版社[6]罗军辉.MATLAB7.0在数字信号处理中的应用机械工业出版社[7]董长虹.Matlab信号处理与应用国防工业出版社[8]从玉良.数字信号处理原理及其MATLAB实现电子工业出版社。