Chapter - 6 : Field Effect Devices (JFET)

Example 6.1 : Page No 351

In [1]:
from __future__ import division
# Given data
V_D = 10 # in V
R = 10*10**3 # in ohm
I_D = V_D/R # in A
V_P = 4 # in V
I_DSS = 10 # in mA
I_DSS = I_DSS * 10**-3 # in A
R_DS  = V_P/I_DSS # in ohm
V_D = (R_DS/(R+R_DS))*V_D # in V
print "The drain voltage = %0.3f V" %V_D
The drain voltage = 0.385 V

Example 6.2 : Page No 353

In [2]:
# Given data
V_P = 4 # in V
I_DSS = 10 # in mA
I_DSS  =I_DSS  *10**-3 # in A
R_DS = V_P/I_DSS # in ohm
V_DD = 30 # in V
I_D = 2.5 # in mA
R_D = 2 # in kohm
V_D = V_DD - (I_D*R_D) # in V
print "The drain voltage = %0.f V" %V_D
The drain voltage = 25 V

Example 6.3 : Page No 355

In [14]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
# Given data
R2 = 1 # in M ohm
R2 = R2*10**6 # in ohm
R1 = 2 # in M ohm
R1 = R1*10**6 # in ohm
V_DD = 30 # in V
R_D= 1*10**3 # in ohm
V_G = (R2/(R1+R2))*V_DD # in V
R_S= 2*10**3 # in ohm
I_D= V_G/R_S # in A
V_D= V_DD-I_D*R_D # in V
V_DS= V_D-V_G # in V
R_D= R_D+R_S # in ohm
I_Dsat=V_DD/R_D*10**3 # in mA
print "The value of I_D = %0.f mA" %(I_D*10**3)
print "The value of V_DS = %0.f volts" %V_DS
print "Thus the Q-point = (",int(V_DS),"V,",int(I_D*10**3),"mA)" 
V_D= np.arange(0,V_DD,0.1) # in V
I_D= (V_DD-V_D)/R_D*10**3 # in mV
plt.plot(V_D,I_D) 
plt.plot([0,15],[5,5], '--')
plt.plot([15,15],[0,5], '--')
plt.ylabel("I_D in mA")
plt.xlabel("V_DS in volts")
plt.title("DC load line")
print "DC load line shown in figure"
The value of I_D = 0 mA
The value of V_DS = 30 volts
Thus the Q-point = ( 30 V, 0 mA)
DC load line shown in figure

Example 6.4 : Page No 358

In [21]:
# Given data
V_DD = 15 # in V
R = 3 # in kohm
I_D = V_DD/R # in mA
R_D = 1 # in kohm
V_D = V_DD - (I_D*R_D) # in V
print "The drain voltage = %0.f V" %V_D
The drain voltage = 10 V

Example 6.5 : Page No 362

In [22]:
# Given data
R_D = 3.6 # in K ohm
R_L = 10 # in K ohm
r_d = (R_D*R_L)/(R_D+R_L) # in K ohm
g_m = 5000 # in µS
g_m= g_m*10**-6 # in S
A_v = g_m *r_d 
V_out = A_v # in V
print "The output volatge = %0.1f mV" %(V_out*10**3)
The output volatge = 13.2 mV

Example 6.6 : Page No 370

In [23]:
# Given data
V_GS = -2 # in V
V_P = -5 # in V
V_DS = V_GS-V_P # in V
I_DSS = 8 # in mA
I_DS = I_DSS*( 1-(V_GS/V_P) )**2 # in mA
print "The drain current = %0.2f mA" %I_DS
The drain current = 2.88 mA

Example 6.7 : Page No 370

In [29]:
# Given data
I_DSS = 8.4 # in mA
I_DSS= I_DSS*10**-3 # in A
V_P = -3 # in V
V_GS = -1.5 # in V
I_D = I_DSS*( 1-(V_GS/V_P) )**2 # in A
print "The drain current = %0.1f mA" %(I_D*10**3)
V_GS1 = 0 # in V
g_mo = -( (2*I_DSS)/V_P ) # in A/V
g_m = g_mo*(1-(V_GS/V_P)) # in A/V
print "Transconductacne  = %0.1f mA/V" %(g_m*10**3)
The drain current = 2.1 mA
Transconductacne  = 2.8 mA/V

Example 6.8 : Page No 371

In [2]:
# Given data
V_P = -4 # in V
V_GS = -2 # in V
I_DSS = 10 # in mA
I_DSS= I_DSS*10**-3 # in A
I_D = I_DSS*(1-(V_GS/V_P))**2 # in A
print "The drain current = %0.1f mA" %(I_D*10**3)
V_DS = V_P # in V
print "The minimum value of V_DS = %0.f V" %V_DS
The drain current = 10.0 mA
The minimum value of V_DS = -4 V

