ms18_2_1.m

来自「《数字信号处理实验(MATLAB版)》这」· M 代码 · 共 29 行

M
29
字号
%巴特沃斯模拟滤波器
fp=2000;Omgp=2*pi*fp    %输入滤波器的通带截止频率
fs=5000;Omgs=2*pi*fs    %输入滤波器的阻带截止频率
Rp=1;As=20;              %输入滤波器的通阻带衰减指标
%计算滤波器的阶数和3dB截止频率
[n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s') 
%计算n阶模拟低通原型,得到左半平面零极点
[z0,p0,k0]=buttap(n) 
b0=k0*real(poly(z0))     %求滤波器系数b0
a0=real(poly(p0))        %求滤波器系数a0
[H,Omg]=freqs(b0,a0);    %求系统的频率特性
dbH=20*log10(abs(H)/max(abs(H))); %化为分贝值

subplot(2,2,1),plot(Omg*Omgc/(2*pi),abs(H)),grid 
axis([0,6000,0,1.1]);ylabel('幅度');xlabel('f(Hz)');
subplot(2,2,2),plot(Omg*Omgc/(2*pi),angle(H)),grid
axis([0,6000,-4,4]);ylabel('相位');xlabel('f(Hz)');

subplot(2,2,3),plot(Omg*Omgc/(2*pi),dbH),grid 
axis([0,6000,-30,2]);
ylabel('幅度(dB');xlabel('f(Hz)');
subplot(2,2,4),plot(p0*Omgc,'x');
axis square,axis equal,grid on

Omgx0=[Omgp,Omgs]/Omgc; %设置频率向量
Hx=freqs(b0,a0,Omgx0);  %计算该两点的频率特性
dbHx=-20*log10(abs(Hx)/max(abs(H))) %化为分贝值

⌨️ 快捷键说明

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