import math
#variable declaration
#given Is2/Is1 =150
#Is2/Is1 =2**(T2-T1)/10
#dT=10ln(I)/ln(2)
I = 150;
#Calculations
dT = 10*math.log(I)/float(math.log(2)); #increase in temperature in °C
#Result
print'Increase in temperature necessary to increase Is by a factor by 150 is %3.2f '%dT,'°C';
import math
#variable declaration
Io = 0.25*10**-6; # large reverse biased current in A
V = 0.12; # applied voltage in V
Vt = 0.026; # Volt-equivalent of temperature in V
# Calculations
I = Io*(math.exp(V/float(Vt))-1); #current in A
# Result
print'Current flowing through germanium diode = %g '%(I*10**6),'uA';
import math
#variable declaration
k = 1.38*10**-23; # boltzmann constant (m**2)*(kg)*(s**-2)*(K**-1)
e = 1.6*10**-19; # charge of electron in coulombs
ue = 0.19 # mobility of electron in m**2.V**-1.s**-1
uh = 0.027; # mobilty of holes in m**2.V**-1.s**-1
T = 300; # temperature in K
#Calculations
Dn = ((k*T)/float(e))*ue; # diffusion constant of electrons in cm**2/s
Dh = (k*T/float(e))*uh; # diffusion constant of holes in cm**2/s
#Result
print'Diffusion co-efficients of electrons = %3.2e'%Dn,'m**2/s';
print'Diffusion co-efficients of holes = %3.2e '%Dh,'m**2/s';
import math
#variable declaration
I1 = 20; #current in mA
V1 = 0.8; #voltage in volts
V2 = 0.7; #voltage in volts
I2 = 10; # current in mA
v3 = -10; #voltage in volts
I3 = -1*10**-6; # current in mA
# Calculations
R = (V1 - V2)/(I1 - I2); #resistance in ohm
Vreb = v3/I3; #velocity in volts
#Result
print'resistance = %d'%(R*10**3),'ohm';
print'Vreb = %3.1e'%Vreb,'ohm';
import math
#variable declaration
T = 300; # temp in kelvin
k = 1.38*10**-23; # Boltzmann constant (m**2)*(kg)*(s**-2)*(K**-1)
e = 1.602*10**-19; # charge of electron in coulombs
ue = 3650; # mobility of electrons
uh = 1720; # mobility of holes
#Calculations
De = (ue*k*T)/float(e); # diffusion constant of electrons in cm**2/s
Dh = (uh*k*T)/float(e); # diffusion constant of holes in cm**2/s
# Result
print'Diffusion constant of electrons = %3.1f'%De,'cm**2/s';
print'Diffusion constant of electrons = %3.1f'%Dh,'cm**2/s';
import math
#variable declaration
p = 2; # resistivity in ohm-m
er = 16; #relative dielectrivity of Ge cm**2/s
up = 1800; # mobility of holes in cm**2/s
e0 = 8.85*10**-12; #permitivity in (m**-3)*(kg**-1)*(s**4)*(A**2)
a = 2*10**-4; #channel height in m
# Calculations
qNa = 1/float(up*p);
e = e0*er; #permitivity in F/cm
Vp = (qNa*(a**2))/float(2*e); # pinch-off voltage in V
#Result
print'Pinch-off voltage = %3.2e'%Vp,'V';
print' Note:calculation mistake in text book ,e value is taken as 14.16*10**-12 instead of 141.6*10**-12';
import math
#variable declaration
a = 3.5*10**-6; #channel width in m
N = 10**21; #number of electrons in electrons/m**3
q = 1.6*10**-19; #charge of electron in coulombs
er = 12; #dielectric constant F/m
e0 = 8.85*10**-12; #dielectric constant F/m
#calculation
e = (e0)*(er); #permitivityin F/m
Vp = (q*(a**2)*N)/float(2*e); #pinch off voltage in V
#result
print'pinch off velocity =%2.1f'%Vp,'V';
import math
#variable declaration
IDSS = 10; #current in mA
IDS =2.; # current in mA
Vp = -4.0; #pinch off voltage in V
#formula
#IDS = IDSS*((1-(VGS/Vp))**2)
#calculation
VGS = Vp*(1-(math.sqrt(IDS/float(IDSS))));
gm = ((-2*IDSS)/float(Vp))*(1-(VGS/float(Vp))); #transconductance in m*A/V
#result
print'transconductance =%3.2f'%gm,'m*A/V';
import math
#variable declaration
VGS = -3; #pinch off voltage in V
IDSS =10*10**-3; # current in A
Vp = -5.0; #pinch off voltage in V
#calculation
IDS = IDSS*((1-(VGS/float(Vp)))**2); #current in mA
#result
print'current =%3.2f'%(IDS*10**3),'mA';
import math
#variable declaration
IDS = 2*10**-3; #current in mA
IDSS = 8*10**-3; # current in mA
Vp = -4.5; #pinch off voltage in V
VGS1 = -1.902; #pinch off voltage when IDS =3*10**-3 A
#formula
#IDS = IDSS*((1-(VGS/Vp))**2)
#calculation
VGS = Vp*(1-(math.sqrt(IDS/float(IDSS))));
gm = ((-2*IDSS)/float(Vp))*(1-(VGS1/float(Vp))); #transconductance in m S
#result
print'transconductance =%3.2f'%(gm/10**-3),'m S';
import math
#variable declaration
VGS = 26; #gate source voltage in V
IG = 1.6*10**-9; #gate current in A
#calculation
R = VGS/float(IG); #gate to current resistance in ohms
#result
print'resistance =%3.2e'%R,'ohms';
import math
#variable declaration
ID1 = 1; #current in A
ID2 = 2.1; # current in A
VGS1 = 3.0; #pinch off voltage in V
VGS2 = 3.5; #pinch off voltage in V
#calculation
dID = ID2-ID1;
dVGS = VGS2-VGS1;
gm = (dID*10**-3)/float(dVGS); #transconductance in mho
#result
print'transconductance =%3.2e '%gm,'ohm';
print'Note:wrong answer in textbook';
import math
#variable declaration
ID1 = 8; #drain current in mA
ID2 = 8.3; #drain current in mA
VDS1 = 5; #drainn source voltage in V
VDS2 = 14; #drain source voltage in V
ID3 = 7.1; #drain current when VDS constant VGS change
ID4 = 8.3; #drain current when VDS constant VGS change
VGS1 = 0.1; #drain source voltage in V
VGS2 = 0.4; #drain source voltage in V
#calculation
dID1 = ID2-ID1;
dVDS = VDS2-VDS1;
rd = dVDS/float(dID1); #ac drain resistance
dID2 = ID4-ID3;
dVGS = VGS2-VGS1;
gm = dID2/float(dVGS); #transconductance mhos
u = rd*gm; #amplification factor
#result
print'ac drain resistnce =%3.2f'%rd,'k-ohms';
print'transconductance =%3.2d'%(gm/10**-3),'u mhos';
print'amplification factor=%3.2f'%u;
import math
#variable declaration
u = 100; #amplification factor
rd = 33*10**3; #drain resistance in ohms
#calculation
gm = u/float(rd); #transconductance in mhos
#result
print'transconductance =%3.2f'%(gm*10**3),' mmhos';
print'Note:transconductance value is wrongly printed in terms of umhos';