Example 6.9 : Page No 371

In [33]:
from math import sqrt
# Given data
I_DSS = -40 # in mA
V_P = 5 # in V
I_D = -15 # in mA
V_GS = V_P*(1-sqrt(I_D/I_DSS)) # in V
print "The gate source voltage = %0.3f V" %V_GS
The gate source voltage = 1.938 V

Example 6.10 : Page No 372

In [34]:
# Given data
I_DSS = 4 # in mA
I_DSS= I_DSS*10**-3 # in A
V_P = -4 # in V
V_GG = -2 # in V
V_GS = V_GG # in V
print "The value of V_GS = %0.f V" %V_GS
I_D = I_DSS*(1-(V_GS/V_P))**2 # in A
print "The value of I_D = %0.f mA" %(I_D*10**3)
V_DD = 10 # in V
R_D = 5 # in kohm
R_D = R_D * 10**3 # in ohm
V_DS = V_DD - (I_D*R_D) # in V
print "The value of V_DS = %0.f V" %V_DS
The value of V_GS = -2 V
The value of I_D = 1 mA
The value of V_DS = 5 V

Example 6.11 : Page No 373

In [40]:
from sympy import symbols, solve, N#Given data
I_D= symbols('I_D')
# Given data
V_DD= 20 # in V
R1= 2.1*10**6 # in Ω
R2= 270*10**3 # in Ω
R_D= 4.7 # in kΩ
R_S= 1.5 # in kΩ
I_DSS= 8 # in mA
V_P= -4 # in V
V_G= V_DD*R2/(R1+R2) # in V
# V_GS= V_G-R_S*I_D    (as Vs= I_D*R_S) and 
# I_D= I_DSS*(1-V_GS/V_P)**2 # in A
# I_D= I_DSS*(1-(V_G-R_S*I_D)/V_P)**2 # in mA  or
# I_D= I_D**2*I_DSS*R_S**2/V_P**2  + I_D*(2*R_S*I_DSS/V_P-2*V_G*R_S*I_DSS/V_P**2-1) + I_DSS*(1+V_G**2/V_P**2-2*V_G/V_P)
expr= I_D**2*I_DSS*R_S**2/V_P**2  + I_D*(2*R_S*I_DSS/V_P-2*V_G*R_S*I_DSS/V_P**2-1) + I_DSS*(1+V_G**2/V_P**2-2*V_G/V_P)
I_D , x1= solve(expr, I_D)
I_DQ= I_D # in mA
print "The value of I_DQ = %0.2f mA" %I_DQ
V_GSQ= V_G-R_S*I_D # in V
print "The value of V_GSQ = %0.3f V" %V_GSQ
V_DSQ= V_DD-I_DQ*(R_D+R_S) # in V
print "The value of V_DSQ = %0.2f V" %V_DSQ
V_S= I_D*R_S # in V
V_D= V_S+V_DSQ #in V
V_DS= V_D-V_G # in V
print "The value of V_S = %0.3f V" %V_S
print "The value of V_D = %0.3f V" %V_D
print "The value of V_DS = %0.3f V" %V_DS
The value of I_DQ = 2.65 mA
The value of V_GSQ = -1.698 V
The value of V_DSQ = 3.57 V
The value of V_S = 3.976 V
The value of V_D = 7.542 V
The value of V_DS = 5.263 V

Example 6.12 : Page No 374

In [14]:
from sympy import symbols, solve, N
I_D= symbols('I_D')
# Given data
V_DD= 20 # in V
I_DSS= 9 # in mA
V_BB= -10 # in V
R_S= 1.5 # in kΩ
R_D= 1.8 # in kΩ
V_P= -3 # in V
V_G=0 
# V_S= I_D*R_S+V_BB 
# V_GS= V_G-V_S or
# V_GS= V_G-(I_D*R_S+V_BB)
# I_D= I_DSS*(1-V_GS/V_P)**2 or
# I_D**2*R_S**2 + I_D*[2*R_S*V_BB+2*V_P*R_S-V_P**2/I_DSS]+[V_P**2+V_BB**2+2*V_BB*V_P]
expr = I_D**2*R_S**2 + I_D*(2*R_S*V_BB+2*V_P*R_S-V_P**2/I_DSS)+(V_P**2+V_BB**2+2*V_BB*V_P)
I_D , x1= solve(expr, I_D)
I_DQ= I_D # in mA
print "The value of I_DQ = %0.2f mA" %I_DQ
V_GS= V_G-(I_D*R_S+V_BB) # in V
V_GSQ= V_GS # in V
print "The value of V_GSQ = %0.3f volts" %V_GSQ
V_DS= V_DD-I_D*(R_D+R_S)-V_BB # in V
print "The value of V_DS = %0.3f volts" %V_DS
V_S= I_D*R_S+V_BB # in V
print "The value of V_S = %0.3f volts" %V_S
V_D= V_S+V_DS # in V
print "The value of V_D = %0.3f volts" %V_D
The value of I_DQ = 6.91 mA
The value of V_GSQ = -0.371 volts
The value of V_DS = 7.185 volts
The value of V_S = 0.371 volts
The value of V_D = 7.555 volts

