I am taking plot for Id-Vgs plot of AlN\GaN HEMT

조회 수: 21 (최근 30일)
Nudrat Sufiyan
Nudrat Sufiyan 2022년 8월 4일
답변: sai charan sampara 2023년 10월 3일
I am taking graph between Id -Vgs using the following formula but not getting right curve . Can anyone please correct my code.
The required graph is:
Following is the code I have written for getting Id-Vg plot.
clear all;
E0=8.85e-12;
Eoxide=(9*E0);
toxide=6e-9;
coxide=(Eoxide/toxide);
dit=1.2e12;
q=1.6e-19;
gamma=(1/(1+dit*q/coxide));
nd=1.5e16;
daln=6e-9;
fim=(5.1*1.6e-19);
xaln=(1.9*1.6e-19);
fi0=(3.4*1.6e-19);
fis0=(gamma*(fim-xaln)-(gamma*q*nd*daln/coxide));
sigmapol=3.38e17;
sigmaaln=3.38e17;
Ealn=(10.78*E0);
detaEc=(0.343*1.6e-19);
Vt=fis0-detaEc-(sigmapol*sigmaaln-daln/Ealn);
cq=3.436e15;
ceq=(coxide*cq/coxide+cq);
mu=0.09;
g=33.3;
Vgs=-2:-0.5:2;
vds=input('ENTER THE vds in volts');
m=length(Vds);
for i=1:m
if vgs < Vt
current(1,i)=0;
current1(1,i)=0;
elseif Vds >= (vgs - Vt)
current(1,i)=((mu*ceq/2)*(g)*(vgs(i)-Vt)^2); %Simplified equation by approximation
elseif Vds < (vgs - Vt)
current(1,i)=(mu*ceq/2)*(g)*(2*(vgs(i)-Vt)*Vds-Vds^2);%Added DIBL
end
end
plot(Vds,current(1,:),'b')
xlabel('Vds, V')
ylabel('Drain Current,A')
title('I-V Characteristics of a hemt')
  댓글 수: 1
nicholas
nicholas 2023년 8월 9일
Hello friend. Sorry its abit late but i belive your vth is negative giving you a straight line.

댓글을 달려면 로그인하십시오.

답변 (1개)

sai charan sampara
sai charan sampara 2023년 10월 3일
Hello Nudrat,
I understand that you are trying to plot drain current vs gate voltage, but you are getting an erroneous curve.
The curve you are getting is not correct because the code has several errors.Here are some of the errors I could find out:
  • The value of Vt is very absurdly large there might be a mistake in the formula and/or implementation.
  • In line 25, the array is defined as “Vgs” and later used as “vgs”. Variable names are case sensitive.
  • The variable “Vds” used in line 26 and the following lines has not been defined they should be replaced by “vds” or “vgs” correspondingly.
  • Current can be defined as an array of size m need not be 2 dimensional.
  • In the for loop, if conditionals while checking the conditions “vgs” should also be indexed as “vgs(i)” in all places as it is also an array.
  • Some of the other parameter’s values are also incorrect, check the formulas and implementation for errors.
Hope this helps.
Thanks,
Charan.

카테고리

Help CenterFile Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by