有限脉冲响应数字滤波器设计实验报告
实验5 有限冲激响应数字滤波器设计

实验5 有限冲激响应数字滤波器设计一 、实验目的:(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2) 了解各种窗函数对滤波特性的影响。
二、实验原理:如果所希望的滤波器的理想频率响应函数为)(Ωj d eH ,则其对应的单位脉冲响应为⎰-ΩΩΩ=πππd e e H k h k j j d d )(21)(窗函数设计法的基本原理是用有限长单位脉冲响应序列h(k)逼近h d (k),由于h d (k)往往是无限长序列,且是非因果的,所以用窗函数w(k)将h d (k)截断,并进行加权处理,得到:)()()(k w k h k h d =h(k)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(Ωj eH 为: ∑-=Ω-Ω=10)()(N k k j j e k h e H ,式中,N 为所选窗函数的长度在MATLAB 中,可以用b=fir1(N,Wc,’ftype ’,taper) 等函数辅助设计FIR 数字滤波器。
N 代表滤波器阶数;Wc 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wc 为双元素相量;ftype 代表滤波器类型,如’high ’高通,’stop ’带阻等;taper 为窗函数类型,默认为海明窗;窗函数用blackman, hamming,hanning , kaiser 产生。
三、实验内容1.练习:例5-5 例5-6 例5-92.用凯塞窗设计一FIR 低通滤波器,通带边界频率π3.0=Ωp ,阻带边界频率π5.0=Ωs ,阻带衰减As 不小于50dB 。
先计算滤波器阶数N 和β值,之后在通过程序设计出滤波器:第一步:通过过渡带宽度和阻带衰减,计算滤波器的阶数N 和β值。
N=30, β=4.55第二步:通过程序设计滤波器。
程序如下:b = fir1(29,0.4,kaiser(30,4.55));[h1,w1]=freqz(b,1);plot(w1/pi,20*log10(abs(h1)));axis([0,1,-80,10]);grid;xlabel('归一化频率/p') ;ylabel('幅度/dB') ;3.(选做) 利用MATLAB 编程设计一个数字带通滤波器,指标要求如下:通带边缘频率:π45.01=ΩP ,π65.02=ΩP ,通带峰值起伏:][1dB A p ≤。
FIR数字滤波器的设计实验报告

数字信号处理实验报告姓名:寇新颖 学号:026 专业:电子信息科学与技术实验五 FIR 数字滤波器的设计一、实验目的1.熟悉FIR 滤波器的设计基本方法2.掌握用窗函数设计FIR 数字滤波器的原理与方法,熟悉相应的计算机高级语言编程。
3.熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4.了解各种不同窗函数对滤波器性能的影响。
二、实验原理与方法FIR 滤波器的设计问题在于寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应)(ωj d eH ,其对应的单位脉冲响应)(n h d 。
1.用窗函数设计FIR 滤波器的基本方法设计思想:从时域从发,设计)(n h 逼近理想)(n h d 。
设理想滤波器)(ωj d e H 的单位脉冲响应为)(n h d 。
以低通线性相位FIR 数字滤波器为例。
⎰∑--∞-∞===ππωωωωωπd e e Hn h e n he H jn j dd jn n dj d )(21)()()()(n h d 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即⎩⎨⎧-==2/)1()()()(N a n w n h n h d 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs )效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
2.典型的窗函数(1)矩形窗(Rectangle Window))()(n R n w N =其频率响应和幅度响应分别为:21)2/sin()2/sin()(--=N j j eN e W ωωωω,)2/sin()2/sin()(ωωωN W R =(2)三角形窗(Bartlett Window)⎪⎩⎪⎨⎧-≤<----≤≤-=121,122210,12)(N n N N n N n N n n w其频率响应为:212])2/sin()4/sin([2)(--=N j j e N N e W ωωωω(3)汉宁(Hanning)窗,又称升余弦窗)()]12cos(1[21)(n R N n n w N --=π其频率响应和幅度响应分别为:)]12()12([25.0)(5.0)()()]}12()12([25.0)(5.0{)()21(-++--+==-++--+=---N W N W W W e W eN W N W W e W R R R aj N j R R R j πωπωωωωπωπωωωωω(4)汉明(Hamming)窗,又称改进的升余弦窗)()]12cos(46.054.0[)(n R N n n w N --=π其幅度响应为:)]12()12([23.0)(54.0)(-++--+=N W N W W W R R R πωπωωω (5)布莱克曼(Blankman)窗,又称二阶升余弦窗)()]14cos(08.0)12cos(5.042.0[)(n R N n N n n w N -+--=ππ 其幅度响应为:)]14()14([04.0)]12()12([25.0)(42.0)(-++--+-++--+=N W N W N W N W W W R R R R R πωπωπωπωωω(6)凯泽(Kaiser)窗10,)())]1/(21[1()(020-≤≤---=N n I N n I n w ββ其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。
FIR滤波器设计实验报告

FIR滤波器设计实验报告实验目的:学习和掌握有限脉冲响应(FIR)滤波器的设计方法,了解数字滤波器的原理和实现。
实验器材:计算机、Matlab软件、FIR滤波器设计工具。
实验原理:1.确定滤波器的规格:包括通带频率、阻带频率、通带纹波、阻带衰减等参数。
2. 根据滤波器规格选择合适的FIR滤波器设计方法:常见的设计方法有窗函数法、频域近似法、Remez算法等。
3.根据设计方法计算FIR滤波器的系数:根据设计方法的不同,计算滤波器的系数也有所区别。
4.对FIR滤波器进行验证和优化:可以通过频率响应、幅频特性等指标对滤波器进行调整,并进行验证。
实验步骤:1.确定滤波器规格:设置通带频率为3kHz,阻带频率为5kHz,通带纹波为0.01dB,阻带衰减为40dB。
2.选择窗函数法进行FIR滤波器设计。
3.根据滤波器规格计算滤波器的阶数。
4.根据阶数选择合适的窗函数。
5.计算FIR滤波器的系数。
6.通过绘制滤波器的频率响应曲线进行验证。
7.分析滤波器的性能,并对滤波器进行优化。
实验结果:根据以上步骤进行设计和计算,得到了FIR滤波器的系数,利用Matlab绘制了滤波器的频率响应曲线。
分析和讨论:根据频率响应曲线,可以看出滤波器在通带频率范围内有较好的衰减效果,滤波器的阻带频率范围内衰减也满足要求。
但是在通带和阻带之间存在一定的过渡带,可能会对信号造成一部分的失真。
因此,可以考虑进一步优化滤波器的设计,使其在通带和阻带之间的过渡带更加平滑,减小失真的影响。
结论:通过本次实验,我们学习并掌握了FIR滤波器的设计方法,了解了数字滤波器的原理和实现。
在实际应用中,可以根据需要选择合适的FIR滤波器设计方法,并根据滤波器的规格进行计算和调整。
通过不断优化和验证,可以得到满足要求的FIR滤波器,实现对数字信号的滤波处理。
有限冲激响应数字滤波器设计实验报告

实验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滤波器较好。
fir滤波器实验报告

fir滤波器实验报告fir滤波器实验报告引言:滤波器是信号处理中常用的工具,它可以对信号进行频率选择性处理。
在数字信号处理中,FIR(Finite Impulse Response)滤波器是一种常见的滤波器类型。
本实验旨在通过设计和实现FIR滤波器,探索其在信号处理中的应用。
一、实验目的本实验的主要目的有以下几点:1. 了解FIR滤波器的基本原理和特性;2. 掌握FIR滤波器的设计方法;3. 实现FIR滤波器并对信号进行处理,观察滤波效果。
二、实验原理1. FIR滤波器的原理FIR滤波器是一种非递归滤波器,其输出仅依赖于输入和滤波器的系数。
它的基本原理是将输入信号与滤波器的冲激响应进行卷积运算,得到输出信号。
FIR滤波器的冲激响应是有限长度的,因此称为有限脉冲响应滤波器。
2. FIR滤波器的设计方法FIR滤波器的设计方法有很多种,常用的包括窗函数法、频率采样法和最小二乘法。
在本实验中,我们将使用窗函数法进行FIR滤波器的设计。
具体步骤如下:(1)选择滤波器的阶数和截止频率;(2)选择适当的窗函数,如矩形窗、汉宁窗等;(3)根据选择的窗函数和截止频率,计算滤波器的系数;(4)利用计算得到的系数实现FIR滤波器。
三、实验步骤1. 确定滤波器的阶数和截止频率,以及采样频率;2. 选择合适的窗函数,并计算滤波器的系数;3. 利用计算得到的系数实现FIR滤波器;4. 准备待处理的信号,如音频信号或图像信号;5. 将待处理的信号输入FIR滤波器,观察滤波效果;6. 调整滤波器的参数,如阶数和截止频率,观察滤波效果的变化。
四、实验结果与分析在实验中,我们选择了一个音频信号作为待处理信号,设计了一个10阶的FIR滤波器,截止频率为1kHz,采样频率为8kHz,并使用汉宁窗进行滤波器系数的计算。
经过滤波处理后,观察到音频信号的高频部分被有效地滤除,保留了低频部分,使得音频信号听起来更加柔和。
通过调整滤波器的阶数和截止频率,我们可以进一步调节滤波效果,使得音频信号的音色发生变化。
实验四FIR数字滤波器设计与软件实现

实验四FIR数字滤波器设计与软件实现
实验目的:
掌握FIR数字滤波器的设计与软件实现方法,了解滤波器的概念与基
本原理。
实验原理:
FIR数字滤波器全称为有限脉冲响应数字滤波器,其特点是具有有限
长度的脉冲响应。
滤波器通过一系列加权系数乘以输入信号的延迟值,并
将这些值相加得到输出信号。
FIR滤波器的频率响应由滤波器系数所决定。
实验步骤:
1.确定所需的滤波器的设计规格,包括截止频率、通带波纹、阻带衰
减等。
2.选择适当的滤波器设计方法,如窗函数、最佳近似法、最小二乘法等。
3.根据所选方法,计算滤波器的系数。
4.在MATLAB环境下,使用滤波器的系数实现滤波器。
5.输入所需滤波的信号,经过滤波器进行滤波处理。
6.分析输出的滤波信号,观察滤波效果是否符合设计要求。
实验要求:
1.完成FIR数字滤波器的设计和软件实现。
2.对比不同设计方法得到的滤波器性能差异。
3.分析滤波结果,判断滤波器是否满足设计要求。
实验器材与软件:
1.个人电脑;
2.MATLAB软件。
实验结果:
根据滤波器设计规格和所选的设计方法,得到一组滤波器系数。
通过
将滤波器系数应用于输入信号,得到输出滤波信号。
根据输出信号的频率
响应、通带波纹、阻带衰减等指标,评估滤波器的性能。
实验注意事项:
1.在选择设计方法时,需要根据滤波器要求和实际情况进行合理选择。
2.在滤波器实现过程中,需要注意滤波器系数的计算和应用。
3.在实验过程中,注意信号的选择和滤波结果的评估方法。
数字滤波器设计实验报告

数字滤波器设计实验报告刘古城65100609一、实验目的研究数字滤波器的设计思想,理解数字频域,模拟频域的关系,掌握数字系统处理模拟信号的方法。
FIR数字滤波器设计:掌握窗函数设计FIR数字滤波器的方法,理解FIR的意义:线性相位。
二、实验原理1、FIR的特点(1)系统的单位冲击响应在有限个n值处不为零。
(2)对于稳定系统,系统函数在| z |>0处收敛,极点全部在z=0处。
(3)结构上主要是非递归结构,没有输出到输入的反馈,但在个别结构中(如频率抽样结构)也包含反馈的递归部分‘2、FIR滤波器的优点(1)即具有严格的线性相位,又具有任意的幅度’(2)FIR滤波器的抽样响应是有限长的,因而滤波器的性能稳定。
(3)只要经过一定的延时,任何非因果的有限长序列都能变成有限长的因果的序列,因而能用因果系统来实现。
(4)FIR滤波器单位冲击响应是有限长的,因而可以进行快速傅立叶变换,提高运算效率。
3、用窗函数设计FIR数字滤波器对函数加窗处理,实际是用一个有限长函数来逼近原函数。
常用的窗函数有矩形窗、三角窗,汉宁窗、海明窗、布莱克曼窗、凯撒窗等。
三、实验要求1、设计FIR数字低通滤波器,要求在不同窗口长度(N=15,33)下,分别求出h(n),画出相应的幅频特性和相频特性曲线,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。
2、对三个拟合三角函数进行滤波处理。
3、对含噪心电信号函数进行滤波处理。
四、实验内容1、不同窗函数长度对于滤波特性的影响fs=100,N=32;n=0:N-1;t=n/fs;f0=n*fs/N;y=exp(-2*t);z=fft(y);m=abs(z);w1=blackman(N);z1=w1'.*y;x1=fft(z1),mo1=abs(x1);subplot(1,2,1);plot(f0,m/fs);subplot(1,2,2);plot(f0,mo1/fs)运行结果改变N值,令N=14,得到结果2、对三个拟合三角函数进行滤波clear;fs=2000;t=(1:1000)/fs;x=10*cos(2*pi*30*t)+cos(2*pi*150*t)+5*cos(2*pi*600*t); L=length(x);N=2^(nextpow2(L));Hw=fft(x,N);figure(1);subplot(2,1,1);plot(t,x);grid on;title('滤波前信号x');xlabel('时间/s');% 原始信号subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw));% 查看信号频谱grid on;title('滤波前信号频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');%% x_1=10*cos(2*pi*30*t)Ap=1;As=60;% 定义通带及阻带衰减dev=[(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量mags=[1,0];% 低通fcuts=[60,100];% 边界频率[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh1=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计x_1=filter(hh1,1,x);% 滤波x_1(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分L=length(x_1);N=2^(nextpow2(L));Hw_1=fft(x_1,N);figure(2);subplot(2,1,1);plot(t(1:L),x_1);grid on;title('x_1=10*cos(2*pi*30*t)');xlabel('时间/s');subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_1));% 查看信号频谱grid on;title('滤波后信号x_1频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');%% x_2=cos(2*pi*150*t)Ap=1;As=60;% 定义通带及阻带衰减dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量mags=[0,1,0];% 带通fcuts=[80,120,180,220];% 边界频率[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计x_2=filter(hh2,1,x);% 滤波x_2(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分L=length(x_2);N=2^(nextpow2(L));Hw_2=fft(x_2,N);figure(3);subplot(2,1,1);plot(t(1:L),x_2);grid on;title('x_2=cos(2*pi*150*t)');xlabel('时间/s');subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_2));% 查看信号频谱grid on;title('滤波后信号x_2频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');%% x_3=5*cos(2*pi*600*t)Ap=1;As=60;% 定义通带及阻带衰减dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1)];% 计算偏移量mags=[0,1];% 高通fcuts=[500,550];% 边界频率[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计x_3=filter(hh2,1,x);% 滤波x_3(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分L=length(x_3);N=2^(nextpow2(L));Hw_3=fft(x_3,N);figure(4);subplot(2,1,1);plot(t(1:L),x_3);grid on;title('x_3=5*cos(2*pi*600*t)');xlabel('时间/s');subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_3));% 查看信号频谱grid on;title('滤波后信号x_3频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');运行结果3、对含噪心电信号函数进行滤波处理。
实验四FIR数字滤波器的设计

实验四FIR数字滤波器的设计
FIR数字滤波器也称作有限脉冲响应数字滤波器,是一种常见的数字滤波器设计方法。
在设计FIR数字滤波器时,需要确定滤波器的阶数、滤波器的类型(低通、高通、带通、带阻)以及滤波器的参数(截止频率、通带波纹、阻带衰减、过渡带宽等)。
下面是FIR数字滤波器的设计步骤:
1.确定滤波器的阶数。
阶数决定了滤波器的复杂度,一般情况下,阶数越高,滤波器的性能越好,但计算量也越大。
阶数的选择需要根据实际应用来进行权衡。
2.确定滤波器的类型。
根据实际需求,选择低通、高通、带通或带阻滤波器。
低通滤波器用于去除高频噪声,高通滤波器用于去除低频噪声,带通滤波器用于保留一定范围内的频率信号,带阻滤波器用于去除一定范围内的频率信号。
3.确定滤波器的参数。
根据实际需求,确定滤波器的截止频率、通带波纹、阻带衰减和过渡带宽等参数。
这些参数决定了滤波器的性能。
4.设计滤波器的频率响应。
使用窗函数、最小二乘法等方法,根据滤波器的参数来设计滤波器的频率响应。
5.将频率响应转换为滤波器的系数。
根据设计的频率响应,使用逆快速傅里叶变换(IFFT)等方法将频率响应转换为滤波器的系数。
6.实现滤波器。
将滤波器的系数应用到数字信号中,实现滤波操作。
7.优化滤波器性能。
根据需要,可以对滤波器进行进一步优化,如调整滤波器的阶数、参数等,以达到较好的滤波效果。
以上是FIR数字滤波器的设计步骤,根据实际需求进行相应的调整,可以得到理想的滤波器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩:《数字信号处理》作业与上机实验(第二章)班级:学号:姓名:任课老师:完成时间:信息与通信工程学院2014—2015学年第1 学期第7章有限脉冲响应数字滤波器设计1、教材p238:19.设信号x(t) = s(t) + v(t),其中v(t)是干扰,s(t)与v(t)的频谱不混叠,其幅度谱如题19图所示。
要求设计数字滤波器,将干扰滤除,指标是允许|s(f)|在0≤f≤15 kHz频率范围中幅度失真为±2%(δ1 = 0.02);f > 20 kHz,衰减大于40 dB(δ2=0.01);希望分别设计性价比最高的FIR和IIR两种滤波器进行滤除干扰。
请选择合适的滤波器类型和设计方法进行设计,最后比较两种滤波器的幅频特性、相频特性和阶数。
题19图(1)matlab代码:%基于双线性变换法直接设计IIR数字滤波器Fs=80000;fp=15000;fs=20000;rs=40;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Rp=-20*log10(1-0.02);As=40;[N1,wp1]=ellipord(wp/pi,ws/pi,Rp,As);[B,A]=ellip(N1,Rp,As,wp1);[Hk,wk1]=freqz(B,A,1000);mag=abs(Hk);pah=angle(Hk);%窗函数法设计FIR 数字滤波器 Bt=ws-wp;alph=0.5842*(rs-21)^0.4+0.07886*(rs-21); N=ceil((rs-8)/2.285/Bt); wc=(wp+ws)/2/pi;hn=fir1(N,wc,kaiser(N+1,alph)); M=1024;Hk=fft(hn,M); k=0:M/2-1;wk=(2*pi/M)*k;%画出各种比较结果图 figure(2);plot(wk/pi,20*log10(abs(Hk(k+1))),':','linewidth',2.5); hold onplot(wk1/pi,20*log10(mag),'linewidth',2); hold offlegend('FIR 滤波器','IIR 滤波器');axis([0,1,-80,5]);xlabel('w/\pi');ylabel('幅度/dB'); title('损耗函数'); figure(3)plot(wk/pi,angle(Hk(k+1))/pi,':','linewidth',2.5); hold onplot(wk1/pi,pah/pi,'linewidth',2); hold offlegend('FIR 滤波器','IIR 滤波器');xlabel('w/\pi');ylabel('相位/\pi'); title('相频特性曲线');(2)两种数字滤波器的损耗函数和相频特性的比较分别如图1、2所示:图1 损耗函数比较图 图2 相频特性比较图0.10.20.30.40.50.60.70.80.91-80-70-60-50-40-30-20-100w/π幅度/d B损耗函数FIR 滤波器IIR 滤波器0.10.20.30.40.50.60.70.80.91-1-0.8-0.6-0.4-0.200.20.40.60.81w/π相位/π相频特性曲线FIR 滤波器IIR 滤波器(3)IIR数字滤波器阶数:N=5FIR数字滤波器阶数:N=36(4)运行结果分析:由图2及阶数可见,IIR阶数低得多,但相位特性存在非线性失真,FIR具有线性相位特性。
20. 调用MATLAB工具箱函数fir1设计线性相位低通FIR滤波器,要求希望逼近的理想低通滤波器通带截止频率ωc=π/4 rad,滤波器长度N=21。
分别选用矩形窗、Hanning窗、Hamming窗和Blackman窗进行设计,绘制用每种窗函数设计的单位脉冲响应h(n)及其损耗函数曲线,并进行比较,观察各种窗函数的设计性能。
(1)matlab代码:wc=pi/4;N=21;hn_boxcar=fir1(N-1,wc/pi,boxcar(N));hn_hanning=fir1(N-1,wc/pi,hanning(N));hn_hamming=fir1(N-1,wc/pi,hamming(N));hn_blackman=fir1(N-1,wc/pi,blackman(N));n=0:N-1;plot(n,hn_boxcar);hold onplot(n,hn_hanning,':','linewidth',2);plot(n,hn_hamming,'+','linewidth',2);plot(n,hn_blackman,'o');hold offxlabel('n');ylabel('h(n)');legend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');title('单位冲激响应');M=1024;Hk=fft(hn_boxcar,M);k=0:M/2-1;wk=(2*pi/M)*k;figure();plot(wk/pi,20*log10(abs(Hk(k+1))),'linewidth',2);Hk=fft(hn_hanning,M)hold onplot(wk/pi,20*log10(abs(Hk(k+1))),':','linewidth',3); Hk=fft(hn_hamming,M)plot(wk/pi,20*log10(abs(Hk(k+1))),'o'); Hk=fft(hn_blackman,M)plot(wk/pi,20*log10(abs(Hk(k+1))),'*'); hold offlegend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');axis([0,1,-80,5]);xlabel('w/\pi');ylabel('幅度/dB'); title('损耗函数');(2)四种窗函数设计的单位脉冲响应的比较如图3所示:图3 单位脉冲响应比较图(3)四种窗函数设计的损耗函数的比较如图4所示:图4 损耗函数比较图2468101214161820-0.1-0.0500.050.10.150.20.250.3nh (n )单位冲激响应矩形窗汉宁窗哈明窗布莱克曼窗0.10.20.30.40.50.60.70.80.91-80-70-60-50-40-30-20-100w/幅度/d B损耗函数矩形窗汉宁窗哈明窗布莱克曼窗(4)运行结果分析:由图4可见,当滤波器长度N不变时,矩形窗设计的滤波器的过渡带最窄,阻带最小衰减最小;布莱克曼窗设计的滤波器的过渡带最宽,同时阻带最小衰减最大。
21.将要求改成设计线性相位高通FIR滤波器,重作题20。
(1)matlab代码:wc=pi/4;N=21;hn_boxcar=fir1(N-1,wc/pi,'high',boxcar(N));hn_hanning=fir1(N-1,wc/pi,'high',hanning(N));hn_hamming=fir1(N-1,wc/pi,'high',hamming(N));hn_blackman=fir1(N-1,wc/pi,'high',blackman(N));n=0:N-1;plot(n,hn_boxcar);hold onplot(n,hn_hanning,':','linewidth',2);plot(n,hn_hamming,'+','linewidth',2);plot(n,hn_blackman,'o');hold offxlabel('n');ylabel('h(n)');legend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');title('单位冲激响应');M=1024;Hk=fft(hn_boxcar,M);k=0:M/2-1;wk=(2*pi/M)*k;figure();plot(wk/pi,20*log10(abs(Hk(k+1))),'linewidth',2);Hk=fft(hn_hanning,M)hold onplot(wk/pi,20*log10(abs(Hk(k+1))),':','linewidth',3);Hk=fft(hn_hamming,M)plot(wk/pi,20*log10(abs(Hk(k+1))),'o');Hk=fft(hn_blackman,M)plot(wk/pi,20*log10(abs(Hk(k+1))),'*');hold offlegend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');axis([0,1,-80,5]);xlabel('w/\pi');ylabel('幅度/dB');title('损耗函数');(2)四种窗函数设计的单位脉冲响应的比较如图5所示:图5 单位脉冲响应比较图(3)四种窗函数设计的损耗函数的比较如图6所示:图6 损耗函数比较图(5)运行结果分析:由图6可见,当滤波器长度N 不变时,矩形窗设计的滤波器的过渡带最窄,阻带最小衰减最小;布莱克曼窗设计的滤波器的过渡带最宽,同时阻带最小衰减最大。
2468101214161820-0.4-0.200.20.40.60.81nh (n )单位冲激响应矩形窗汉宁窗哈明窗布莱克曼窗0.10.20.30.40.50.60.70.80.91-80-70-60-50-40-30-20-100w/幅度/d B损耗函数矩形窗汉宁窗哈明窗布莱克曼窗要求通带截止频率为0.6π rad ,阻带截止频率为0.45π,通带最大衰减为0.2 dB ,阻带最小衰减为45 dB 。