MATLAB讲义第七章作业及答案

  • 格式:doc
  • 大小:48.50 KB
  • 文档页数:2

一、 用窗函数法设计线性相位FIR低通滤波器,通带截止频率Wp=0.5π,Ws=0.6π,阻带衰减不小于40dB,通带衰减不大于3dB

解:因为衰减不小于40dB,可选择的窗口有哈明窗和汉宁窗。而汉宁窗有较小的过度带,因此具有较小的阶数,因此先用汉宁窗。

方法一:

clear

wp=0.5*pi;ws=0.6*pi;deltaw=ws-wp;

N0=ceil(6.2*pi/deltaw);%根据汉明窗设计计算所需的滤波器长度,课本211页查表

N=N0+mod(N0+1,2);%为实现第一类偶对称滤波器,应确保长度N为奇数

wdhm=hanning(N);%求窗函数

wc=(ws+wp)/2;%求截止频率

tao=(N-1)/2;n=0:N-1;m=n-tao+eps;%求理想脉冲响应

hd=sin(wc*m)./(pi*m);

hn=hd.*wdhm';%设计的脉冲响应

subplot(2,2,1),stem(n,hd);xlabel('n');ylabel('hd(n)');title('理想脉冲响应')

subplot(2,2,2),stem(n,wdhm);xlabel('n');ylabel('wdhm');title('汉宁窗')

subplot(2,2,3),stem(n,hn);xlabel('n');ylabel('h(n)');title('设计的滤波器频率特性')

b=hd.*wdhm';

[H,w]=freqz(b,1);

subplot(2,2,4),plot(w,20*log10(abs(H)));grid;title('幅度响应');

结果:

方法二: >> wp=0.5*pi;

>> ws=0.6*pi;

>> wd=ws-wp;

>> N=ceil(8*pi/wd);

>> wc=(0.5+0.6)*pi/2;

>> window=hanning(N+1);

>> b=fir1(N,wc/pi,window);

>> freqz(b,1,512)