Example 6.13 : Page No 376

In [15]:
# Given data
V_S = 1.7 # in V
R_S = 0.51 # in kohm
R_S= R_S*10**3 # in ohm
V_DD = 18 # in V
R_D = 2*10**3 # in ohm
V_GS = -1.7 # in V
V_P = - 4.5 # in V
I_DQ = V_S/R_S #in A
print "The value of I_DQ = %0.2f mA" %(I_DQ*10**3)
V_GSQ = -V_S # in V
print "The value of V_GSQ = %0.1f V" %V_GSQ
I_DSS = I_DQ/( (1-(V_GS/V_P))**2 ) # in A
print "The value of I_DSS = %0.1f mA" %(I_DSS*10**3)
V_D = V_DD - (I_DQ*R_D) # in V
print "The value of V_D = %0.2f V" %V_D
V_DS = V_D-V_S # in V
print "The value of V_DS = %0.2f V" %V_DS
The value of I_DQ = 3.33 mA
The value of V_GSQ = -1.7 V
The value of I_DSS = 8.6 mA
The value of V_D = 11.33 V
The value of V_DS = 9.63 V

Example 6.14 : Page No 377

In [16]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
# Given data
I_DSS = 12 # in mA
V_GS = 0 # in V
I_D = 0 # in mA
V_P = -6 # in V
V_GS= np.arange(0,V_P,-0.1) # in V
I_D = I_DSS*(1-(V_GS/V_P))**2 # mA
plt.subplot(1,2,1)
plt.plot(V_GS,I_D) 
plt.xlabel('V_GS in volts')
plt.ylabel('I_D in mA')
plt.title('n-channel device')
V_P = 6 # in V
V_GS= np.arange(0,V_P,0.1) # in V
I_D = I_DSS*(1-(V_GS/V_P))**2 # mA
plt.subplot(1,2,2)
plt.plot(V_GS,I_D) 
plt.xlabel("V_GS in volts")
plt.ylabel("I_D in mA")
plt.title("p-channel device")
print ""

Example 6.15 : Page No 378

In [17]:
# Given data
I_DSS = 30 # in mA
V_GS = -5 # in V
V_GS_off = -8 # in V
I_D = I_DSS*(1-(V_GS/V_GS_off))**2 # in mA
print "The drain current = %0.3f mA" %I_D
The drain current = 4.219 mA

Example 6.16 : Page No 378

In [22]:
from math import sqrt
# Given data
I_D = 1.5 # in mA
I_DSS = 5 # in mA
V_P = -2 # in V
V_GS = V_P*(1-sqrt(I_D/I_DSS)) # in V
V_G = 0 # in V
V_S = V_G-V_GS # in V
R_S = V_S/I_D # in kohm
print "The source resistance = %0.f ohm" %(R_S*10**3)
V_DD = 20 # in V
V_DS= 10 # in V
R_D = (V_DD-(V_DS+(I_D*R_S)))/(I_D) # in kohm
print "The diode resistance = %0.f K ohm" %R_D
The source resistance = 603 ohm
The diode resistance = 6 K ohm

Example 6.17 : Page No 379

In [23]:
from math import sqrt
# Given data
I_D = 0.8 # in mA
I_D= I_D*10**-3 # in A
I_DSS = 1.645 # in mA
I_DSS= I_DSS*10**-3 # in A
V_P = -2 # in V
V_GS = V_P * (1-sqrt(I_D/I_DSS)) # in V
print "The gate source voltage = %0.2f V" %V_GS
g_mo = -((2*I_DSS)/V_P) # in A/V
g_m = g_mo*(1-(V_GS/V_P)) # in A/V
print "The transconductance = %0.2f mA/V" %(g_m*10**3)
R_S = -(V_GS/I_D) # in ohm
print "The source resistance = %0.f ohm" %R_S
AdB= 20 # in dB
A= 10**(AdB/20) 
R_D= A/g_m # in ohm
print "The value of R_D = %0.2f kΩ" %(R_D*10**-3)

