基于矩形窗设计FIR数字滤波器

合集下载

数字信号处理实验——用窗函数设计FIR滤波器

数字信号处理实验——用窗函数设计FIR滤波器

实验四 用窗函数设计FIR 滤波器一、 实验目的1、熟悉FIR 滤波器设计的基本方法。

2、掌握用窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。

3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。

4、了解各种不同窗函数对滤波器性能的响应。

二、 实验原理和方法窗函数法设计的任务在于寻找一个可实现有限长单位脉冲响应的传递函数H(e jw )=∑-=10N n h(n)e -jwn 去逼近h d (n)=1/2π⎰π20H d (e jw )e jwn dw即h(n)=h d (n)w (n ) (一)几种常用的窗函数1、矩形窗 w(n)=R N (n)2、Hanning 窗 w(n)=0.5[1-cos(2πn /N-1)]R N (n)3、Hamming 窗 w(n)=[0.54-0.46cos(2πn /N-1)]R N (n)4、Blackman 窗 w(n)=[0.42-0.5 cos(2πn /N-1)+0.08 cos(4πn /N-1)] R N (n)5、Kaiser 窗 w(n)=I 0(β(1-[(2n /(N-1))-1]2)½)/I 0(β)(二)窗函数法设计线性相位FIR 滤波器的步骤1、确定数字滤波器的性能要求。

确定各临界频率{w k }和滤波器单位脉冲响应长度N 。

2、根据性能要求和N 值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应h d (e jw)的幅频特性和相位特性。

3、用傅里叶反变换公式求得理想单位脉冲响应h d (n)。

4、选择适当的窗函数W (n ),求得所设计的FIR 滤波器单位脉冲响应。

5、用傅里叶变换求得其频率响应H (e jw),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N ,重复上述过程,直至得到满意的结果。

三、实验内容和步骤1、分别用矩形窗、Hanning 窗、Hamming 窗、Blackman 窗、Kaiser 窗(β=8.5)设计一个长度N=8的线性相位FIR 滤波器。

FIR滤波器的设计

FIR滤波器的设计

实验三:FIR数字滤波器的设计之欧侯瑞魂创作实验目的1)掌握用窗函数法,频率采样法及优化设计法设计FIR 滤波器的原理及方法。

2)熟悉线性相位FIR 滤波器的幅频特性和相频特性。

3)了解各种分歧窗函数对滤波器性能的影响。

一、实验内容1.N=45,计算并画出矩形窗、汉明窗、布莱克曼窗的归一化的幅度谱,并比较各自的主要特点。

clear all;N=45;wn1=kaiser(N,0);wn2=hamming(N);wn3=blackman(N);[h1,w1] = freqz(wn1,N);[h2,w2] = freqz(wn2,N);[h3,w3] = freqz(wn3,N);plot(w1/pi,20*log10(abs(h1)),'r-',w2/pi,20*log10(abs(h2)),'b-',w3/pi,20*log10(abs(h3)),'g-');axis([0,1,-120,10]);grid;xlabel('归一化频率/\pi'); ylabel('幅度/dB');title('三种窗口函数');legend('矩形窗','汉明窗','布莱克曼窗',3);分析:阻带衰减和过渡带带宽是相互矛盾的,矩形窗过渡带带宽窄,但是阻带衰减比较少;布莱克曼窗过渡带带宽宽,但是阻带衰减比较大2.N=15,带通滤波器的两个通带鸿沟分别是ω1=0.3π,ω2=0.5π。

用汉宁窗设计此线性相位带通滤波器,观察它的实际3dB 和20dB 带宽。

N=45,重复这一设计,观察幅频和相位特性的变更,注意长度N 变更的影响。

N=15;h= fir1(N-1,[0.3 0.5],'bandpass',hanning(N));figure(1)freqz(h,1);axis([0,1,-60,10]);title('N=15,汉宁窗');N=45;h= fir1(N-1,[0.3 0.5],'bandpass',hanning(N));figure(2)freqz(h,1);axis([0,1,-60,10]);title('N=45,汉宁窗');结论:增加窗口函数的长度能够在幅度频谱和相位频谱上获得较好的特性。

矩形窗设计FIR滤波器

矩形窗设计FIR滤波器

基于MATLAB的声音信号的分析与处理设计一、设计内容1.录制2 秒自己的声音,如发音“河南科技大学”等简短的语句,抽样率是7000Hz,共得14000 个数据。

2.抽取7000 个数据进行频谱分析,得到幅度谱。

3.取这14000 个数据进行频谱分析,得到幅度谱。

比较二者异同并分析原因。

4.分析人声的频率范围,根据所录制的声音信号的频谱特性,选择合适的滤波器参数,选择矩形窗用窗函数法设计一个FIR低通滤波器;要求输出所设计的滤波器的阶次,画出滤波器的单位抽样响应,分析其对称性;画出滤波器的频率响应(幅频响应和相频响应)曲线,根据相频曲线判断滤波器是否为线性相位滤波器;5.用滤波器对信号进行滤波,画出滤波以后信号的时域波形和频谱,与原信号进行时域和频域的对比。

6.再把处理后的所有数据储存为声音文件,与原始声音进行比较。

