# Exa 5.1
# Given data
import math
I_C = 2.;# in mA
I_C =I_C * 10.**-3.;# in A
V_CEQ = 20.;# in V
h_fe = 100.;
I_BQ = 20.;# in uA
I_BQ = I_BQ * 10.**-6.;# in A
Beta = 100.;
f_T = 50.;# in MHz
f_T = f_T * 10.**6.;# in Hz
Cob = 3.;# in pF
Cob = Cob * 10.**-12.;# in F
h_ie = 1400.;# in ohm
T = 300.;# in K
# (i) Transconductance
g_m = 11600.*(I_C/T);# in S
g_m=g_m*10.**6.;# in uS
print '%s %.2e' %("The transconductance in uS is",g_m);
# (ii) Input resistance
g_m=g_m*10.**-6.;# in S
r_be = h_fe/g_m; # in ohm
print '%s %.2f' %("The input resistance in ohm is",r_be);
# (iii) Capacitance
Cbc = Cob ;# in F
Cbe = g_m/(2.*math.pi*f_T)-Cbc;# in F
Cbe= round(Cbe*10.**12.);# in pF
print '%s %.2f' %("The capacitance in pF is",Cbe);
# (iv) Base Spreading Resistance
r_bb = round(h_ie - r_be);# in ohm
print '%s %.2f' %("The base spreading resistance in ohm is",r_bb);
# Exa 5.2
# Given data
import math
I_C = 10.;# in mA
I_C =I_C * 10.**-3.;# in A
V_CE = 10.;# in V
V_T= 26.*10.**-3.;# in V
h_ie = 500.;# in ohm
h_oe = 4.*10.**-5.;# in S
h_fe = 100.;
g_be = 1./260.;
h_re = 10.**-4.;
f_T = 50.;# in MHz
f_T = f_T * 10.**6.;# in Hz
T = 300.;# in K
Cob =3.;# in pF
Cob = Cob * 10.**-12.;# in F
# (i) Transconductance
g_m = I_C/V_T;# in A/V
g_m= round(g_m*10.**3.);# in mA/V
print '%s %.2f' %("The Transconductance in mA/V is",g_m);
# (ii) Input resistance
g_m= g_m*10.**-3.;# in A/V
r_be = round(h_fe/g_m);# in ohm
print '%s %.2f' %("The input resistance in ohm is",r_be);
# (iii) Base spreading resistance
r_bb = h_ie - r_be;# in ohm
print '%s %.2f' %("The base spreading resistance in ohm is",r_bb);
# (iv) The feedback conductance
g_bc = h_re*g_be;
print '%s %.2e' %("The feedback conductance is",g_bc);
# (v) The output conductance
g_ce = h_oe - (1.+h_fe)*g_bc
print '%s %.2e' %("The output conductance is : ",g_ce)
# (vi) Capacitance
Cbe= g_m/(2.*math.pi*f_T);# in F
Cbe= Cbe*10.**12.;# in pF
print '%s %.2f' %("The value of C_b''e in pF is : ",Cbe)
Cc= Cob;# in F
Cc= Cc*10.**12.
print '%s %.2f' %("The value of Cc in pF is : ",Cc)
# Exa 5.3
# Given data
import math
W = 10.**-6.;# in m
I_E =2.;# in mA
I_E = I_E * 10.**-3.;# in A
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
D_B = 47.*10.**-4.;
# g_m = abs(I_C)/V_T = abs(I_E)/V_T;
# The emitter diffusion capacitance, Cbe = g_m*((W**2)/(2*D_B));
Cbe = I_E/V_T*W**2./(2.*D_B);# F
Cbe= Cbe*10.**12.;# in pF
print '%s %.2f' %("The emitter diffusion capacitance in pF is",Cbe);
Cbe= Cbe*10.**-12.;# in F
g_m = abs(I_E)/V_T;
# The transition frequency
f_T = g_m/(2*math.pi*Cbe);# in Hz
f_T = f_T * 10.**-6.;# in MHz
print '%s %.2f' %("The transition frequency in MHz is",f_T);
# Note: The answer in the book is not accurate.
# Exa 5.4
import math
I_CQ = 5.;# in mA
I_CQ = I_CQ * 10.**-3.;# in A
V_VEQ = 10.;# in V
h_ie = 600.;# in ohm
h_fe = 100.;
C_C = 3.;# in pF
C_C = C_C * 10.**-12.;# in F
Ai = 10.;# Ai(f)
f = 10.;# in MHz
# Ai = h_fe/( sqrt( 1 + ((f/f_Beta)**2) ) );
f_Beta = f/(math.sqrt( ((h_fe/Ai)**2.) - 1. ));# in MHz
print '%s %.2f' %("The Beta cut off frequency in MHz is",f_Beta);
f_T = h_fe*f_Beta;# in MHz
print '%s %.2f' %("The gain bandwidth product in MHz is",f_T);
g_m = 0.1923;
Ce = g_m/(2*math.pi*f_T*10.**6.);# in F
print '%s %.2f' %("The value of Ce in F is",Ce);
Cbe= Ce;# in F
print '%s %.2e' %("The value of C_b''e in pF is : ",Cbe*10.**12)
r_be = h_fe/g_m;# in ohm
print '%s %.2f' %("The value of r_b''e in ohm is",r_be);
r_bb = h_ie - r_be;# in ohm
print '%s %.2f' %("The value of r_bb'' in ohm is",r_bb);
# Exa 5.5
# Given data
import math
f_T = 400.;# in MHz
D_Beta = 13.;# in cm**2/sec
# Ce = (g_m*(W**2))/(2*D_B), so
# f_T = (g_m/(2*%pi))*( (2*D_B)/(g_m*(W**2)) ) = D_B/(%pi*(W**2));
W = math.sqrt( D_Beta/(math.pi*f_T*10.**6.) );# in cm
W = W * 10.**4.;# in um
print '%s %.2f' %("The base width of silicon transistor in um is",W);
#Exa 5.6 clc;
# Given data
import math
D_B = 47.;# in cm**2/sec
I_C = 2.;# in mA
I_C = I_C * 10.**-3.;# in A
V_CEQ = 15.;# in V
W = 1.;# in um
W = W * 10.**-4.;# in cm
V_T = 0.026;# in V
g_m =I_C/(abs(V_T));# in ohm
Ce = (g_m*(W**2.))/(2.*D_B);# in F
Ce = Ce * 10.**12.;# in pF
print '%s %.2f' %("The value of Ce in pF is",Ce);
f_T = g_m/(2.*math.pi*Ce*10.**-12.);# in Hz
f_T = f_T * 10.**-6.;# in MHz
print '%s %.2f' %("The value of f_T in MHz is",f_T);