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

📄 ms20_4_2.m

📁 《数字信号处理实验(MATLAB版)》这
💻 M
字号:
%脉冲响应不变法用于带通滤波
%数字滤波器指标
wp1=0.3*pi;wp2=0.7*pi;  %数字滤波器的通带截止频率
ws1=0.1*pi;ws2=0.9*pi;  %数字滤波器的阻带截止频率
Rp=1;As=40;            %输入滤波器的通阻带衰减指标
%转换为模拟原型滤波器指标
Fs=2000;T=1/Fs;
Omgp1=wp1*Fs;Omgp2=wp2*Fs;%模拟滤波器的通带截止频率
Omgp=[Omgp1,Omgp2];
Omgs1=ws1*Fs;Omgs2=ws2*Fs;%模拟滤波器的阻带截止频率
Omgs=[Omgs1,Omgs2];
bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2);%模拟通带带宽和中心频率
%模拟滤波器计算
[n,Omgn]=cheb2ord(Omgp,Omgs,Rp,As,'s')%计算阶数n和截止频率
[z0,p0,k0]=cheb2ap(n,As); %设计归一化的模拟原型滤波器
ba1=k0*real(poly(z0));        %求原型滤波器系数b
aa1=real(poly(p0));           %求原型滤波器系数a
[ba,aa]=lp2bp(ba1,aa1,w0,bw)  %变换为模拟带通滤波器
[bd,ad]=impinvar(ba,aa,Fs);    %用脉冲响应不变法计算数字滤波器系数

t=0:T:(30*T);nt=length(t);
subplot(2,1,1),
ha=impulse(ba,aa,t);plot(t,ha*T,'r'),hold on
h=impz(bd,ad,nt);stem(t,h)

wb=[0:Fs]*2*pi;        %为作图建立频率向量 
Ha=freqs(ba,aa,wb);    %计算模拟频率响应
subplot(2,1,2),
plot(wb/(2*pi),abs(Ha)/max(abs(Ha)),'r'),hold on
H=freqz(bd,ad,wb/Fs);  %计算数字频率响应
plot(wb/(2*pi),abs(H)/max(abs(H)));   
title('脉冲响应不变法用于带通滤波');
axis([0,Fs,-0.1,1.1]);
ylabel('幅度');xlabel('f(Hz)');


⌨️ 快捷键说明

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