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

📄 ms19_2.m

📁 《数字信号处理实验(MATLAB版)》这
💻 M
字号:
%将巴特沃斯模拟滤波器原型变换成实际模拟高通滤波器
fp=5000;Omgp=2*pi*fp;   %输入实际滤波器的通带截止频率
fs=2000;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,Omg0]=freqs(b0,a0);    %求归一化的滤波器频率特性
dbH=20*log10(abs(H)/max(abs(H))); %幅度化为分贝值
%变换为实际模拟通滤波器
[ba,aa]=lp2hp(b0,a0,Omgc); %从归一化低通变换到实际高通
[Ha,Omga]=freqs(ba,aa);    %求实际系统的频率特性
dbHa=20*log10(abs(Ha)/max(abs(Ha))); %幅度化为分贝值
%为作图准备数据
Omg0p=fp/Omgc        %通带截止频率归一化     
Omg0c=Omgc/2/pi/Omgc %3dB截止频率归一化
Omg0s=fs/Omgc        %阻带截止频率归一化 
fc=floor(Omgc/2/pi); %3dB截止频率
%归一化模拟低通原型频率特性作图
subplot(2,2,1),plot(Omg0/2/pi,dbH,'k');
axis([0,1,-50,1]);title('归一化模拟低通原型幅度');
ylabel('dB');
set(gca,'Xtick',[0,Omg0s,Omg0c,Omg0p,1]);
set(gca,'Ytick',[-50,-20,-3,-1]);grid
subplot(2,2,2),plot(Omg0/2/pi,angle(H)/pi*180,'k');
axis([0,1,-200,200]);title('归一化模拟低通原型相位');
ylabel('\phi');
set(gca,'Xtick',[0,Omg0s,Omg0c,Omg0p,1]);
set(gca,'Ytick',[-180,-90,0,90,120,180]);grid
%实际模拟高通频率特性作图
subplot(2,2,3),plot(Omga/2/pi,dbHa,'k');
axis([0,2*fp,-50,1]);title('实际模拟高通幅度');
ylabel('dB');xlabel('频率(Hz)');
set(gca,'Xtick',[0,fs,fc,fp,2*fp]);
set(gca,'Ytick',[-50,-20,-3,-1]);grid
subplot(2,2,4),plot(Omga/2/pi,angle(Ha)/pi*180,'k');
axis([0,2*fp,-200,200]);title('实际模拟高通相位');
set(gca,'Xtick',[0,fs,fc,fp,2*fp]);
set(gca,'Ytick',[-180,-90,0,90,120,180]);grid
ylabel('\phi');xlabel('频率(Hz)');

⌨️ 快捷键说明

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