Chapter 7 Junction Field Effect Transistor

Exa 7.1 page No 418

In [5]:
from __future__ import division
from numpy import arange
%matplotlib inline
from matplotlib.pyplot import plot,xlabel,ylabel,title,show
# Given data
I_DSS = 14# mA
V_GSoff = -6# V
V_GS= arange(0,-0.1+V_GSoff,-0.1) # V
I_D= I_DSS*(1-V_GS/V_GSoff)**2# mA
# Ploting of the dc transfer characteristics
plot(V_GS,I_D)
xlabel("V_GS in volts")
ylabel("I_D in mA")
title("Transfer characteristics of a JFET")
show()
print "Transfer characteristics of a JFET shown in figure."
Transfer characteristics of a JFET shown in figure.

Exa 7.2 page No 418

In [6]:
from __future__ import division
# Given data
I_DSS = 30# mA
V_GSoff = -8# V
V_GS = -5# V
# The value of drain current 
I_D = I_DSS * ((1-(V_GS/V_GSoff))**2)# mA
print "The value of drain current = %.2f mA"%I_D
The value of drain current = 4.22 mA

Exa 7.3 page No 418

In [8]:
from __future__ import division
from math import sqrt
# Given data
I_D = 1.5# mA
I_D = I_D*10**-3# A
V_DS = 10# V
I_DSS = 5# mA
I_DSS = I_DSS * 10**-3# A
V_P = -2# V
V_DD = 20# V
# I_D = I_DSS*((1-(V_GS/V_P))**2)
# ((V_GS/2)+1) = sqrt(I_D/I_DSS)
V_GS = 2*( (sqrt(I_D/I_DSS))-1 )# V
V_G = 0# V
# V_GS = V_G-V_S
V_S = -V_GS# V
R_S = V_S/I_D# ohm
R_S= R_S*10**-3# k ohm
print "The value of R_S = %.2f k ohm"%R_S
R_S= R_S*10**3# ohm
# V_DD = (I_D*R_D) + V_DS + (I_D*R_S)
R_D = (V_DD-V_DS-(I_D*R_S))/I_D# ohm
R_D = round(R_D * 10**-3)# k ohm
print "The value of R_D = %.2f k ohm"%R_D
The value of R_S = 0.60 k ohm
The value of R_D = 6.00 k ohm

Exa 7.4 page No 419

In [1]:
from __future__ import division
# Given data
V_DD = 30# V
R_D = 5# k ohm
R_D = R_D * 10**3# ohm
I_D = 2.5# mA
I_D = I_D * 10**-3# A
R_S = 200# ohm
# V_DD = (I_D*R_D) + V_DS + (I_D*R_S)
V_DS = V_DD - (I_D*(R_D+R_S))# V
print "The value of V_DS = %.2f V"%V_DS
# The value of V_GS 
V_GS = -I_D*R_S# V
print "The value of V_GS = %.2f V"%V_GS
The value of V_DS = 17.00 V
The value of V_GS = -0.50 V

Exa 7.5 page No 420

In [4]:
from math import sqrt,pi
from __future__ import division
# Given data
Alpha = 3*10**-6# m
N_D = 10**21# electrons/cm**3
q = 1.6 * 10**-19# C
Epsilon_o = (36*pi*10**9)**-1
Epsilon = 12*Epsilon_o
# The pinch of voltage 
V_P = ((q*N_D)/(2*Epsilon))*(Alpha**2)# V
print "The pinch of voltage = %.2f V"%V_P
# Part (ii)
VGSbyVp= 1/2
# V_GS = ((1-b/Alpha)**2)*V_P
# The channel half width 
b = Alpha*( 1-sqrt(VGSbyVp))# m
b=b*10**2# cm
print "The channel half width = %.2e cm"%b
The pinch of voltage = 6.79 V
The channel half width = 8.79e-05 cm

Exa 7.6 page No 420

In [5]:
from math import sqrt,pi
from __future__ import division
# Given data
V_P = -2# V
I_DSS = 1.65# mA
I_D = 0.8# mA
V_DD = 24# V
# I_D =I_DSS*(( 1-(V_GS/V_P) )**2)
V_GS = V_P*(1-sqrt(I_D/I_DSS))
print "The value of V_GS = %.2f V"%V_GS
# Part (b)
g_mo = (-2*I_DSS)/V_P# mA/V
g_m = g_mo*(1-(V_GS/V_P))# mA/V
print "The value of gm = %.2f mA/V"%g_m
# Part (c)
# The value of R_S 
R_S = -V_GS/(I_D*10**-3)# ohm
print "The value of R_S = %.2f ohm"%R_S
# Part (d)
Av= 20##voltage gain = %.2f dB
Av= 10**(Av/20)
# r_d >> Rd and |Av|= gm*Rd
Rd= Av/g_m# k ohm
print "The value of Rd = %.2f k ohm"%Rd