二、程序%录制声音并保存fs=7000;channel=1;time=2;fprintf('按任意键后开始录音。

');pause;fprintf('\n正在录音。

');x=wavrecord(time*fs,fs,channel,'double');fprintf('\n录音完成');wavwrite(x,fs,'wa.wav');%原始语音信号x=wavread('wa.wav');Fs=7000;n1=[0:(length(x)-1)]/length(x)*2;sound(x);pause(2);figure(1)plot(n1,x);xlabel('时间/s');title('原始语音信号的图形');%频谱分析X=fft(x,14000);n2=[0:(length(X)-1)]/length(X)*7000;X1=fft(x,7000);n3=[0:(length(X1)-1)]/length(X1)*7000;figure(2)subplot(2,1,1);plot(n2,abs(X));title('14000点的幅度谱');xlabel('频率/Hz');ylabel('幅度'); subplot(2,1,2);plot(n3,abs(X1));ylabel('幅度');xlabel('频率/Hz');title('7000点的幅度谱');%用矩形窗设计FIR低通滤波器fp=2000;fs=2200;wp=fp*2*pi/Fs;ws=fs*2*pi/Fs;wdelta=ws-wp;N=ceil(4*pi/wdelta); %滤波器长度if rem(N,2)==0N=N+1;endNw=Nwc=(ws+wp)/2;n=0:N-1;alpha=(N-1)/2;m=n-alpha+0.00001;%matlab系统的精度hd=sin(wc*m)./(pi*m);%理性滤波器脉冲响应win=boxcar(Nw);h=hd.*win';%时域乘积对应频域卷积b=h;figure(3)stem(h);xlabel('n');ylabel('h(n)');title('滤波器的单位抽样响应h(n)'); figure(4)freqz(b,1,14000);%用滤波器滤波y1=conv(h,x);n5=[0:(length(y1)-1)]/length(y1)*2;figure(5)subplot(2,1,1);plot(n1,x);xlabel('时间/s');title('滤波前的语音信号的图形');subplot(2,1,2);plot(n5,y1);title('滤波后的语音信号的图形');xlabel('时间/s');X2=fft(y1,14000);n4=[0:(length(X2)-1)]/length(X2)*7000; figure(6)subplot(2,1,1);plot(n2,abs(X));title('滤波前语音信号的频谱');xlabel('频率/Hz');ylabel('幅度'); subplot(2,1,2);plot (n4,abs(X2));title('滤波后语音信号的频谱');xlabel('频率/Hz');ylabel('幅度');%将滤波后的数据转化成声音文件 wavwrite(y1,'wavsound'); sound(y1);三、图形00.20.40.60.81 1.2 1.4 1.6 1.82-0.2-0.15-0.1-0.050.050.10.15时间/s原始语音信号的图形1000200030004000500060007000010203014000点的幅度谱频率/Hz 幅度01000200030004000500060007000102030幅度频率/Hz7000点的幅度谱1020304050607080nh (n )滤波器的单位抽样响应h(n)00.10.20.30.40.50.60.70.80.91-6000-4000-2000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91-150-100-50050Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )00.20.40.60.81 1.2 1.4 1.6 1.82-0.2-0.100.10.2时间/s滤波前的语音信号的图形0.20.40.60.81 1.21.41.61.82-0.2-0.100.10.2滤波后的语音信号的图形时间/s10002000300040005000600070000102030滤波前语音信号的频谱频率/Hz幅度01000200030004000500060007000102030滤波后语音信号的频谱频率/Hz幅度。

基于矩形窗设计FIR数字滤波器

基于矩形窗设计FIR数字滤波器

郑州航空工业管理学院《电子信息系统仿真》课程设计14级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章 FIR 滤波器的设计原理及方法FIR 滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR 滤波器。

