基于频率抽样设计法线性相位型FIR数字低通滤波器设计报告分解
- 格式:docx
- 大小:404.81 KB
- 文档页数:20
实验5 频率采样法设计FIR 数字滤波器1.实验目的(1)掌握利用直接设计法实现频率采样法设计FIR 滤波器的基本原理。
(2)掌握利用最优设计法实现频率采样法设计FIR 滤波器的基本原理。
(3)掌握利用MA TLAB 语言实现直接设计法和最优设计法的方法。
2.实验原理(1)FIR 数字滤波器设计的实质求()j d H e ω的有限项傅里叶级数的系数,然后用有限项傅里叶级数去近似代替无限项傅里叶级数,在最小均方误差准则下最佳逼近()d h n 。
(2)用频率采样法设计滤波器的基本原理设待设计的滤波器的传输函数用()j d H e ω表示,对它在0ω=到2π之间等间隔采样N 点,得到()d H k ,则2()()N jw d d w k H k H e π==,0,1,,1k N =-对N 点()d H k 进行IDFT ,得到()h n ,2101()()N N j kn d n h n H k e N π-==∑,0,1,,1n N =- ()h n 就是所设计的滤波器的单位取样响应,其系统函数10()()N n n H z h n z --==∑。
(3)直接频率采样设计法的基本原理当FIR 滤波器满足第一类线性相位条件时,()h n 是实序列,()(-1)h n h N n =-,此时有:()()()j j d g H e H e ωθωω=,1()2N θωω-=-(1)式 N=I ()(2)N=II ()(2)g g H H ωπωωπω=-⎧⎪⎨=--⎪⎩g g 奇数时(型):H 偶数时(型):H 在0~2π之间等间隔频率采样N 点,采样时的频率转换关系为:2k k N πω=,0,1,2,,1k N =- (2)式 由(1)式可以得到采样点上的样本值为: ()2=()()()j j k d d g k N H e H k H k e ωθπω== (3)式2121()()2k NN N k k k N N πωπθωθπ=--=-==-N=I ()()N=II ()()g g k H N k k H N k =-⎧⎪⎨=--⎪⎩g g 奇数时(型):H 偶数时(型):H ()()偶对称奇对称 设用理想低通作为希望设计的滤波器,截止频率为c ω,采样点数N,则频率采样点c k 、频率采样值()g H k 、相位采样值()k θ的参数计算方法为:①c k 的计算方法由(2)式2k k N πω=可得到2c c k N ωπ=。
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滤波器的设计和应用,提高信号处理的精度和效率。
一、实验名称:FIR 数字滤波器的设计 二、实验内容:1. 分别用矩形窗和哈明窗设计FIR 低通滤波器,设窗宽11=N ,截止频率rad c πω2.0=,要求绘出两种窗函数设计的滤波器幅频曲线。
程序代码:N=11;h1=fir1(N-1,0.2,boxcar(N)); h2=fir1(N-1,0.2,hamming(N)); w=0:0.01:pi; H1=freqz(h1,1,w);H1db=20*log10(abs(H1)/max(abs(H1))); H2=freqz(h2,1,w);H2db=20*log10(abs(H2) /max(abs(H1))); subplot(1,2,1)plot(w/pi,abs(H1),'-.',w/pi,abs(H2)) legend('矩形窗','哈明窗'); xlabel('w/pi');ylabel('幅频响应'); subplot(1,2,2)plot(w/pi,H1db,'-.',w/pi,H2db) xlabel('w/pi');ylabel('dB'); legend('矩形窗','哈明窗'); 图形:0.510.20.40.60.811.2w/pi幅频响应0.51-120-100-80-60-40-2020w/pid B2. 设计一个线性相位FIR 低通滤波器,通带截止频率为rad p πω2.0=,阻带截止频率为rad s πω4.0=,阻带最小衰减为dB s 50=α。
要求分别绘制理想脉冲响应曲线,哈明窗曲线,实际脉冲响应曲线,FIR 低通滤波器的幅频曲线(分贝形式)。
程序代码:wp=0.2*pi;ws=0.4*pi;tr_width=ws-wp; %计算过渡带的带宽N=ceil(8*pi/tr_width); %计算滤波器的阶次 n=0:N-1;wc=(ws+wp)/2; %计算3 dB 截止频率 alpha=(N-1)/2; %单位响应的对称中心m=n-alpha;hd=sin(wc*m)./(pi*m); %理想低通滤波器的单位响应 w_ham=(hamming(N))';h=hd.*w_ham; %实际滤波器的单位响应 w=0:0.01:pi;H=freqz(h,1,w); %实际滤波器的幅频特性 dbH=20*log10(abs(H)/max(abs(H)));subplot(221);stem(n,hd,’.’);title('理想单位响应'); xlabel('n');ylabel('hd(n)');subplot(222);stem(n,w_ham,’.’);title('哈明窗'); xlabel('n');ylabel('w(n)');subplot(223);stem(n,h,’.’);title('实际单位响应'); xlabel('n');ylabel('h(n)');subplot(224);plot(w/pi,db);title('幅频响应'); xlabel('w/pi');ylabel('分贝数'); 图形:102030理想单位响应nh d (n)哈明窗n w (n )nh (n )0.20.41-120-100-505幅频响应w/pi分贝数3. 利用频率采样法设计线性相位低通滤波器,要求3 dB 截止频率rad c 2/πω=,采样点数取33=N ,选用)1()(n N h n h --=的情况。
基于频率抽样法的低通FIR滤波器的设计频率抽样法是一种常用于低通FIR滤波器设计的方法。
该方法通过选择适当的截止频率和滤波器阶数,将输入信号在频域上进行采样和截断,从而实现低通滤波的效果。
下面将详细介绍基于频率抽样法的低通FIR滤波器的设计过程。
首先,我们需要确定滤波器的截止频率。
截止频率是指滤波器输出信号的频率不再受到滤波器影响的最高频率。
在设计过程中,我们可以根据具体的应用需求或者信号特性来确定截止频率。
接下来,我们需要确定滤波器的阶数。
阶数是指滤波器的系数个数,决定了滤波器的复杂度和性能。
一般来说,随着阶数的增加,滤波器的性能会提升,但也会增加计算量和存储空间的要求。
因此,我们需要在设计过程中综合考虑性能和复杂度的平衡。
设计过程中的下一步是根据截止频率和阶数来计算滤波器的频率响应。
频率响应是指滤波器在不同频率下的增益特性。
在频率抽样法中,我们可以通过使用窗函数来设计滤波器的频率响应。
常用的窗函数包括矩形窗、汉宁窗、布莱克曼窗等。
通过对频率响应和窗函数进行卷积操作,我们可以得到滤波器的时域响应。
时域响应是指滤波器对输入信号的时域影响。
具体的计算方法可以使用离散时间傅里叶变换(DFT)或者快速傅里叶变换(FFT)。
设计完成后,我们需要对滤波器进行实现和验证。
在实现过程中,我们可以使用各种软件工具或者硬件设备来生成滤波器的系数和实际滤波过程。
在滤波器验证过程中,我们可以使用各种信号源输入到滤波器中,并通过观察输出信号的频谱特性和滤波效果来验证滤波器的性能。
总结起来,基于频率抽样法的低通FIR滤波器的设计过程包括确定截止频率和阶数、计算频率响应、使用窗函数设计滤波器时域响应、滤波器实现和验证等步骤。
通过这些步骤,我们可以设计出滤波器满足特定的低通滤波需求,并在实际应用中实现信号的滤波和处理。
基于matlab的FIR滤波器设计(低通,频率取样法)一、参考程序M=63;%所需频率采样点个数Wp=0.5*pi;%通带截止频率m=0:(M+1)/2;%通频带上的采样点Wm=2*pi*m./(M+1);%阻带截止频率mtr=floor(Wp*(M+1)/(2*pi))+2;%向负方向舍入floor(3.5)=3;floor(-3.2)=-4Ad=[Wm<=Wp];Ad(mtr)=0.38;Hd=Ad.*exp(-j*0.5*M*Wm);%构造频域采样向量H(k)Hd=[Hd conj(fliplr(Hd(2:(M+1)/2)))];%fliplr函数实现矩阵的左右翻转conj是求复数的共轭h=real(ifft(Hd));%h(n)=IDFT[H(k)]w=linspace(0,pi,1000);%用于产生0,pi之间的1000点行矢量H=freqz(h,[1],w);%滤波器的幅频特性图figure(1)plot(w/pi,20*log10(abs(H)));%参数分别是归一化频率与幅值xlabel('归一化角频率');ylabel('增益/分贝');axis([0 1 -50 0.5]);f1=100;f2=300;f3=700%待滤波正弦信号频率fs=2000;%采样频率figure(2)subplot(211)t=0:1/fs:0.25;%定义时间范围和步长s=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t);%滤波前信号plot(t,s);%滤波前的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波前时域图');subplot(212)Fs=fft(s,512);%将信号变换到频域AFs=abs(Fs);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFs(1:256));%滤波前的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波前频域图');figure(3)sf=filter(h,1,s);%使用filter函数对信号进行滤波%输入的参数分别为滤波器系统函数的分子和分母多项式系数向量和待滤波信号输入subplot(211)plot(t,sf)%滤波后的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波后时域图');axis([0.2 0.25 -2 2]);%限定图像坐标范围subplot(212)Fsf=fft(sf,512);%滤波后的信号频域图AFsf=abs(Fsf);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFsf(1:256))%滤波后的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波后频域图');二、运行结果。
fir数字滤波器设计实验报告FIR数字滤波器设计实验报告概述数字滤波器是数字信号处理中的重要组成部分,广泛应用于音频、图像、视频等领域。
其中,FIR数字滤波器是一种常见的数字滤波器,具有线性相位、稳定性好、易于实现等优点。
本实验旨在设计一种基于FIR数字滤波器的信号处理系统,实现对信号的滤波和降噪。
实验步骤1. 信号采集需要采集待处理的信号。
本实验采用的是模拟信号,通过采集卡将其转换为数字信号,存储在计算机中。
2. 滤波器设计接下来,需要设计FIR数字滤波器。
为了实现对信号的降噪,我们选择了低通滤波器。
在设计滤波器时,需要确定滤波器的阶数、截止频率等参数。
本实验中,我们选择了8阶低通滤波器,截止频率为500Hz。
3. 滤波器实现设计好滤波器后,需要将其实现。
在本实验中,我们采用MATLAB 软件实现FIR数字滤波器。
具体实现过程如下:定义滤波器的系数。
根据滤波器设计的公式,计算出系数值。
利用MATLAB中的filter函数对信号进行滤波。
将采集到的信号作为输入,滤波器系数作为参数,调用filter函数进行滤波处理。
处理后的信号即为滤波后的信号。
4. 结果分析需要对处理后的信号进行分析。
我们可以通过MATLAB绘制出处理前后的信号波形图、频谱图,比较它们的差异,以评估滤波器的效果。
结果显示,经过FIR数字滤波器处理后,信号的噪声得到了有效的降低,滤波效果较好。
同时,频谱图也显示出了滤波器的低通特性,截止频率处信号衰减明显。
结论本实验成功设计并实现了基于FIR数字滤波器的信号处理系统。
通过采集、滤波、分析等步骤,我们实现了对模拟信号的降噪处理。
同时,本实验还验证了FIR数字滤波器的优点,包括线性相位、稳定性好等特点。
在实际应用中,FIR数字滤波器具有广泛的应用前景。
实验八频率采样法设计FIR数字滤波器一、实验目的掌握频率取样法设计FIR数字滤波器的原理及具体方法。
二、实验设备与环境计算机、MATLAB软件环境三、实验基础理论1.基本原理频率取样法从频域出发,把理想的滤波器等间隔取样得到,将作为实际设计滤波器的,N-1得到以后可以由来唯一确定滤波器的单位脉冲响应,()D_Dd___________ðϨϨ________________求得其中为内插函数由求得的频率响应来逼近。
如果我们设计的是线性相位FIR滤波器,则的幅度和相位一定满足线性相位滤波器的约束条件。
我们将表示成如下形式当为实数,则由此得到即以k=N/2为中心呈偶对称。
再利用线性条件可知,对于1型和2型线性相位滤波器对于3型和4型线性相位滤波器其中,表示取小于该数的最大的整数。
2.设计步骤(1)由给定的理想滤波器给出和。
(2)由式求得。
(3)根据求得和。
四、实验内容1.采用频率采样设计法设计FIR数字低通滤波器,满足以下指标(1)取N=20,过渡带没有样本。
(2)取N=40,过渡带有一个样本,T=0.39。
(3)取N=60,过渡带有两个样本,T1=0.5925,T2=0.1009。
(4)分别讨论采用上述方法设计的数字低通滤波器是否能满足给定的技术指标。
实验代码与实验结果(1)N=20 过渡带没有样本N=20;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[1,1,1,zeros(1,15),1,1]; *对理想幅度函数取样得到取样样本Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1]; *用于绘制理想函数幅度函数的曲线k1=0:floor((N-1)/2);k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];H=Hrs.*exp(j*angH); *计算H(k)h=ifft(H,N); *计算h(n)w=[0:500]*pi/500;H=freqz(h,1,w); *计算幅度响应[Hr,wr]=zerophase(h); *计算幅度函数subplot(221);plot(wdl,Hdr,wl(1:11)/pi,Hrs(1:11),'o');axis([0,1,-0.1,1.1]);xlabel('\omega(\pi)');ylabel('Hr(k)');subplot(222);stem(l,h,'filled');axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');subplot(223);plot(wr/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o');axis([0,1,-0.2,1.2]);xlabel('\omega(\pi)');ylabel('Hr(w)');subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H)))));axis([0,1,-50,5]);grid;xlabel('\omega(\pi)');ylabel('dB');0.51ω(π)H r (k )051015nh (n )0.51ω(π)H r (w )0.51-40-20ω(π)d B(2)N=40 过渡带有一个样本,T=0.39 N=40;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[1,1,1,1,1,0.39,zeros(1,29),0.39,1,1,1,1]; *设置过渡带样本 Hdr=[1,1,0.39,0,0];wdl=[0,0.2,0.25,0.3,1]; k1=0:floor((N-1)/2); k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)]; H=Hrs.*exp(j*angH); h=ifft(H,N);w=[0:500]*pi/500; H=freqz(h,1,w);[Hr,wr]=zerophase(h); subplot(221);plot(wdl,Hdr,wl(1:21)/pi,Hrs(1:21),'o'); axis([0,1,-0.1,1.1]); xlabel('\omega(\pi)'); ylabel('Hr(k)'); subplot(222);stem(l,h,'filled'); axis([0,N-1,-0.1,0.3]); xlabel('n');ylabel('h(n)'); subplot(223);plot(wr/pi,Hr,wl(1:21)/pi,Hrs(1:21),'o'); axis([0,1,-0.2,1.2]); xlabel('\omega(\pi)'); ylabel('Hr(w)'); subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H))))) axis([0,1,-80,5]);grid;xlabel('\omega(\pi)'); ylabel('dB');0.51ω(π)H r (k )0102030nh (n )0.51ω(π)H r (w )0.51-80-60-40-200ω(π)d B(3)N=60 过渡带有两个样本 T1=0.5925,T2=0.1009 N=60;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[1,1,1,1,1,1,1,0.5925,0.1099,zeros(1,43), 0.1099, 0.5925, 1,1,1,1,1,1]; *设置过渡带样本Hdr=[1,1,0.5925,0.1099,0,0];wdl=[0,0.2,0.2+1/30,0.3-1/30,0.3,1]; k1=0:floor((N-1)/2); k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)]; H=Hrs.*exp(j*angH); h=ifft(H,N);w=[0:500]*pi/500;H=freqz(h,1,w);[Hr,wr]=zerophase(h); subplot(221);plot(wdl,Hdr,wl(1:31)/pi,Hrs(1:31),'o'); axis([0,1,-0.1,1.1]);xlabel('\omega(\pi)');ylabel('Hr(k)'); subplot(222);stem(l,h,'filled'); axis([0,N-1,-0.1,0.3]); xlabel('n');ylabel('h(n)'); subplot(223);plot(wr/pi,Hr,wl(1:31)/pi,Hrs(1:31),'o'); axis([0,1,-0.2,1.2]); xlabel('\omega(\pi)'); ylabel('Hr(w)'); subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H))))) axis([0,1,-120,5]);grid;xlabel('\omega(\pi)');ylabel('dB');0.5100.51ω(π)H r (k )02040-0.10.10.20.3nh (n )0.5100.51ω(π)H r (w )0.51-100-50ω(π)d B(4)答:由实验结果第四个图可知,当时,阻带增益都没有达到-50dB,阻带增益有所减低,所以设计结果不能满足最初的设计要求。
信息工程学院课程设计报告课程:数字信号处理学号:2009012347 2009012387姓名:班级:通信0903 教师:日期:2012-5-22摘要:随着计算机和信息科学的飞速发展,数字信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分。
在语音处理、雷达、图形处理、通信、生物医学工程等众多的领域中得到广泛的应用。
下面主要介绍数字信号处理的使用软件 MATLAB 以及使进行语音信号的分析处理、应用。
MATLAB 在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而借助符号数学工具箱提供的符号运算功能基本满足信号与系统课程的需求。
MATLAB主要包括五大通用的功能:数值计算功能(Nemeric)符号运算功能,数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook);建模仿真可视化功能(Simulink)本次数字信号处理课程设计采用Matlab和建模仿真可视化功能(Simulink)本次数字信号处理课程设计采用Matlab软件对数。
例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。
MATLAB 在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分域分析、零极点图绘制等内容。
数值计算仿真分析可以帮助我们能更深入分析系统S域分析、零极点图绘制等内容。
并为将来使用 MATLAB 进行信号处理领域的各种分析和实际应用打下基础设计名称:基于频率采样法FIR数字滤波器的设计设计内容要求:采取最优化的设计方法通过频率采样实现FIR滤波器,这种方法是为了得到更大的衰减,增大M值,并使过渡带中的样本成为自由样本,这个问题可以采用线性规划技术来解决。
在下面的例子中,仍设低通滤波器指标为:0.2,0.250.3,50p p s p R dBR dB ωπωπ====设计原理与说明:FIR 滤波器设计方法:频率采样法的基本思想是使所设计的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滤波器的设计和实现过程,并能够将理论知识应用到实践中,提高我们的工程实践能力。
本次实验报告将按照“设计原理设计方法实现过程实验结果与分析”的逻辑结构进行组织,让读者能够清晰地了解我们实验的全过程,以及我们从中获得的收获和启示。
目录任务书 (2)摘要: (3)关键字: (3)FIR数字滤波器设计的原理 (3)设计过程: (5)实验结果 (5)1.程序: (5)2.截图 (9)结束语论文从基于频率抽样设计法线性相位型FIR 数字低通滤波器的设计原理和设计过程方面来阐述我们的设计思路,并用matlab 软件运行后得到了论文中的实验结果,我们还对课程设计中遇到的问题及解决方法进行了阐述,最后描述了自己的心得体会。
关键字:频率抽样法 线性相位型FIR 数字低通滤波器 matlab 有限长冲激响应一、FIR 数字滤波器设计的原理 频率抽样设计法FIR 低通滤波器的设计一般方法有两种,即频率抽样法和窗函数法,频率抽样法设计不同于窗函数法,窗函数是从时域出发,把理想的()d h n 用一定形状得窗函数截取成有限长的()h n ,以此()h n 来近似理想的()d h n ,这样得到的频率响应()jw H e 逼近于所要求的理想的频率响应()jw d H e 。
频率抽样法则是从频域出发,把给定的理想频率响应()jw d H e 加以等间隔抽样,即2()|()jw d d w k NH e H k π==然后以此()d H k 作为实际FIR 数字滤波器的频率特性的抽样值()H k ,即令2()()()|0,1,,1jw d d w k NH k H k H e k N π====-,知道()H k 后,由DFT 定义,可以用频域的这N 个抽样值()H k 来唯一确定有限长序列()h n ,而由()X z 的内插公式知道,利用这N 个频域抽样值()H k 同样可求得FIR 滤波器的系统函数()H z 及频率响应()jw H e 。
这个()H z 或()jw H e 将逼近()d H z 或()jw d H e ,()H z 和()jw H e 的内插公式为1101()()1NN k k Nz H k H z NW z ----=-=-∑ 102()()()N jwk H e H k w k Nπ-==Φ-∑ (2-2)其中()w Φ是内插函数1()2sin()12()sin()2N jw wNw ew N --Φ= (2-3) 将式(2-3)代入(2-2)式,化简后可得11()20sin()12()()sin()2k N N j j w jw N k wN H e e H k e w k N Nππ----==-∑ 即 11(1)()2sin[()]12()()sin()2k N N j N j w jw N k w k N N H e e H k e w k N Nπππ----=-=••-∑210()()N j nk Nn H k h n eπ--==∑从内插公式(2-2)看到,在各频率抽样点上,滤波器的实际频率响应是严格地和理想频率响应数值相等,即22()()()()j k jk NNd d H eH k H k H eππ===。
但是在抽样点之间的频率响应则是由各抽样点的加权内插函数的延伸叠加而形成的,因而有一定的逼近误差,误差大小取决于理想频率响应曲线形状,理想频率响应特性变化越平缓,则内插值越接近理想值,逼近误差越小,如下图梯形理想频率特性所示。
反之,如果抽样点之间的理想频率特性变化越陡,则内插值与理想值之误差就越大,因而在理想频率特性的不连续点附近,就会产生肩峰和波纹,当()h n 为实数时,满足**()(())()()N N H k H N k R k H N k =-=-,由此得出()()H k H N k =-,()()Q k Q N k =--,也就是说,()H k 的模()H k 以2k N =为对称中心呈偶对称,()H k 的相角()Q k 以2k N =为对称中心呈奇对称。
再利用线性相位的条件1()2jw N Q e w -=-,即可得到(N 为偶数): 210,,122()0221()1,,122N N k k N NQ k k N NN k k N Nππ⎧-⎛⎫⎛⎫-=- ⎪⎪⎪⎝⎭⎝⎭⎪⎪==⎨⎪⎪-⎛⎫⎛⎫-=+- ⎪ ⎪⎪⎝⎭⎝⎭⎩21()221()()2()0,,12()02()1,,12N j k N N j N k N N H k e k NH k k N H N k e k N ππ----⎧⎛⎫=-⎪ ⎪⎝⎭⎪⎪==⎨⎪⎪⎛⎫-=+-⎪ ⎪⎝⎭⎩()12(0)sin 2sin 2N j j N H H e e N ωωωω--⎧⎛⎫⎪⎪⎪⎝⎭=⎨⎛⎫⎪ ⎪⎪⎝⎭⎩()121sin sin 22sin sin 22Nk k k N N H k N N k k N N N ωπωπωπωπ-=⎫⎡⎤⎡⎤⎡⎤⎛⎫⎛⎫-+⎪ ⎪ ⎪⎢⎥⎢⎥⎢⎥⎪⎝⎭⎝⎭⎣⎦⎣⎦⎢⎥++⎬⎢⎥⎛⎫⎛⎫⎪-+ ⎪ ⎪⎢⎥⎪⎝⎭⎝⎭⎣⎦⎭∑二、设计过程:(一)设计思想:根据给定DLPF 幅频特性要求(通带截止频率ωp=0.5π,通带最大衰减αp=0.5 dB ,阻带截止频率ωs=0.6π,阻带最小衰减αs=50 dB )取得DLPF 的H(k)。
设冲激响应h(n)为偶对称,N 为偶数。
根据线性相位约束条件设计FIR 线性相位数字滤波器的H(k)。
根据H(k)生成DLPF 的h(n)。
利用频率抽样法设计加一个过渡带,加两个过渡带的低通滤波器,看其对滤波器性能的影响。
设计与之相对应的DLPF,给出窗函数及所设计滤波器的幅度特性,对比分析DLPF 幅频特性是否符合要求最后利用x=rand(1,sizex)函数随随机生成一个序列来验证设计的滤波器是否具有低通滤波器的特性。
(二)功能结构:FIR数字滤波器具有严格的线性相位,低通滤波器只能让低频的通过而把高频的部分滤掉。
设计步骤:(三)设计步骤①根据给定DLPF幅频特性要求(通带截止频率ωp=0.5π,通带最大衰减αp=0.5 dB,阻带截止频率ωs=0.6π,阻带最小衰减αs=50 dB)取得DLPF的X(K);②根据线性相位型数字滤波器条件,构建线性相位型DLPF的X(K);③根据X(K)生成DLPF的h(n);④设计与之相对应的DLPF,给出窗函数及所设计滤波器的幅度特性,对比分析DLPF幅频特性是否符合要求;⑤试说明过渡点对所设计数字滤波器性能的影响;⑥产生一个有干扰频率的时域序列(借助FFT分析说明其有干扰),使之通过所设计的DLPF,对滤波输出结果作出分析,说明输出结果。
⑦扩展部分:自拟指标,设计一个DBPF,追求最佳性能,并检验设计效果。
三、实验结果(一)程序:% wp=0.5*pi;Rp=0.5dB; ws=0.6*pi;As=50dB;频率抽样法wp=0.5*pi;ws=0.6*pi;tr_width=ws-wp;% 用频率抽样法设计FIR滤波器,过渡带内一个样本T1,N=40。
alpha=(N-1)/2; %N为偶数l=[0:1:N-1]; wl=(2*pi/N)*l;Hrs=[ones(1,11),T1,zeros(1,17),T1,ones(1,10)]; %偶对称Hdr=[1 1 0 0 ];wdl=[0 0.5 0.6 1]; k1=0:(N/2-1); k2=(N/2+1):N-1;%依据公式7-107 angH=[-alpha*(2*pi)/N*k1,0,alpha*(2*pi)/N*(N-k2)];H=Hrs.*exp(1i*angH);h=real(ifft(H,N));[H,w]=freqz(h,1,1000,'whole');%[db mag pha grd w]=freqz_m(h,1);db=20*log10((abs(H)+eps)/max(abs(H)));%求FIR滤波器频响的dB值delta_w=2*pi/1000; %将2pi等分1000份%plotfigure(1);subplot(221);plot(wl(1:21)/pi,Hrs(1:21),'o',wdl,Hdr,'linewidth',2);title('理想滤波器频域波形');axis([0 1 -0.1 ,1.2]); ylabel('Hr(k)');set(gca,'XTickMode','manual','XTick',[0 0.5 0.6 1]);set(gca,'YTickMode','manual','YTick',[0 T1 1]); grid;subplot(222); stem(l,h,'m');title('单位脉冲响应');axis([-1,N,-0.15,0.5]);ylabel('h(n)');subplot(223); plot(w/pi,abs(H),wl(1:31)/pi,Hrs(1:31),'o','linewidth',2);axis([0 1 -0.2,1.2]); title('频域抽样');xlabel('频率');ylabel('Hr(w)');grid;set(gca,'XTickMode','manual','XTick',[0 0.5 0.6 1]);set(gca,'YTickMode','manual','YTick',[0 T1 1]);subplot(224); plot(w/pi,db,'r');axis([0,1,-100,10]);grid; ylabel('分贝');title('幅频响应');xlabel('频率');set(gca,'XTickMode','manual','XTick',[0,0.5,0.6,1]);set(gca,'YTickMode','manual','YTick',[-50,0]);% 用频率抽样法设计FIR滤波器,过渡带内无样本,N=20。
tr_width=ws-wp;alpha=(N-1)/2; %N为偶数l=[0:1:N-1]; wl=(2*pi/N)*l;Hrs=[ones(1,6),zeros(1,9),ones(1,5)]; %偶对称Hdr=[1 1 0 0 ];wdl=[0 0.5 0.6 1]; k1=0:(N/2-1); k2=(N/2+1):N-1;angH=[-alpha*(2*pi)/N*k1,0,alpha*(2*pi)/N*(N-k2)]; H=Hrs.*exp(j*angH);h=real(ifft(H,N));[H,w]=freqz(h,1,1000,'whole');%[db mag pha grd w]=freqz_m(h,1);db=20*log10((abs(H)+eps)/max(abs(H)));%求FIR滤波器频响的dB值delta_w=2*pi/1000; %将2pi等分1000份%plotfigure(2);clf;subplot(221);plot(wl(1:11)/pi,Hrs(1:11),'o',wdl,Hdr,'linewidth',2);title('理想滤波器频域波形');axis([0 1 -0.1 ,1.2]); ylabel('Hr(k)');set(gca,'XTickMode','manual','XTick',[0 0.5 0.6 1]);%set(gca,'YTickMode','manual','YTick',[0 T1 1]);grid;subplot(222); stem(l,h,'m');title('单位脉冲响应');axis([-1,N,-0.15,0.55]);ylabel('h(n)');subplot(223); plot(w/pi,abs(H),wl(1:11)/pi,Hrs(1:11),'o','linewidth',2);axis([0 1 -0.2,1.2]); title('频域抽样');xlabel('频率');ylabel('Hr(w)');grid;%set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);%set(gca,'YTickMode','manual','YTick',[0 T1 1]);subplot(224); plot(w/pi,db,'r');axis([0,1,-100,10]);grid; ylabel('分贝');title('幅频响应');xlabel('频率');set(gca,'XTickMode','manual','XTick',[0,0.5,0.6,1]);set(gca,'YTickMode','manual','YTick',[-50,0]);% 用频率抽样法设计FIR滤波器,过渡带内两个样本T1、T2,N=60。