# Note: The value of R_S in the book is quite different from the coding output because in the book the calculated value of V_GS is not correct, correct value is -0.61
The value of V_GS = -0.61 V
The value of gm = 1.15 mA/V
The value of R_S = 759.22 ohm
The value of Rd = 8.70 k ohm

Exa 7.7 page No 421

In [6]:
from __future__ import division
# Given data
I_DSS =10# mA
V_P = -8# V
V_GG = 2# V
V_GS = -V_GG# V
V_DD = 16# V
R_D = 2# k ohm
R_D = R_D * 10**3# ohm
print "The value of V_GS = %.2f V"%V_GS
# Part (b)
# The value of I_DQ 
I_DQ = I_DSS * (1-V_GS/V_P)**2# mA
print "The value of I_DQ = %.2f mA"%I_DQ
# Part (c)
# The value of V_DS 
V_DS = V_DD - (I_DQ*10**-3*R_D)# V
print "The value of V_DS = %.2f V"%V_DS
# Part (d)
# The value of V_D 
V_D = V_DS# V
print "The value of V_D = %.2f V"%V_D
# Part (e)
# The value of V_G 
V_G = V_GS# V
print "The value of V_G = %.2f V"%V_G
# Part (f)
# The value of V_S 
V_S = 0# V
print "The value of V_S = %.2f V"%V_S
The value of V_GS = -2.00 V
The value of I_DQ = 5.62 mA
The value of V_DS = 4.75 V
The value of V_D = 4.75 V
The value of V_G = -2.00 V
The value of V_S = 0.00 V

Exa 7.8 page No 422

In [7]:
from __future__ import division
# Given data
V_GS = 10# V
I_G = 0.001# µA
I_G = I_G * 10**-6# A
# The resistance between gate and source 
R_GS = V_GS/I_G# ohm
R_GS = R_GS * 10**-6# Mohm
print "The resistance between gate and source = %.2f M ohm"%R_GS
The resistance between gate and source = 10000.00 M ohm

Exa 7.9 page No 422

In [8]:
from __future__ import division
# Given data
delV_DS = 1.5# V
delI_D = 120# µA
delI_D = delI_D*10**-6# A
# The ac drain resistance of the JFET 
r_d = delV_DS/delI_D# ohm
r_d= r_d*10**-3# k ohm
print "The ac drain resistance of the JFET = %.2f k ohm"%r_d
The ac drain resistance of the JFET = 12.50 k ohm

Exa 7.10 page No 422

In [9]:
from __future__ import division
# Given data
I_D1 = 1.2# mA
I_D2 = 1.5# mA
# change = %.2f gate to source voltage,
delI_D = I_D2-I_D1# mA
V_GS2 = -4.10# V
V_GS1 = -4.25# V
delV_GS = V_GS2-V_GS1# V
# The transconductance 
g_m = delI_D/delV_GS# mA/V
print "The transconductance = %.2f mA/V"%g_m
The transconductance = 2.00 mA/V

Exa 7.11 page No 423

In [10]:
from __future__ import division
# Given data
I_DSS = 8.4# mA
V_P = -3# V
V_GS = -1.5# V
# The value of I_D,
I_D = I_DSS*((1-(V_GS/V_P))**2)# mA
print "The value of I_D = %.2f mA"%I_D
g_mo = (-2*I_DSS)/V_P# mA/V
# The value of g_m 
g_m = g_mo*(1-(V_GS/V_P))# mA/V
print "The value of g_m = %.2f mA/V"%g_m
The value of I_D = 2.10 mA
The value of g_m = 2.80 mA/V

Exa 7.12 page No 424

In [11]:
from __future__ import division
# Given data
rho = 10# ohm-cm
epsilon_o = 8.86*10**-12# c**2/Nm**2
a = 2*10**-4# cm
# V_P= q*N_A*a**2/(2*epsilon)       (i)
#  and sigma= n*miu*q = N_A*miu*q => N_A= 1/(q*miu*rho)    (ii)
# From eq(i) and (ii), V_P = (a**2)/(2*miu_p*Epsilon*rho)
miu_p= 500# cm**2/V-sec  (for Si)
epsilon= 12*epsilon_o## for Si
# The pinch off voltage for Si 
V_P = (a**2)/(2*miu_p*epsilon*rho)##in V
print "Part (a) : The pinch off voltage for Si = %.2f volts"%V_P
miu_p= 1800# cm**2/V-sec  (for Ge)
epsilon= 16*epsilon_o## for Ge
# The pinch off voltage for Ge 
V_P = (a**2)/(2*miu_p*epsilon*rho)##in V
print "Part (b) : The pinch off voltage for Ge = %.2f volts"%V_P
Part (a) : The pinch off voltage for Si = 0.04 volts
Part (b) : The pinch off voltage for Ge = 0.01 volts

