In [1]:

```
#Variables
VGS = 10.0 #Gate-source voltage (in volts)
IG = 0.1 * 10**-6 #Gate current (in Ampere)
#Calculation
RGS = VGS/IG #Gate-to-source resistance (in ohm)
#Result
print "Gate-to-source resistance : ",RGS*10**-6,"Mega-ohm."
```

In [2]:

```
#Variables
dVDS = 1.5 #Change in drain-source voltage (in volts)
dID = 120.0 * 10**-6 #Change in drain current (in Ampere)
#Calculation
rd = dVDS/dID #AC drain resistance (in ohm)
#Result
print "AC drain resistance of the JFET : ",rd*10**-3,"kilo-ohm."
```

In [3]:

```
#Variables
dID = 0.3 * 10**-3 #Change in drain current (in Ampere)
dVGS = 0.15 #Changein gate-to-source voltage (in volts)
#Calculation
gm = dID/dVGS #Transconductance (in siemen)
#Result
print "Transconductance : ",gm*10**6,"micro-siemens."
```

In [7]:

```
#Variables
dVDS = 7.0 #Change in drain-source voltage (in volts)
dID1 = 0.2 * 10**-3 #Change in drain current1 (in Ampere)
dID2 = -0.7 * 10**-3 #Change in drain current2 (in Ampere)
dVGS = -0.25 #Changein gate-to-source voltage (in volts)
#Calculation
rd = dVDS/dID1 #AC drain resistance (in ohm)
gm = dID2/dVGS #Transconductance (in Ampere per volt)
u = rd*gm #Amplification factor
#Result
print "AC drain resistance : ",rd*10**-3,"kilo-ohm."
print "Transconductance : ",gm*10**3,"mA/V."
print "Amplification factor : ",u,"."
```

In [9]:

```
#Variables
IDSS = 10.0 * 10**-3 #Drain-source saturation current (in Ampere)
Vp = -4.5 #Pinch-off voltage (in volts)
IDS = 2.5 * 10**-3 #Drain-source voltage (in volts)
#Calculation
VGS = Vp*(1-(IDS/IDSS)**0.5) #Gate-to-source voltage (in volts)
gm = -2*IDSS/Vp*(1- VGS/Vp) #Transconductance (in Ampere per volt)
#Result
print "Transconductance : ",round(gm*10**3,2),"mA/V."
```

In [11]:

```
#Variables
gm = 10.0 * 10**-3 #Transconductance (in siemens)
IDSS = 10.0 * 10**-6 #Drain-source saturation current (in Ampere)
#Calculation
VGSoff = (-2*IDSS)/gm #Gate-to-source voltage (in volts)
#Result
print "VGSoff : ",VGSoff*10**3,"mV."
```

In [14]:

```
#Variables
Vp = -4.0 #Pinch-off voltage (in volts)
VGS = -2.0 #Gate-source voltage (in volts)
IDSS = 10.0 * 10**-3 #Drain-source saturation current (in Ampere)
#Calculation
ID = IDSS*(1 - VGS/Vp)**2 #Drain current (in Ampere)
VDSmin = Vp #Minimum drain-source voltage (in volts)
#Result
print "Minimum value of VDS : ",VDSmin,"V."
```

In [20]:

```
#Variables
IDSS = 8.7 * 10**-3 #Drain-source saturation current (in Ampere)
Vp = -3.0 #Pinch-off voltage (in volts)
VGS = -1.0 #Gate-source voltage (in volts)
#Calculation
ID = IDSS*(1 - VGS/Vp)**2 #Drain current (in Ampere)
gmo = -2*IDSS/Vp #Transconductance for VGS = 0 (in Ampere per volt)
gm = gmo*(1 - VGS/Vp) #Transconductance (in Ampere per volt)
#Result
print "ID : ",round(ID*10**3,4),"mA."
print "gmo : ",round(gmo*10**3,1),"mS."
print "gm : ",round(gm*10**3,3),"mS."
```

In [21]:

```
#Variables
IDSS = 8.4 * 10**-3 #Drain-source saturation current (in Ampere)
Vp = -3.0 #Pinch-off voltage (in volts)
VGS = -1.5 #Gate-source voltage (in volts)
#Calculation
ID = IDSS*(1 - VGS/Vp)**2 #Drain current (in Ampere)
gmo = -2*IDSS/Vp #Transconductance for VGS = 0 (in Ampere per volt)
gm = gmo*(1 - VGS/Vp) #Transconductance (in Ampere per volt)
#Result
print "ID : ",round(ID*10**3,4),"mA."
print "gmo : ",round(gmo*10**3,1),"mS."
print "gm : ",round(gm*10**3,3),"mS."
```

