用窗函数设计FIR滤波器时怎么定义理想高通滤波器响应函数

用窗函数设计FIR滤波器时怎么定义理想高通滤波器响应函数
wp=0.6*pi;wr=0.4*pi;
tr_width=wp-wr;
N=ceil(6.2*pi/tr_width);
n=0:1:N-1;
wc=(wr+wp)/2;
hd=ideal_hp(wc,N);
Andyen 1年前 已收到1个回答 举报

水泊凉山 幼苗

共回答了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');
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.742 s. - webmaster@yulucn.com