Exa 7.14 page No 425

In [12]:
from __future__ import division
# Given data
I_DSS = 16*10**-3# A
V_P = 4# V
V_GS= 2.86##in V
Yos = 25# µS
Yos= Yos* 10**-6# S
R_S= 2.2*10**3# ohm
#gm = gmo * (1-(V_GS/V_P)) or
gm= 2*I_DSS/V_P*(1-V_GS/V_P)# A/V
gm= gm*10**3# mA/V
print "Part (i) : The value of gm = %.2f mS or mA/V"%gm
gm= gm*10**-3# A/V
r_d = 1/Yos# ohm
r_d= r_d*10**-3# k ohm
print "The value of r_d = %.2f k ohm"%r_d
r_d= r_d*10**3# ohm
# Part (ii)
Zi = 1# Mohm
miu = r_d*gm
Zof_int= r_d/(1+miu)
# The value of Zo 
Zo= Zof_int*R_S/(Zof_int+R_S)# ohm
# The value of Av
Av= miu*R_S/(r_d+(1+miu)*R_S)
print "Part (ii) : The value of Zi = %.2f M ohm"%Zi
print "Part (iii) : The value of Zo = %.2f ohm"%Zo
print "Part (iv) : The value of Av is : %.2f"%Av
Part (i) : The value of gm = 2.28 mS or mA/V
The value of r_d = 40.00 k ohm
Part (ii) : The value of Zi = 1.00 M ohm
Part (iii) : The value of Zo = 362.38 ohm
Part (iv) : The value of Av is : 0.83

Exa 7.16 page No 427

In [14]:
from math import sqrt,pi,atan
from __future__ import division
# Given data
g_m = 2*10**-3# A/V
r_d = 10# k ohm
r_d = r_d * 10**3# ohm
R_D = 50# k ohm
R_D = R_D * 10**3# ohm
R_L = 50# k ohm
R_L = R_L * 10**3# ohm
f = 1# kHz
f = f * 10**3# Hz
C = 2# nF
C = C * 10**-9# F
omega= 2*pi*f# radian/sec
R = (r_d*R_D*R_L)/( (r_d*R_D)+(R_D*R_L)+(R_L*r_d) )# ohm
# The voltage gain,
Av = -g_m*R
print "Part (a) : The voltage gain = %.2f"%Av
# Part (b) For small value of Cb, 
Av = -g_m*( (r_d*R_D)/(r_d+R_D) )
Ro = (r_d*R_D)/(r_d+R_D)# ohm
X_C = 1/(omega*C)# ohm
Av= abs(Av)*R_L/(-1J*X_C+Ro+R_L)
Mag_Av= abs(Av)## magnitude of voltage gain
Phase_Av= atan(Av.imag/Av.real)*180/pi## phase angle of voltage gain = %.2f °
print "Part (b) : Magnitude of voltage gain is : %.2f"%Mag_Av
print "The phase angle of voltage gain = %.2f degree"%Phase_Av
Part (a) : The voltage gain = -14.29
Part (b) : Magnitude of voltage gain is : 8.45
The phase angle of voltage gain = 53.76 degree

Exa 7.17 page No 428

In [17]:
from __future__ import division
from sympy import symbols,solve
from math import ceil
# Given data
V_DD = 30# V
R_D = 12# k ohm
R_S= 1.5# k ohm
V_GS = -0.47# V
V_P = -2.4# V
I_DSS = 3# mA
ID= symbols('ID')
I_D= ID-I_DSS*(1-(V_GS/V_P)*ID)**2
# On solving equation by polynomial method, quiescent drain current 
I_D= solve(I_D,ID)[0] # mA
print "The quiescent drain current = %.2f mA"%I_D
V_D= round(V_DD-I_D*R_D)##in V
V_S= -V_GS*R_S# V
# The quiescent drain to source voltage 
V_DS= ceil(V_D-V_S)# V
print "The quiescent drain to source voltage = %.2f volts"%V_DS
# gm= gmo*(1-V_GS/V_P)= -2*I_DSS/V_P*(1-V_GS/V_P)
gm=-2*I_DSS/V_P*(1+V_S/V_P)##in mA/V
# The small signal voltage gain 
Av= -gm*R_D
print "The small signal voltage gain is : %.2f"%Av
The quiescent drain current = 1.50 mA
The quiescent drain to source voltage = 12.00 volts
The small signal voltage gain is : -21.19