# Note: There is calculation error to find the value of R_S in the book . So the answer in the book is wrong
The gate source voltage = -0.61 V
The transconductance = 1.15 mA/V
The source resistance = 757 ohm
The value of R_D = 8.72 kΩ

Example 6.18 : Page No 381

In [24]:
# Given data
V_GG = 2 # in V
V_GS = -V_GG # in V
print "The value of V_GS = %0.f V" %V_GS
I_DSS = 10 # in mA
V_P = -8 # in V
I_D = I_DSS*(1-(V_GS/V_P))**2 # in mA
I_DQ= I_D # in mA
print "The value of I_DQ = %0.3f mA" %I_DQ
R_D = 2 # in K ohm
V_DD = 16 # in V
V_DS = V_DD - (I_D*R_D) # in V
print "The value of V_DS = %0.2f V" %V_DS
V_D = V_DS # in V
print "The value of V_D = %0.2f V" %V_D
V_G = V_GS # in V
print "The value of V_G = %0.f V" %V_G
V_S = 0 # in V
print "The value of V_S = %0.f V" %V_S
The value of V_GS = -2 V
The value of I_DQ = 5.625 mA
The value of V_DS = 4.75 V
The value of V_D = 4.75 V
The value of V_G = -2 V
The value of V_S = 0 V

Example 6.19 : Page No 381

In [26]:
# Given data
V_GS = 10 # in V
I_G = 0.001 # in µA
R_GS = V_GS/I_G # in MΩ
print "The gate source resistance = %0.f MΩ" %R_GS
The gate source resistance = 10000 MΩ

Example 6.20 : Page No 382

In [27]:
# Given data
del_VDS = 1.5 # in V
del_ID = 120 * 10**-6 # in A
r_d = del_VDS/del_ID # in ohm
r_d = r_d * 10**-3 # in kohm
print "The drain resistance of the JFET = %0.1f K ohm" %r_d
The drain resistance of the JFET = 12.5 K ohm

Example 6.21 : Page No 382

In [28]:
# Given data
I_DSS  = 8.4 # in mA
V_P = -3 # in V
V_GS = -1.5 # in V
I_D = I_DSS*(1-(V_GS/V_P))**2 # in mA
g_mo = -( (2*I_DSS)/V_P ) # in mA/V
g_m = g_mo*(1-(V_GS/V_P)) # in mA/V
print "The value of g_m = %0.1f mA/V" %g_m
The value of g_m = 2.8 mA/V

Example 6.22 : Page No 383

In [29]:
from sympy import symbols, solve, N
#Given data
V_GS= symbols('V_GS')
# Given data
V_DD= 20 # in V
I_DSS= 9 # in mA
V_P= -3 # in V
R1= 0.3*10**3 # in kΩ
R2= 1.7*10**3 #in kΩ
R_D= 3.2 # in kΩ
R=1 # in kΩ
V_G= V_DD*R1/(R1+R2) # in V
#I_D= I_DSS*[1-V_GS/V_P]**2                             (i)
# V_G= V_GS+I_D*R or I_D= (V_G-V_GS)/R     (ii)
# From (i) and (ii)
#V_GS*1/V_P**2+V_GS*[1/(R*I_DSS)-2/V_P]+[1-V_G/(R*I_DSS)]=0
expr= V_GS**2*(R*I_DSS/V_P**2)+V_GS*(1-2*R*I_DSS/V_P)+(R*I_DSS-V_G)
x1 , V_GS= solve(expr, V_GS)
I_D= I_DSS*(1-V_GS/V_P)**2 # in mA
print "The value of I_D = %0.f mA" %I_D
V_S= I_D*R #in V
V_D= V_DD-I_D*R_D # in V
V_DS= V_D-V_S # in V
gm= -2*I_DSS/V_P*(1-V_GS/V_P) # in mA/V
print "The value of V_DS = %0.1f volts" %V_DS
print "The transconductance = %0.f mA/V" %gm
The value of I_D = 4 mA
The value of V_DS = 3.2 volts
The transconductance = 4 mA/V

Example 6.23 : Page No 385

In [30]:
# Given data
r_d = 25 # in kΩ
R1 = r_d # in kΩ
R2 = r_d # in kΩ
g_m = 2 #mA/V
g_m= g_m*10**-3 # in A/V
R_L = (r_d*R1*R2)/(r_d*R1+R1*R2+R2*r_d) # in kΩ
R_L= R_L*10**3 # in Ω
A_v = -g_m*R_L 
print "The voltage gain = %0.2f" %A_v
The voltage gain = -16.67

