📄 fir2.m
字号:
%Program:利用hanning窗设计FIR高通滤波器
%filter specification
Wp=0.6*pi;Ws=0.4*pi;Ap=1;As=45;
%determine the length of the filter
N=ceil(6.2*pi/(Wp-Ws));
N=mod(N+1,2)+N;
M=N-1;
fprintf('滤波器的阶数 M=%.0f\n',M);
%generate window
w = hanning(N)';
subplot(2,1,1);
plot(w); axis([1 N 0 1]);
title('Hann Window')
%cutoff frequency of ideal highpass filter
Wc=(Wp+Ws)/2;
k=0:M;
hd=-(Wc/pi)*sinc(Wc*(k-0.5*M)/pi);
hd(0.5*M+1)=hd(0.5*M+1)+1;
h=hd.*w;
omega=linspace(0,pi,512);
mag=freqz(h,[1],omega);
magdb=20*log10(abs(mag));
Ap=-20*log10(2-max(abs(mag)));
As=-20*log10(min(abs(mag)));
fprintf('阻带衰减 As=%.0f\n',As);
fprintf('通带衰减 Ap=%.0f\n',Ap);
subplot(2,1,2);
plot(omega/pi,magdb);
title('汉纳窗设计的滤波器');
xlabel('Normalized frequency');
ylabel('Gain,dB');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -