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

📄 ex6_10.m

📁 射频电路设计:理论与应用:theory and applications 全部源代码
💻 M
字号:
%
%   This program computes the drain current of a
%   FET operated under different biasing conditions.
%   In addition, the difference in drain current is
%   investigated for the situation when the channel length
%   modulation is (is not) taken into account
% 
%   Copyright (c) 1999 by P.Bretchko and R.Ludwig
%   "RF Circuit Design: Theory and Practice"
%

close all; % close all opened graphs
clear all; % clear all variables
figure;    % open new graph

% define problem parameters
Nd=1e16*1e6;
d=0.75e-6;
W=10e-6;
L=2e-6;
eps_r=12;
Vd=0.8;
mu_n=8500*1e-4;
lambda=0.03;

% define physical constants
q=1.60218e-19; % electron charge
eps0=8.85e-12; % permittivity of free space

eps=eps_r*eps0;

% pinch-off voltage
Vp=q*Nd*d^2/(2*eps)

% threshold voltage
Vt0=Vd-Vp

% conductivity of the channel
sigma=q*mu_n*Nd

% channel conductance
G0=q*sigma*Nd*W*d/L

% define the range for the gate-source voltage
Vgs_min=-2.5;
Vgs_max=-1;
Vgs=Vgs_max:-0.5:Vgs_min;

% drain-source voltage
Vds=0:0.01:5;

% compute drain saturation voltage
Vds_sat=Vgs-Vt0;

% first the drain current is taken into account the channel length modulation
for n=1:length(Vgs)
   if Vgs(n)>Vt0
      Id_sat=G0*(Vp/3-(Vd-Vgs(n))+2/(3*sqrt(Vp))*(Vd-Vgs(n))^(3/2));
   else
      Id_sat=0;
   end;
   
   Id_linear=G0*(Vds-2/(3*sqrt(Vp)).*((Vds+Vd-Vgs(n)).^(3/2)-(Vd-Vgs(n))^(3/2))).*(1+lambda*Vds);
   Id_saturation=Id_sat*(1+lambda*Vds);
   Id=Id_linear.*(Vds<=Vds_sat(n))+Id_saturation.*(Vds>Vds_sat(n));   
   plot(Vds, Id,'b');
   hold on;
end;

% next the channel length modulation is not taken into account
for n=1:length(Vgs)
   if Vgs(n)>Vt0
      Id_sat=G0*(Vp/3-(Vd-Vgs(n))+2/(3*sqrt(Vp))*(Vd-Vgs(n))^(3/2));
   else
      Id_sat=0;
   end;
   
   Id_linear=G0*(Vds-2/(3*sqrt(Vp)).*((Vds+Vd-Vgs(n)).^(3/2)-(Vd-Vgs(n))^(3/2)));
   Id_saturation=Id_sat;
   Id=Id_linear.*(Vds<=Vds_sat(n))+Id_saturation.*(Vds>Vds_sat(n));   
   plot(Vds, Id,'r');
end;

% computation of drain saturation current
Vgs=0:-0.01:-4;
Vds_sat=Vgs-Vt0;

Id_sat=G0*(Vp/3-(Vd-Vgs)+2/(3*sqrt(Vp))*(Vd-Vgs).^(3/2)).*(1+lambda*Vds_sat).*(1-(Vgs<Vt0));

plot(Vds_sat, Id_sat, 'k:');

axis([0 5 0 4]);
title('Drain current vs. V_{DS} plotted for different V_{GS}');
xlabel('Drain-source voltage V_{DS}, V');
ylabel('Drain current I_{D}, A');
text(4,3.4,'V_{GS}= -1V');
text(4,2.35,'V_{GS}= -1.5V');
text(4,1.35,'V_{GS}= -2V');
text(4,0.65,'V_{GS}= -2.5V');
%print -deps 'fig6_43.eps'

⌨️ 快捷键说明

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