实验6 无限冲激响应数字滤波器设计
- 格式:doc
- 大小:191.50 KB
- 文档页数:8
实验6 有限冲激响应数字滤波器设计一、实验目的:1、加深对数字滤波器的常用指标理解。
2、学习数字滤波器的设计方法。
二、实验原理:低通滤波器的常用指标:(1)通带边缘频率;(2)阻带边缘频率;(3)通带起伏;(4)通带峰值起伏,(5)阻带起伏,最小阻带衰减。
三、实验内容:利用MATLAB编程,用窗函数法设计FIR数字滤波器,指标要求如下:通带边缘频率:,通带峰值起伏:。
阻带边缘频率:,最小阻带衰减:。
采用汉宁窗函数法的程序:wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;width1=wp1-ws1;width2=ws2-wp2;width=min(width1,width2)N1=ceil(8*pi/width)b1=fir1(N1,[0.45 0.65],hanning(N1+1));[h1,f]=freqz(b1,1,512);plot(f/pi,20*log10(abs(h1)),'-')grid;图形:采用切比雪夫窗函数法德程序:wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;width1=wp1-ws1;width2=ws2-wp2;width=min(width1,width2)N1=ceil(8*pi/width)b1=fir1(N1,[0.45 0.65],chebwin(N1+1,20));[h1,f]=freqz(b1,1,512);plot(f/pi,20*log10(abs(h1)),'-')grid;图形:四.小结FIR和IIR滤波器各自的特点:①结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定,IIR滤波器脱离不了模拟滤波器的格局,FIR滤波器更灵活,尤其能使适应某些特殊的应用。
设计选择:在对相位要求不敏感的场合,用IIR较为适合,而对图像处理等对线性要求较高,采用FIR滤波器较好。
实验6FIR滤波器设计FIR (Finite Impulse Response)滤波器是一种数字滤波器,其输出信号仅取决于振荡器的输入以前的有限个值。
FIR滤波器设计的目的是通过调整滤波器的系数以实现所需的频率响应。
在FIR滤波器设计中,首先确定滤波器的类型和频率响应的规格。
常见的滤波器类型有低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
频率响应的规格由滤波器的截止频率、通带增益和阻带衰减等参数决定。
FIR滤波器的设计步骤如下:1.确定滤波器的类型和频率响应规格。
根据应用的需求,选择适当的滤波器类型和定义频率响应的参数。
2.确定滤波器的阶数。
阶数决定了滤波器的复杂度和性能。
一般而言,阶数越高,滤波器的性能越好,但计算复杂度也越高。
3.根据频率响应规格和系统设计的约束,选择一种滤波器设计方法。
常见的设计方法有窗函数法、频率采样法、最小均方误差法等。
4.设计滤波器的理想频率响应。
根据所选的设计方法,确定滤波器的理想频率响应。
这通常是一个分段线性函数,其中包括通带增益和阻带衰减。
5.将理想频率响应转换为时域的冲激响应。
这可以通过将理想频率响应进行反傅里叶变换来实现。
6.通过选择合适的窗函数,对冲激响应进行窗函数变换。
窗函数的选择是设计滤波器性能的重要因素。
7.通过窗函数变换得到滤波器的系数。
通过将窗函数变换应用于冲激响应,可以得到设计滤波器的系数。
这些系数确定了滤波器的时间响应和频率响应。
8.可选地,通过优化算法对滤波器的系数进行优化。
优化算法可以用来进一步改善滤波器的性能。
常用的优化算法包括加权最小二乘方法、梯度下降法等。
9.实现滤波器。
将设计好的滤波器系数应用于输入信号,得到滤波器输出。
可以使用编程语言或滤波器设计工具来实现滤波器。
10.验证滤波器的性能。
通过将滤波器应用于不同的输入信号,检验滤波器输出是否符合设计要求。
可以使用频谱分析工具和滤波器性能评估指标来评估滤波器的性能。
FIR滤波器设计是数字信号处理中重要的课题之一、设计一个性能良好的FIR滤波器需要对滤波器原理和设计方法有深入的了解,以及熟练的使用滤波器设计工具和编程工具。
实验6 无限冲激响应数字滤波器设计实验目的:掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。
实验原理:在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord和cheblord 可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;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可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。
例3-1 设采样周期T=250μs(采样频率fs =4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。
[B,A]=butter(3,2*pi*1000,'s');[num1,den1]=impinvar(B,A,4000);[h1,w]=freqz(num1,den1);[B,A]=butter(3,2/0.00025,'s');[num2,den2]=bilinear(B,A,4000);[h2,w]=freqz(num2,den2);f=w/pi*2000;plot(f,abs(h1),'-.',f,abs(h2),'-');grid;xlabel('频率/Hz ')ylabel('幅值/dB')程序中第一个butter的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter的边界频率2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率.图1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。
实验四、无限冲激响应(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是一个进行动态系统建模、仿真和综合分析的集成软件包。
它可以处理的系统包括:线性、非线性系统:离散、连续及混合系统;单任务、多任务离散时间系统。
数字信号处理实验报告姓名:寇新颖 学号:20100304026 专业:电子信息科学与技术实验四 无限冲激响应(IIR)数字滤波器的设计一、实验目的1.掌握双线性变换法及冲激响应不变法设计IIR 数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及冲激响应不变法设计低通IIR 数字滤波器的计算机编程。
2.观察双线性变换及冲激响应不变法设计的滤波器的频域特性,了解双线性变换法及冲激响应不变法的特点。
3.熟悉Butterworth 滤波器的频率特性。
二、实验原理1.利用模拟滤波器设计IIR 数字滤波器方法(1)根据所给出的数字滤波器性能指标计算出相应的模拟滤波器的设计指标。
(2)根据得出的滤波器性能指标设计出相应的模拟滤波器的系统函数H(S)。
(3)根据得出的模拟滤波器的系统函数H(S),经某种变换得到对该模拟滤波器相应的数字仿真系统——数字滤波器。
将模拟滤波器转换成数字滤波器的实质是,用一种从s 平面到z 平面的映射函数将Ha(s)转换成H(z)。
对这种映射函数的要求是:(1) 因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。
(2)数字滤波器的频率响应模仿模拟滤波器的频响,s 平面的虚轴映射z 平面的单位圆,相应的频率之间成线性关系。
冲激响应不变法和双线性变换法都满足如上要求。
2.冲激响应不变法用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应h a (t),让h(n)正好等于h a (t)的采样值,即h(n)=h a (nT),其中T 为采样间隔。
3.双线性变换法s 平面与z 平面之间满足以下映射关系:1111--+-=z z s s 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换时一种非线性变换)2/(ωtg =Ω,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
以低通数字滤波器为例,将设计步骤归纳如下:(1)确定数字滤波器的性能指标:通带临界频率f p 、阻带临界频率f s ;通带内的最大衰减A p ;阻带内的最小衰减A s ;(2)确定相应的数字角频率,ωp =2πf p ;ωs =2πf s ;(3)计算经过预畸的相应模拟低通原型的频率,)2/(ωtg =Ω;(4)根据Ωp 和Ωs 计算模拟低通原型滤波器的阶数N ,并求得低通原型的传递函数H a (s);(5)用上面的双线性变换公式代入H a (s),求出所设计的传递函数H(z);(6)分析滤波器特性,检查其指标是否满足要求。
无限冲激响应数字滤波器设计实验的结论可能涉及多个方面,包括实验过程、数据分析以及可能的设计改进。
以下是一个可能的结论示例:
在本次无限冲激响应数字滤波器设计实验中,我们通过MATLAB软件进行了滤波器的设计和分析。
实验结果表明,设计的滤波器具有良好的性能,能够有效地滤除输入信号中的噪声。
此外,通过调整滤波器的参数,可以实现不同频率范围的滤波效果。
然而,实验过程中也暴露出了一些问题。
首先,对于某些特定频率的信号,滤波器的响应不够理想,可能需要进一步优化设计。
其次,由于算法的限制,滤波器的计算时间较长,影响了实时处理的效果。
针对这些问题,我们提出了改进方案,包括优化算法和调整滤波器参数等。
通过本次实验,我们深入了解了无限冲激响应数字滤波器的工作原理和设计方法。
实验结果不仅验证了设计的有效性,也为进一步研究提供了有益的参考。
在未来的工作中,我们将继续关注滤波器性能的优化,以更好地满足实际应用的需求。
请注意,以上结论仅为示例,实际实验结论应根据具体实验过程和数据分析进行撰写。
实验六、有限冲激响应(FIR)数字滤波器的设计一、实验目的掌握用窗函数法设计FIR 数字滤波器的原理与方法;熟悉线性相位FIR 数字滤波器特性;了解各种窗函数对滤波特性的影响。
二、实验设备微型计算机、Matlab7.0教学版 三、实验原理低通滤波器的常用指标:P P P for H Ω≤Ω+≤Ω≤-,1)(1δδπδ≤Ω≤Ω≤ΩS S for H ,)(通带边缘频率P Ω,阻带边缘频率S Ω,通带起伏P δ,通带峰值起伏])[1(log 2010dB p p δα--=,阻带起伏s δ,最小阻带衰减])[(log 2010dB s S δα-=。
数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。
在MATLAB 中,可以用b=fir1(N,Wn,’ftype’,taper)等函数辅助设计FIR 数字滤波器。
N 代表滤波器阶数;Wn 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn 为双元素相量;ftype 代表滤波器类型,如’high’高通,’stop’带阻等;taper 为窗函数类型,默认为海明窗,窗系数需要实现用窗函数blackman,hamming,hanningchebwin,kaiser 产生。
四、实验内容(1)用冲激响应不变法设计IIR 数字滤波器。
(2)绘出数字滤波器在频率区间的幅频响应特性曲线; (3)对结果进行分析;五、实验结果用窗函数设计一个线性相位FIR 低通滤波器,并满足性能指标:通带边界的归一化频率wp=0.5,阻带边界的归一化频率ws=0.66,阻带衰减不小于30dB ,通带波纹不大于3dB 。
假设一个信号,其中f1=5Hz,f2=20Hz 。
信号的采样频率为50Hz 。
试将原信号与通过滤波器的信号进行比较。
S PP SPassband StopbandTransition bandFig 1 Typical magnitude specification for a digital LPF1、采用海明窗实验程序:运行结果图形2、三角窗函数 实验程序运行结果图五、实验总结通过这次实验,掌握用窗函数法设计FIR数字滤波器的原理与方法,熟悉了线性相位FIR数字滤波器特性,了解了各种窗函数对滤波特性的影响。
第六章 无限冲激响应数字滤波器的设计无限冲激响应(IIR )数字滤波器可以实现用较少的阶数达到要求的幅度特性,因此,所需的运算次数及存储单元都较少,所以,在要求相位特性不严格的场合使用IIR 数字滤波器是适宜的。
IIR 滤波器的系统函数可以用极、零点表示如下:∏∏∑∑=-=-=-=---=-=Nk kMk kN k k k Mk kk z dzc Az a zb z H 111110)1()1(1)(一般满足M ≤N ,这类系统称为N 阶系统,当M >N 时,H (z )可看成是一个N 阶IIR 子系统与一个(M-N)阶的FIR 子系统的级联。
以下讨论都假定M ≤N 。
IIR 滤波器的系统函数的设计就是确定各系数a k , b k 或零极点c k ,d k 和A ,以使滤波器满足给定的性能要求。
设计IIR 数字滤波器一般有以下三种方法:(1) 模拟-数字转换法先设计一个合适的模拟滤波器,然后变换成满足预定指标的数字滤波器。
这种方法很方便, 因为模拟波滤波器已很成熟,它有很多现成的设计公式,并且设计参数已经表格化, 使用起来既方便又准确。
(2) 直接法滤波器系统函数的零点和极点位置完全决定了滤波器的幅度和相位响应。
所以,通过合理设置数字滤波器系统函数的零、极点,即可得到符合要求的滤波特性。
这种方法往往需要多次调整零、极点位置,称为直接法,也称为零、极点累试法。
(3) 计算机辅助设计法。
这是一种最优化设计方法。
它先确定一种最优化准则, 例如设计出的实际频率响应的幅度与理想频率响应的幅度的均方误差最小准则,或它们的最大误差最小准则等, 然后确定满足该最佳准则的滤波器系数a k 、b i 。
这种设计一般不易得到滤波器系数的显式表达式, 而是需要进行大量的迭代运算,需用计算机辅助设计完成。
本章主要讨论IIR 滤波器的特点及主要设计方法。
§6-1 IIR 数字滤波器的特点及结构一、IIR 滤波器的主要特点IIR 滤波器的差分方程及系统函数分别为:1()(1)()M Ni i i i y n b x n a y n i ===-+-∑∑ (6-1)01()()()1Mii i N ii i b zY z H z X z a z -=-===-∑∑ (6-2)这种系统结构中存在反馈环节,因此称为递归系统;又因为该系统的冲激响应h(n)是无限长序列,所以又称为无限冲激响应(Infinite Impulse Response----IIR )系统。
实验6无限冲激响应数字滤波器设计
实验目的:
掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。
实验原理:
在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord 和cheblord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;
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可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。
例3-1 设采样周期T=250μs(采样频率fs =4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。
[B,A]=butter(3,2*pi*1000,'s');
[num1,den1]=impinvar(B,A,4000);
[h1,w]=freqz(num1,den1);
[B,A]=butter(3,2/0.00025,'s');
[num2,den2]=bilinear(B,A,4000);
[h2,w]=freqz(num2,den2);
f=w/pi*2000;
plot(f,abs(h1),'-.',f,abs(h2),'-');
grid;
xlabel('频率/Hz ')
ylabel('幅值/dB')
程序中第一个butter的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter的边界频率2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率.图1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。
脉冲响应不变法由于混叠效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。
同时,也看到双线性变换法,在z=-1即Ω=π或f=2000Hz处有一个三阶传输零点,这个三阶零点正是模拟滤波器在ω=∞处的三阶传输零点通过映射形成的。
例2 设计一数字高通滤波器,它的通带为400~500Hz,通带内容许有0.5dB的波动,阻带内衰减在小于317Hz的频带内至少为19dB,采样频率为1,000Hz。
wc=2*1000*tan(2*pi*400/(2*1000));
wt=2*1000*tan(2*pi*317/(2*1000));
[N,wn]=cheb1ord(wc,wt,0.5,19,'s');
[B,A]=cheby1(N,0.5,wn,'high','s');
[num,den]=bilinear(B,A,1000);
[h,w]=freqz(num,den);
f=w/pi*500;
plot(f,20*log10(abs(h)));
axis([0,500,-80,10]);
grid;
xlabel('')
ylabel('幅度/dB')
图2给出了MA TLAB计算的结果。
例3 设计一巴特沃兹带通滤波器,其3dB边界频率分别为f2=110kHz和f1=90kHz,在阻带f3 = 120kHz处的最小衰减大于10dB,采样频率fs=400kHz。
w1=2*400*tan(2*pi*90/(2*400));
w2=2*400*tan(2*pi*110/(2*400));
wr=2*400*tan(2*pi*120/(2*400));
[N,wn]=buttord([w1 w2],[0 wr],3,10,'s');
[B,A]=butter(N,wn,'s');
[num,den]=bilinear(B,A,400);
[h,w]=freqz(num,den);
f=w/pi*200;
plot(f,20*log10(abs(h)));
axis([40,160,-30,10]);
grid;
xlabel('频率/kHz')
ylabel('幅度/dB')
图3给出了MA TLAB计算的结果,
例4 一数字滤波器采样频率fs = 1kHz,要求滤除100Hz的干扰,其3dB的边界频率为95Hz 和105Hz,原型归一化低通滤波器为
w1=95/500;
w2=105/500;
[B,A]=butter(1,[w1, w2],'stop');
[h,w]=freqz(B,A);
f=w/pi*500;
plot(f,20*log10(abs(h)));
axis([50,150,-30,10]);
grid;
xlabel('频率/Hz')
ylabel('幅度/dB')
图3.4为MA TLAB 的计算结果
实验内容: 利用MATLAB 编程设计一个数字带通滤波器,指标要求如下:
通带边缘频率:π45.01=ΩP ,π65.02
=ΩP ,通带峰值
起伏:][1dB p ≤α。
阻带边缘频率:π3.01=ΩS ,π8.02=ΩS ,最小阻带衰减: ][40dB S ≥α。
请用双线性变换法进行IIR 数字滤波器的设计。
实验要求:
给出IIR 数字滤波器参数和滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。
%双线性变换法(巴特沃兹原型)
ws1=2*8000*tan(0.3*pi/2);
ws2=2*8000*tan(0.8*pi/2);
wp1=2*8000*tan(0.45*pi/2);
wp2=2*8000*tan(0.65*pi/2);
ws=[ws1 ws2];wp=[wp1 wp2];
Rp=1;Rs=40;
[N,Wn]=buttord(wp,ws,Rp,Rs,’s’);
[num,den]=butter(N,Wn,’s’);
[B,A]=bilinear(num,den,8000);
[h,w]=freqz(B,A);
f=w/pi*4000;
subplot (2,1,1);
plot(f,20*log10(abs(h)));
title(‘双线性变换法(巴特沃兹原型)’)
axis([0,4000,-60,10]);
grid; xlabel(‘频率/Hz’) ;ylabel(‘幅度/dB’); subplot(2,1,2);
plot(f,angle(h));
grid; xlabel(‘频率/Hz’) ;ylabel(‘相位’);
figure
%脉冲响应不变法(巴特沃兹原型)
fs=8000;
ws1=0.3*pi*fs;ws2=0.8*pi*fs;
wp1=0.45*pi*fs;wp2=0.65*pi*fs;
ws=[ws1 ws2];wp=[wp1 wp2];
Rp=1;Rs=40;
[N,Wn]=buttord(wp,ws,Rp,Rs,’s’);
[num,den]=butter(N,Wn,’s’);
[B,A]=impinvar(num,den,8000);
[h,w]=freqz(B,A);
f=w/pi*4000;
subplot(2,1,1);
plot(f,20*log10(abs(h)));
title(‘脉冲响应不变法(巴特沃兹原型’)
axis([0,4000,-80,10]);
grid; xlabel(‘频率/Hz’) ;ylabel(‘幅度/dB’); subplot(2,1,2);
plot(f,angle(h));
grid; xlabel(‘频率/Hz’) ;ylabel(‘相位’);
双线性变换法通过将数字频率的取值范围从0 到对应到模拟频率,也就对应于模拟域中所有可能的频率值。
双线性变换法不会出现频率混叠,但非线性关系却导致数
字滤波器的频率响应不能逼真地模仿模拟滤波器的频率响应。
脉冲响应不变法通过选择满足设计要求的模拟滤波器冲激响应h (t)的采样值的数字脉冲响应h[n]得到的被采样的冲激响应将给出与原模拟滤波器非常相近的滤波器形状。
由于该方法不可避免的要发生频率混叠现象,所以只适合设计低通和带通滤波器。
从实验结果可以看出:双线性变换法所设计的巴特沃兹滤波器很符合设计指标,而用脉冲响应不变法设计的巴特沃兹滤波器有一定的误差,主要是由于混叠所引起。