%matplotlib inline
# variable declaration
V_BB=10.0; #voltage in volt
V_CC=20.0; #voltage in volt
B_DC=200.0; #B_DC value
R_B=47.0*10**3; #resistance in ohm
R_C=330.0; #resistance in ohm
V_BE=0.7; #voltage in volt
#current
I_B=(V_BB-V_BE)/R_B; #base current
I_C=B_DC*I_B; #Q POINT
V_CE=V_CC-I_C*R_C; #Q POINT
I_C_sat=V_CC/R_C; #saturation current
I_c_peak=I_C_sat-I_C; #peak current
I_b_peak=I_c_peak/B_DC; #peak current in ampere
#result
print "Q point of I_C = %.3f amperes" %I_C
print "Q point of V_CE = %.2f volts" %V_CE
print "peak base current = %.4f amperes" %I_b_peak
# variable declaration
B_DC=125.0; #DC value
R_E=10.0**3; #resistance in ohm
#calculation
R_IN_base=B_DC*R_E; #base resistance
#Result
print "DC input resistance, looking at base of transistor = %d ohm" %R_IN_base
# variable declaration
B_DC=100; #DC value
R1=10*10**3; #resistance in ohm
R2=5.6*10**3; #resistance in ohm
R_C=1*10**3; #resistance in ohm
R_E=560; #resistance in ohm
V_CC=10; #voltage in volt
V_BE=0.7 #voltage in volt
#calculation
R_IN_base=B_DC*R_E; #calculate base resistance
#We can neglect R_IN_base as it is equal to 10*R2
print "input resistance seen from base = %d ohm" %R_IN_base
print "which can be neglected as it is 10 times R2"
V_B=(R2/(R1+R2))*V_CC; #base voltage
V_E=V_B-V_BE; #emitter voltage
I_E=V_E/R_E; #emitter current
I_C=I_E; #currents are equal
V_CE=V_CC-I_C*(R_C+R_E); #voltage in volt
#result
print "V_CE = %.2f volts" %V_CE
print "I_C = %.3f amperes" %I_C
print "Since V_CE>0V, transistor is not in saturation"
# variable declaration
V_EE=10.0; #voltage in volt
V_BE=0.7; #voltage in volt
B_DC=150.0; #DC value
R1=22.0*10**3; #resistance in ohm
R2=10.0*10**3; #resistance in ohm
R_C=2.2*10**3; #resistance in ohm
R_E=1.0*10**3; #resistance in ohm
#calculation
R_IN_base=B_DC*R_E; #R_IN_base>10*R2,so it can be neglected
print "input resistance as seen from base = %d ohm" %R_IN_base
print "it can be neglected as it is greater than 10 times R2"
V_B=(R1/(R1+R2))*V_EE; #base voltage
V_E=V_B+V_BE; #emitter voltage
I_E=(V_EE-V_E)/R_E; #emitter current
I_C=I_E; #currents are equal
V_C=I_C*R_C; #collector voltage
V_EC=V_E-V_C; #emitter-collector voltage
#result
print "I_C collector current = %.4f amperes" %I_C
print "V_EC emitter-collector voltage = %.2f Volts" %V_EC
# variable declaration
R1=68.0*10**3; #resistance in ohm
R2=47.0*10**3; #resistance in ohm
R_C=1.8*10**3; #resistance in ohm
R_E=2.2*10**3; #resistance in ohm
V_CC=-6.0; #voltage in volt
V_BE=0.7; #voltage in volt
B_DC=75.0; #DC value
#calculation
R_IN_base=B_DC*R_E;
print "input resistance as seen from base"
print "is not greater than 10 times R2 so it should be taken into account"
#R_IN_base in parallel with R2
V_B=((R2*R_IN_base)/(R2+R_IN_base)/(R1+(R2*R_IN_base)/(R2+R_IN_base)))*V_CC;
V_E=V_B+V_BE; #emitter voltage
I_E=V_E/R_E; #emitter current
I_C=I_E; #currents are equal
V_C=V_CC-I_C*R_C; #collector voltage
V_CE=V_C-V_E; #collector-emitter voltage
#result
print "collector current = %.4f amperes" %I_C
print "collector emitter voltage = %.2f volts" %V_CE
# variable declaration
V_CC=12.0; #voltage in volt
R_B=100.0*10**3; #resistance in ohm
R_C=560.0; #resistance in ohm
#FOR B_DC=85 AND V_BE=0.7V
B_DC=85.0; #DC value
V_BE=0.7; #base-emitter voltage
#calculation
I_C_1=B_DC*(V_CC-V_BE)/R_B; #collector current
V_CE_1=V_CC-I_C_1*R_C; #collector-emittor voltage
#FOR B_DC=100 AND V_BE=0.6V
B_DC=100.0; #DC value
V_BE=0.6; #base emitter voltage
I_C_2=B_DC*(V_CC-V_BE)/R_B; #collector current
V_CE_2=V_CC-I_C_2*R_C; #voltage in volt
p_del_I_C=((I_C_2-I_C_1)/I_C_1)*100; #percent change in collector current
p_del_V_CE=((V_CE_2-V_CE_1)/V_CE_1)*100; #percent change in C-E voltage
#result
print "percent change in collector current = %.2f" %p_del_I_C
print "percent change in collector emitter voltage = %.2f" %p_del_V_CE
# variable declaration
V_CC=20.0; #voltage in volt
R_C=4.7*10**3; #resistance in ohm
R_E=10.0*10**3; #resistance in ohm
V_EE=-20.0; #voltage in volt
R_B=100*10**3; #resistance in ohm
#FOR B_DC=85 AND V_BE=0.7V
B_DC=85; #DC value
V_BE=0.7; #base-emitter voltage
I_C_1=(-V_EE-V_BE)/(R_E+(R_B/B_DC));
V_C=V_CC-I_C_1*R_C; #colector voltage
I_E=I_C_1; #emittor current
V_E=V_EE+I_E*R_E; #emittor voltage
V_CE_1=V_C-V_E; #CE voltage
print "I_C_1 = %.3f" %I_C_1
print "V_CE_1 = %.2f" %V_CE_1
#FOR B_DC=100 AND V_BE=0.6V
B_DC=100; #DC value
V_BE=0.6; #base-emitter voltage
I_C_2=(-V_EE-V_BE)/(R_E+(R_B/B_DC));
V_C=V_CC-I_C_2*R_C;#colector voltage
I_E=I_C_2; #emittor current
V_E=V_EE+I_E*R_E; #emittor voltage
V_CE_2=V_C-V_E; #CE voltage
print "I_C_2 = %.3f" %I_C_2
print "V_CE_2 = %.2f" %V_CE_2
p_del_I_C=((I_C_2-I_C_1)/I_C_1)*100;
p_del_V_CE=((V_CE_2-V_CE_1)/V_CE_1)*100;
print "percent change in collector currrent = %.2f" %p_del_I_C
print "percent change in collector emitter voltage = %.2f" %p_del_V_CE
print "answers in book are approximated"
# variable declaratio
V_CC=10.0; #voltage in volt
B_DC=100.0; #Dc value
R_C=10.0*10**3; #resistance in ohm
R_B=100.0*10**3; #resistance in ohm
V_BE=0.7; #base-emittor voltage
#calculation
I_C=(V_CC-V_BE)/(R_C+(R_B/B_DC)); #collector current
V_CE=V_CC-I_C*R_C; #CE voltage
#result
print "Q point of collector current %.4f amperes" %I_C
print "Q point of collector-emitter voltage %.3f volts" %V_CE