In [24]:

```
#Variables
Vp = -4.5 #Pinch-off voltage (in volts)
IDSS = 9.0 * 10**-3 #Drain-source saturation current (in Ampere)
IDS = 3.0 * 10**-3 #Drain-source current (in Ampere)
#Calculation
VGS = Vp*(1-(IDS/IDSS)**0.5) #Gate-to-source voltage (in volts)
gm = -2*IDSS/Vp*(1 - VGS/Vp) #Transconductance (in Ampere per volt)
#Result
print "VGS : ",round(VGS,3),"V."
print "gm : ",round(gm*10**3,2),"mS."
```

In [26]:

```
#Variables
VGG = 1.5 #Gate supply voltage (in volts)
VDD = 15.0 #Drain supply voltage (in volts)
RD = 1.5 * 10**3 #Drain resistance (in ohm)
RG = 2.0 * 10**6 #Gate resistance (in ohm)
IDSS = 15.0 * 10**-3 #Drain current in saturation (in Ampere)
Vp = -4.0 #Pinch-off voltage (in volts)
VS = 0.0 #Source voltage (in volts)
#Calculation
VGS = -VGG #Gate-to-source voltage (in volts)
ID = IDSS*(1 - VGS/Vp)**2 #Drain current (in Ampere)
VD = VDD - ID*RD #Drain voltage (in volts)
VDS = VD - VS #Drain-to-source voltage (in volts)
#Result
print "Drain-source voltage : ",round(VDS,1),"V."
```

In [35]:

```
#Variables
VGS = VGG = -3.0 #Gate-source voltage (in volts)
IDSS = 12.0 * 10**-3 #Drain current in saturation (in Ampere)
Vp = -6.0 #pinch-off voltage (in volts)
VDD = 3.0 #Drain voltage (in volts)
RD = 3.5 * 10**3 #Drain resistance (in ohm)
#Calculation
ID = IDSS*(1 - VGS/Vp)**2 #Drain current (in Ampere)
VDS = VDD - ID*RD #Drain-source voltage (in volts)
VD = VDS #Drain voltage (in volts)
VG = VGG #Gate voltage (in volts)
VS = 0 #Source voltage (in volts)
#Result
print "ID = ",ID*10**3,"mA."
print "VDS = ",VDS,"V."
print "VD = ",VD,"V."
print "VG = ",VG,"V."
print "VS = ",VS,"V."
#Calculation error in the value of VDS and VD in the book.
```

In [36]:

```
#Variables
VDD = 25.0 #Drain Supply (in volts)
RD = 3.0 * 10**3 #Drain resistance (in ohm)
RS = 400.0 #Source resistance (in ohm)
ID = 2.0 * 10**-3 #Drain current (in Ampere)
#Calculation
VDS = VDD - ID*(RD + RS) #Drain-source voltage (in volts)
VGS = -ID*RS #Gate-source voltage (in volts)
#Result
print "Drain-source voltage : ",VDS,"V."
print "Gate-source voltage : ",VGS,"V."
```

In [46]:

```
#Variables
VDD = 25.0 #Drain voltage (in volts)
RG1 = 1.2 * 10**6 #Gate1 resistance (in ohm)
RG2 = 0.6 * 10**6 #Gate2 resistance (in ohm)
ID = 4.0 * 10**-3 #Drain current (in Ampere)
VDS = 8.0 #Drain-source voltage (in volts)
Vp = -4.0 #Pinch-off voltage (in volts)
#Calculation
VGS = Vp*(1 - (ID/IDSS)**0.5) #Gate-source voltage (in volts)
VG = VDD*RG2/(RG1 + RG2) #Gate voltage (in volts)
RS = (VG - VGS)/ID #Source voltage (in ohm)
#Result
print "RS : ",round(RS*10**-3,1),"kilo-ohm."
```

In [52]:

```
#Variables
Vp = -2.0 #pinch-off voltage (in volts)
IDSS = 5.0 * 10**-3 #Drain current in saturation (in Ampere)
RL = 910.0 #Load resistance (in ohm)
RF = 2.29 * 10**3 #Resistance (in ohm)
R1 = 12.0 * 10**6 #Resistance1 (in ohm)
R2 = 8.57 * 10**6 #Resistance2 (in ohm)
VDD = 24.0 #Drain supply voltage (in volts)
#Calculation
VG = VDD*R2/(R1 + R2) #Gate voltage (in volts)
ID = 4.46 * 10**-3 #Drain current (in Ampere)
VGS = VG - ID*RF #Gate-source voltage (in volts)
ID1 = (VG - VGS)/RF #Drain current at operating point (in Ampere)
#Result
print "Drain current at operating point : ",round(ID1*10**3,3),"mA."
print "Since , value of ID at operating point is almost equal to previously computed value of Id. Therefore , FET is operated in pinch-off region."
```

