⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l_b_h_kaiser.m

📁 本matlab函数
💻 M
字号:
clear all;
wb=0.317*pi;ws=0.272*pi;wa=0.136*pi;As=65;
tr_width=wb-ws; %计算过渡带宽
N=(ceil((As-7.95)*2*pi/(14.36*tr_width)+1))/2;    %计算凯泽窗的长度
disp(['窗函数的长度为',num2str(N)]);   %在Matlab命令窗口显示N的数值
beta=0.1102*(As-8.7);   %计算凯泽窗的线性相位斜率值,即凯泽窗系数
n=[0:1:N-1];
disp(['线性相位斜率为',num2str(beta)]);    %在Matlab命令窗口显示线性相位斜率值
w_kai=(kaiser(N,beta))';    %凯泽窗函数
hd_L=ideal_lp(wa,N);   %调用理想脉冲函数程序,Lowpass,这里调用函数ideal_lp
h_L=hd_L.*w_kai;    %实际脉冲响应=理想脉冲响应*凯泽窗函数
[db_L,mag,pha,grd,w]=freqz_m(h_L,[1]);  %求幅频响应的各个参数,db为幅度响应,w为对应的频率值(弧度表示)

%绘图程序
figure(4)
plot(w/pi,db_L);
hold on
hd_B=ideal_lp(wb,N)-ideal_lp(wa,N);   %调用理想脉冲函数程序,Bandpass
h_B=hd_B.*w_kai;    
[db_B,mag,pha,grd,w]=freqz_m(h_B,[1]);  
plot(w/pi,db_B,'m');
hold on
wc_H=(wb+ws)/2;
hd_H=ideal_lp(pi,N)-ideal_lp(wc_H,N);   %调用理想脉冲函数程序,Highpass
h_H=hd_H.*w_kai;    
[db_H,mag,pha,grd,w]=freqz_m(h_H,[1]); 
plot(w/pi,db_H,':r');
legend('lowpass','bandpass','highpass',1);
title('幅度响应/dB');
axis([0 1 -120 10]);xlabel('以π为单位的频率');ylabel('分贝数/dB');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -