有限脉冲响应数字滤波器设计实验报告
实验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数字滤波器的设计步骤,根据实际需求进行相应的调整,可以得到理想的滤波器。
fir滤波器设计实验报告
fir滤波器设计实验报告一、实验目的本次实验的目的是设计FIR滤波器,从而实现信号的滤波处理。
二、实验原理FIR滤波器是一种数字滤波器,它采用有限长的冲激响应滤波器来实现频率选择性的滤波处理。
在FIR滤波器中,系统的输出只与输入和滤波器的系数有关,不存在反馈环路,因此具有稳定性和线性相位的特性。
FIR滤波器的设计最常采用Window法和最小二乘法。
Window法是指先对理想滤波器的频率特性进行窗函数的处理,再通过离散傅里叶变换来得到滤波器的时域响应。
最小二乘法则是指采用最小二乘法来拟合理想滤波器的频率特性。
本次实验采用的是Window法。
三、实验步骤1.设计滤波器的频率响应特性:根据实际需要设计出需要的滤波器的频率响应特性,通常采用理想滤波器的底通、高通、带通、带阻等特性。
2.选择窗函数:根据设计的滤波器的频率响应特性选择相应的窗函数,常用的窗函数有矩形窗、汉宁窗、汉明窗等。
3.计算滤波器的时域响应:采用离散傅里叶变换将设计的滤波器的频率响应特性转化为时域响应,得到滤波器的冲激响应h(n)。
4.归一化:将得到的滤波器的冲激响应h(n)进行归一化处理,得到单位加权的滤波器系数h(n)。
5.实现滤波器的应用:将得到的滤波器系数h(n)应用于需要滤波的信号中,通过卷积的方式得到滤波后的信号。
四、实验结果以矩形窗为例,设计一阶低通滤波器,截止频率为300Hz,采样频率为8000Hz,得到的滤波器系数为:h(0)=0.0025h(1)=0.0025滤波效果良好,经过滤波后的信号频率响应相对于滤波前有较明显的截止效应。
五、实验总结通过本次实验,我们掌握了FIR滤波器的设计方法,窗函数的选择和离散傅里叶变换的应用,使我们能够更好地处理信号,实现更有效的信号滤波。
在日常工作和学习中,能够更好地应用到FIR滤波器的设计和应用,提高信号处理的精度和效率。
实验五IIR滤波器的设计与信号滤波
实验五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滤波器可以用于实现多种滤波效果,例如低通滤波、高通滤波、带通滤波和带阻滤波等。
有限长单位脉冲响应滤波器设计说明
实验五有限长单位脉冲响应滤波器设计一、实验目的1、掌握用窗函数法、频率采样法以及优化设计法设计FIR滤波器的原理及方法,熟悉相应的MATLAB编程。
2、熟悉线性相位FIR滤波器的幅频特性和相频特性。
3、了解各种不同窗函数对滤波器性能的影响。
二、实验原理window=ones(1, N): 产生N点矩形窗,行向量。
window=hann(N): 产生N点汉宁窗,列向量。
window=hanning(N): 产生N点非零汉宁窗,列向量。
等价于去除hann(N+2)的第一个零元素和最后一个零元素,得到的N点非零窗函数。
window=hamming(N): 产生N点海明窗,列向量。
window=blackman(N): 产生N点布莱克曼窗,列向量。
window=kaiser(N, beta): 产生参数为beta的N点凯塞窗,列向量。
[M, Wd, beta, ftype]=kaiserord(f, a, dev, fs): 凯塞窗参数估计。
f为一组边界频率,最高频率为fs/2。
a为f中各个频带的幅度值,通带取1,阻带取0。
如果f中有2个元素,则形成3个频带,其中第1个和第3个是通带或阻带,第2个是过渡带,a中也有2个元素,指明第1个和第3个频带是通带还是阻带;如果f中有4个元素,则形成5个频带,其中1,3和5是通带或阻带,2和4是过渡带,a中有3个元素,指明1,3和5是通带还是阻带。
dev的维数与a相同,指明每个频带上的波动值。
fs为采样频率。
M为FIR滤波器的阶数,M=N-1。
Wd为归一化边界频率,等于数字边界角频率除以π,或者边界频率除以fs/2。
beta就是凯塞窗的参数β。
ftype为滤波器的类型。
b = fir1(M, Wd, 'ftype', window): 用窗函数法求FIR滤波器的系数b(单位脉冲响应)。
M为滤波器的阶数,M=N-1。
Wd为一组归一化边界频率,通带和阻带间隔分布,无过渡带;只有一个元素,表示低通或高通滤波器;有两个元素表示带通和带阻滤波器;有三个及以上元素,表示多带滤波器。
有限脉冲响应数字滤波器设计实验报告
成绩:《数字信号处理》作业与上机实验(第二章)班级:学号:姓名:任课老师:完成时间:信息与通信工程学院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具有线性相位特性。
FIR实验报告范文
FIR实验报告范文实验报告:FIR滤波器设计与实现一、实验目的1.了解和掌握FIR滤波器的基本概念和设计原理;2. 学会使用Matlab软件设计和实现FIR滤波器;3.分析和评价不同阶数(N)和窗函数类型对FIR滤波器性能的影响。
二、实验设备和原材料1.计算机;2. Matlab 2024a 软件;3.信号发生器。
三、实验原理1.FIR滤波器概念:FIR(Finite Impulse Response)即有限脉冲响应滤波器,是一种非递归滤波器。
其输出是当前输入和过去若干个输入的加权和。
2.FIR滤波器设计原理:FIR滤波器的设计一般通过确定滤波器系数实现。
常用的设计方法有直接设计法、频率采样法、窗函数法等。
其中,窗函数法是最常用的设计方法之一窗函数法步骤:a.选择适当的滤波器阶数N;b.选择合适的窗函数;c.根据滤波器的频率响应要求,计算出窗函数长度L;d.确定滤波器的理想频率响应;e.执行窗函数和理想频率响应的点乘运算得到滤波器的系数。
四、实验步骤step1. 设计滤波器频率响应:a. 确定采样频率fs和截止频率fc;b. 根据fs和fc确定滤波器通带、阻带宽度;c.设计理想频率响应,生成指定的通带增益和阻带衰减。
step2. 确定滤波器阶数和窗函数类型:a.根据滤波器的过渡带宽度、通带纹波和阻带衰减要求,选择适当的滤波器阶数N;b. 对于给定的滤波器长度L和滤波器阶数N,结合通带和阻带宽度,借助Matlab软件选择合适的窗函数类型。
step3. 确定窗函数长度L:根据滤波器的过渡带宽度,计算滤波器的窗函数长度L。
一般,L=N+1step4. 生成滤波器系数:通过窗函数与理想频率响应的点乘运算,生成滤波器的系数。
step5. 滤波器模拟与实现:a. 在Matlab软件中,使用fir1函数生成滤波器系数h;b. 使用filter函数实现滤波器的模拟和实现。
五、实验结果与分析本实验选择了截止频率fc = 1000Hz,采样频率fs = 8000Hz。
FIR滤波器设计与实现实验报告
FIR滤波器设计与实现实验报告目录一、实验概述 (2)1. 实验目的 (3)2. 实验原理 (3)3. 实验设备与工具 (4)4. 实验内容与步骤 (6)5. 实验数据与结果分析 (7)二、FIR滤波器设计 (8)1. 滤波器设计基本概念 (9)2. 系数求解方法 (10)频谱采样法 (11)最小均方误差法 (14)3. 常用FIR滤波器类型 (15)线性相位FIR滤波器 (16)非线性相位FIR滤波器 (18)4. 设计实例与比较 (19)三、FIR滤波器实现 (20)1. 硬件实现基础 (21)2. 软件实现方法 (22)3. 实现过程中的关键问题与解决方案 (23)4. 滤波器性能评估指标 (25)四、实验结果与分析 (26)1. 实验数据记录与处理 (27)2. 滤波器性能测试与分析 (29)通带波动 (30)虚部衰减 (31)相位失真 (32)3. 与其他设计方案的对比与讨论 (33)五、总结与展望 (34)1. 实验成果总结 (35)2. 存在问题与不足 (36)3. 未来发展方向与改进措施 (37)一、实验概述本次实验的主要目标是设计并实现一个有限脉冲响应(Finite Impulse Response,简称FIR)滤波器。
FIR滤波器是数字信号处理中常用的一种滤波器,具有线性相位响应和易于设计的优点。
本次实验旨在通过实践加深我们对FIR滤波器设计和实现过程的理解,提升我们的实践能力和问题解决能力。
在实验过程中,我们将首先理解FIR滤波器的基本原理和特性,包括其工作原理、设计方法和性能指标。
我们将选择合适的实验工具和环境,例如MATLAB或Python等编程环境,进行FIR滤波器的设计。
我们还将关注滤波器的实现过程,包括代码编写、性能测试和结果分析等步骤。
通过这次实验,我们期望能够深入理解FIR滤波器的设计和实现过程,并能够将理论知识应用到实践中,提高我们的工程实践能力。
本次实验报告将按照“设计原理设计方法实现过程实验结果与分析”的逻辑结构进行组织,让读者能够清晰地了解我们实验的全过程,以及我们从中获得的收获和启示。
fir数字滤波器设计实验报告
fir数字滤波器设计实验报告fir数字滤波器设计实验报告引言数字滤波器是一种常见的信号处理工具,用于去除信号中的噪声或者滤波信号以达到特定的目的。
其中,FIR(Finite Impulse Response)数字滤波器是一种常见且重要的数字滤波器,其特点是具有有限冲击响应。
本实验旨在设计并实现一个FIR数字滤波器,通过对滤波器的设计和性能评估,加深对数字滤波器的理解。
设计过程1. 确定滤波器的要求在设计FIR数字滤波器之前,首先需要明确滤波器的要求。
这包括滤波器类型(低通、高通、带通或带阻)、截止频率、滤波器阶数等。
在本实验中,我们选择设计一个低通滤波器,截止频率为1kHz,滤波器阶数为32。
2. 设计滤波器的传递函数根据滤波器的要求,我们可以利用Matlab等工具设计出滤波器的传递函数。
在本实验中,我们选择使用窗函数法设计滤波器。
通过选择合适的窗函数(如矩形窗、汉宁窗等),可以得到滤波器的传递函数。
3. 确定滤波器的系数根据滤波器的传递函数,我们可以通过离散化的方法得到滤波器的系数。
这些系数将决定滤波器对输入信号的响应。
在本实验中,我们使用了Matlab的fir1函数来计算滤波器的系数。
4. 实现滤波器在得到滤波器的系数之后,我们可以将其应用于输入信号,实现滤波器的功能。
这可以通过编程语言(如Matlab、Python等)来实现,或者使用专用的数字信号处理器(DSP)来进行硬件实现。
实验结果为了评估设计的FIR数字滤波器的性能,我们进行了一系列的实验。
首先,我们使用了一个具有噪声的输入信号,并将其输入到滤波器中。
通过比较滤波器输出信号和原始信号,我们可以评估滤波器对噪声的去除效果。
实验结果显示,设计的FIR数字滤波器能够有效地去除输入信号中的噪声。
滤波后的信号更加平滑,噪声成分明显减少。
此外,滤波器的截止频率也得到了有效控制,滤波器在截止频率之后的信号衰减明显。
讨论与总结通过本次实验,我们深入了解了FIR数字滤波器的设计和实现过程。
数字滤波器的设计及实现 实验报告
数字滤波器的设计及实现实验报告1.数字滤波器是一种用于信号处理的重要工具,通过去除或衰减信号中的噪声、干扰或无用信息,从而实现信号的滤波和提取。
本实验旨在学习数字滤波器的设计原理和实现方法,并通过实验验证其滤波效果。
2. 实验目的•理解数字滤波器的基本原理和设计方法;•掌握数字滤波器的实现步骤和工具;•利用实验进行数字滤波器的设计与仿真;•分析和评估数字滤波器的性能指标。
3. 实验器材•计算机•MATLAB或其他数学软件4. 实验流程1.理解数字滤波器的基本原理和设计方法;2.根据所需的滤波特性选择滤波器类型(低通、高通、带通、带阻);3.设计滤波器的参数,如截止频率、阶数、窗函数等;4.使用MATLAB或其他数学软件进行滤波器的设计与仿真;5.评估滤波器的性能指标,如频率响应、幅度响应、相位响应等;6.分析实验结果,数字滤波器设计与实现的经验与教训。
5. 实验内容5.1 数字滤波器原理数字滤波器是通过数字信号处理算法来实现滤波功能的滤波器。
它可以通过对信号进行采样、变换、运算等处理来实现对信号频率成分的选择性衰减或增强。
数字滤波器通常包含两种主要类型:无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。
IIR滤波器具有时间域响应的无限长度,而FIR滤波器具有有限长度的时间域响应。
5.2 数字滤波器设计步骤•确定滤波器类型:根据滤波要求选择低通、高通、带通或带阻滤波器;•设计滤波器参数:包括截止频率、阶数、窗函数等;•进行滤波器设计:利用MATLAB等数学软件进行滤波器设计,滤波器系数;•进行滤波器仿真:通过信号输入滤波器进行仿真,评估滤波效果;•优化和调整:根据实际需要,对滤波器参数进行优化和调整,以获得更好的滤波效果。
5.3 实验结果与分析经过实验设计和仿真,我们得到了一个具有良好滤波效果的数字滤波器。
在设计过程中,我们选择了一个5阶的Butterworth低通滤波器,截止频率为1000Hz。
dsp实验报告-有限脉冲响应滤波器(FIR)实验
实验四.数字信号处理算法实验实验4.1 :有限脉冲响应滤波器(FIR )算法实验一.实验目的1.掌握窗函数法设计FIR 滤波器的Matlab 实现,为CCS 提供滤波系数。
2.掌握采用C 语言在VC5509开发板上实现混频信号的FIR 滤波。
二.实验设备计算机,ICETEK-VC5509-A 实验箱及电源。
三.实验原理1. 窗函数法设计FIR 滤波器(详细理论请看《数字信号处理》原理书籍) 本实验要求:设计一个低通滤波器,通带截止频率fp=10kHz ,阻带截止频率fs1=22kHz ,阻带衰减ap=75dB ,采样频率fs=50kHz,计算出滤波系数fHn,并对混频信号(高频+低频正弦波)fIn 进行滤波,得输出波形fOut 。
解:过渡带宽度=fs1-fp=12kHz ;截止频率:f1=fp+(过渡带宽度)/2=16kHz f1对应的数字频率:Ω1=2πf1/fs=0.64π(rad) -理想低通滤波器单位脉冲响应:hd[n]=sin(0.64π(n-a))/(π(n-a)) 其中a=(N-1)/2 (n=0~N-1)-根据阻带衰减要求选择布莱克曼窗,窗函数长度N 为: N=5.98fs/过渡带宽度≈25则窗函数为:w[n]=0.42-0.5cos(2πn/24)+0.08cos(4πn/24) 滤波器脉冲响应为:h[n]=hd[n]w[n] (n=0~N-1) <1>-根据上面各式计算出h[n]。
2. FIR 滤波FIR 滤波器的差分方程为:1()()N i i y n h x n i -==-∑ <2>其中,h i ----滤波器系数;x(n)---滤波器的输入;y(n)--- 滤波输出。
根据公式<1><2>,得本例对应FIR 滤波器的差分方程为: y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9] +0.11x[n-10]+0.28x[n-11]+0.64x[n-12] +0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19] -0.002x[n-20]-0.002x[n-21]+0.001x[n-22] (n=0,1,2,...)采用线性缓冲区法(原理见备课笔记)解此差分方程,得FIR 滤波结果y(n)。
fir数字滤波器的设计实验报告
fir数字滤波器的设计实验报告FIR数字滤波器的设计实验报告引言:数字信号处理在现代通信、音频处理、图像处理等领域中起着至关重要的作用。
而数字滤波器作为数字信号处理的核心组成部分之一,其设计和性能对于信号处理的质量和效果有着直接的影响。
本实验旨在探究FIR(有限脉冲响应)数字滤波器的设计原理和实践操作,以及对其性能进行评估。
一、实验目的本实验的主要目的是掌握FIR数字滤波器的设计方法和实现过程,具体包括以下几个方面:1. 了解FIR数字滤波器的基本原理和特点;2. 学习FIR滤波器的设计方法,包括窗函数法和频率采样法;3. 实现FIR滤波器的设计和编程,掌握滤波器的参数配置;4. 评估FIR滤波器的性能,包括幅频响应、相频响应、群延迟等。
二、实验原理FIR数字滤波器是一种线性时不变系统,其传输函数的脉冲响应是有限长的。
因此,FIR滤波器的设计主要涉及到确定滤波器的脉冲响应系数,即滤波器的冲击响应。
常用的FIR滤波器设计方法有窗函数法和频率采样法。
窗函数法通过选择一个窗函数,将其与理想滤波器的冲击响应进行卷积,从而得到实际的滤波器冲击响应。
常见的窗函数有矩形窗、汉宁窗、海明窗等。
频率采样法则是通过在频域上对理想滤波器的频率响应进行采样,然后进行反变换得到滤波器的冲击响应。
三、实验过程1. 确定滤波器的设计规格,包括截止频率、通带衰减和阻带衰减等参数;2. 选择设计方法,如窗函数法或频率采样法;3. 根据设计方法,计算滤波器的冲击响应系数;4. 利用编程软件,如MATLAB或Python,实现滤波器的设计和编程;5. 根据设计的滤波器参数,绘制滤波器的幅频响应和相频响应曲线;6. 进行滤波器性能评估,包括群延迟、阻带衰减等指标。
四、实验结果与分析本实验以MATLAB为例,使用窗函数法设计了一个FIR低通滤波器。
滤波器的设计规格为:截止频率为1kHz,通带衰减为0.5dB,阻带衰减为40dB。
选择了汉宁窗作为窗函数,并利用MATLAB的fir1函数进行滤波器设计。
(完整word版)有限冲激响应滤波器(FIR)算法实验(word文档良心出品)
福州大学至诚学院《DSPs原理及应用》实验报告实验题目:实验三有限冲激响应滤波器(FIR)算法实验姓名:学号:系别:信息工程系专业:通信工程年级: 2011 级同组姓名:实验时间: 2014.11.10~2014.11.112014年 11 月 14 日实验3:有限冲激响应滤波器(FIR)算法实验1.实验目的1.1掌握用窗函数法设计FIR数字滤波器的原理和方法;1.2熟悉线性相位FIR数字滤波器特性;1.3了解各种窗函数对滤波器特性的影响。
2.实验设备PC 兼容机一台;安装Code Composer Studio 3.1软件。
3.实验原理3.1有限冲激响应数字滤波器的基础理论。
3.2模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3.3数字滤波器系数的确定方法。
3.4根据要求设计低通 FIR 滤波器:要求:通带边缘频率 10kHz,阻带边缘频率 22kHz,阻带衰减 75dB,采样频率50kHz。
设计:3.4.1过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz;3.4.2采样频率:f1=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz;Ω1=2πf1/fs=0.64π;3.4.3理想低通滤波器脉冲响应:h1[n]=sin(nΩ 1)/n/π =sin(0.64π n)/n/π3.4.4根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.93.4.5选择 N=25,窗函数为:w[n]=0.42+0.5cos(2π n/24)+0.8cos(4π n/24)3.4.6滤波器脉冲响应为:h[n]=h1[n]w[n] |n|≤12 h[n]=0 |n|>123.4.7根据上面计算,各式计算出 h[n],然后将脉冲响应值移位为因果序列。
3.4.8完成的滤波器的差分方程为:y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]3.5程序流程图:4.实验步骤4.1实验准备:设置软件仿真模式;启动CCS 3.3。
- 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 。