水泊凉山
幼苗
共回答了19个问题采纳率:89.5% 举报
给你个完整的,不知道是不是你想要的!
wp=0.6*pi;wr=0.4*pi;
wc=(wr+wp)/2;
N=33;M=(N-1)/2;
nn=-M:M;
n=nn+eps;
hd=2*((-1).^n).*sin(wd*n)./(pi*n); %理想冲击响应
w=blackman(N)'; %海明窗
h=hd.*w; %实际冲击响应
H=20*log10(abs(fft(h,1024))); %实际滤波器的分贝幅度特性
HH=[H(513:1024) H(1:512)];
subplot(221),stem(nn,hd,'k');
xlabel('n'); title('理想冲击响应');axis([-45 54 -0.9 2]);
subplot(222),stem(nn,w,'k');axis([-45 54 -0.5 2]);
title('海明窗');xlabel('n');
subplot(223),stem(nn,h,'k');
axis([-45 54 -0.9 2]);xlabel('n');title('实际冲击响应');
w=(-512:511)/511;
subplot(224),plot(w,HH,'k');
axis([-3 4 -250 250]);xlabel('omega/pi');title('滤波器分贝幅度特性');
1年前
追问
6
Andyen
举报
??? Undefined function or variable 'wd'.多谢帮助,可是还有小问题啊
举报
水泊凉山
呵呵,不好意思,我根据你给的数据就改了前面,忘了改后面(wd应全改为wc),试试这个看,一样的(注释和title跟上面一样,可以自己添加,得出的图像你觉得效果不佳可以改axis([-45 54 -0.9 2]);对应坐标参数) wp=0.6*pi;ws=0.4*pi; wd=(wp+ws)/2;N=33;M=(N-1)/2; nn=-M:M; n=nn+eps; hd=2*((-1).^n).*sin(wd*n)./(pi*n); w=blackman(N)'; h=hd.*w; H=20*log10(abs(fft(h,1024))); HH=[H(513:1024) H(1:512)]; subplot(221),stem(nn,hd,'k'); xlabel('n'); axis([-45 54 -0.9 2]); subplot(222),stem(nn,w,'k');axis([-45 54 -0.5 2]); xlabel('n'); subplot(223),stem(nn,h,'k'); axis([-45 54 -0.9 2]);xlabel('n'); w=(-512:511)/511; subplot(224),plot(w,HH,'k'); axis([-3 4 -250 250]);xlabel('omega/pi');