📄 kaiser1.m
字号:
%利用凯赛窗设计高通数字滤波器
clear all
figure;set(gcf,'color','w'); % 设置图形界面为白色
%先确定凯赛窗的阶数
Wn=0.5;
Ws=0.4*pi; % 阻带最大衰减
Wp=0.6*pi; % 通带最小衰减
beta=5.568; % 用于控制凯赛窗旁瓣宽度
n=ceil(7.24*pi/(Wp-Ws)) % 求凯赛窗长度
%利用凯赛窗设计高通滤波器
window=kaiser(n+2,beta); % 生成凯赛窗
b=fir1(n+1,Wn,'high',window); % 设计n+1阶高通FIR数字滤波器
[H1,W1]=freqz(window/sum(window),1,512,2); % 求凯赛窗的频率响应
[H2,W2]=freqz(b,1,512,2); % 求解滤波器的频率响应
subplot(2,1,1)
stem(window); % 绘制窗函数图形
xlabel('n');
ylabel('幅度');
grid;
title('窗函数');
subplot(2,1,2)
plot(W1,20*log10(abs(H1))); % 绘制窗函数衰减特性曲线
xlabel('归一化频率');
ylabel('幅度/dB');
grid;
title('窗函数衰减特性曲线');
figure;set(gcf,'color','w'); % 设置图形界面为白色
plot(W2,20*log10(abs(H2))); % 绘制滤波器衰减特性曲线
xlabel('归一化频率×π');
ylabel('幅度/dB');
grid;
title('滤波器衰减特性曲线');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -