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

📄 drawcs.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
function drcs = drawcs(c,d,f,t,p,s,F)

% drawcs.m  Draw Current Source
% 1:41  24/2/99
%            Album of Analog Filter Realizations
%
%   Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.02.21
%                 tosic@telekom.etf.bg.ac.yu
%                 lutovac@galeb.etf.bg.ac.yu
%
%   Copyright (c) 1999 by Tosic & Lutovac
%   $Revision: 1.0 $  $Date: 1999/02/21 02:17:42 $
%
%   References:
%        Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
%           Advanced Filter Design for Signal Processing
%                   Using MATLAB and Mathematica
%

a=(f+c)/2-0.4*s;
b=d;
g=c;
h=(f+d)/2-0.4*s;

xy = 0:0.02:1;

if p == 0
 x2 = a + s*[(c-a)/s, 0.15]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[(f-a)/s, 0.65]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.23, 0.57]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.45, 0.57]; y2 = b + s*[ 0.05, 0]; line(x2,y2)
 x2 = a + s*[0.45, 0.57]; y2 = b + s*[-0.05, 0]; line(x2,y2)
 x1 = a+s*0.4 + s*0.25*sin(2*pi*xy);
 y1 = b       + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(a+s*0.4,b+s*0.3,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','center','VerticalAlignment','bottom')
elseif p == 1
 y2 = h + s*[(d-h)/s, 0.15]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[(f-h)/s, 0.65]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.57, 0.23];    x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.57, 0.45];    x2 = g + s*[0, 0.05]; line(x2,y2)
 y2 = h + s*[0.57, 0.45];    x2 = g + s*[0,-0.05]; line(x2,y2)
 x1 = g       + s*0.25*sin(2*pi*xy);
 y1 = h+s*0.4 + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(g+s*0.3,h+s*0.4,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','left','VerticalAlignment','middle')
elseif p == 2
 x2 = a + s*[(c-a)/s, 0.15]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[(f-a)/s, 0.65]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.23, 0.57]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.35, 0.23]; y2 = b + s*[ 0.05, 0]; line(x2,y2)
 x2 = a + s*[0.35, 0.23]; y2 = b + s*[-0.05, 0]; line(x2,y2)
 x1 = a+s*0.4 + s*0.25*sin(2*pi*xy);
 y1 = b       + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(a+s*0.4,b+s*0.3,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','center','VerticalAlignment','bottom')
elseif p == 3
 y2 = h + s*[(d-h)/s, 0.15]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[(f-h)/s, 0.65]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.57, 0.23];    x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.23, 0.35];    x2 = g + s*[0, 0.05]; line(x2,y2)
 y2 = h + s*[0.23, 0.35];    x2 = g + s*[0,-0.05]; line(x2,y2)
 x1 = g       + s*0.25*sin(2*pi*xy);
 y1 = h+s*0.4 + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(g+s*0.3,h+s*0.4,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','left','VerticalAlignment','middle')
elseif p == 4
 x2 = a + s*[(c-a)/s, 0.15]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[(f-a)/s, 0.65]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.23, 0.57]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.45, 0.57]; y2 = b + s*[ 0.05, 0]; line(x2,y2)
 x2 = a + s*[0.45, 0.57]; y2 = b + s*[-0.05, 0]; line(x2,y2)
 x1 = a+s*0.4 + s*0.25*sin(2*pi*xy);
 y1 = b       + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(a+s*0.4,b-s*0.3,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','center','VerticalAlignment','top')
elseif p == 5
 y2 = h + s*[(d-h)/s, 0.15]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[(f-h)/s, 0.65]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.57, 0.23];    x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.57, 0.45];    x2 = g + s*[0, 0.05]; line(x2,y2)
 y2 = h + s*[0.57, 0.45];    x2 = g + s*[0,-0.05]; line(x2,y2)
 x1 = g       + s*0.25*sin(2*pi*xy);
 y1 = h+s*0.4 + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(g-s*0.3,h+s*0.4,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','right','VerticalAlignment','middle')
elseif p == 6
 x2 = a + s*[(c-a)/s, 0.15]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[(f-a)/s, 0.65]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.23, 0.57]; y2 = b + s*[0, 0]; line(x2,y2)
 x2 = a + s*[0.35, 0.23]; y2 = b + s*[ 0.05, 0]; line(x2,y2)
 x2 = a + s*[0.35, 0.23]; y2 = b + s*[-0.05, 0]; line(x2,y2)
 x1 = a+s*0.4 + s*0.25*sin(2*pi*xy);
 y1 = b       + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(a+s*0.4,b-s*0.3,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','center','VerticalAlignment','top')
else
 y2 = h + s*[(d-h)/s, 0.15]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[(f-h)/s, 0.65]; x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.57, 0.23];    x2 = g + s*[0, 0]; line(x2,y2)
 y2 = h + s*[0.23, 0.35];    x2 = g + s*[0, 0.05]; line(x2,y2)
 y2 = h + s*[0.23, 0.35];    x2 = g + s*[0,-0.05]; line(x2,y2)
 x1 = g       + s*0.25*sin(2*pi*xy);
 y1 = h+s*0.4 + s*0.25*cos(2*pi*xy);
 line(x1,y1)
  text(g-s*0.3,h+s*0.4,t,'FontName','Times','FontSize',F,...
    'HorizontalAlignment','right','VerticalAlignment','middle')
end

⌨️ 快捷键说明

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