Exa 7.18 page No 429

In [19]:
from __future__ import division
# Given data
I_DSS = 5.6# mA
V_P = -4# V
g_m = 2# mA/V
R_S = 10# k ohm
A_V = (g_m*R_S)/(1+(g_m*R_S))
Vi = 10# V
# Change in output voltage,
delVo = A_V*Vi# V
print "The changes in Vo = %.2f V"%delVo
The changes in Vo = 9.52 V

Exa 7.19 page No 429

In [7]:
from sympy import symbols,solve
from __future__ import division
# Given data
V_CC= 24# V
V_SS= -12# = %.2f V
R_D= 4.7# k ohm
R_S= 10# k ohm
V_P= -4# V
I_DSS= 5.6# mA
# For
Vi= 0
ID= symbols('ID') 
V_GS= Vi-V_SS-ID*R_S# V
I_D= ID-I_DSS*(1-V_GS/V_P)**2
# Evaluating the value of I_D by using polynomial method,
I_D= solve(I_D,ID)# mA

I_D= I_D[0]## taking lower value
Vo1= V_SS+I_D*R_S##in V
print "For Vi= 0 V, the output voltage = %.2f volts"%Vo1
# For
Vi= 10# V
ID= symbols('ID') 
V_GS= Vi-V_SS-ID*R_S# V
I_D= ID-I_DSS*(1-V_GS/V_P)**2
# Evaluating the value of I_D by using polynomial method,
I_D= solve(I_D, ID)# mA
I_D= I_D[0]## taking lower value
Vo2= V_SS+I_D*R_S##in V
print "For Vi= 10 V, the output voltage = %.2f volts"%Vo2
del_Vo= Vo2-Vo1# V
print "This compares well with %.2f V of small signal model"%del_Vo
For Vi= 0 V, the output voltage = 2.00 volts
For Vi= 10 V, the output voltage = 11.41 volts
This compares well with 9.41 V of small signal model

Exa 7.20 page No 430

In [8]:
from sympy import symbols,solve
from __future__ import division

# Given data
V_DD = -60# V
R1 = 1.3# Mohm
R1 = R1 * 10**3# ohm
R2 = 200# k ohm
I_DSS = -4# mA
V_P = 4# V
R_S= 4# k ohm
R_D= 18# k ohm
V_GG = V_DD * (R2/(R1+R2))# V
R_G = (R2*R1)/(R1+R2)# k ohm
V_G = -8# V
ID= symbols('ID')
V_S= ID*R_S# V
V_GS= V_G-V_S# V
I_D= ID-I_DSS*(1-V_GS/V_P)**2
# Evaluating the value of I_D by using, polynomial method,
I_D= solve(I_D, ID)# mA
I_D= I_D[0]# mA
V_S= I_D*R_S# V
V_GS= V_G-V_S# V
V_DS= V_DD-I_D*(R_D+R_S)# V
print "The value of I_D = %.2f mA"%I_D
print "The value of V_GS = %.2f volts"%V_GS
print "The value of V_DS = %.2f volts"%V_DS
The value of I_D = -4.00 mA
The value of V_GS = 8.00 volts
The value of V_DS = 28.00 volts

Exa 7.21 page No 431

In [9]:
from sympy import symbols,solve
from __future__ import division
# Given data
I_DSS= 6# mA
V_P= -4# V
R_S= 0.43# k ohm
R_D= 1.2# k ohm
V_DD= 12# V
ID= symbols('ID')
V_GS= -ID*R_S# V
I_D= ID-I_DSS*(1-V_GS/V_P)**2
# Evaluating the value of I_D by using polynomial method,
I_D= solve(I_D, ID)# mA
I_D= I_D[0]##in mA (taking lower value)
V_GSQ= -I_D*R_S# = %.2f V
print "The value of I_DQ = %.2f mA"%I_D
print "The value of V_GSQ = %.2f volts"%V_GSQ
# part (b) 
# Applying KVL, V_DD-I_D*R_D-V_DS-I_D*R_S=0 or
V_DS= V_DD-I_D*(R_D+R_S)# V
print "The value of V_DS = %.2f volts"%V_DS

# Note: In the book, the calculated value of I_D is wrong due to this all the answer in the book is wrong.
The value of I_DQ = 2.87 mA
The value of V_GSQ = -1.23 volts
The value of V_DS = 7.32 volts