实验11用MATLAB设计FIR数字滤波器_第1页
实验11用MATLAB设计FIR数字滤波器_第2页
实验11用MATLAB设计FIR数字滤波器_第3页
实验11用MATLAB设计FIR数字滤波器_第4页
实验11用MATLAB设计FIR数字滤波器_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告院系: 信息工程学院 班级: 电信二班 学号: 姓名: 日期: 实验11 用MATLAB设计FIR数字滤波器一、实验目的:1、加深对窗函数法设计FIR数字滤波器的基本原理的理解。2、学习用MATLAB语言的窗函数法编写设计FIR数字滤波器的程序。3、了解MATLAB语言有关窗函数法设计FIR数字滤波器的常用函数用法。二、实验内容及步骤2、选择合适的窗函数设计FIR数字低通滤波器,要求: wp=0.2,Rp=0.05dB; ws=0.3,As=40dB。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。分析:根据设计

2、指标要求,并查表11-1,选择汉宁窗。程序清单如下:function hd=ideal_lp(wc,N)wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp;tao=(N-1)/2;n=0:(N-1);m=n-tao+eps; hd=sin(wc*m)./(pi*m);functiondb,mag,pha,grd,w=freqz_m(b,a);H,w=freqz(b,a,1000,whole);H=(H(1:501);w=(w(1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(b,a,

3、w);wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp;wc=(ws+wp)/2;N0=ceil(6.6*pi/deltaw);N=N0+mod(N0+1,2) windows=(hanning(N);hd=ideal_lp(wc,N);b=hd.*windows;db,mag,pha,grd,w=freqz_m(b,1);n=0:N-1;dw=2*pi/1000;Rp=-(min(db(1:wp/dw+1) %检验通带波动As=-round(max(db(ws/dw+1:501) %检验最小阻带衰减subplot(2,2,1);stem(n,b);axis(0,N,1.1*m

4、in(b),1.1*max(b);title(实际脉冲响应);xlabel(n);ylabel(h(n);subplot(2,2,2);stem(n,windows);axis(0,N,0,1.1);title(窗函数特性);xlabel(n);ylabel(wd(n);subplot(2,2,3);plot(w/pi,db);axis(0,1,-80,10);title(幅度频率响应);xlabel(频率(单位:pi));ylabel(H(ejomega);set(gca,XTickMode,manual,XTick,0,wp/pi,ws/pi,1);set(gca,YTickMode,ma

5、nual,YTick,-50,-20,-3,0);gridsubplot(2,2,4);plot(w/pi,pha);axis(0,1,-4,4);title(相位频率响应);xlabel(频率(单位:pi));ylabel(phi(omega);set(gca,XTickMode,manual,XTick,0,wp/pi,ws/pi,1);set(gca,YTickMode,manual,YTick,-3.1416,0,3.1416,4);gridN =67Rp =0.0706As = 443、用凯塞窗设计一个FIR数字高通滤波器,要求: wp=0.3,Rp=0.1dB;ws=0.2,As=

6、50dB。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。程序清单如下:function hd=ideal_lp(wc,N)tao=(N-1)/2;n=0:(N-1);m=n-tao+eps;hd=sin(wc*m)./(pi*m);functiondb,mag,pha,grd,w=freqz_m(b,a);H,w=freqz(b,a,1000,whole);H=(H(1:501);w=(w(1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(b,a,w);wp=0.3*pi;w

7、s=0.2*pi;deltaw=wp-ws;N0=ceil(6.6*pi/deltaw);N=N0+mod(N0+1,2) windows=(kaiser(N,7.865);wc=(ws+wp)/2;hd=ideal_lp(pi,N)-ideal_lp(wc,N);b=hd.*windows;db,mag,pha,grd,w=freqz_m(b,1);n=0:N-1;dw=2*pi/1000;Rp=-(min(db(wp/dw+1:501) %检验通带波动As=-round(max(db(1:ws/dw+1) %检验最小阻带衰减subplot(2,2,1);stem(n,b);axis(0,N

8、,1.1*min(b),1.1*max(b);title(实际脉冲响应);xlabel(n);ylabel(h(n);subplot(2,2,2);stem(n,windows);axis(0,N,0,1.1);title(窗函数特性);xlabel(n);ylabel(wd(n);subplot(2,2,3);plot(w/pi,db);axis(0,1,-100,2);title(幅度频率响应);xlabel(频率(单位:pi));ylabel(H(ejomega);set(gca,XTickMode,manual,XTick,0,ws/pi,wp/pi,1);set(gca,YTickM

9、ode,manual,YTick,-40-20,-3,0);gridsubplot(2,2,4);plot(w/pi,pha);axis(0,1,-4,4);title(相位频率响应);xlabel(频率(单位:pi));ylabel(phi(omega);set(gca,XTickMode,manual,XTick,0,ws/pi,wp/pi,1);set(gca,YTickMode,manual,YTick,-pi,0,pi);gridN =67Rp = 0.2321As =324、选择合适的窗函数设计一个FIR数字带通滤波器,要求:fp1=3.5kHz,fp2=6.5kHz,Rp=0.0

10、5dB;fs1=2.5kHz,fs2=7.5kHz,As=60dB。滤波器采样频率Fs=20kHz。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。分析:根据设计指标应选择布莱克曼窗。程序清单如下:functiondb,mag,pha,grd,w=freqz_m(b,a);H,w=freqz(b,a,1000,whole);H=(H(1:501);w=(w(1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(b,a,w);fp1=3.5;fp2=6.5;fs1=2.5;fs2=7

11、.5;Fs=20;ws1=fs1/(Fs/2)*pi;ws2=fs2/(Fs/2)*pi;wp1=fp1/(Fs/2)*pi;wp2=fp2/(Fs/2)*pi;deltaw=wp1-ws1;N0=ceil(11*pi/deltaw);N=N0+mod(N0+1,2) %为实现FIR类型1偶对称滤波器,应确保N为奇数windows=blackman(N);wc1=(ws1+wp1)/2/pi;wc2=(ws2+wp2)/2/pi;b=fir1(N-1,wc1,wc2,windows);db,mag,pha,grd,w=freqz_m(b,1);n=0:N-1;dw=2*pi/1000;Rp=-

12、(min(db(wp1/dw+1:wp2/dw+1) %检验通带波动ws0=1:ws1/dw+1,ws2/dw+1:501;%建立阻带频率样点数组As=-round(max(db(ws0) %检验最小阻带衰减subplot(2,2,1);stem(n,b);axis(0,N,1.1*min(b),1.1*max(b);title(实际脉冲响应);xlabel(n);ylabel(h(n);subplot(2,2,2);stem(n,windows);axis(0,N,0,1.1);title(窗函数特性);xlabel(n);ylabel(wd(n);subplot(2,2,3);plot(w

13、/pi,db);axis(0,1,-150,10);title(幅度频率响应);xlabel(频率(单位:pi));ylabel(H(ejomega);set(gca,XTickMode,manual,XTick,0,fs1,fp1,fp2,fs2,500);set(gca,YTickMode,manual,YTick,-150,-40,-3,0);gridsubplot(2,2,4);plot(w/pi,pha);axis(0,1,-4,4);title(相位频率响应);xlabel(频率(单位:pi));ylabel(phi(omega);set(gca,XTickMode,manual,

14、XTick,0,fs1,fp1,fp2,fs2,500);set(gca,YTickMode,manual,YTick,-pi,0,pi);gridN =111Rp =0.0034As =745、选择合适的窗函数设计一个FIR数字带阻滤波器,要求:fp1=1kHz,fp2=4.5kHz,Rp=0.1dB;fs1=2kHz,fs2=3.5kHz,As=40dB。滤波器采样频率Fs=10kHz。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。分析:根据设计指标选择汉宁窗。程序清单如下:function hd=ideal_lp(wc,N)tao=(N-1)/2;n=0:(N-1)

15、;m=n-tao+eps;hd=sin(wc*m)./(pi*m);functiondb,mag,pha,grd,w=freqz_m(b,a);H,w=freqz(b,a,1000,whole);H=(H(1:501);w=(w(1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(b,a,w);fp1=1;fp2=4.5;fs1=2;fs2=3.5;Fs=10;ws1=fs1/(Fs/2)*pi;ws2=fs2/(Fs/2)*pi;wp1=fp1/(Fs/2)*pi;wp2=fp2/(Fs/2)*p

16、i;wp=wp1,wp2;ws=ws1,ws2;deltaw=ws1-wp1;N0=ceil(6.2*pi/deltaw);N=N0+mod(N0+1,2) %为实现FIR类型1偶对称滤波器,应确保N为奇数windows=(hanning(N);wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideal_lp(wc1,N)+ideal_lp(pi,N)-ideal_lp(wc2,N);%建立理想带阻b=hd.*windows;db,mag,pha,grd,w=freqz_m(b,1);n=0:N-1;dw=2*pi/1000;wp0=1:wp1/dw+1,wp2/dw+1

17、:501;%建立通带频率样点数组As=-round(max(db(ws1/dw+1:ws2/dw+1) %检验最小阻带衰减Rp=-(min(db(wp0) %检验通带波动subplot(2,2,1);stem(n,b);axis(0,N,1.1*min(b),1.1*max(b);title(实际脉冲响应);xlabel(n);ylabel(h(n);subplot(2,2,2);stem(n,windows);axis(0,N,0,1.1);title(窗函数特性);xlabel(n);ylabel(wd(n);subplot(2,2,3);plot(w/pi,db);axis(0,1,-150,10);title(幅度频率响应);xlabel(频率(单位:pi));ylabel(H(ejomega);set(gca,XTickMode,manual,XTick,0,wp1/pi,ws1/pi,ws2/pi,wp2/pi,1);set(gca,YTi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论