我们用Hd (e^jw )表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc<pi 的低通滤波器由下式给定:⎩⎨⎧=<-⋅<==<=wc w jaw e w wc jw e Hd ||),(^1||,0)^(π为了从hd(n)得到一个FIR 滤波器,必须同时在两边截取hd (n )。

而要得到一个因果的线性相位滤波器,它的h(n)长度为N ,必须有:⎩⎨⎧-<=<==其他,010),()(N n n hd n h 2/)1(-=N α这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w (n )的乘积: h(n)=hd(n)w(n) 其中⎩⎨⎧-≤≤=,其他对称,关于01n 0)(N n w α根据w (n )的不同定义,可以得到不同的窗结构。

在频域中,因果FIR 滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即⎰--=⊗=ππλλωπd j e W jw e W jw e Hd jw e H )(^(2/1)^()^()^(常用的窗函数有矩形窗、巴特利特(BARTLETT)窗、汉宁(HANNING)窗、海明(HAMMING)窗、布莱克曼(BLACKMAN)窗、凯泽(KAISER)窗等。

FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

用窗口法设计FIR数字滤波器

用窗口法设计FIR数字滤波器

实验8用窗口法设计FIR 数字滤波器8.1实验目的了解一个实际滤波器设计过程,加深掌握用窗口法设计FIR 数字滤波器的原理和窗函数对数字滤波器性能的影响。

8.2基本原理设所希望得到的滤波器的理想频率响应为H d (e jw )。

那FI 滤波器的设计就在于寻找一个频率响应为()()∑=--=N n jwn jwH 0e n h e 去逼近H d (e jw )。

在这种逼近中最直接的一种方法是从单位冲激响应序列h(n)着手,使h(n)逼近理想的单位冲激响应h d (n)。

我们知道h d (n)可以从理想频率响应H d (e jw )通过傅里叶反变换得到,即: ()()∑∞∞=-=n jwn jwH e n h e dd ()⎰-=ππωπd H jwn jw de )(e 21n h d但是一般来说,这样得到的单位冲激响应h d (n)往往都是无限长序列,而且是非因果的。

我们以一个截止频率为ωC 的线性相位理想低通滤波器为例来说明。

设低边滤波器的时延为ɑ,即()πωωωωα≤≤≤⎩⎨⎧-cc jw jw H 0e ed (8-2) 则 ()()[]()απαωωπωωα--==⎰--n n d c jwn jw sin e e 21n h c c d 这是一个以ɑ为中心的偶对称的无限长非因果序列。

这样一个无限长的序列怎样用一个有限长主序列去近似呢?最简单的办法就是直接截取它的一段来代替它。

例如n=0到n=N —1的一段截取来作为h(n),但是为了保证所得到的是线性相位滤波器,必须满足h(n)的对称性,所以时延ɑ应该取h(n)长度的一半,即ɑ=(N —1)/2。

()()n100h n h d 其他-≤≤⎩⎨⎧N n n (8-3) 这种直接截取的办法可以形象地想象为,h(n)好比是通过一个窗口所看到的一段h d (n)。

h(n)为h d (n)和一个"窗口函数"的乘积。

在这里,窗口函数就是矩形序列R N (n),即h(n)=h d (n)·R N (n) (8-4)但是一般来说,窗口函数并不一定是矩形序列,可以在矩形以内对h d (n)作一定的加权处理,因此,一般可以表示为h(n)=h d (n)·ω(n) (8-5)这里ω(n)就是窗口函数。

fir滤波器窗函数设计法

fir滤波器窗函数设计法

fir滤波器窗函数设计法
FIR (Finite Impulse Response)滤波器的窗函数设计法是一种经典的数字滤波器设计方法。

它通过选择一个合适的窗函数来对滤波器的频率响应进行加权,从而实现对信号的滤波。

窗函数设计法的基本步骤如下:
1. 确定滤波器的设计规格:包括截止频率、通带和阻带的幅频响应要求等。

2. 根据设计规格,计算出滤波器的理想频率响应:可以使用理想滤波器的频率响应作为目标。

3. 选择一个合适的窗函数:常用的窗函数有矩形窗、汉宁窗、汉明窗等。

选择窗函数的关键是考虑到主瓣宽度和副瓣衰减的平衡。

4. 将选择的窗函数应用于理想频率响应上,得到加权后的频率响应。

5. 对加权后的频率响应进行反变换,得到滤波器的时域响应。

6. 根据需要,对时域响应进行截断或零增益处理,以满足设计规格。

7. 最后,根据计算得到的滤波器系数,可以通过巴特沃斯频率抽样公式将其转换为巴特沃斯直接型或传输函数型,以便在数字系统中实现滤波。

需要注意的是,FIR滤波器的窗函数设计法是一种近似方法,设计的滤波器无法完全符合理想要求。

设计过程中需要权衡主瓣宽度和副瓣衰减等因素,以及选择合适的截断或零增益处理方式,以获得满
足实际需求的滤波器性能。

武汉理工大学 基于矩形窗、三角窗、海明窗、汉宁窗、布拉克曼窗的FIR数字滤波器设计

武汉理工大学  基于矩形窗、三角窗、海明窗、汉宁窗、布拉克曼窗的FIR数字滤波器设计

1.基于矩形窗的FIR数字低通滤波器设计参数如下:主程序:% 基于矩形窗的FIR数字低通滤波器设计wp=2*pi*1.75/15;ws=2*pi*3.25/15w=(wp+ws)/2;N=ceil(4*pi/(ws-wp));n=0:1:(N-1);alpha=(N-1)/2;m=n-alpha+eps;hd=sin(w*m)./(pi*m); %得到理想低通滤波器 B=boxcar(N);string=['Boxcar,N=',num2str(N)];h=hd.*(B)'; %得到FIR数字滤波器[H,w]=freqz(h,[1],1024); %求其频率响应db=20*log10(abs(H)+eps); %得到幅值pha=angle(H); %得到相位figure(1);subplot(2,2,1);stem(n,h,'r');axis([0,N-1,-0.1,0.35]);xlabel('n');ylabel('h(n)');title('实际低通滤波器的h(n)');text((0.3*N),0.275,string);subplot(2,2,2);plot(w/pi,db,'r');axis([0,1,-100,5]);xlabel('w/pi');ylabel('dB');title('衰减特性(dB)');grid;subplot(2,2,3);plot(w,pha);hold on;plot(0:4,zeros(5),'k');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.2,-4,4]);subplot(2,2,4);plot(w,abs(H));title('频率特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.3,string);2.基于矩形窗的带通滤波器的设计参数如下:子程序:function hd=ideal_bs(Wcl,Wch,N)alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=[sin(Wch*m)-sin(Wcl*m)]./(pi*m);function hd=ideal_bs(Wcl,Wch,N)alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=[sin(Wch*m)-sin(Wcl*m)]./(pi*m);主程序:clear all;Wph=2*pi*4.75/15;Wpl=2*pi*2.5/15;Wsl=2*pi/15;Wsh=2*pi*6.25/15;tr_width=min((Wpl-Wsl),(Wsh-Wph)); %过渡带宽度N=ceil(4*pi/tr_width); %滤波器长度n=0:1:N-1;Wcl=(Wsl+Wpl)/2; %理想滤波器的截止频率Wch=(Wsh+Wph)/2;hd=ideal_bs(Wcl,Wch,N); %理想滤波器的单位冲击响应w_ham=(boxcar(N))';string=['矩形窗','N=',num2str(N)];h=hd.*w_ham; %截取取得实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]); %计算实际滤波器的幅度响应subplot(3,2,1);stem(n,hd);title('理想脉冲响应hd(n)')axis([-1,N,-0.5,0.8]);xlabel('n');ylabel('hd(n)');subplot(3,2,2);stem(n,w_ham);axis([-1,N,0,1.1]);xlabel('n');ylabel('w(n)');text(1.5,1.3,string);subplot(3,2,3);stem(n,h);title('实际脉冲响应h(n)');axis([0,N,-1.4,1.4]);xlabel('n');ylabel('h(n)');subplot(3,2,4);plot(w,pha);title('相频特性');axis([0,3.15,-4,4]);xlabel('频率(rad)');ylabel('相位(?)');subplot(3,2,5);plot(w/pi,db);title('幅度特性(dB)');axis([0,1,-80,10]);xlabel('频率(pi)');ylabel('分贝数');subplot(3,2,6);plot(w,mag);title('频率特性')axis([0,3.15,0,1.5]);xlabel('频率(rad)');ylabel('幅值');fs=15000;t=(0:100)/fs;x=sin(2*pi*t*750)+sin(2*pi*t*5000)+sin(2*pi*t*6100); q=filter(h,1,x);[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度')subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度')3.基于矩形窗的FIR数字带阻滤波器设计参数:主程序:clear all;Wph=2*pi*6.25/15;Wpl=2*pi/15;Wsl=2*pi*2.5/15;Wsh=2*pi*4.75/15;tr_width=min((Wsl-Wpl),(Wph-Wsh));%过渡带宽度N=ceil(4*pi/tr_width);%滤波器长度n=0:1:N-1;Wcl=(Wsl+Wpl)/2;%理想滤波器的截止频率Wch=(Wsh+Wph)/2;hd=ideal_bs(Wcl,Wch,N);%理想滤波器的单位冲击响应w_ham=(boxcar(N))';string=['矩形窗','N=',num2str(N)];h=hd.*w_ham;%截取取得实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;subplot(3,2,1);stem(n,hd);title('理想脉冲响应hd(n)')axis([-1,N,-0.5,0.8]);xlabel('n');ylabel('hd(n)');subplot(3,2,2);stem(n,w_ham);axis([-1,N,0,1.1]);xlabel('n');ylabel('w(n)');text(1.5,1.3,string);subplot(3,2,3);stem(n,h);title('实际脉冲响应h(n)');axis([0,N,-1.4,1.4]);xlabel('n');ylabel('h(n)');subplot(3,2,4);plot(w,pha);title('相频特性');axis([0,3.15,-4,4]);xlabel('频率(rad)');ylabel('相位(Φ)'); subplot(3,2,5);plot(w/pi,db);title('幅度特性(dB)');axis([0,1,-80,10]);xlabel('频率(pi)');ylabel('分贝数'); subplot(3,2,6);plot(w,mag);title('频率特性')axis([0,3,0,2]);xlabel('频率(rad)');ylabel('幅值');fs=15000;t=(0:100)/fs;x=sin(2*pi*t*750)+sin(2*pi*t*3000)+sin(2*pi*t*6100);q=filter(h,1,x);[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度')subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度');调用程序1:function hd=ideal_bs(Wcl,Wch,m);alpha=(m-1)/2;n=[0:1:(m-1)];m=n-alpha+eps;hd=[sin(m*pi)+sin(Wcl*m)-sin(Wch*m)]./(pi*m)调用程序2:function[db,mag,pha,w]=freqz_m2(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))'; w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);4.基于三角窗的FIR数字高通滤波器设计参数:子程序:function hd=ideal_hp1(Wc,N)alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;%hd=[sin(pi*m)-sin(Wc*m)]/(pi*m);hd=[sin(pi*m)-sin(Wc*m)]./(pi*m);function[db,mag,pha,w]=freqz_m2(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);主程序:clear all; Ws=6.5/15*piWp=3.5/15*pitr_width=Ws-Wp;%过渡带宽度N=ceil(8*pi/tr_width);%滤波器长度n=0:1:N-1;Wc=(Ws+Wp)/2;%理想滤波器的截止频率hd=ideal_hp1(Wc,N);%理想滤波器的单位冲击响应w_ham=(triang(N))'; string=['三角窗','N=',num2str(N)];h=hd.*w_ham;%截取得到的实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;Ap=-(min(db(Ws/delta_w+1:1:501)));%实际通带波纹As=-round(max(db(1:1:Wp/delta_w+1)));%实际阻带波纹subplot(3,2,1);stem(n,hd);title('理想脉冲响应hd(n)');axis([0,N-1,-0.5,0.5]);xlabel('n');ylabel('hd(n)'); subplot(3,2,2);stem(n,w_ham);axis([0,N-1,0,1.1]);xlabel('n');ylabel('w(n)');text(1.5,1.3,string);subplot(3,2,3);stem(n,h);title('实际脉冲响应hd(n)');axis([0,N,-1.4,1.4]);xlabel('n');ylabel('hd(n)');subplot(3,2,4);plot(w,pha);title('想频特性');axis([0,3.15,-4,4]);xlabel('频率(pi)');ylabel('相位(o)'); subplot(3,2,5);plot(w/pi,db);title('幅度特性(dB)');axis([0,1,-100,10]);xlabel('频率(pi)');ylabel('(分贝数)'); subplot(3,2,6);plot(w,mag);title('频率特性');axis([0,2.95,0,1.5]);xlabel('频率(rad)');ylabel('幅值');fs=12000;t=(0:100)/fs;x=sin(2*pi*t*750)+sin(2*pi*t*1500)+sin(2*pi*t*3000);q=filter(h,1,x);[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度')subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度')检验程序:用含多种频率成份离散时间信号作输入信号,得到通过滤波器后与输出信号的对比结果fs=20000;t=(0:100)/fs;x=sin(2*pi*t*1500)+sin(2*pi*t*4000)+sin(2*pi*t*8000);%输入信号 q=filter(h,1,x);%滤波处理,得到输出信号[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度');subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度')图形示例:低通部分检验图形:低通部分。

