实验五FIR滤波器的设计-湖南大学汇总.doc

上传人:牧羊曲112 文档编号:4177237 上传时间:2023-04-08 格式:DOC 页数:22 大小:1.23MB
返回 下载 相关 举报
实验五FIR滤波器的设计-湖南大学汇总.doc_第1页
第1页 / 共22页
实验五FIR滤波器的设计-湖南大学汇总.doc_第2页
第2页 / 共22页
实验五FIR滤波器的设计-湖南大学汇总.doc_第3页
第3页 / 共22页
实验五FIR滤波器的设计-湖南大学汇总.doc_第4页
第4页 / 共22页
实验五FIR滤波器的设计-湖南大学汇总.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《实验五FIR滤波器的设计-湖南大学汇总.doc》由会员分享,可在线阅读,更多相关《实验五FIR滤波器的设计-湖南大学汇总.doc(22页珍藏版)》请在三一办公上搜索。

1、 HUNAN UNIVERSITY实验五实验题目:FIR滤波器的设计 专业班级:通信一班 姓 名:邓 恬 学 号:20110803126 实验五FIR滤波器的设计 通信1101 邓恬 2011080312611、实验目的认真复习FIR数字滤波器的基本概念,线性相位FIR滤波器的条件和特点、幅度函数特点、零点位置的基本特点与性质;窗函数设计法的基本概念与方法,各种窗函数的性能和设计步骤,线性相位FIR低通、高通、带通和带阻滤波器的设计方法,频率采样设计法的基本概念和线性相位的实现方法。掌握几种线性相位的特点,熟悉和掌握矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗、凯塞窗设计IIR数字滤波器的方法

