实验五、无限冲激响应(IIR)数字滤波器的设计
- 格式:doc
- 大小:125.00 KB
- 文档页数:3
实验五IIR滤波器设计
一、实验目的:
1、掌握各种模拟原型滤波器的滤波特性;
2、掌握模数滤波器变换时的脉冲响应不变法和双线性变换法;
3、掌握低通滤波器变换成其他类型滤波器的方法;
4、能够根据指标选择合适的原型滤波器和合适的方法设计IIR滤波器。
二、实验内容:
1、自定设计指标(通带截止频率、通带波纹、阻带截止频率、阻带衰减),选择合适的模拟原型低通滤波器和合适的设计方法(脉冲响应不变法或双线性变换法),设计符合要求的IIR滤波器;并验证设计好的滤波器是否满足要求。
2、将此低通滤波器映射为高通、带通或带阻滤波器,并验证变换后的滤波器是否满足指标。
3、求输入x(n)=[cos(w1n)+cos(w2n)]u(n)经过系统后的输出y(n)。
其中w1位于通带内,w2位于阻带内,要求做一个两行两列的子图,第一个做x的时域波形,第二个做x的幅度谱,第三个做y的时域波形,第四个做y的幅度谱。
三、实验平台:MATLAB集成系统
四、设计流程:
此处写个人自己的设计流程
五、程序清单:
此处写程序内容
六、调试和测试结果:
此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法
设计指标:wp=0.3*pi; ws=0.4*pi; Rp=1;As=40;T=1;
参考设计结果
七、教师评语与成绩评定
此处由老师填写。
实验5 无限冲激响应数字滤波器设计一、实验目的1、掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法;2、熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。
二、实验原理在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord和cheb1ord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;如:求阶数[N, Wn] = cheb1ord (Wp, Ws, Rp, Rs,’s’)选择项说明:high-类别。
缺省为low; s-模/数,缺省为数Rp即p, Rs即s ; Wn-Chebyshev自然频率(3dB频率),数字设计: Wp =p/ Ws=s/ 。
2)[num,den]=butter(N,Wn)(巴特沃斯)和[num,den]=cheby1(N,Wn),[num,den]=cheby2(N,Wn)(切比雪夫1型和2型)可以进行滤波器的设计;3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通、带通、带阻滤波器的转换;4)使用bilinear可以对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数;5)利用impinvar可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。
三、实验内容利用MATLAB编程,用脉冲响应不变法和双线性变换法设计一个数字带通滤波器,指标要求如下:通带边缘频率:,,通带峰值起伏:;阻带边缘频率:,,最小阻带衰减:。
1.采用切比雪夫程序:%%%%%%%%%%%采用切比雪夫%%%%%%%%%%脉冲响应format compactfs=1000;%%%%%%%%%%采样频率wp1=0.45*pi*fs;wp2=0.65*pi*fs;ws1=0.3*pi*fs;ws2=0.8*pi*fs;[N,wn]=cheb1ord([wp1 wp2],[ws1 ws2],1,40,'s');[B,A]=cheby1(N,1,wn,'s');[num,den]=impinvar(B,A,fs);[h1,w]=freqz(num,den);%%%%%%%%%%双线性法wp3=2*fs*tan(pi*0.45/2);wp4=2*fs*tan(pi*0.65/2);ws3=2*fs*tan(pi*0.3/2);ws4=2*fs*tan(pi*0.8/2);[N,wn]=cheb1ord([wp1 wp2],[ws1 ws2],1,40,'s');[B,A]=cheby1(N,1,wn,'s');[num,den]=bilinear(B,A,fs);[h2,w]=freqz(num,den);f=w/pi*fs/2;plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-'); axis([0,600,-80,10]);grid;title('采用切比雪夫')xlabel('f')ylabel('幅度/dB')图形:2.采用巴特沃斯的程序:%%%%%%%%%%%%%%%%采用巴特沃斯format compactfs=1000;%%%%%%%%%%采样频率wp1=0.45*pi*fs;wp2=0.65*pi*fs;ws1=0.3*pi*fs;ws2=0.8*pi*fs;[N,wn]=buttord([wp1 wp2],[ws1 ws2],1,40,'s'); [B,A]=butter(N,wn,'s');[num,den]=impinvar(B,A,fs);[h1,w]=freqz(num,den);%%%%%%%%%%双线性法wp3=2*fs*tan(pi*0.45/2);wp4=2*fs*tan(pi*0.65/2);ws3=2*fs*tan(pi*0.3/2);ws4=2*fs*tan(pi*0.8/2);[N,wn]=buttord([wp1 wp2],[ws1 ws2],1,40,'s');[B,A]=butter(N,wn,'s');[num,den]=bilinear(B,A,fs);[h2,w]=freqz(num,den);f=w/pi*fs/2;plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');axis([0,600,-80,10]);grid;title('采用巴特沃斯')xlabel('f')ylabel('幅度/dB')图形:四.小结双线性变换法采用非线性频率压缩方法,它克服了频率混叠的现象,它适合低通,高通,带通,带阻滤波器的设计;用脉冲响应不变法设计的优点是频率坐标变换是线性的,它可以很好的重现原模拟滤波器的频率特性,但它只适合低通和带通滤波器的设计。
无限脉冲响应数字滤波器(IIR )设计所谓的数字滤波,指的是输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分。
数字滤波可分为无限脉冲响应(IIR )滤波和有限脉冲响应(FIR )滤波。
本次试验利用VISUAL DSP++ 软环境SIMULATOR 模拟实现无限脉冲响应(IIR )数字信号处理。
无限脉冲响应(IIR)的系统函数为:1()1Mrrr N kk k bz H Z a z-=-==+∑∑ 公式1即如果输入为X(Z),输出为Y(N),则:Y(Z)= X(Z )×H(Z),即01()()1Mrr r N kk k b zY Z X Z a z -=-==+∑∑ 公式2本试验中利用的公式是对上面的公式2对了相应的形式变化,利用中间变量11()()1Nkk k W Z X Z a z -==+∑ 公式3那么()()Mr r r Y Z W N b z -==∑ 公式4因此,本次试验设计了一个4阶IIR 滤波,其对应的公式3和公式4的时域公式如下:W(n)=x(n)*scale+w(n-1)*a1+w(n-2)*a2+w(n-3)*a3+w(n-4)*a4;公式5y(n)=w(n)+w(n-1)*b1+w(n-2)*b2+w(n-3)*b3+w(n-4)*b4;公式6在本次设计中由于系数a4,a3,a2,a1,b4,b3,b2,b1都是用户自己初始化的时候给定的且均为常数,所以公式5和公式6也相应可以变为公式7和公式8:W(n)=x(n)*scale+w(n-1)*a4+w(n-2)*a3+w(n-3)*a2+w(n-4)*a1 公式7 y(n)=w(n)+w(n-1)*b4+w(n-2)*b3+w(n-3)*b2+w(n-4)*b1 公式8其中x(n)是输入的数字序列。
从公式5和公式6可知:只要我们设定设计需要的a4,a3,a2,a1,b4,b3,b2,b1,以及初始化w(n-1), w(n-2), w(n-3), w(n-4),就可以得到我们所需要的滤波器了。
实验四 无限冲激响应(IIR )数字滤波器设计一、实验目的1.熟悉用双线性变换法设计IIR 数字滤波器的原理和方法;2.了解用脉冲响应不变法设计IIR 数字滤波器的原理和方法;3.掌握双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点;4.掌握数字滤波器的计算机仿真方法;二、实验原理介绍IIR 数字滤波器的系统函数为1z -的有理分式: 1011()1N kk Nk k b z H z a z -=-==+∑∑ 设计IIR 滤波器的系统函数,就是要确定()H z 的阶数N 及分子分母多项式的系数k a 和k b ,使其()()j j z e H e H z ωω==满足指定的频率特性。
由于模拟滤波器的设计有许多简单而严谨的设计公式和大量的图表可以利用,因此IIR 滤波器设计的方法之一是:先设计一个合适的模拟滤波器,然后将模拟滤波器通过适当的变换转换成满足给定指标的数字滤波器。
1、Butterworth 模拟低通滤波器221()1a N c H j Ω=⎛⎫Ω+ ⎪Ω⎝⎭幅度平方函数:其中,N 为滤波器的阶数,c Ω为通带截止频率。
2.Chebyshev 模拟低通滤波器 2221()1()a N c H j C εΩ=Ω+Ω幅度平方函数:3、脉冲响应不变法原理 用数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应()a h t ,让h(n)正好等于()a h t 的采样值,即:()()a h n h nT =其中,T 为采样间隔。
如果以()a H s 和H(z)分别表示()a h t 的拉氏变换及h(n)的Z 变换,则:12ˆ()()sT a a z e k H z H s H s j k T T π∞==-∞⎛⎫==- ⎪⎝⎭∑4、双线性变换法原理双线性变换法是通过两次映射采用非线性频率压缩的方法,将整个频率轴上的频率范围压缩到±π/T 之间,再用sTz e =转换到z 平面上,从而使数字滤波器的频率响应与模拟滤波器的频率响应相似。
实验五IIR滤波器的设计与信号滤波IIR滤波器,即无限脉冲响应滤波器(Infinite Impulse Response Filter),是一类数字滤波器,其输出依赖于输入信号和先前的输出信号。
相比于有限脉冲响应滤波器(FIR Filter),IIR滤波器具有更少的延迟和更高的效率。
本实验将介绍IIR滤波器的设计原理以及在信号滤波中的应用。
IIR滤波器的设计是通过对传递函数进行分析和设计实现的。
传递函数H(z)可以通过差分方程来表示,其中z是时间变量的复数变换。
一般而言,IIR滤波器的传递函数分为分子多项式和分母多项式两部分,它们都是z的多项式。
例如,一个简单的一阶低通滤波器的传递函数可以表示为:H(z)=b0/(1-a1z^(-1))其中b0是分子多项式的系数,a1是分母多项式的系数,z^(-1)表示滤波器的延迟项。
IIR滤波器的设计方法有很多种,其中一种常用的方法是巴特沃斯滤波器设计。
巴特沃斯滤波器是一种最优陡峭通带和带外衰减的滤波器。
设计巴特沃斯滤波器的步骤如下:1.确定滤波器的阶数:阶数决定了滤波器的复杂度和频率特性。
一般而言,阶数越高,滤波器的效果越好,但计算和实现的复杂度也越高。
2.确定通带和带外的频率特性:根据应用需求,确定滤波器在通带和带外的频率响应。
通带的频率范围内,滤波器应该具有尽可能小的幅频特性,带外的频率范围内,滤波器应该具有尽可能高的衰减。
3.根据阶数和频率特性计算巴特沃斯滤波器的极点:巴特沃斯滤波器的极点是滤波器的传递函数的根。
根据阶数和频率特性,可以使用巴特沃斯极点表来获取滤波器的极点。
4.将极点转换为差分方程:利用极点可以构造差分方程,定义IIR滤波器的传递函数。
除了巴特沃斯滤波器设计方法,还有其他IIR滤波器设计方法,例如Chebyshev滤波器、椭圆滤波器等。
每种设计方法都有其独特的优点和适用范围,可以根据具体需求选择适合的设计方法。
在信号滤波中,IIR滤波器可以用于实现多种滤波效果,例如低通滤波、高通滤波、带通滤波和带阻滤波等。
数字信号处理实验报告实验名称:无限冲激响应(IIR)数字滤波器的三种结构 学号: 姓名: 评语: 成绩: 一、 实验目的1、掌握IIR 滤波器的直接II 型、级联型和并联型三种结构的基本原理和特点。
2、掌握利用MATLAB 实现IIR 滤波器的三种结构的程序设计方法,并能够进行三者之间的相互转换。
3、掌握滤波器频响特性的绘制方法。
二、 实验原理与计算方法按照结构划分数字滤波器,有递归式和非递归式两种。
递归式数字滤波器的差分方程为∑∑==-=-+Mi i Nk ki n x b k n y an y 11)()()( (1)其中至少有一个0≠k a .非递归式数字滤波器的差分方程为 ∑=-=Mi i i n x b n y 1)()( (2)可以看出递归式数字滤波器的响应)(n y 不仅与激励)(n x 有关,而且与以前的输出信号)(k n y -有关;而非递归式数字滤波器的响应)(n y 仅只与激励)(n x 有关。
按照单位样值响应划分数字滤波器,则有无限冲激响应(IIR)和有限冲激响应(FIR)之分。
IIR 滤波器是递归式的,差分方程如(1)式所示,FIR 滤波器一般是非递归式的,差分方程如(2)式所示。
IIR 滤波器常用的典型结构有直接II 型、级联型和并联型,分别介绍如下: 1、直接II 型(也称为正准型结构) 根据(1)式,IIR 滤波器的传输函数为∑∑=-=--=Nk kk Nk kkz azb z H 101)( (3)其中已假设(1)式中的M N =,对于其它情况,则可令相应的某些系数为零。
令 11)(,)(1201∑∑=-=--==Nk kk Nk k k z az H z b z H则有 )()()(21z H z H z H = (4) 由此可以得到相应的时域中激励)(n x 与响应)(n y 之间的关系为∑∑==-=+-=Nk kNk kk n y bn y n x k n y an y 02122)()()()()( (5)其中)(2n y 是与(4)式中的)(2z H 相应的中间函数序列。
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)数字滤波器的设计一、实验目的1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。
2、掌握用Matlab软件设计流程。
二、实验设备微型计算机、Matlab7.0教学版三、实验原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲击响应的时域特征,可以将数字滤波器分为两种,即无限长冲击响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。
在MATLAB中,可以通过调用simulink中的功能模块,可以构成数字滤波器的仿真框图。
在仿真过程中,双击各个功能模块,随时改变参数,获得不同状态下的仿真结果。
四、实验内容(1)用fdatool设计一个IIR低通滤波器(具体参数不要求)(2)并用simulink 仿真(3)对滤波器输入一个含噪信号并能观察到滤波前后的波形(4)对结果进行分析。
五、实验结果1、Simulink仿真原理图2、Filter参数设置3、滤波效果Scope Scope1Scope2六、实验总结通过这次实验,我熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。
熟悉和了解了simulink仿真的真个过程。
Simulink中各种非常有用的工具箱不仅对于设计IIR数字滤波器非常有用,而且对于整个型号仿真处理具有相当可视化的效果,从仿真的角度看,是达到了技术指标的要求。
Simulink是一个进行动态系统建模、仿真和综合分析的集成软件包。
它可以处理的系统包括:线性、非线性系统:离散、连续及混合系统;单任务、多任务离散时间系统。
实验无限冲激响应滤波器IIR算法实验完整版实验无限冲激响应滤波器I I R算法实验HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】实验 3 :无限冲激响应滤波器(IIR)算法实验一、实验目的1. 熟悉IIR 数字滤波器特性;2.掌握IIR数字滤波器的设计过程;3.掌握 IIR 数字滤波器性能测试方法。
二、实验设备兼容机操作系统Composer Studio v5三、实验内容1.掌握IIR数字滤波器的基础理论;2.基于MATLAB的IIR数字滤波器参数确定方法;3.采用C语言编程实现低通IIR 滤波器;4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。
四.实验原理分析要求:使用低通巴特沃斯滤波器,设计通带截止频率f p为1kHz、增益为-3dB,阻带截止频率f st为12kHz、衰减为30dB,采样频率f s为25kHz。
设计:通带截止频率为: f p = 1000Hz, f st = 12000Hz(一)、滤波器参数计算模拟预畸变通带截止频率为:w p = 2f s tan(2πf p/(2f s)) = 弧度/秒模拟预畸变阻带截止频率为:w st = 2f s tan(2πf st/(2f s)) = 弧度/秒N = ,则:一阶巴特沃斯滤波器就足以满足要求。
一阶模拟巴特沃斯滤波器的传输函数为: H(s)=wp /(s+wp)=(s+由双线性变换定义 s=2fs(z-1)/(z+1)得到数字滤波器的传输函数为:因此,差分方程为:y[n]=[n-1]+[n]+[n-1]。
(二)、基于MATLAB的滤波器参数求解(1)IIR数字滤波器阶次的选择的MATLAB函数[N,wc ] = buttord(wp,wst,Rp,As);[N,wc ] = cheb1ord(wp,wst,Rp,As);[N,wc ] = cheb2ord(wp,wst,Rp,As);[N,wc ] = ellipord(wp,wst,Rp,As);对低通滤波器,必须有wp < wst对高通滤波器,必须有wp > wst对带通滤波器,必须有 ws1 < wp1< wp2< ws2对带阻滤波器,必须有 wp1 < ws1< ws2< wp2(2) IIR数字滤波器的设计[b,a] = butter(N,wc,’ftype’)[b,a] = cheby1(N,wc,’ftype’) [b,a] = cheby2(N,wc,’ftype’) [b,a] = ellip(N,wc,’ftype’)(三)、基于C语言编程的IIR 数字滤波器编程实现程序流程图五.实验步骤1.打开 CCS,进入 CCS 的操作环境。
实验5脉冲响应不变法设计IIR数字滤波器一、实验目的1.掌握利用脉冲响应不变法设计IIR数字滤波器的原理及具体方法。
2.加深理解数字滤波器和模拟滤波器之间的技术指标转化。
3.掌握脉冲响应不变法设计IIR数字滤波器的优缺点及适用范围。
二、实验设备及环境计算机、matlab软件环境。
三、实验基础理论1.基本原理从时域响应出发,是数字录波器的单位脉冲响应h(n)模仿模拟滤波器的单位冲击响应h a(t),h(n)等于h a(t)的取样值。
2变换方法H a(s)拉氏反变换→h a(t)时域采样→ℎa(nT)=h(n)z变换→H(z)将H a(s)进行部分分式展开H a(s)=∑A k s−p kNk=1(2)对H a(s)进行拉式变换h a(t)=∑A k e p k u(t)Nk=1(3)对h a(t)时域采样得到h(n)h(n)=∑A k e p k nT u(nT)Nk=1=∑A k(e p k T)n u(n) Nk=1(4)对h(n)进行z变换H(z)=∑A k1−e p k z−1Nk=13.设计步骤(1)确定数字滤波器性能指标ωp,ωst,R p和A s。
(2)将数字滤波器频率指标转换成相应的模拟滤波器频率指标Ωp=ωpTΩst=ωstT(3)根据指标ωp,ωst,R p和A s设计模拟滤波器H a(s)。
(4)将H a(s)展成部分分式形式H a(s)=∑A k s−p kNk=1(5)将模拟极点P k转换成数字极点e P k T,得到数字滤波器H a(s)=∑A k1−e p k T z−1Nk=1可见H a(s)至H(z)间的变换关系为1 s−s k <=>11−e s k T z−1=zz−e s k T在MATLAB中有两种方法可以实现上述变换。
方法1:利用residue函数和residuez函数实现脉冲响应不变法,这两个函数的使用方法如下[r,p,k]=residue(b,a) [b,a]=reisdue(r,p,k) 实现多项式形式H(s)=b M s M+b M−1s M−1+⋯+b0 a N s N+a N−1s N−1+⋯+a0和部分分式形式H(s)=r1s−p1+r2s−p2+⋯+r Ns−p N+k(s)之间的转换。
IIR数字滤波器的设计一、实验目的:掌握冲激相应不变法和双线性变换法设计IIR数字滤波器的原理和方法;观察冲激相应不变法和双线性变换法设计IIR数字滤波器的频率特性;了解冲激相应不变法和双线性变换法的特点和区别。
二、实验原理:无限长单位冲激响应(IIR)数字滤波器的设计思想:a)设计一个合适的模拟滤波器b)利用一定的变换方法将模拟滤波器转换成满足预定指标的数字滤波器切贝雪夫I型:通带中是等波纹的,阻带是单调的切贝雪夫II型:通带中是单调的,阻带是等波纹的1.用冲击响应不变法设计一个低通切贝雪夫I型数字滤波器通带上限截止频率为400Hz阻带截止频率为600Hz通带最大衰减为0.3分贝阻带最小衰减为60分贝抽样频率1000Hz2.用双线性变换法设计切贝雪夫II型高通滤波器通带截止频率2000Hz阻带截止频率1500Hz通带最大衰减0.3分贝阻带最小衰减50分贝抽样频率20000Hz四、实验程序:1)Wp=2*pi*400;Ws=2*pi*600;Rp=0.3;Rs=60;Fs=1000;[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s'); [Z,P,K]=cheb1ap(N,Rp);[A,B,C,D]=zp2ss(Z,P,K);[At,Bt,Ct,Dt]=lp2lp(A,B,C,D,Wn); [num1,den1]=ss2tf(At,Bt,Ct,Dt);[num2,den2]=impinvar(num1,den1,Fs); [H,W1]=freqs(num1,den1);figure(1)subplot(2,1,1);semilogx(W1/pi/2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz');ylabel(' 模拟滤波器幅值(db)');[H,W2]=freqz(num2,den2,512,'whole',Fs); subplot(2,1,2);plot(W2,20*log10(abs(H)));grid;xlabel(' 频率/ Hz');ylabel(' 数字滤波器幅值(db)'); [H,W]=freqz(num2,den2,512,'whole'); figure(2)subplot(2,1,1);8plot(W/2/pi,20*log10(abs(H)));grid; xlabel(' 数字角频率/ pi');ylabel(' 数字滤波器幅值(db)'); %xlabel(' 频率/ Hz'); %ylabel(' 幅值'); subplot(2,1,2);%stem(W/pi,abs(H));grid;%figure(3)%semilogx(W1,W2);%grid;plot(W/2/pi,angle(H)/pi);grid;xlabel(' 数字角频率/ pi');ylabel(' 相角/ pi');2)Wp=2*pi*2000;Ws=2*pi*1500;Rp=0.3;Rs=50;Fs=20000;[N,Wn]=cheb2ord(Wp,Ws,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); [num1,den1]=ss2tf(At,Bt,Ct,Dt); [num2,den2]=bilinear(num1,den1,Fs); [H,W]=freqz(num2,den2);subplot(2,1,1);plot(W*Fs/2/pi,20*log10(abs(H)));grid; xlabel(' 数字角频率/ Hz');ylabel(' 幅值(dby)');subplot(2,1,2);plot(W*Fs/2/pi,angle(H)/pi);grid; xlabel(' 数字角频率/ Hz');ylabel(' 相角/ pi');五、仿真图形:六、实验分析:1.在第一个实验中模拟滤波器的频率响应曲线延伸无穷,而数字滤波器只给出500Hz一下的频谱是什么原因?答:模拟滤波器的频率响应从负无穷至正无穷,经过采样后,变到(0,2π)。
IIR数字滤波器设计及软件实现-实验报告实验目的:1.掌握数字滤波器设计的基本原理和方法;2.学习数字滤波器的软件实现;3.熟悉数字滤波器的特性和性能评价指标。
实验设备:1.计算机;2.MATLAB软件。
实验步骤:1. 设计无限冲激响应(Infinite Impulse Response,IIR)数字滤波器的传递函数。
2.使用MATLAB软件将传递函数转换为差分方程。
3.编写MATLAB代码实现差分方程的数字滤波器。
4.给定待滤波的数字信号,将信号传入数字滤波器进行滤波处理。
5.分析滤波后的信号的频率响应和时域响应,并进行性能评价。
实验结果:在MATLAB中,设计了一个二阶Butterworth低通滤波器的传递函数:H(z)=(0.2929/(z^2-0.5858z+0.2929))将传递函数转换为差分方程:y(n)=0.2929*x(n)+0.5858*x(n-1)+0.2929*x(n-2)-0.5858*y(n-1)-0.2929*y(n-2)使用MATLAB代码实现了差分方程的数字滤波器:```MATLABfunction y = IIR_filter(x)persistent x1 x2 y1 y2;if isempty(x1)x1=0;x2=0;y1=0;y2=0;endy=0.2929*x+0.5858*x1+0.2929*x2-0.5858*y1-0.2929*y2;x2=x1;x1=x;y2=y1;y1=y;end```将待滤波的数字信号传入该数字滤波器进行处理:```MATLAB% Generate test signalfs = 1000; % Sampling ratet = 0:1/fs:1; % Time vectorx = sin(2*pi*50*t) + sin(2*pi*120*t) + sin(2*pi*200*t); % Apply IIR filtery = IIR_filter(x);% Plot resultsfigure;subplot(2,1,1);plot(t, x);title('Original Signal');xlabel('Time');ylabel('Amplitude');subplot(2,1,2);plot(t, y);title('Filtered Signal');xlabel('Time');ylabel('Amplitude');```分析滤波后的信号的频率响应和时域响应,并进行性能评价。
实验四、无限冲激响应(IIR)数字滤波器的设计
一、实验目的
1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。
2、掌握用Matlab软件设计流程。
二、实验设备
微型计算机、Matlab7.0教学版
三、实验原理
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲击响应的时域特征,可以将数字滤波器分为两种,即无限长冲击响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。
在MATLAB中,可以通过调用simulink中的功能模块,可以构成数字滤波器的仿真框图。
在仿真过程中,双击各个功能模块,随时改变参数,获得不同状态下的仿真结果。
四、实验内容
(1)用fdatool设计一个IIR低通滤波器(具体参数不要求)
(2)并用simulink 仿真
(3)对滤波器输入一个含噪信号并能观察到滤波前后的波形
(4)对结果进行分析。
五、实验结果
1、Simulink仿真原理图
2、Filter参数设置
Scope
Scope1
Scope2
六、实验总结
通过这次实验,我熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。
熟悉和了解了simulink仿真的真个过程。
Simulink中各种非常有用的工具箱不仅对于设计IIR数字滤波器非常有用,而且对于整个型号仿真处理具有相当可视化的效果,从仿真的角度看,是达到了技术指标的要求。
Simulink是一个进行动态系统建模、仿真和综合分析的集成软件包。
它可以处理的系统包括:线性、非线性系统:离散、连续及混合系统;单任务、多任务离散时间系统。