用窗函数法设计FIR数字滤波器

用窗函数法设计FIR数字滤波器

用窗函数法设计FIR 数字滤波器一、实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。

2.熟悉线性相位FIR 数字滤波器特征。

3.了解各种窗函数对滤波特性的影响。

二、实验仪器微型计算机 matlab 软件三、实验原理和方法如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰- (2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。

由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2) )(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为: )(ωj d e H =∑-=-10)(N n j e n h ω (2-3)式中,N 为所选窗函数)(n ω的长度。

由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。

设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。

各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。

这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。

)(ωj e H 是否满足要求,要进行验算。

一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。

如果要观察细节,补零点数增多即可。

如果)(ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。

如果要求线性相位特性,则)(n h 还必须满足)1()(n N h n h --±= (2-4)根据上式中的正负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。

用窗函数法设计FIR数字低通滤波器要点

用窗函数法设计FIR数字低通滤波器要点

河北科技大学课程设计报告学生姓名: 学号:专业班级:课程名称:学年学期指导教师:20年月课程设计成绩评定表目录1. 窗函数设计低通滤波器1.1设计目的 (1)1.2设计原理推导与计算 (1)1.3设计内容与要求 (2)1.4设计源程序与运行结果 (3)1.5思考题……………………………………………………………………101.6心得体会 (14)参考文献……………………………………………………………………… 151.窗函数设计低通滤波器1.1设计目的1. 熟悉设计线性相位数字滤波器的一般步骤。

2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。

3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。

4. 学会根据指标要求选择合适的窗函数。

1.2设计原理推导与计算如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21 (4.1)窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数()ωj e H ,即()⎪⎩⎪⎨⎧≤<≤=-πωωωωωαωc c j jd ,,e e H 0,其中21-=N α()()()[]()a n a n d e e d e eH n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121用有限长单位脉冲响应序列()n h 逼近()n h d 。

由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω=(4.2)()n h 就作为实际设计的FI R数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1ﻩ ﻩ(4.3)式中,N 为所选窗函数()n ω的长度。

DSP实验6 用窗函数法设计FIR滤波器

DSP实验6 用窗函数法设计FIR滤波器

用窗函数法设计FIR 滤波器一、实验目的1. 掌握窗函数法设计FIR 滤波器的原理和方法,观察用几种常用窗函数设计的FIR 数字滤波器技术指标;2. 掌握FIR 滤波器的线性相位特性;3. 了解各种窗函数对滤波特性的影响。

二、实验原理与方法如果所希望的滤波器的理想频率响应函数为H d (e jω),则其对应的单位脉冲响应为ωπωππωd e e H n h n j j d ⎰-=)(21)(,用窗函数w N (n)将h d (n)截断,并进行加权处理,得到实际滤波器的单位脉冲响应h (n )=h d (n )w N (n ),其频率响应函数为n j N n j e n h e H ωω--=∑=10)()(。

如果要求线性相位特性,则h (n )还必须满足)1()(n N h n h --±=。

可根据具体情况选择h(n)的长度及对称性。

三、实验步骤1. 写出理想低通滤波器的传输函数和单位脉冲响应。

2. 写出用四种窗函数设计的滤波器的单位脉冲响应。

3. 用窗函数法设计一个线性相位FIR 低通滤波器,用理想低通滤波器作为逼近滤波器,截止频率ωc =π/4 rad ,选择窗函数的长度N =15,33两种情况。

要求在两种窗口长度下,分别求出h(n),打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和阻带衰减;4 用其它窗函数(汉宁窗(升余弦窗)、哈明窗(改进的升余弦窗)、布莱克曼窗) 设计该滤波器,要求同1;比较四种窗函数对滤波器特性的影响。

四、实验用MATLAB 函数可以调用MATLAB 工具箱函数fir1实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft 来计算滤波器的频率响应函数。

fir1是用窗函数法设计线性相位FIRDF 的工具箱函数,调用格式如下: hn=fir1(N, wc, ‘ftype ’, window)fir1实现线性相位FIR 滤波器的标准窗函数法设计。

用窗函数法设计FIR数字滤波器

用窗函数法设计FIR数字滤波器

实验五用窗函数法设计FIR 数字滤波器一、实验目的:1.掌握用窗函数法设计FIR 数字滤波器的原理和方法 2.熟悉线性相位FIR 数字滤波器特性。

3.了解各种窗函数对滤波特性的影响。

二、实验原理线性相位特点在实际应用中非常重要,如在数据通信、图像处理、语音信号处理等领域,往往要求系统具有线性相位特性,因而常采用容易设计成线性相位的有限冲激响应FIR 数字滤波器来实现。

1. 常用窗函数:1) 矩形窗10[]0k M w k ≤≤⎧=⎨⎩其他〔5.21〕 2) Hann 〔汉纳〕窗0.5-0.5cos(2/)0[]0k M k M w k π≤≤⎧=⎨⎩其他〔5.22〕3) Hamming 〔汉明〕窗 0.54-0.46cos(2/)0[]0k M k M w k π≤≤⎧=⎨⎩其他〔5.23〕4) Blackman 〔布莱克曼〕窗 0.42-0.5cos(2/)0.08cos(4/)0[]0k M k M k M w k ππ+≤≤⎧=⎨⎩其他〔5.24〕 5) Kaiser 〔凯泽〕窗0[]0w k k M =≤≤〔5.25〕 其中2201(/2)()1!n x I x n ∞=⎡⎤=+⎢⎥⎣⎦∑ 下面介绍用窗函数设计FIR 滤波器的步骤:a) 根据技术要求确定待求滤波器的单位取样响应[]d h k 。

