下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 数字信号处理实验_用窗函数法设计FIR滤波器

数字信号处理实验_用窗函数法设计FIR滤波器.doc

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

畅chang
2012-02-11 0人阅读 举报 0 0 暂无简介

简介:本文档为《数字信号处理实验_用窗函数法设计FIR滤波器doc》,可适用于高等教育领域

实验四用窗函数法设计FIR数字滤波器实验四:用窗函数法设计FIR数字滤波器clearallcloseallN=input('输入窗函数长度N=(输入=退出)')注意加分号与不加分号的区别while(N~=)wc=input('输入希望逼近的理想低通滤波器的截止频率Wc=')注意截止频率pi的输入matlab中已经默认定义了pin=:(N)alpha=(N)m=nalphaepshd=sin(wc*m)(pi*m)得到理想低通滤波器(教材P式)k=input('请选择窗函数类型(=矩形=汉宁=海明=布莱克曼):')ifk==B=boxcar(N)产生矩形窗string='Boxcar,N=',numstr(N)text函数使用字符串string在图中标明所用窗的类型及长度elseifk==注意elseif与elseif的区别,有几个独立的if就要求有几个endB=hamming(N)string='Hamming,N=',numstr(N)elseifk==B=hanning(N)string='Hanning,N=',numstr(N)elseB=blackman(N)string='Blackman,N=',numstr(N)endh=hd*(B)'得到FIR数字滤波器h(n)=hd(n)w(n),注意*是矩阵相乘*是矩阵的对应元素相乘H,w=freqz(h,,)求滤波器h(n)的频率响应对FIR而言,H(z)分子分母多项式的系数向量b=,a=h返回向量H的点数N=db=*log(abs(H)eps)得到幅值pha=angle(H)得到相位绘制单位脉冲响应h(n)、幅频衰减特性lg︱H(ejw)︱)、相频特性和幅频特性︱H(ejw)︱的波形figure加figure语句下一个plot所绘出的图不会把上次的图给取代。也可在每次运行完plot之后加figure语句subplot(,,)stem(n,h,'r')绘制单位脉冲响应h(n)波形axis(,N,,)xlabel('n')ylabel('h(n)')title('实际低通滤波器的h(n)')text((*N),,string)创建text图形句柄对象函数text(x,y,string)在图形中指定的位置上(x,y)上显示字符串stringsubplot(,,)plot(wpi,db,'m')绘制幅频衰减特性lg︱H(ejw)︱)波形axis(,,,)xlabel('wpi')ylabel('dB')title('衰减特性(dB)')grid添加网格线set(gca,'xtick',::,'ytick',::)设置网格线的密度subplot(,,)plot(w,pha)绘制相频特性波形holdonplot(:,zeros(),'k')绘制零相位基线title('相频特性')xlabel('频率W(rad)')ylabel('相位(rad)')axis(,,,)subplot(,,)plot(w,abs(H))绘制幅频特性︱H(ejw)︱波形title('频率特性')xlabel('频率W(rad)')ylabel('幅值')axis(,,,)text(,,string)N=input('输入窗函数长度N=(输入=退出)')endplot(x,y)以x元素为横坐标值y元素为纵坐标值绘制曲线。()x,y都是向量则以x中元素为横坐标y中元素为纵坐标作平面曲线。此时x,y必须具有相同长度。()x,y都是矩阵则将x的列和y中相应的列相组合绘制多条平面曲线。此时x,y必须具有相同的大小。()x是向量,y是矩阵若x的长度与y的行数相等则将x与y中的各列相对应绘制多条平面曲线否则若x的长度与y的列数相等则将x与y中的各行相对应绘制多条平面曲线。此时x的长度必须等于y的行数或列数。实验四:用窗函数法设计FIR数字滤波器MATLAB主程序clearallcloseallb=i=while(b)temp=menu('选择窗函数长度N','N=','N=','N=','N=','N=','N=','N=','N=','N=','N=','N=','N=','N=')menu=,,,,,,,,,,,,N=menu(temp)temp=menu('选择逼近理想低通滤波器截止频率Wc','Wc=pi','Wc=pi','Wc=*pi','Wc=pi','Wc=','Wc=','Wc=','Wc=','Wc=','Wc=')menu=pi,pi,*pi,pi,,,,,,w=menu(temp)n=:(N)hd=ideal(w,N)得到理想低通滤波器k=menu('请选择窗口类型:','boxcar','hamming','hanning','blackman')ifk==B=boxcar(N)string='Boxcar','N=',numstr(N)elseifk==B=hamming(N)string='Hamming','N=',numstr(N)elseifk==B=hanning(N)string='Hanning','N=',numstr(N)elseifk==B=blackman(N)string='Blackman','N=',numstr(N)endendendendh=hd*(B)'得到FIR数字滤波器H,m=freqz(h,,,'whole')求其频率响应。whole表示在,π之间选取n个频率点。mag=abs(H)得到幅值db=*log((mageps)max(mag))pha=angle(H)得到相位i=ifigure(i)subplot(,,)n=:Nstem(n,h,'')axis(,N,,)holdonn=:Nx=zeros(N)plot(n,x,'')xlabel('n')ylabel('h(n)')title('实际低通滤波器的h(n)')text((*N),,string)holdoffsubplot(,,)plot(mpi,db)axis(,,,)xlabel('wpi')ylabel('dB')title('衰减特性(dB)')gridsubplot(,,)plot(m,pha)holdonn=:x=zeros()plot(n,x,'')title('相频特性')xlabel('频率W(rad)')ylabel('相位(rad)')axis(,,,)subplot(,,)plot(m,mag)title('频率特性')xlabel('频率W(rad)')ylabel('幅值')axis(,,,)text(,,string)b=menu('DoYouwantToContinue','Yes','No')ifb==b=endendtemp=menu('CloseAllFigure','Yes','No')iftemp==closeallend实验中的子函数:产生理想低通滤波器单位脉冲响应hd(n)functionhd=ideal(w,N)alpha=(N)n=:(N)m=nalphaepshd=sin(w*m)(pi*m)

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/6

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

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利