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

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

ID:18763129

大小:100.00 KB

页数:6页

时间:2018-09-22

数字信号处理实验_用窗函数法设计fir滤波器.doc_第1页
数字信号处理实验_用窗函数法设计fir滤波器.doc_第2页
数字信号处理实验_用窗函数法设计fir滤波器.doc_第3页
数字信号处理实验_用窗函数法设计fir滤波器.doc_第4页
数字信号处理实验_用窗函数法设计fir滤波器.doc_第5页
资源描述:

《数字信号处理实验_用窗函数法设计fir滤波器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四用窗函数法设计FIR数字滤波器%实验四:用窗函数法设计FIR数字滤波器clearallcloseallN=input('输入窗函数长度N=?(输入0=退出)');%注意加分号与不加分号的区别while(N~=0)wc=input('输入希望逼近的理想低通滤波器的截止频率Wc=?');%注意截止频率pi/4的输入,matlab中已经默认定义了pin=0:(N-1);alpha=(N-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);%得到理想低通滤波器(教材P33

2、3式7-41)k=input('请选择窗函数类型(1=矩形;2=汉宁;3=海明;4=布莱克曼):');ifk==1B=boxcar(N);%产生矩形窗string=['Boxcar,N=',num2str(N)];%text函数使用字符串string在图中标明所用窗的类型及长度elseifk==2%注意elseif与elseif的区别,有几个独立的if就要求有几个endB=hamming(N);string=['Hamming,N=',num2str(N)];elseifk==3B=hanning

3、(N);string=['Hanning,N=',num2str(N)];elseB=blackman(N)string=['Blackman,N=',num2str(N)];endh=hd.*(B)';%得到FIR数字滤波器h(n)=hd(n)w(n),注意*是矩阵相乘,.*是矩阵的对应元素相乘[H,w]=freqz(h,[1],1024);%求滤波器h(n)的频率响应;对FIR而言,H(z)分子分母多项式的系数向量b=[1],a=h;返回向量H的点数N=1024db=20*log10(abs(

4、H)+eps);%得到幅值pha=angle(H);%得到相位%绘制单位脉冲响应h(n)、幅频衰减特性20lg︱H(ejw)︱)、相频特性和幅频特性︱H(ejw)︱的波形figure;%加figure语句,下一个plot所绘出的图不会把上次的图给取代。也可在每次运行完plot之后,加figure语句subplot(2,2,1)stem(n,h,'.r');%绘制单位脉冲响应h(n)波形axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');title('

5、实际低通滤波器的h(n)');text((0.28*N),0.275,string);%创建text图形句柄对象函数,text(x,y,string)在图形中指定的位置上(x,y)上显示字符串stringsubplot(2,2,2)plot(w/pi,db,'m');%绘制幅频衰减特性20lg︱H(ejw)︱)波形axis([0,1,-100,0]);xlabel('w/pi');ylabel('dB');title('衰减特性(dB)');grid;%添加网格线set(gca,'xtick',0

6、:0.2:1,'ytick',-100:20:0)%设置网格线的密度subplot(2,2,3)plot(w,pha);%绘制相频特性波形holdon;plot(0:4,zeros(5),'-k');%绘制零相位基线title('相频特性');xlabel('频率W(rad)');ylabel('相位(rad)');axis([0,3.15,-4,4]);subplot(2,2,4);plot(w,abs(H));%绘制幅频特性︱H(ejw)︱波形title('频率特性');xlabel('频率W

7、(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.3,string);N=input('输入窗函数长度N=?(输入0=退出)');endplot(x,y)以x元素为横坐标值,y元素为纵坐标值绘制曲线。(1)x,y都是向量,则以x中元素为横坐标,y中元素为纵坐标作平面曲线。此时x,y必须具有相同长度。(2)x,y都是矩阵,则将x的列和y中相应的列相组合,绘制多条平面曲线。此时x,y必须具有相同的大小。(3)x是向量,y是矩阵,若x的长度与y的行

8、数相等,则将x与y中的各列相对应,绘制多条平面曲线;否则,若x的长度与y的列数相等,则将x与y中的各行相对应,绘制多条平面曲线。此时x的长度必须等于y的行数或列数。%实验四:用窗函数法设计FIR数字滤波器%MATLAB主程序clearall;closeall;b=1;i=0;while(b);temp=menu('选择窗函数长度N','N=10','N=15','N=20','N=25','N=30','N=33','N=35','N=40','N=45','N=50','N=55

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。