Example 6.24 : Page No 386

In [31]:
# Given data
V_GS = 15 # in V
I_G = 1 # in nA
I_G =I_G * 10**-9 # in A
R_in = V_GS/I_G # in Ω
print "Input resistance = %0.f GΩ" %(R_in*10**-9)
Input resistance = 15 GΩ

Example 6.25 : Page No 386

In [32]:
# Given data
I_DSS = 20 # in mA
V_P = 4 # in V
I_D = I_DSS # in mA
print "The maximum drain current = %0.f mA" %I_D
V_GS = -V_P # in V
print "The gate source cut off voltage = %0.f volts" %V_GS
R_DS = V_P/I_DSS # in kΩ
print "The value of ohmic resistance = %0.f Ω" %(R_DS*10**3)
The maximum drain current = 20 mA
The gate source cut off voltage = -4 volts
The value of ohmic resistance = 200 Ω

Example 6.26 : Page No 386

In [33]:
# Given data
I_DSS= 16*10**-3 # in A
V_GSoff= -6 #in V
V_GS= V_GSoff/2 # in V
I_D= I_DSS*(1-V_GS/V_GSoff)**2 # in A
print "The drain current = %0.f mA" %(I_D*10**3)
V_GS= abs(V_GSoff)/2 # in V
print "The gate voltage = %0.f volts" %V_GS
The drain current = 4 mA
The gate voltage = 3 volts

Example 6.27 : Page No 387

In [34]:
from __future__ import division
# Given data
V_DD = 15 # in V
R_D = 10 # in kohm
R_D = R_D * 10**3 # in ohm
I_D = V_DD/R_D # in A
print "The drain current = %0.1f mA" %(I_D*10**3)
V_D = V_DD - I_D*R_D # in V
print "The drain voltage = %0.f V" %V_D
The drain current = 1.5 mA
The drain voltage = 0 V

Example 6.28 : Page No 388

In [35]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
# Given data
R2 = 1 # in M ohm
R2 = R2 * 10**6 # in ohm
R1 = 1.5 # in M ohm
R1 = R1 * 10**6 # in ohm
V_DD = 25 # in V
V_G = (R2*V_DD)/(R1+R2) # in V
R_S = 22 # in kohm
R_S = R_S * 10**3 # in ohm
I_D = V_G/R_S # in A
print "The drain current = %0.2f mA" %(I_D*10**3)
R_D = 10 # in  kohm
R_D = R_D * 10**3 # in ohm
V_D = V_DD - (I_D*R_D) #in V
V_S = 10 # in V
V_DS = V_D - V_S # in V
print "The Drain source voltage = %0.1f V" %V_DS
print "Thus the Q-point is : (",round(V_DS,1),"V,",round(I_D*10**3,2),"mA)"
I_Dsat = V_DD/R_D # in A
V_DS = V_DD # in V
V_D= np.arange(0,25,0.1) # in V
I_D= (V_DD-V_D)/R_D*10**3 # in mA
plt.plot(V_D,I_D) 
plt.xlabel("V_DS in volts") 
plt.ylabel("I_D in mA") 
plt.title("DC load line") 
print "DC load line shown in figure"
The drain current = 0.45 mA
The Drain source voltage = 10.5 V
Thus the Q-point is : ( 10.5 V, 0.45 mA)
DC load line shown in figure

Example 6.29 : Page No 389

In [36]:
from __future__ import division
# Given data
V_SS = 25 # in V
V_GS = 0 # in V
R_S = 18 # in kohm
R_S = R_S * 10**3 # in ohm
I_D = (V_SS-V_GS)/R_S # in A
print "The drain current = %0.2f mA" %(I_D*10**3)
V_DD = 25 # in V
R_D = 7.5 # in kohm
R_D = R_D * 10**3 # in ohm
V_D = V_DD - (I_D*R_D) # in V
print "The drain voltage = %0.2f V" %V_D
The drain current = 1.39 mA
The drain voltage = 14.58 V

Example 6.30 : Page No 390

In [37]:
# Given data
R_D = 1 # in kohm
R_D = R_D * 10**3 # in ohm
V_in = 2 # in mV
V_in = V_in * 10**-3 # in V
R_L = 10 # in kohm
R_L = R_L * 10**3 # in ohm
r_d = (R_D*R_L)/(R_D+R_L) # in ohm
g_m = 3000 #in µS
g_m = g_m * 10**-6 # in S
A_v = g_m*r_d 
V_out = A_v*V_in # in V
V_out = V_out * 10**3 # in mV
print "The output Voltage = %0.2f mV" %V_out
The output Voltage = 5.45 mV