目标
计算有机薄膜晶体管的阈值电压:方法和代码实现。
依据模型
积累区Accumulation region的简单模型。
I
d
s
=
1
2
μ
C
d
i
e
l
W
L
(
V
g
s
−
V
t
h
)
2
I_{ds}=\frac{1}{2} \mu C_{diel}\frac{W}{L}(V_{gs}-V_{th})^2
Ids=21μCdielLW(Vgs−Vth)2
参考
黄维,密保秀,高志强.有机电子学[M].北京:科学出版社,2011:183-184.
施敏,伍国珏.半导体器件物理[M].西安:西安交通大学出版社,2008:239.
黄均鼐,汤庭鳌,胡光喜.半导体器件原理[M].上海:复旦大学出版社,2011:192-195.
输入
I d s − V g s I_{ds} - V_{gs} Ids−Vgs转移特性曲线。
提取
阈值电压 V t h V_{th} Vth和迁移率 μ \mu μ。
Success. Fitting converged to a solution.
0.9985
threshold Vth = 20.0352 V
mobility = 0.10432 cm^2/(Vs)
onoffratio = 10238.7794
MATLAB代码实现
close all; clear;clc;
% 1 input basic parameters
Vgs = -30:1.1:30;
Cdiel = 11.5e-9; % F/cm^2
W = 15e-3; % m
L = 10e-6; % m
Vth = 20; % V
mu = -0.1; % cm^2/(Vs)
%% 2 generate Ids
Ids = 1/2*mu*Cdiel*W/L*(Vgs-Vth).^2.*(1+0.1*rand(size(Vgs)));
%% 3 show raw data
subplot(1,2,1)
semilogy(Vgs,abs(Ids),'o');
xlabel('V_{gs} (V)')
ylabel('|I_{ds}| (A)')
hold on
subplot(1,2,2)
plot(Vgs,sqrt(abs(Ids)),'o');
xlabel('V_{gs} (V)')
ylabel('|I_{ds}|^{1/2} (A)')
hold on
%% 4 select data region
Vgs_sel = [-30 10];
Ids1 = Ids(Vgs>Vgs_sel(1) & Vgs<=Vgs_sel(2));
Vgs1 = Vgs(Vgs>Vgs_sel(1) & Vgs<=Vgs_sel(2));
x = Vgs1';
y = sqrt(abs(Ids1))';
%% 5 set fitting parameters
jL =[-0.1 -50];
jU =[ 0.1 50];
jSt=[-0.1 0];
Method='NonlinearLeastSquares';
Robust='off';
MaxFunEvals=100000;
MaxIter=100000;
Algorithm='Trust-Region';
TolX=1e-9;
TolFun=1e-9;
jType={'a*(x-b)'};
s = fitoptions( 'Method',Method,...
'Robust',Robust,...
'Lower',jL,...
'Upper',jU,...
'MaxFunEvals',MaxFunEvals,...
'MaxIter',MaxIter,...
'TolFun',TolFun,...
'Algorithm',Algorithm,...
'TolX',TolX,...
'Startpoint',jSt);
g1=fittype(jType{1},'options',s);
[f, g, o]=fit(x,y,g1);
%% 6 extract fitting parameters
p.r2=g.rsquare;
p.Coeff=coeffvalues(f);
p.Confid=confint(f);
p.err=p.Confid(2,:)-p.Coeff;
disp(o.message);
disp(p.r2);
subplot(1,2,2)
plot(Vgs,f(Vgs),'-b');
hold on
plot(xlim,[0,0],'-k');
hold on
plot([0,0],ylim,'-k');
hold on
%% 7 calculate results
Vth_f = f.b;
mu_f = 2*f.a^2/(Cdiel*W/L);
onoffratio = max(abs(Ids))/min(abs(Ids));
disp(['threshold Vth = ',num2str(Vth_f),' V']);
disp(['mobility = ',num2str(mu_f),' cm^2/(Vs)']);
disp(['onoffratio = ',num2str(onoffratio)]);
刘国钧,王连成.图书馆史研究[M].北京:高等教育出版社,1979:15-18,31.
参考资料
https://www.zhihu.com/question/24253684
https://www.imooc.com/wiki/markdownlesson/markdowncolor.html
https://biyelunwen.yjbys.com/cankaowenxian/659400.html