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

📄 ellipse.asv

📁 滤波器的MATLAB实现程序 内附多个源代码
💻 ASV
字号:
clear all
close all
clc

Fs=2000*pi;
Rp=0.5;
Rs=60;
typeo=1;
% switch typeo
% case 1
%     type='bandpass';
% case 2
%     type='stop';
% case 3
%     type='high';
% case 4
%     type='low';
% end
  

if typeo==1
Wp1=2*100*pi;
Ws1=2*50*pi;
Wp2=2*200*pi;
Ws2=2*250*pi;
Wp=[Wp1,Wp2];
Ws=[Ws1,Ws2];
elseif typeo==2
 Ws1=400*pi;
Wp1=200*pi;
Ws2=800*pi;
Wp2=1000*pi;
Wp=[Wp1,Wp2];
Ws=[Ws1,Ws2];
   
elseif typeo==3
Wp1=500*pi;
Ws1=400*pi;
Wp2=0;
Wp=Wp1;
Ws2=0;
Ws=Ws1;
elseif typeo==4
Wp1=400*pi;
Ws1=500*pi;
Wp2=0;
Wp=Wp1;
Ws2=0;
Ws=Ws1;
end
[N,wn]=ellipord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs,'s');
[b,a,k]=ellipap(N,Rp,Rs); 
Wn=Wp2-Wp1;
Wo=sqrt(Wp2*Wp1);
[b,a]=zp2
switch typeo
case 1
   [b,a]=lp2bp(b,a,Wn); type='带通';
case 2
    [b,a]=lp2bs(b,a,Wn);type='带阻';
case 3
    [b,a]=lp2hp(b,a,wn*Fs/2);type='高通';
case 4
    [b,a]=lp2lp(b,a,Wn*Fs/2);type='底通';
end
[b,a]=bilinear(b,a,Fs);
[H,w]=freqz(b,a);
plot(w*Fs/pi/2,abs(H));

grid on
xlabel('frequency/Hz')
ylabel('magnitude')
% axis([0 2*10^5 0 1.3]);
title('ellipse数字滤波器')


⌨️ 快捷键说明

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