b) 根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗函数长度/N A w ≈∆,A 决定于窗口的形式,w ∆表示滤波器的过渡带。

c) 利用选好的窗函数计算滤波器的单位取样响应[][][]d h k h k w k =。

d) 验算技术指标是否满足要求。

设计出来的滤波器的频率响应用10()[]N j j n n H e h k e -Ω-Ω==∑来计算。

2. Matlab 数字信号处理工具箱中常用的FIR 数字滤波器设计函数hanning 汉纳窗函数。

hamming 汉明窗函数。

blackman 布莱克曼窗函数。

拉弦音乐滤波去噪——使用矩形窗设计的FIR滤波器

拉弦音乐滤波去噪——使用矩形窗设计的FIR滤波器

长沙理工大学《数字信号处理》课程设计报告***院系专业班级学号学生姓名指导教师课程成绩完成日期课程设计成绩评定院系专业班级学号学生姓名指导教师完成日期指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见课程设计任务书通信工程系通信工程专业拉弦音乐滤波去噪——使用矩形窗设计的FIR滤波器学生姓名:指导老师:摘要本课程设计主要内容是设计利用窗口设计法选择矩形窗设计一个FIR滤波器,对一段含单频噪声拉弦音乐信号进行滤波去噪处理并根据滤波前后的波形和频谱分析滤波性能。

本课程设计仿真平台为MATLAB7.0,开发工具是M语言编程。

首先在网上下载一段wav格式的拉弦音乐,调整格式为单声道,采样速率8kHz,8位码,对信号进行频谱分析以确定所加噪声频率,设计滤波器进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。

由分析结果可知,滤波器后的拉弦音乐信号与原始信号基本一致,即设计的FIR滤波器能够去除信号中所加单频噪声,达到了设计目的。

关键词课程设计;滤波去噪;矩形窗;FIR滤波器;MATLAB1 引言本课程设计主要解决在含噪情况下对拉弦音乐信号的滤波去噪处理,处理时采用的是利用窗口设计法选择矩形窗设计的FIR滤波器[1]。

通过本课程设计了解并理解FIR 设计的原理和方法步骤,并掌握用MATLAB语言设计滤波器的方法。

通过观察拉弦音乐滤波前后时域和频域波形的分析比较,加深了对滤波器的理解。

1.1 课程设计目的本课程设计是在MATLAB平台下,设计一个使用矩形窗设计的FIR滤波器对拉弦音乐进行滤波去噪。

通过这次课程设计熟悉MATLAB语言环境,掌握MATLAB语言的编程规则,利用矩形窗函数设计法来设计符合要求的FIR滤波器实现对拉弦音乐的滤波去噪。

并绘制滤波前后的时域波形和频谱图。

根据绘出的图形分析判断所设计滤波器的正确性。

同时,通过此次数字信号课程设计,增强自己独立分析问题、解决问题的能力,提高自己的实际动手能力。

窗函数设计FIR数字滤波器

窗函数设计FIR数字滤波器

目录1. 滤波简介 (1)1.1 数字滤波技术 (1)1.2 FIR滤波器 (1)1.3 设计方法 (2)1.3.1 MATLAB结合窗函数设计方法 (2)1.3.2 设计函数的选取 (2)1.3.3 窗函数的构造 (3)1.3.4 窗函数的设计条件 (3)2. 基本窗函数 (5)2.1 矩形窗 (5)2.2 三角形窗 (5)2.3 汉宁窗(升余弦窗) (5)3. 各类窗函数比较 (7)3.1 窗函数绘图比较 (7)3.2 窗函数法设计步骤 (7)3.3 窗函数法设计比较 (8)4. 具体设计内容 (13)4.1 矩形窗设计 (13)4.2 三角窗设计 (14)4.3 布莱克曼窗设计 (16)4.4 结果分析 (18)5. 课设心得 (19)参考文献 (20)本科生课程设计成绩评定表 (21)1. 滤波简介1.1 数字滤波技术数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比例,所以实质上是一种程序滤波。