In [55]:

```
#Variables
gm = 2500.0 * 10**-6 #Transconductance (in siemens)
RL = 12.0 * 10**3 #Load resistance (in ohm)
#Calculation
A = -gm*RL #Voltage gain
#Result
print "Voltage gain : ",A,"."
```

In [57]:

```
#Variables
gm = 4000.0 * 10**-6 #Transconductance (in siemens)
RL = 15.0 * 10**3 #Load resistance (in ohm)
RD = 10.0 * 10**6 #Drain resistance (in ohm)
#Calculation
A = -gm*RD*RL/(RD + RL) #Voltage gain
#Result
print "VOltage gain : ",round(A,1),"."
```

In [62]:

```
#Variables
VGS = -1.0 #Gate-source voltage (in volts)
VDS = 4.0 #Drain-source voltage (in volts)
IDS = 1.0 * 10**-3 #Drain-source current (in Ampere)
gm = 5.0 * 10**-3 #Transconductance (in siemens)
RDS = 20.0 * 10**3 #Drain-source resistance (in ohm)
RG = 500.0 * 10**3 #Gate resistance (in ohm)
VDD = 10.0 #Drain supply voltage (in volts)
#Calculation
RS = abs(VGS/IDS) #Source resistance (in ohm)
RD = (VDD - VDS)/IDS - RS #Drain resistance (in ohm)
Av = -gm*(RD*RDS/(RD + RDS)) #Voltage gain
Rin = RG #Input impedance (in ohm)
Rout = RD*RDS/(RD + RDS) #Output impedance (in ohm)
#Result
print "RD : ",RD*10**-3,"kilo-ohm."
print "RS : ",RS*10**-3,"kilo-ohm."
print "Av : ",Av,"."
print "Rin : ",Rin*10**-3,"kilo-ohm."
print "Rout : ",Rout*10**-3,"kilo-ohm."
```

In [64]:

```
#Variables
RL = 25.0 * 10**3 #Load resistance (in ohm)
RS = 2.5 * 10**3 #Source Resistance (in ohm)
R1 = 4.0 * 10**6 #Resistance1 (in ohm)
R2 = 2.0 * 10**6 #Resistance2 (in ohm)
gm = 2500.0 * 10**-6 #Transconductance (in siemens)
#Calculation
Zin = R1*R2/(R1 + R2) #Input impedance (in ohm)
Zout = RS*1/gm/(RS + 1/gm) #Output impedance (in ohm)
Av = gm*RS*RL/(RS + RL)/(1 + gm*(RS*RL)/(RS + RL)) #Voltage gain
#Result
print "Input impedance : ",round(Zin*10**-6,2),"Mega-ohm."
print "Output impedance : ",round(Zout),"ohm."
print "Voltage gain : ",round(Av,2),"."
```

In [69]:

```
#Variables
IDon = 5.0 * 10**-3 #Drain current in on state (in Ampere)
VGS = 8.0 #Gate-source voltage (in volts)
VGST = 4.0 #Gate-source T voltage (in volts)
VGS1 = 6.0 #Gate-source voltage1 (in volts)
#Calculation
K = IDon/(VGS - VGST)**2 #K (in Ampere per volt-square)
ID = K*(VGS1 - VGST)**2 #Drain current (in Ampere)
#Result
print "Drain current : ",round(ID*10**3,2),"mA."
```

In [83]:

```
#Variables
IDon = 4.0 * 10**-3 #Drain current in on state (in Ampere)
VGS = 8.0 #Gate-source voltage (in volts)
VGST = 4.0 #Gate-source T voltage (in volts)
gm = 2000.0 * 10**-6 #Transconductance (in siemens)
VDD = 15.0 #Drain supply voltage (in volts)
RD = 6.0 * 10**3 #Drain resistance (in ohm)
RD2 = 40.0 * 10**3 #Resistance (in ohm)
RD1 = 60.0 * 10**3 #Resistance (in ohm)
#Calculation
VGS = VDD/(RD1 + RD2)*RD2 #Gate-source voltage (in volts)
K = IDon/4**2 #K (in Ampere per volt-square)
ID = K*(VGS - VGST)**2 #Drain current (in Ampere)
VDS = VDD - ID*RD #Drain-source voltage (in volts)
Av = gm*RD #Voltage gain
Vout = Av*0.08 #Output voltage (in volts)
#Result
print "VGS : ",VGS,"V."
print "ID : ",ID,"A."
print "VDS : ",abs(VDS),"V."
print "Av : ",Av,"."
print "Vout : ",Vout,"V."
```