Anyone please help in correcting my code for Id vs Vgs of AlN\GaN HEMT
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have tried fir Id vs Vgs of hemt, but I am not getting correct result. Please check my code once.
code:
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*q*daln/Ealn);
cq=3.436e15;
ceq=(coxide*cq/coxide+cq);
mu=0.09;
g=33.3;
vgs=-2:0.5:2;
m=length(vgs);
for i=1:m
current(1,i)=((mu*ceq/2)*(g)*(vgs(i)-Vt)^2);
%Simplified equation by approximation
end
plot(vgs,current(1,:),'b')
xlabel('Vgs, V')
ylabel('Drain Current,A')
title('I-V Characteristics of a hemt')
I am getting this result
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1087920/image.jpeg)
0 comentarios
Respuestas (1)
sai charan sampara
el 4 de Oct. de 2023
Hello Nudrat,
I understand that you are trying to plot “Id” vs “Vgs” curve using pre-defined parameters and formula but getting an error.
cq=3.436e15;
ceq=(coxide*cq/coxide+cq);%This line has an error%
mu=0.09;
g=33.3;
This is because there is an error in the line 21 of the code. In line 21 while calculating “ceq” MATLAB uses BODMAS and first performs division of “cq” and “coxide”. Hence the value of “ceq” you are getting is abnormally large.
It can be fixed as follows using parenthesis:
ceq=(coxide*cq/(coxide+cq));
This fixes the value of “ceq” and thereby the graph.
Also, as you are using “current” as an array in the for loop, consider pre allocating it for faster execution of the code.
Hope this helps.
Thanks,
Charan.
0 comentarios
Ver también
Categorías
Más información sobre Whos en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!