与此对应的就是模拟滤波,模拟滤波主要无源滤波(由电阻、电容、电感等不外接电源的元件组成)与有源滤波(由运算放大器等需要外接电源的元件组成),其目的是将信号中的噪音和干扰信号滤去或者将希望得到的频率信号滤出为我所用。

数字滤波的出现克服了模拟滤波的很多不足,具有以下优点:1.是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。

2.可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。

3.可以根据不同信号采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。

1.2 FIR滤波器FIR滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,是稳定的系统。

FIR滤波器具有以下主要优点:1.FIR滤波器具有严格的线性相位;2.FIR滤波器永远稳定;3.FIR滤波器设计方法一般是线性的;4.FIR滤波器在硬件上具有更高的运行效率;5.FIR滤波器启动传输时间只需要有限时间。

第五组基于矩形窗的FIR滤波器设计

第五组基于矩形窗的FIR滤波器设计

《数字信号处理》课程设计报告设计课题: 基于矩形窗函数的FIR 滤波器设计专业班级 08电气信1班 姓 名 陈根深 陈继摄 高志凯 学 号 080705102 080705104 080705110指导老师 廖天发日 期 2011年11月14日星期一惠州学院HUIZHOU UNIVERSITY目录第1章 FIR滤波器设计原理.............................................. - 3 - 1.1FIR滤波器. (3)1.2窗函数 (4)1.3矩形窗 (4)第2章仿真设计与结果分析.............................................. - 6 - 2.1设计流程图 (6)2.2产生原始信号并分析频谱 (7)2.3使用矩形窗设计低通的数字滤波器 (9)2.4信号滤波处理 (10)2.5结果分析 (13)第3章总结........................................................... - 15 - 参考文献............................................................... - 15 - MATLAB程序............................................................ - 15 -摘要本文主要基于MATLAB平台,实现信号分析与滤波器的设计。

并改变滤波器参数或特性(低通、高通、带通或带阻),实现不同的滤波要求。

本设计产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,使用矩形窗设计不同特性的数字滤波器对信号进行滤波处理,分析所设计滤波器(画出了频率特性曲线),并对信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。

实验5 基于Matlab的数字滤波器设计

实验5  基于Matlab的数字滤波器设计

实验五 基于Matlab 的数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。

