# Exa 4.2 - 165
import math
# Given data
C1= 5.*10.**-12.;# in F
C2= 5.*10.**-12.;# in F
L= 10.*10.**-3.;# in H
C_Tmin= C1*C2/(C1+C2);# in F
f_omax= 1./(2.*math.pi*math.sqrt(L*C_Tmin));# in Hz
C1= 50.*10.**-12.;# in F
C2= 50.*10.**-12.;# in F
C_Tmax= C1*C2/(C1+C2);# in F
f_omin= 1./(2.*math.pi*math.sqrt(L*C_Tmax));# in Hz
f_omax= f_omax*10.**-6.;# in MHz
f_omin= f_omin*10.**-3.;# in kHz
print '%s %.f' %("The maximum value of resonant frequency in MHz is : ",f_omax)
print '%s %.f' %("The minimum value of resonant frequency in kHz is : ",f_omin)
# Exa 4.3 - 188
import math
# Given data
t = 4.4 * 10.**22.;# total number of Ge atoms/cm**3
n = 1 * 10.**8.;# number of impurity atoms
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
n_i = 2.5 * 10.**13.;# in atoms/cm**3
n_i = n_i * 10.**6.;# in atoms/m**3
V_T = 26.;#in mV
V_T= V_T*10.**-3.;# in V
# The contact potential for Ge semiconductor,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The contact potential for Ge semiconductor in V is",V_J);
# Part (b)
t = 5.* 10.**22.;# total number of Si atoms/cm**3
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
n_i = 1.5 * 10.**10.;# in atoms/cm**3
n_i = n_i * 10.**6.;# in atoms/m**3
V_T = 26;#in mV
V_T= V_T*10.**-3.;# in V
# The contact potential for Si P-N junction,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The contact potential for Si P-N junction in V is",V_J);
# Exa 4.4 - 188
import math
# Given data
V_T = 26.;# in mV
V_T=V_T*10.**-3.;# in V
n_i = 2.5 * 10.**13.;
Sigma_p = 1.;
Sigma_n = 1.;
Mu_n = 3800.;
q = 1.6 * 10.**-19.;# in C
Mu_p = 1800.;
N_A = Sigma_p/(2.* q * Mu_p);# in /cm**3
N_D = Sigma_n /(q * Mu_n);# in /cm**3
# The height of the energy barrier for Ge,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2);# in V
print '%s %.2f' %("For Ge the height of the energy barrier in V is",V_J);
# For Si p-n juction
n_i = 1.5 * 10.**10.;
Mu_n = 1300.;
Mu_p = 500.;
N_A = Sigma_p/(2.* q * Mu_p);# in /cm**3
N_D = Sigma_n /(q * Mu_n);# in /cm**3
# The height of the energy barrier for Si p-n junction,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("For Si p-n junction the height of the energy barrier in V is",V_J);
#Exa 4.5 - 189
import math
# Given data
Eta = 1.;
V_T = 26.;# in mV
V_T= V_T*10.**-3.;# in V
#From equation of the diode current, I = I_o * (%e**(V/(Eta*V_T)) - 1) and I = -(0.9) * I_o
V= math.log(1-0.9)*V_T;#voltage in V
print '%s %.3f' %("The voltage in volts is : ",V)
# Part (ii)
V1=0.05;# in V
V2= -0.05;# in V
# The ratio of the current for a forward bias to reverse bias
ratio= (math.e**(V1/(Eta*V_T))-1.)/(math.e**(V2/(Eta*V_T))-1.)
print '%s %.2f' %("The ratio of the current for a forward bias to reverse bias is : ",ratio)
# Part (iii)
Io= 10.;# in uA
Io=Io*10.**-3.;# in mA
#For
V=0.1;# in V
# Diode current
I = Io * (math.e**(V/(Eta*V_T)) - 1.);# in mA
print '%s %.3f' %("For V=0.1 V , the value of I in mA is : ",I)
#For
V=0.2;# in V
# Diode current
I = Io * (math.e**(V/(Eta*V_T)) - 1);# in mA
print '%s %.1f' %("For V=0.2 V , the value of I in mA is : ",I)
#For
V=0.3;# in V
# Diode current
I = Io * (math.e**(V/(Eta*V_T)) - 1.);# in mA
print '%s %.2f' %("For V=0.3 V , the value of I in A is : ",I*10**-3)
print '%s' %("From three value of I, for small rise in forward voltage, the diode current increase rapidly")
#Exa 4.6 - 189
import math
# Given data
# Part (i)
T1= 25.;# in degreeC
T2= 80.;# in degreeC
# Formula Io2= Io1*2**((T2-T1)/10)
AntiFactor= 2.**((T2-T1)/10.);
print '%s %.f' %("Anticipated factor for Ge is : ",round(AntiFactor))
# Part (ii)
T1= 25.;# in degreeC
T2= 150.;# in degreeC
#AntiFactor= 2.**((T2-T1)/10.);
AntiFactor=2.**12.5
print '%s %.f' %("Anticipated factor for Si is : ",round(AntiFactor))
#answer in textboo is wrong due to rounding error
#Exa 4.7 - 190
import math
# Given data
I=5.;# in uA
V=10.;# in V
T1= 0.11;# in degreeC**-1
T2= 0.07;# in degreeC**-1
# Io+I_R=I (i)
# dI_by_dT= dIo_by_dT (ii)
# 1/Io*dIo_by_dT = T1 and 1/I*dI_by_dT = T2, So
Io= T2*I/T1;# in uA
I_R= I-Io;# in uA
R= V/I_R;# in Mohm
print '%s %.1f' %("The leakage resistance in Mohm is : ",R)
#Exa 4.8 - 190
import math
# Given data
Eta = 1.;
T = 125.;# in degreeC
T = T + 273.;# in K
V_T = 8.62 * 10.**-5. * 398.;# in V
I_o = 30.;# in uA
I_o= I_o*10.**-6.;# in A
v = 0.2;# in V
# The dynamic resistance in the forward direction
r_f = (Eta * V_T)/(I_o * math.e**(v/(Eta* V_T)));# in ohm
print '%s %.2f' %("The dynamic resistance in the forward direction in ohm is ",r_f);
# The dynamic resistance in the reverse direction
r_r = (Eta * V_T)/(I_o * math.e**(-v/(Eta* V_T)));# in ohm
r_r= r_r*10.**-3.;# in k ohm
print '%s %.2f' %("The dynamic resistance in the reverse direction in kohm is",r_r);
# Exa 4.9 - 191
import math
# Given data
epsilon = 16./(36. * math.pi * 10.**11.);# in F/cm
A = 1. * 10.**-2.;
W = 2. * 10.**-4.;
# The barrier capacitance
C_T = (epsilon * A)/W;# in F
C_T= C_T*10.**12.;# in pF
print '%s %.2f' %("The barrier capacitance in pF is",C_T);
#Exa 4.10 - 191
import math
#Given data
A = 1.;# in mm**2
A = A * 10.**-6.;# in m**2
N_A = 3. * 10.**20.;# in atoms/m**3
q = 1.6 *10.**-19.;# in C
V_o = 0.2;# in V
epsilon_r=16.;
epsilon_o= 8.854*10.**-12.;# in F/m
epsilon=epsilon_r*epsilon_o;
# Part (a)
V=-10.;# in V
# V_o - V = 1/2*((q * N_A )/epsilon) * W**2
W = math.sqrt(((V_o - V) * 2. * epsilon)/(q * N_A));# m
W= W*10.**6.;# in um
print '%s %.2f' %("The width of the depletion layer for an applied reverse voltage of 10V in um is ",W);
W= W*10.**-6.;# in m
C_T1 = (epsilon * A)/W;# in F
C_T1= C_T1*10.**12.;# in pF
# Part (b)
V=-0.1;# in V
W = math.sqrt(((V_o - V) * 2. * epsilon)/(q * N_A));# m
W= W*10.**6.;# in um
print '%s %.2f' %("The width of the depletion layer for an applied reverse voltage of 0.1V in um is ",W);
W= W*10.**-6.;# in m
C_T2 = (epsilon * A)/W;# in F
C_T2= C_T2*10.**12.;# in pF
# Part (c)
V=0.1;# in V
W = math.sqrt(((V_o - V) * 2. * epsilon)/(q * N_A));# m
W= W*10.**6.;# in um
print '%s %.3f' %("The width of the depletion layer for an applied for a forward bias of 0.1V in um is ",W);
# Part (d)
print '%s %.2f' %("The space charge capacitance for an applied reverse voltage of 10V in pF is",C_T1);
print '%s %.2f' %("The space charge capacitance for an applied reverse voltage of 0.1V in pF is",C_T2);
# Exa 4.11 - 192
import math
# Given data
I_o = 1.8 * 10.**-9.;# A
v = 0.6;# in V
Eta = 2.;
V_T = 26.;# in mV
V_T=V_T*10.**-3.;# in V
# The current in the junction
I = I_o *(math.e**(v/(Eta * V_T)));# in A
I= I*10.**3.;# in mA
print '%s %.3f' %("The current in the junction in mA is",I);
# Exa 4.12 - 192
# Given data
import math
I_o = 2.4 * 10.**-14.;
I = 1.5;# in mA
I=I*10.**-3.;# in A
Eta = 1.;
V_T = 26.;# in mV
V_T= V_T*10.**-3.;# in V
# The forward biasing voltage across the junction
v =math.log((I + I_o)/I_o) * V_T;# in V
print '%s %.4f' %("The forward biasing voltage across the junction in V is",v);
# Exa 4.13 - 192
# Given data
I_o = 10.;# in nA
# I = I_o * ((e**(v/(Eta * V_T))) - 1) as diode is reverse biased by large voltage
# e**(v/(Eta * V_T)<< 1, so neglecting it
I = I_o * (-1.);# in nA
print '%s %.f' %("The Diode current in nA is ",I);
# Exa 4.17 - 193
import math
# Given data
t = 4.4 * 10.**22.;# in total number of atoms/cm**3
n = 1. * 10.**8.;# number of impurity
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
n_i = 2.5 * 10.**19.;# in /cm**3
# The junction potential
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The junction potential in V is",V_J)
# Exa 4.15 - 192
%matplotlib inline
import math
import numpy as np
import matplotlib.pyplot as plt
# Given data
## in V
# V_S = i*R_L + V_D
V_S = 10## in V (i * R_L = 0)
print '%s %.f' %("when diode is OFF, the voltage in volts is : ",V_S)#
R_L = 250.## in ohm
I = V_S/R_L## in A
print '%s %.f' %("when diode is ON, the current in mA is",I*10**3)#
V_D2=np.linspace(10,0,num=100)## in V
j=0;
I2 = np.zeros(100)
for x in V_D2:
I2[j] = (V_S- x)/R_L*1000.;
j+=1
plt.plot(V_D2,I2)
plt.xlabel("V_D in volts")#
plt.ylabel("Current in mA")
plt.title("DC load line")#
plt.show()
print '%s' %("DC load line shown in figure")
# Exa 4.16 - 193
# Given data
import math
V = 0.25;# in V
I_o = 1.2;# in uA
I_o = I_o * 10.**-6.;# in A
V_T = 26;# in mV
V_T = V_T * 10.**-3.;# in V
Eta = 1.;
# The ac resistance of the diode
r = (Eta * V_T)/(I_o * (math.e**(V/(Eta * V_T))));# in ohm
print '%s %.3f' %("The ac resistance of the diode in ohm is",r);
# Exa 4.17 - 193
import math
# Given data
t = 4.4 * 10.**22.;# in total number of atoms/cm**3
n = 1. * 10.**8.;# number of impurity
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
n_i = 2.5 * 10.**19.;# in /cm**3
# The junction potential
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The junction potential in V is",V_J)
# Exa 4.18 - 194
import math
# Given data
Eta = 1.;
I_o = 30.;# in MuA
I_o = I_o * 10.**-6.;# in A
v = 0.2;# in V
K = 1.381 * 10.**-23.;# in J/degree K
T = 125.;# in degreeC
T = T + 273.;# in K
q = 1.6 * 10.**-19.;# in C
V_T = (K*T)/q;# in V
# The forward dynamic resistance,
r_f = (Eta * V_T)/(I_o * (math.e**(v/(Eta * V_T))));# in ohm
print '%s %.3f' %("The forward dynamic resistance in ohm is",r_f);
# The Reverse dynamic resistance
r_f1 = (Eta * V_T)/(I_o * (math.e**(-(v)/(Eta * V_T))));# in ohm
r_f1= r_f1*10.**-3.;# in k ohm
print '%s %.2f' %("The Reverse dynamic resistance in kohm is",r_f1);
# Exa 4.19 - 194
import math
# Given data
q = 1.6 * 10.**-19.;# in C
N_A = 3 * 10.**20.;# in /m**3
A = 1.;# in um**2
A = A * 10.**-6.;# in m**2
V = -10.;# in V
V_J = 0.25;# in V
V_B = V_J - V;# in V
epsilon_o = 8.854;# in pF/m
epsilon_o = epsilon_o * 10.**-12.;# in F/m
epsilon_r = 16.;
epsilon = epsilon_o * epsilon_r;
# The width of depletion layer,
W = math.sqrt((V_B * 2. * epsilon)/(q * N_A));# in m
W=W*10.**6.;# in um
print '%s %.2f' %("The width of depletion layer in um is",W);
W=W*10.**-6.;# in m
# The space charge capacitance,
C_T = (epsilon * A)/W;# in pF
C_T=C_T*10.**12.;# in pF
print '%s %.4f' %("The space charge capacitance in pF is",C_T);
# Exa 4.20 - 194
import math
# Given data
W = 2. * 10.**-4.;# in cm
W = W * 10.**-2.;# in m
A = 1.;# in mm**2
A = A * 10.**-6.;# in m**2
epsilon_r = 16.;
epsilon_o = 8.854 * 10.**-12.;# in F/m
epsilon = epsilon_r * epsilon_o;
C_T = (epsilon * A)/W;# in F
C_T= C_T*10.**12.;# in pF
print '%s %.3f' %("The barrier capacitance in pF is",C_T);
# Exa 4.21 - 195
import math
# Given data
C_T = 100.;# in pF
C_T=C_T*10.**-12.;# in F
epsilon_r = 12.;
epsilon_o = 8.854 * 10.**-12.;# in F/m
epsilon = epsilon_r * epsilon_o;
Rho_p = 5.;# in ohm-cm
Rho_p = Rho_p * 10.**-2.;# in ohm-m
V_j = 0.5;# in V
V = -4.5;# in V
Mu_p = 500.;# in cm**2
Mu_p = Mu_p * 10.**-4.;# in m**2
Sigma_p = 1./Rho_p;# in per ohm-m
qN_A = Sigma_p/ Mu_p;
V_B = V_j - V;
W = math.sqrt((V_B * 2. * epsilon)/qN_A);# in m
#C_T = (epsilon * A)/W;
A = (C_T * W)/ epsilon;# in m
D = math.sqrt(A * (4./math.pi));# in m
D = D * 10.**3.;# in mm
print '%s %.2f' %("The diameter in mm is",D);
# Exa 4.22 - 195
import math
# Given data
q = 1.6 * 10.**-19.;# in C
Mu_p = 500.;# in cm**2/V-sec
Rho_p = 3.5;# in ohm-cm
Mu_n = 1500.;# in cm**2/V-sec
Rho_n = 10.;# in ohm-cm
N_A = 1./(Rho_p * Mu_p * q);# in /cm**3
N_D = 1./(Rho_n * Mu_n * q);# in /cm**3
V_J = 0.56;# in V
n_i = 1.5 * 10.**10.;# in /cm**3
V_T = V_J/math.log((N_A * N_D)/(n_i)**2.);# in V
# V_T = T/11600
T = V_T * 11600.;# in K
T = T - 273;# in degreeC
print '%s %.3f' %("The Temperature of junction in degree C is",T);
# Exa 4.23 - 196
import math
# Given data
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
Eta = 1.;
# I = -90% for Io, so
IbyIo= 0.1;
# I = I_o * ((e**(v/(Eta * V_T)))-1)
V = math.log(IbyIo) * V_T;# in V
print '%s %.5f' %("The reverse bias voltage in volts is",V);
# Exa 4.24 - 196
import math
# Given data
R = 5.;# in ohm
I = 50.;# in mA
I=I*10.**-3.;# in A
V = R * I;# in V
Eta = 1.;
V_T = 26.;# in mV
V_T=V_T*10.**-3.;# in V
# The reverse saturation current
I_o = I/((math.e**(V/(Eta * V_T))) - 1.);# in A
I_o= I_o*10.**6.;# in uA
print '%s %.2f' %("Reverse saturation current in uA is",I_o);
I_o= I_o*10.**-6.;# in A
v1 = 0.2;# in V
# The dynamic resistance of the diode,
r = (Eta * V_T)/(I_o * (math.e**(v1/(Eta * V_T))));# in ohm
print '%s %.3f' %("Dynamic resistance of the diode in ohm is",r);