用窗函數設計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);

解答:

給你個完整的,不知道是不是你想要的!
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('濾波器分貝幅度特性');
再問: ??? 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');

添加新評論

暱稱
郵箱
網站