2、,熟悉和掌握频率抽样设计法的线性相位的设计方法,并对各种线性相位的频率抽样法的设计给出调整和改进。熟悉利用MATLAB进行各类FIR数字滤波器的设计方法。2、实验内容a. 设线性相位FIR滤波器单位抽样响应分别为分别求出滤波器的幅度频率响应H(),系统函数H(z)以及零极点分布,并绘制相应的波形和分布图。实验代码 %a.1h1=-4 1 -1 -2 5 6 5 -2 -1 1 -4;stem(h1);title(单位抽样响应1);sum1=0;syms z;for n=1:11 %求系统函数 sum1=sum1+h1(n)*z(-(n-1);endhz1=simple(sum1);b1=-4

3、1 -1 -2 5 6 5 -2 -1 1 -4;a=1;figure;freqz(b1,a);%幅度频率响应波形图title(幅度频率响应波形图);figure;zplane(b1,a);title(零极点分布图);%a.2h2=-4 1 -1 -2 5 6 6 5 -2 -1 1 -4;figure;stem(h2);title(单位抽样响应2);sum2=0;syms z;for n=1:12 %求系统函数 sum2=sum2+h2(n)*z(-(n-1);endhz2=simple(sum2);b2=-4 1 -1 -2 5 6 6 5 -2 -1 1 -4;figure;freqz(

4、b2,a);title(幅度频率响应波形图);figure;zplane(b2,a);title(零极点分布图);%a.3h3=-4 1 -1 -2 5 0 -5 2 1 -1 4;figure;stem(h3);title(单位抽样响应3);sum3=0;syms z;for n=1:11 %求系统函数 sum3=sum3+h3(n)*z(-(n-1);endhz3=simple(sum3);b3=-4 1 -1 -2 5 6 6 5 -2 -1 1 -4;figure;freqz(b3,a);title(幅度频率响应波形图);figure;zplane(b3,a);title(零极点分布图

5、);%a.4h4=-4 1 -1 -2 5 6 -6 -5 2 1 -1 4;figure;stem(h3);title(单位抽样响应3);sum4=0;syms z;for n=1:12 %求系统函数 sum4=sum4+h4(n)*z(-(n-1);endhz4=simple(sum4);b4=-4 1 -1 -2 5 6 6 5 -2 -1 1 -4;figure;freqz(b4,a);title(幅度频率响应波形图);figure;zplane(b4,a);title(零极点分布图);实验波形b. 设计FIR数字低通滤波器,技术指标为:p=0.2,st=0.3,1=0.25dB,2=

6、50dB。(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。(3) 选择凯塞窗函数设计该滤波器,并绘制相应的波形图。实验代码:编写冲激函数:function hd=ideallp(wc,N);tao=(N-1)/2;n=0:N-1;m=n-tao+eps;%加一个小数以避免零作除数hd=sin(wc*m)./(pi*m);%b;wp=0.2*pi;ws=0.3*pi;As=50;deltaf=(ws-wp)/(2*pi);%过渡带宽计算NO=ceil(As-7.95)/(14.36*deltaf)+1;%滤波器长度N=NO+mod(NO+1,2

7、);%为了实现第一类滤波器,确保其长度为奇数beta=0.1102*(As-8.7)wdkai=(kaiser(N,beta);%求凯泽窗函数wc=(ws+wp)/2;hd=ideallp(wc,N);%求理想脉冲响应h=hd.*wdkai;subplot(2,2,1);plot(hd);title(理想脉冲响应);grid;subplot(2,2,2);plot(wdkai);title(凯泽窗函数);grid;subplot(2,2,3);plot(h);title(h序列);grid;H1,w=freqz(h,1);subplot(2,2,4);plot(w,20*log10(abs(H

8、1);title(幅度响应);grid; 实验波形c. 设计FIR数字带通滤波器,技术指标为:下阻带边缘:st1=0.2,s1=60dB,下通带边缘:p1=0.35,p1=1dB;上通带边缘:p2=0.65,p1=1dB,上阻带边缘:st2=0.8,s2=60dB; (1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码%cws1=0.2*pi;wp1=0.35*pi;wp2=0.65*pi;ws2=0.8*pi;As=60;deltaw=min(wp1-ws1),(ws2-wp2);NO=ceil(11*pi/deltaw);N=NO+m

9、od(NO+1,2);wdbla=(blackman(N);wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideallp(wc2,N)-ideallp(wc1,N);h=hd.*wdbla;subplot(2,2,1);stem(hd,.);title(理想脉冲响应);grid;subplot(2,2,2);stem(wdbla,.);title(布莱克曼窗函数);grid;subplot(2,2,3);plot(h);title(实际脉冲响应);grid;H1,w=freqz(h,1);subplot(2,2,4);plot(w,20*log10(abs(H1);ti

10、tle(幅度响应);grid;实验波形d. 设计FIR数字带通滤波器,技术指标为:下阻带边缘:st1=0.2,s1=60dB,下通带边缘:p1=0.4,p1=1dB;上通带边缘:p2=0.6,p1=1dB,上阻带边缘:st2=0.8,s2=60dB;(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码%d%d;ws1=0.2*pi;wp1=0.4*pi;wp2=0.6*pi;ws2=0.8*pi;As=60deltaf=(min(wp1-ws1),(ws2-wp2)/(2*pi);NO=ceil(As-7.95)/(14.36*delta

11、f)+1;%滤波器长度N=NO+mod(NO+1,2);beta=0.1102*(As-8.7)wdkai=(kaiser(N,beta);%求凯泽窗函数wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideallp(wc2,N)-ideallp(wc1,N);h=hd.*wdkai;subplot(2,2,1);plot(hd);title(理想脉冲响应);grid;subplot(2,2,2);plot(wdkai);title(凯泽创函数);grid;subplot(2,2,3);plot(h);title(实际脉冲响应);grid;H1,w=freqz(h,1);

12、subplot(2,2,4);plot(w,20*log10(abs(H1);title(幅度响应);grid;实验波形e. 设计FIR数字带通滤波器,技术指标为:下阻带边缘:st1=0.2,s1=20dB,下通带边缘:p1=0.4,p1=1dB;上通带边缘:p2=0.6,p1=1dB,上阻带边缘:st2=0.8,s2=20dB;(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码%ewp1=0.4*pi;wp2=0.6*pi;wst1=0.2*pi;delta_w=wp1-wst1;N=ceil(1.8*pi/delta_w) wc=w

13、p1 wp2; w1=rectwin(N+1); subplot(211); stem(w1); title(矩形窗); b1=fir1(N,wc/pi,rectwin(N+1); H1,w=freqz(b1); subplot(212); plot(w/pi,20*log10(abs(H1); grid on; figure; stem(b1); title(单位抽样响应);实验波形f. 设计FIR数字高通滤波器,技术指标为:通带截止频率为p=15/27,阻带截止频率为st=11/27,通带最大衰减为1=2.5dB,阻带最小衰减为2=55dB。(1) 通过技术指标,选择一种窗函数进行设计;(

14、2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码%fwp=15*pi/27;ws=11*pi/27;delta_w=wp-ws;N=ceil(6.6*pi/delta_w)+1wc=(wp+ws)/2; w1=hamming(N+1); subplot(211); stem(w1); title(窗函数的时域波形); b1=fir1(N,wc/pi,high); H1,w=freqz(b1); subplot(212); plot(w/pi,20*log10(abs(H1); title(fir滤波器的频率响应); grid on; figure; stem(b1);实验波形g.

15、设计FIR数字高通滤波器,技术指标为:通带截止频率为p=0.6,阻带截止频率为st=0.4,通带最大衰减为1=0.25dB,阻带最小衰减为2=40dB。(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码:%gwp=0.6*pi;ws=0.4*pi;delta_w=wp-ws;N=ceil(6.6*pi/delta_w)wc=(wp+ws)/2; w1=hamming(N+1); subplot(211); stem(w1); title(窗函数的时域波形); b1=fir1(N,wc/pi,high); H1,w=freqz(b1);

16、subplot(212); plot(w/pi,20*log10(abs(H1); title(fir滤波器的频率响应); grid on; figure; stem(b1);实验波形h. 滤波器的技术指标为:通带截止频率为p=0.6,阻带截止频率为st=0.4,通带最大衰减为1=0.25dB,阻带最小衰减为2=40dB。(1) 通过技术指标,选择一种窗函数设计一个具有/2相移的FIR高通滤波器;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码:function hd=ideal_pi(wc,N)alpha=(N-1)/2;n=0:1:(N-1);n=n-alpha;fc=wc/

17、pi;hd=fc*sinc(fc*(n-1/2);wp=0.6*pi;%通带截止频率ws=0.4*pi;%阻带截止频率tr_width=wp-ws;N=ceil(6.2*pi/tr_width);n=0:1:N-1;wc=(ws+wp)/2;hd=ideal_pi(pi,N)-ideal_pi(wc,N);window=(hanning(N);%hdd=ang(N);h=hd.*window;db,mag,pha,grd,w=freqz_m(h,1);delta_w=2*pi/1000;Ap=-(min(db(wp/delta_w+1:1:501)As=-round(max(db(1:1:ws

18、/delta_w+1)figure;subplot(211)stem(n,hd);title(理想脉冲响应)subplot(212)stem(n,window);title(Hanning Window)figure;subplot(211)stem(n,h);title(实际脉冲响应)subplot(212)plot(w/pi,db);title(频率响应);grid 实验波形i. 设计FIR数字带阻滤波器,其技术指标为:低端阻带边缘:st1=0.4,s1=40dB,低端通带边缘:p1=0.2,p1=1dB;高端通带边缘:p2=0.8,p1=1dB,高端阻带边缘:st2=0.6,s2=40d

19、B; (1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。实验代码%iwp1=0.2*pi;wst2=0.6*pi;wst1=0.4*pi;wp2=0.8*pi;delta_w=wst1-wp1;wc=wp1 wp2; N=ceil(6.6*pi/delta_w) w1=hamming(N+1); subplot(211); stem(w1); title(窗函数的时域波形); b1=fir1(N,wc/pi,stop); H1,w=freqz(b1); subplot(212); plot(w/pi,20*log10(abs(H1); titl

20、e(fir滤波器的频率响应); grid on; figure; stem(b1);实验波形j. 设计FIR数字带阻滤波器,其频率响应函数为:其中阻带衰减为50dB。(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。(3) 用凯塞窗设计设计该滤波器,并绘制相应的波形图。实验代码:%jwp1=0.2*pi;wst2=0.6*pi;wst1=0.4*pi;wp2=0.8*pi;delta_w=wst1-wp1;wc=wst1 wst2; N1=ceil(6.6*pi/delta_w) w2=hamming(N1+1); subplot(211);

21、stem(w2); title(窗函数的时域波形); b2=fir1(N1,wc/pi,stop); H2,w=freqz(b2); subplot(212); plot(w/pi,20*log10(abs(H2); title(fir滤波器的频率响应); grid on; figure; stem(b2); figure; N1=ceil(60-7.95)/(2.286*delta_w)+1 wc1=wst1 wst2; beta=0.1102*(60-8.7) w2=kaiser(N1,beta); subplot(211); stem(w2); b2=fir1(N1,wc1/pi,sto

22、p,kaiser(N1+1,beta); H2,w=freqz(b2); subplot(212); plot(w/pi,20*log10(abs(H2); grid on; figure; stem(b2);实验波形k. 设计FIR数字带低滤波器,其滤波器的截止频率为100Hz,滤波器的阶次为80。分别用矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗设计数字滤波器,并绘制相应的窗函数波形和幅度频率响应波形。实验代码%kwc=2*pi*100/1000;N=80;w1=rectwin(N+1);subplot(211);stem(w1);title(矩形窗);b1=fir1(N,wc/pi,w1

23、);H1,w=freqz(b1);subplot(212);plot(w/pi,20*log10(abs(H1);title(经矩形窗得到的系统频率响应);wc=2*pi*100/1000;N=80;w1=triang(N+1);subplot(211);stem(w1);b1=fir1(N,wc/pi,w1);H1,w=freqz(b1);subplot(212);plot(w/pi,20*log10(abs(H1);title(经三角形窗得到的系统频率响应);wc=2*pi*100/1000;N=80;w1=hann(N+1);subplot(211);stem(w1);title(海宁窗

24、);b1=fir1(N,wc/pi,w1);H1,w=freqz(b1);subplot(212);plot(w/pi,20*log10(abs(H1);title(经海宁窗得到的系统频率响应);wc=2*pi*100/1000;N=80;w1=hamming(N+1);subplot(211);stem(w1);title(汉明窗);b1=fir1(N,wc/pi,w1);H1,w=freqz(b1);subplot(212);plot(w/pi,20*log10(abs(H1);title(经汉明窗得到的系统频率响应);wc=2*pi*100/1000;N=80;w1=blackman(N

25、+1);subplot(211);stem(w1);title(blackman窗);b1=fir1(N,wc/pi,w1);H1,w=freqz(b1);subplot(212);plot(w/pi,20*log10(abs(H1);title(经blackman窗得到的系统频率响应);实验波形l. FIR 滤波器的单位抽样响应为编制MATLAB程序求系统的频率采样型结构的系数,并画出频率抽样型结构。此题和实验三中的e是一样的。实验代码:%efunction C,B,A=tf2fs(h)N=length(h);H=fft(h,N);H1=abs(H);H2=angle(H);if(N=2*f

26、loor(N/2) L=N/2-1; A1=1,-1,0;1,1,0; C1=real(H(1),real(H(L+2);else L=(N-1)/2; A1=1,-1,0; C1=real(H(1);endk=1:L;B=zeros(L,2);A=ones(L,3);A(1:L,2)=-2*cos(2*pi*k/N);A=A;A1;B(1:L,1)=cos(H2(2:L+1);B(1:L,2)=-cos(H2(2:L+1)-(2*pi*k/N);C=2*H1(2:L+1),C1;下面求频率采样型的系数h=1,2,3,2,1/9;C,B,A=tf2fs(h)运行结果结果分析由于N=5为奇数,所

27、以结果中只有H(0)一项,H(0)=1,此项中分母系数为1,-1,0m. 一个理想差分器的频率响应为:用长度为21的汉宁窗设计一个数字FIR差分器,并绘制其时域和频率的响应波形。实验代码:function hd=chafen(N)alpha=(N-1)/2;n=0:1:(N-1);n=n-alpha;hd=(1./n).*(-1).n;function db,mag,pha,grd,w=freqz_m(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

28、(mag);%绝对振幅pha=angle(H);%相位响应grd=grpdelay(b,a,w);%群延时N=21;n=0:1:N-1;a=1;hd=chafen(N);%数字差分滤波器window=(hann(N);%hann窗h=hd.*window;%设计滤波器db,mag,pha,grd,w=freqz_m(h,a);%调用函数subplot(211);stem(n,hd);title(理想脉冲响应)subplot(212);stem(n,window);title(hann Window);figure;subplot(211)stem(n,h);title(实际脉冲响应)subpl

29、ot(212)plot(w/pi,db);title(频率响应);实验波形n. 利用汉宁窗设计一个长度为25的数字希尔伯特变换器,并绘制它的时域和频域的响应波形。实验代码:function hd=hilb(N)alpha=(N-1)/2;n=0:1:(N-1);n=n-alpha;hd=2./(n*pi);N=25;n=0:1:N-1;a=1;hd=hilb(N);%希尔伯特滤波器window=(hann(N);%hann窗h=hd.*window;%设计滤波器db,mag,pha,grd,w=freqz_m(h,a);%调用函数subplot(211);stem(n,hd);title(理想

30、脉冲响应)subplot(212);stem(n,window);title(hann Window);figure;subplot(211)stem(n,h);title(实际脉冲响应)subplot(212)plot(w/pi,db);title(频率响应);实验波形p. FIR 数字低通滤波器的技术指标为:p=0.2,st=0.3,1=0.25dB,2=50dB。利用频率采样方法设计FIR数字滤波器,并绘制滤波器的单位冲激响应、幅度频率响应的波形实验代码:%频率采样法clc;wp=0.2*pi;%通带截止频率ws=0.4*pi;%阻带截止频率tr_width=ws-wp;%过渡带M=ce

31、il(6.6*pi/tr_width)+1;%窗长度n=0:1:M-1;wc=(ws+wp)/2;%理想低通截止频率hd=ideal_lp(wc,M);w_ham=(hamming(M);h=hd.*w_ham;db,mag,pha,H,w=freqz_m(h,1);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1);As=-round(max(db(ws/delta_w+1:1:501);figure(1);subplot(221);stem(n,hd);title(理想脉冲响应)axis(0 M-1 -0.1 0.3);subplot(222);

32、stem(n,w_ham);title(Hamming Window);axis(0 M-1 0 1.1);subplot(223);stem(n,h);title(实际脉冲响应);axis(0 M-1 -0.1 0.3);subplot(224);plot(w/pi,db);title(频率响应);grid 实验波形q. 用窗函数法设计一个线性相位的FIR数字低通滤波器,其技术指标为:p=0.2,st=0.4,1=0.25dB,2=50dB。 (1) 求滤波器的单位抽样响应、频率响应,并绘制波形。(2) 对该滤波器输入一个宽度为10的矩形序列,求滤波器的输出信号,并绘制相应的波形图。实验代码

33、%bwp=0.2*pi;ws=0.4*pi;delta_w=ws-wp;N=ceil(6.6*pi/delta_w)%滤波器阶数 wc=(wp+ws)/2; n=0:1;N; w=hamming(N+1); subplot(211); stem(w); b=fir1(N,wc/pi); H,w=freqz(b); subplot(212); plot(w/pi,20*log10(abs(H); grid on; figure; stem(b); 第二问 figure; s=ones(1,10); y=conv(b,s); stem(y); title(当输入为长度为10的矩形序列经过滤波器的输出信号); 实验波形3、实验总结 本次实验内容超级多,主要是各种设计FIR滤波器的设计,以及频率抽样法,以及pi/2相移滤波器。先定义冲激函数,可以节省很多代码。方便以后调用,当衰减小于等于21db,在用凯泽窗设计时,有点问题,因为他的beta就会为0,不太适合用凯泽创设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号