Parameter Estimation for an N-Channel Enhancement MOSFET
The following data of drain current versus gate-to-source voltage has been obtained for an n-channel enhancement mode MOSFET. This worksheet uses this data to determine the least squares curve fit estimate of the SPICE parameters KP (the transconductance parameter) and VTO (zero-bias threshold voltage). It assumes that the device is operating in its saturation mode and that the channel length modulation factor may be neglected.
If the device is operating in the saturation region and the channel length modulation factor can be neglected, the drain current, ID, is related to the gate-to-source voltage, VGS, according to the following equation:
ID=K⋅VGS−VTO2
Where K = K'/2, and K' is the SPICE parameter KP.
restart:withplots:withStatistics:
Experimental Data
VGS_exp≔2,2.5,3,3.5,4,4.5,5,5.5:
ID_exp≔0.306,1.393,3.141,6.618,11.242,15.687,20.93,25.389:
Let's plot the data.
p1≔plotVGS_exp,ID_exp,style=point :
displayp1
Parameter Estimation via Least-Squares Curve Fitting
ID≔K⋅VGS−VTO2
ID≔K⁢VGS−VTO2
For a basic fit:
eq≔NonlinearFitID,VGS_exp,ID_exp,VGS
eq≔1.58405874756309⁢VGS−1.421828129762692
You can also customize the output:
res≔NonlinearFitID,VGS_exp,ID_exp,VGS,output=parametervalues
res≔K=1.58405874756309,VTO=1.42182812976269
NonlinearFitID,VGS_exp,ID_exp,VGS,output=residualsumofsquares
3.250638736
Visualizing the Solution
Let's plot the best fit equation against the experimental data.
p2≔ploteq,VGS=minVGS_exp..maxVGS_exp:
displayp1,p2
Fitting a Procedure
You can also fit a procedure (that includes, for example, conditional statements or piecewise equations). The first parameter(s) should be the independent variable(s), while the others should be the empirical parameters
f≔procVGS,K,VTO local ID: ID≔K⋅VGS−VTO2; return ID: end proc:
NonlinearFitf,VGS_exp,ID_exp
1.584058747563091.42182812976269
Minimizing the SSE - the hard way
ID_f≔VGS,K,VTO→K VGS−VTO2
ID_f≔VGS,K,VTO↦K⋅VGS−VTO2
sse≔procK,VTO local i; addID_fVGS_expi,K,VTO − ID_expi2,i=1..8 end proc:
Optimization:-MinimizesseK,VTO
3.25063873633627010,K=1.58405878529888,VTO=1.42182800867805
Download Help Document