实验原理:低通滤波器的常用指标如下所述,其典型规格如下:⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧≤≤≤≤+≤≤-πδδδw w e G w w e G s s jw p p jw p ,)(,1)(1 通带边缘频率:p ϖ阻带边缘频率:s ϖ 通带起伏:p δ 通带峰值起伏:))(1(log 2010dB p p δα--=阻带起伏: s δ 最小阻带衰减:))((log 2010dB s s δα-=数字滤波器有IIR 和FIR 两种类型,他们的特点和设计方法不同。

一、窗函数法设FIR 滤波器在Matlab 中产生窗函数十分简单:(1) 矩形窗调用格式:w=boxcar(n) ,根据长度n 产生一个矩形窗w 。

(2) 三角窗调用格式:w=triang(n) ,根据长度n 产生一个三角窗w 。

(3)汉宁窗调用格式:w=hanning(n) ,根据长度n 产生一个汉宁窗w 。

(4)汉明窗调用格式:w=hamming(n) ,根据长度n 产生一个汉明窗w 。

(5)布莱克曼窗调用格式:w=Blackman(n) ,根据长度n 产生一个布莱克曼窗w 。

基于窗函数的FIR 滤波器设计利用Matlab 提供的函数firl 来实现。

调用格式:firl(n,wn,’ftype ’,Window),n 为阶数,wn 是截止频率(如果输入是形如[w1 w2]的矢量时,本函数将设计带通滤波器,其通带为w1<w<w2)、ftype 是滤波器的类型(底通——省略该参数、高通——ftype=high 、带阻——ftype=stop )、Window 是窗函数。

1、设计一个长度为8的线性相位FIR 滤波器。

Window=boxcar(8); b=fir1(7,0.4,Window); freqz(b,1); Window=blackman(80;b=fir1(7,0.4,Window); freqz(b,1);2、设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为w1=0.3π,w2=0.5π Window=blackman(16); B=firl(15,[0.3 0.5],Window); Freqz(b,1);3、设计指标为,dB A dB R s a p p 50,3.0,25.0,2.0====πϖπϖ的底通滤波器。

窗函数法设计FIR滤波器

窗函数法设计FIR滤波器

窗函数法设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,通过一系列有限长度的输入信号进行系统响应的采样,使用窗函数法设计FIR滤波器是一种常用且有效的方法。

设计FIR滤波器的第一步是确定滤波器的阶数。

阶数是指滤波器的长度,通常表示为N。

设计FIR滤波器的第二步是选择滤波器的截止频率。

截止频率决定滤波器的频率响应。

设计FIR滤波器的第三步是选择窗函数。

窗函数是一种平滑函数,用于调整滤波器的频率响应。

常见的窗函数有矩形窗、汉明窗、海明窗等。

矩形窗是最简单的窗函数,没有频率响应调整的效果。

汉明窗是常用的窗函数之一,它可以提供较好的频率响应特性。

海明窗是一种能够提供更优秀频率响应的窗函数。

设计FIR滤波器的第四步是确定窗函数的参数。

这些参数包括主瓣宽度、动态范围、副瓣能量等。

设计FIR滤波器的最后一步是计算滤波器的系数。

滤波器的系数是由输入信号进行线性组合得到的。

通常采用离散频率域设计方法计算FIR滤波器的系数。

该方法通过将滤波器的频率响应与目标响应之间的差异最小化来寻找最佳系数。

具体计算过程包括以下几个步骤:1.设计一个无限长的理想低通滤波器,其频率响应与所需滤波器接近。

2. 使用离散Fourier变换将无限长的理想滤波器转换为有限长的频率响应。

3.选择适当的窗函数,根据窗函数的参数修改频率响应。

4.反变换回时间域,得到FIR滤波器的系数。

设计完滤波器后,可以通过将输入信号与滤波器系数进行卷积运算来获得滤波后的信号。

滤波器系数的选择决定了滤波器的性能。

通常可以通过频率响应、滤波器特性等指标来评估滤波器的性能。

使用窗函数法设计FIR滤波器可以得到满足特定要求的滤波器,其设计过程相对简单,易于实现。

但需要注意的是,窗函数法设计的FIR滤波器在频率响应的过渡区域可能会有较大的波动,需要根据具体应用场景对滤波器参数进行调整。

总之,窗函数法是一种常见且有效的设计FIR滤波器的方法,通过选择合适的窗函数和调整参数,可以得到满足特定要求的滤波器。

基于矩形窗设计FIR数字滤波器

基于矩形窗设计FIR数字滤波器

郑州航空工业管理学院《电子信息系统仿真》课程设计14级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章 FIR 滤波器的设计原理及方法FIR 滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR 滤波器。

我们用Hd (e^jw )表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc<pi 的低通滤波器由下式给定:⎩⎨⎧=<-⋅<==<=wc w jaw e w wc jw e Hd ||),(^1||,0)^(π为了从hd(n)得到一个FIR 滤波器,必须同时在两边截取hd (n )。

而要得到一个因果的线性相位滤波器,它的h(n)长度为N ,必须有:⎩⎨⎧-<=<==其他,010),()(N n n hd n h 2/)1(-=N α这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w (n )的乘积: h(n)=hd(n)w(n) 其中⎩⎨⎧-≤≤=,其他对称,关于01n 0)(N n w α根据w (n )的不同定义,可以得到不同的窗结构。

在频域中,因果FIR 滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即⎰--=⊗=ππλλωπd j e W jw e W jw e Hd jw e H )(^(2/1)^()^()^(常用的窗函数有矩形窗、巴特利特(BARTLETT)窗、汉宁(HANNING)窗、海明(HAMMING)窗、布莱克曼(BLACKMAN)窗、凯泽(KAISER)窗等。

FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

用窗函数法设计 FIR 数字滤波器实验报告及代码展示

用窗函数法设计 FIR 数字滤波器实验报告及代码展示

本科生实验报告数字信号处理 课 程 实 验 报 告实验名称 用窗函数法设计 FIR 数字滤波器 一、实验原理、目的与要求1. 实验原理如果所希望的滤波器的理想频率响应函数为,则其对应的单位脉冲响应为:用窗函数w(n)将)(d n h 截断,并进行加权处理,得到:h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(jw H e 为:式中,N 为所选窗函数w(n)的长度。

用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N 。

因此,在设计过程中,要根据对阻带最小衰减和过度带宽度的要求选择合适的窗函数类型和窗口长度N 。

选定窗函数了形和长度N 后,求出单位脉冲响应h(n)=hd(n)·w(n),并可以求出)(jw H e 。

)(jw H e 是否满足要求,要进行验算。

一般在h(n)尾部加零使长度满足2的整数次幂,以便用FFT 计算)(jw H e 。

如果要观察细节,补零点数增多即可。

如果)(jw H e如果要求线性相位特性,则h(n)还必须满足:根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。

要根据所设计的滤波特性正确选择其中一类。

例如,要设计线性相位低通特性,可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。

2. 实验目的(1)掌握用窗函数法设计 FIR 数字滤波器的原理和方法。

(2)熟悉线性相位 FIR 数字滤波器特性。

(3)了解各种窗函数对滤波特性的影响。

3. 实验要求(1)简述实验目的及原理。

(2)按照实验步骤及要求,比较各种情况下的滤波性能,说明窗口长度 N 和窗函数类型对滤波特性的影响。

(3)总结用窗函数法设计 FIR 滤波器的主要特点。

(4)简要回答思考题。

二、实验仪器设备(标注实验设备名称及设备号)Windows 计算机台号 22Matlab 软件三、实验内容步骤及结果分析1.用升余弦窗设计一线性相位低通 FIR 数字滤波器,截至频率wc = π/ 4 rad。

用矩形窗设计一个FIR线性相位低通数字滤波器已知

用矩形窗设计一个FIR线性相位低通数字滤波器已知

1. 用矩形窗设计一个FIR 线性相位低通数字滤波器。

已知 21,5.0==N c πω。

求出)(n h 并画出)(log 20ωj e H 曲线。

分析:此题给定的是理想线性相位低通滤波器,故 ⎪⎩⎪⎨⎧<<<<≤≤=-。

-- , , 0- , )(c c c c ωωππωωωωωωαωj j d e eH解: ωπππωωd e e H n h n j j d d ⎰-=)(21)( )()](sin[21αωαωπωωπωωωωα--==⎰--n n d e e c c c n j j c c ⎪⎪⎩⎪⎪⎨⎧≤≤--====-=为其他故:其中n n n n n w n h n h N d c ,0200,)10(]2sin[)()()(5.0 102/)1( πππωα 2.用三角形窗设计一个FIR 线性相位低通数字滤波器。

已知: πω5.0=c ,21=N 。

求出)(n h 并画出)(lg 20ωj e H 的曲线。

解:)()](sin[21 )(21)(αωαωπωωπωπωωωωαππωω--⋅===⎰⎰---n n d e e d e e H n h c c c n j j n j j d d c cπω5.0 , 102/1==-=c N )(由题意可知: 因为用三角形窗设计:)()()(n w n h n h d =∴⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧≤<--⋅-≤≤--⋅=为其他,n n n n n n n n n 02010 , )10(]2sin[)1012(100 , )10(]2sin[101ππππ3.用汉宁窗设计一个线性相位高通滤波器c c j jde e H ωπωπωωπαπωω-<≤≤≤-=--0,0,{)()( 求出)(n h 的表达式,确定 与N 的关系。

写出 )(n h 的值, 并画出)(lg 20ωj e H 曲线)51,5.0(==N c πω设。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

郑州航空工业管理学院《电子信息系统仿真》课程设计14级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章 FIR 滤波器的设计原理及方法FIR 滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR 滤波器。

我们用Hd (e^jw )表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc<pi 的低通滤波器由下式给定:⎩⎨⎧=<-⋅<==<=wc w jaw e w wc jw e Hd ||),(^1||,0)^(π为了从hd(n)得到一个FIR 滤波器,必须同时在两边截取hd (n )。

而要得到一个因果的线性相位滤波器,它的h(n)长度为N ,必须有:⎩⎨⎧-<=<==其他,010),()(N n n hd n h 2/)1(-=N α 这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w (n )的乘积:h(n)=hd(n)w(n)其中⎩⎨⎧-≤≤=,其他对称,关于01n 0)(N n w α 根据w (n )的不同定义,可以得到不同的窗结构。

在频域中,因果FIR 滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即⎰--=⊗=ππλλωπd j e W jw e W jw e Hd jw e H )(^(2/1)^()^()^(常用的窗函数有矩形窗、巴特利特(BARTLETT )窗、汉宁(HANNING )窗、海明(HAMMING )窗、布莱克曼(BLACKMAN )窗、凯泽(KAISER )窗等。

FIR 滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

(2) 由性能指标确定窗函数W(n)和窗口长度N 。

(3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR 滤波器系数向量b(n)。

第二章窗函数:。

1矩形窗矩形窗属于时间变量的零次幂窗。

矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。

这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。

2 三角窗三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式。

与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。

3 汉宁(Hanning)窗汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sine(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。

可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。

4 海明(Hamming)窗海明窗也是余弦窗的一种,又称改进的升余弦窗。

海明窗与汉宁窗都是余弦窗,只是加权系数不同。

海明窗加权的系数能使旁瓣达到更小。

分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。

海明窗与汉宁窗都是很有用的窗函数。

5 高斯窗高斯窗是一种指数窗。

高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。

高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截断一些非周期信号,如指数衰减信号等。

对于窗函数的选择,应考虑被分析信号的性质与处理要求。

如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。

不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。

信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。

(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高)第三章课程程序1. %程序功能:产生一个包含低频、中频、高频的连续信号进行取样并画出其时域图。

Fs=200;t=(1:100)/Fss1=sin(2*pi*t*5)s2=sin(2*pi*t*15)s3=sin(2*pi*t*30);s=s1+s2+s3;plot(t,s); % 画出信号的时域波形xlabel('Time(seconds)')ylabel('Time waveform')title('原始信号的时域波形')2. %程序功能:画出信号的频谱图。

S=fft(s,1024) % 对s进行快速傅立叶变换w=(0:255)/256*(Fs/2)plot(w,abs(S(1:256))) % 画出信号的幅度图xlabel('Frequency (Hz)')ylabel('幅度')title('幅度谱')axis([0 35 0 60]);gridplot(w,angle(S(1:256))) % 画出信号的相位图xlabel('Frequency (Hz)')ylabel('相位')title('相位谱')3.% 程序功能:设计低通滤波器并画出其频谱图:fb=10; fc=13 % 设置滤波器截止频率fs=100; wb=2*pi*fb/fsws=2*pi*fc/fs; wc=0.5*(wb+ws)tr_width=ws-wb % 过渡带宽M=ceil(1.8*pi/tr_width)n=0:M;r=M/2;hn=fir1(M,wc/pi,boxcar(M+1)); % 矩形窗加窗法figure(1);freqz(hn,1,100) %矩形窗FIR的频响曲线figure(2);subplot(1,2,1);stem(n,hn,'k.') %显示矩形窗FIR的系数title('矩形窗FIR')4.% 程序功能:画出滤波后信号的时域波形和频谱sf=filter(hn,[1],s) % sf为滤滤波后的信号plot(t,sf) % 画出滤波后信号的时域波形xlabel('Time(seconds)')ylabel('Time waveform')axis([0 1 -1 1])title('滤波后信号的时域波形')SF=fft(sf,512) % 对sf进行快速傅里叶变换w=(0:255)/256*(Fs/2);plot(w,abs(SF(1:256))) % 画出滤波后信号的幅度图xlabel('Frequency (Hz)')ylabel('幅度谱')title('滤波后信号的幅度谱'); gridplot(w,angle(SF(1:256))) % 画出滤波后信号的相位图xlabel('Frequency (Hz)')ylabel('相位谱')title('滤波后信号的相位谱')4.% 程序功能:对滤波前后信号进行比较plot(w,abs([S(1:256)' SF(1:256)'])) % 将滤波前后信号的幅度谱画在一起xlabel('Frequency (Hz)')ylabel('Mag.of Fourier transform')grid;legend({'before','after'}) %对两个曲线进行区分命名title('滤波前后信号对比')第四章仿真结果分析4.1产生原始信号并分析频谱产生原始信号,用plot函数画出其时域波形如图4.1所示:图4.1原始信号时域波形图用fft函数进行傅里叶变换后,如图4.2所示:图4.24.2将不同特性的数字滤波器用矩形窗表现出来在低通滤波器中,低频,中频,高频是信号含有的三个频率分量。

步骤如下:(1)取通带截止频率为fb=40Hz ,阻带截止频率为fs=46Hz ;(2)取样频率为fs=200Hz ,由wb=2*pi*fb/fs 、ws=2*pi*fc/fs ;(3)过渡带宽:s w —p w =1.8M,得出M ; (4)取一理想低通脉冲响应hd=ideal_lp(wc,M),其中wc=0.5*(wb+ws);(5)由于矩形窗用函数w_box=(boxcar(M))',于是对hd 加矩形窗w_box ,得到一长度为M 的因果且线性相位FIR 滤波器h=hd.*w_box ;(6)用函数[db,mag,pha,grd,w]=freqz_m(h,[1])得出其频谱特性。

(7)画出理想脉冲响应hd 、矩形窗w_boxcar 、实际脉冲响应h 和滤波器的幅度响应(dB),如图4.3所示。

图4.3滤波器的相关图4.3滤波后的信号处理用函数sf=filter(h,[1],s)分别得出滤波后的信号,其中h对应不同滤波器而不同,通过带通滤波器后的的信号时域波形和频谱图如图4.4(a)、4.4(b)、4.4(c)所示。

图4.4(a)滤波后信号的时域波形图图4.4(b)滤波后信号的幅度谱图4.4(c)滤波后信号的相位谱MATLAB结合矩形窗设计FIR滤波器4.4 结果分析函数plot(w,abs([S(1:256)' SF(1:256)']))和legend({'before','after'})后,可在一张图中清晰的看出滤波前后的不同:第5章课程总结通过本次实验我掌握了MATLAB工具软件在工程设计中的使用并掌握窗函数法设计线性相位型FIR滤波器的方法。

同时也知道了不同窗函数对所设计数字滤波器性能的影响,可以清楚的对滤波输出结果作出分析,此次试验也让我认识到了我自己在设计滤波器这方面存在的不足,我会努力学习,在设计实验这方面多努力,这次实验对我今后的学习有很大帮助,也让我找到了今后学习的方向及目标。

相关文档
最新文档