diff options
Diffstat (limited to '3515/CH3')
31 files changed, 956 insertions, 0 deletions
diff --git a/3515/CH3/EX3.1/Ex_3_1.sce b/3515/CH3/EX3.1/Ex_3_1.sce new file mode 100644 index 000000000..e963bf825 --- /dev/null +++ b/3515/CH3/EX3.1/Ex_3_1.sce @@ -0,0 +1,23 @@ +// Exa 3.1
+format('v',5);
+clc;
+clear;
+close;
+// Given data
+V_E= -0.7;// in V
+Bita=50;
+RC= 5;// in kΩ
+RE= 10;// in kΩ
+RE= RE*10^3;// in Ω
+RC= RC*10^3;// in Ω
+V_CC= 10;// in V
+V_BE= -10;// in volt
+I_E= (V_E-V_BE)/RE;// in A
+disp(I_E*10^3,"Emitter current in mA is : ")
+// I_E= I_B+I_C and I_C= Bita*I_B, so
+I_B= I_E/(1+Bita);// in A
+disp(I_B*10^6,"Base current in µA is : ")
+I_C= I_E-I_B;//in A
+disp(I_C*10^3,"Collector current in mA is : ")
+V_C= V_CC-I_C*RC;// in V
+disp(V_C,"The value of V_C in volts is :")
diff --git a/3515/CH3/EX3.10/Ex_3_10.sce b/3515/CH3/EX3.10/Ex_3_10.sce new file mode 100644 index 000000000..094798ea3 --- /dev/null +++ b/3515/CH3/EX3.10/Ex_3_10.sce @@ -0,0 +1,26 @@ +// Exa 3.10
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_CC= 10;// in V
+V_BB= 3;// in V
+V_BE= 0.7;// in V
+V_T= 25*10^-3;// in V
+bita=100;
+RC= 3;// in kΩ
+RC=RC*10^3;// in Ω
+RB= 100;// in kΩ
+RB=RB*10^3;// in Ω
+I_B= (V_BB-V_BE)/RB;// in V
+I_C= bita*I_B;// in A
+V_C= V_CC-I_C*RC;// in V
+gm= I_C/V_T;// in A/V
+r_pi= bita/gm;// in Ω
+// v_be= r_pi/(RB+r_pi)*v_i
+v_be_by_v_i= r_pi/(RB+r_pi);
+// v_o= -gm*v_be*RC
+v_o_by_v_i= -gm*v_be_by_v_i*RC;// in V/V
+Av= v_o_by_v_i;// in V/V
+disp(round(Av),"Voltage gain in V/V is : ")
diff --git a/3515/CH3/EX3.11/Ex_3_11.sce b/3515/CH3/EX3.11/Ex_3_11.sce new file mode 100644 index 000000000..ec0bdc811 --- /dev/null +++ b/3515/CH3/EX3.11/Ex_3_11.sce @@ -0,0 +1,23 @@ +// Exa 3.11
+format('v',5);
+clc;
+clear;
+close;
+// Given data
+V_B= 4;// in V
+V_BE= 0.7;// in V
+V_CC= 10;// in V
+V_E= V_B-V_BE;// in V
+R_E= 3.3;// in kΩ
+R_E=R_E*10^3;// in Ω
+RC= 4.7;// in kΩ
+RC=RC*10^3;// in Ω
+I_E= V_E/R_E;// in A
+bita=100;
+alpha= bita/(1+bita);
+I_C= alpha*I_E;//in A
+disp(I_C*10^3,"The value of I_C in mA is : ")
+V_C= V_CC-I_C*RC;// in V
+disp(V_C,"The value of V_C in volts is : ")
+I_B= I_E/(1+bita);// in A
+disp(I_B*10^3,"The value of I_B in mA is : ")
diff --git a/3515/CH3/EX3.12/Ex_3_12.sce b/3515/CH3/EX3.12/Ex_3_12.sce new file mode 100644 index 000000000..4107689b7 --- /dev/null +++ b/3515/CH3/EX3.12/Ex_3_12.sce @@ -0,0 +1,22 @@ +// Exa 3.12
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_B= 5;// in V
+V_BE= 0.7;// in V
+V_CC= 10;// in V
+bita=100;
+R_B= 100;// in kΩ
+R_C= 2;// in kΩ
+R_B=R_B*10^3;// in Ω
+R_C=R_C*10^3;// in Ω
+I_B= (V_B-V_BE)/R_B;// in A
+I_C= bita*I_B;//in A
+V_C= V_CC-I_C*R_C;// in V
+I_E= I_C;// in A (approx)
+disp(I_B*10^3,"The value of I_B in mA is : ")
+disp(I_C*10^3,"The value of I_C in mA is : ")
+disp(V_C,"The value of V_C in volts is : ")
+disp(I_E*10^3,"The value of I_E in mAis : ")
diff --git a/3515/CH3/EX3.13/Ex_3_13.sce b/3515/CH3/EX3.13/Ex_3_13.sce new file mode 100644 index 000000000..4c0788031 --- /dev/null +++ b/3515/CH3/EX3.13/Ex_3_13.sce @@ -0,0 +1,34 @@ +// Exa 3.13
+format('v',5);
+clc;
+clear;
+close;
+// Given data
+V_B= 0;// in V
+V_EB= 0.7;// in V
+bita=100;
+V_EC= 0.2;// in V
+V_E= V_EB+V_B;// in V
+V_CC= 5;// in V
+R_C= 1;// in kΩ
+R_C=R_C*10^3;// in Ω
+R_B= 10;// in kΩ
+R_B= R_B*10^3;// in Ω
+// V_E= V_B+V_EB (i)
+// V_C= V_E-V_EC= V_B+V_EB-V_EC (ii)
+// I_E= (V_CC-V_E)/R_C= (V_CC-V_B-V_EB)/R_C (iii)
+// I_B= V_B/R_B (iv)
+// I_C= (V_C+V_CC)/R_C= (V_B+V_EB-V_EC+V_CC)/R_B (v)
+// By using relationship, I_E= I_B+I_C
+V_B= (9*V_CC-11*V_EB+V_EC)/12;// in V
+V_E= V_B+V_EB;// in V
+V_C= V_B+V_EB-V_EC;// in V
+I_E= (V_CC-V_B-V_EB)/R_C// in amp
+I_C= (V_B+V_EB-V_EC+V_CC)/R_B;// in amp
+I_B= V_B/R_B;// in amp
+disp(V_B,"The value of V_B in volts is : ")
+disp(V_E,"The value of V_E in volts is : ")
+disp(V_C,"The value of V_C in volts is : ")
+disp(I_E*10^3,"The value of I_E in mA is : ")
+disp(I_C*10^3,"The value of I_C in mA is : ")
+disp(I_B*10^3,"The value of I_B in mA is : ")
diff --git a/3515/CH3/EX3.14/Ex_3_14.sce b/3515/CH3/EX3.14/Ex_3_14.sce new file mode 100644 index 000000000..1c9e32013 --- /dev/null +++ b/3515/CH3/EX3.14/Ex_3_14.sce @@ -0,0 +1,24 @@ +// Exa 3.14
+format('v',5);
+clc;
+clear;
+close;
+// Given data
+bita=100;
+hFE= 100;
+VCEsat= 0.2;// in V
+VBEsat= 0.8;// in V
+VBEactive= 0.7;// in V
+VBB= 5;// in V
+VCC= 10;// in V
+R_C= 3;// in kΩ
+R_C=R_C*10^3;// in Ω
+R_B= 50;// in kΩ
+R_B=R_B*10^3;// in Ω
+// Formula VCC= ICsat*R_C+VCEsat
+ICsat= (VCC-VCEsat)/R_C;//A
+disp(ICsat*10^3,"The value of IC(sat) in mA is : ")
+IBmin= ICsat/bita;// in A
+// Apply KVL to input circuit, VBB= IB*R_B+VBEsat
+IB= (VBB-VBEsat)/R_B;// in A
+disp(IB*10^6,"Actual base current in µA is : ")
diff --git a/3515/CH3/EX3.16/Ex_3_16.sce b/3515/CH3/EX3.16/Ex_3_16.sce new file mode 100644 index 000000000..28c47d296 --- /dev/null +++ b/3515/CH3/EX3.16/Ex_3_16.sce @@ -0,0 +1,19 @@ +// Exa 3.16
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+// bita= alpha/(1-alpha)
+// At alpha= 0.5
+alpha= 0.5;
+bita= alpha/(1-alpha);
+disp(bita,"At alpha=0.5, the value of bita is : ")
+// At alpha= 0.9
+alpha= 0.9;
+bita = alpha/(1-alpha);
+disp(bita,"At alpha=0.9, the value of bita is : ")
+// At alpha= 0.5
+alpha= 0.999;
+bita= alpha/(1-alpha);
+disp(bita,"At alpha=0.999, the value of bita is : ")
diff --git a/3515/CH3/EX3.17/Ex_3_17.sce b/3515/CH3/EX3.17/Ex_3_17.sce new file mode 100644 index 000000000..0dd9100c4 --- /dev/null +++ b/3515/CH3/EX3.17/Ex_3_17.sce @@ -0,0 +1,23 @@ +// Exa 3.17
+format('v',6);
+clc;
+clear;
+close;
+// Given data
+// alpha= bita/(1-bita)
+// At bita= 1
+bita=1;
+ alpha= bita/(1+bita);
+ disp(alpha,"At bita=1, the value of alpha is : ")
+ // At bita= 2
+bita=2;
+ alpha= bita/(1+bita);
+ disp(alpha,"At bita=2, the value of alpha is : ")
+// At bita= 100
+bita=100;
+ alpha= bita/(1+bita);
+ disp(alpha,"At bita=100, the value of alpha is : ")
+// At bita= 200
+bita=200;
+ alpha= bita/(1+bita);
+ disp(alpha,"At bita=200, the value of alpha is : ")
diff --git a/3515/CH3/EX3.18/Ex_3_18.sce b/3515/CH3/EX3.18/Ex_3_18.sce new file mode 100644 index 000000000..d2f0f2f13 --- /dev/null +++ b/3515/CH3/EX3.18/Ex_3_18.sce @@ -0,0 +1,22 @@ + // Exa 3.18
+format('v',9);
+clc;
+clear;
+close;
+// Given data
+VBE= 0.76;// in V
+VT= 0.025;// in V
+I_C= 10*10^-3;// in A
+// Formula I_C= I_S*%e^(VBE/VT)
+I_S= I_C/(%e^(VBE/VT));// in A
+disp(I_S,"The value of I_S in amp is : ")
+// Part(a) for VBE = 0.7 V
+VBE= 0.7;// in V
+I_C= I_S*%e^(VBE/VT)
+disp(I_C*10^3,"For VBE = 0.7 V , The value of I_C in mA is : ")
+
+// Part (b) for I_C= 10 µA
+I_C= 10*10^-6;// in A
+// Formula I_C= I_S*%e^(VBE/VT)
+VBE= VT*log(I_C/I_S);
+disp(VBE,"For I_C = 10 µA, The value of VBE in V is : ")
diff --git a/3515/CH3/EX3.19/Ex_3_19.sce b/3515/CH3/EX3.19/Ex_3_19.sce new file mode 100644 index 000000000..056c13466 --- /dev/null +++ b/3515/CH3/EX3.19/Ex_3_19.sce @@ -0,0 +1,21 @@ +// Exa 3.19
+format('v',9);
+clc;
+clear;
+close;
+// Given data
+VBE= 0.7;// in V
+VT= 0.025;// in V
+I_B= 100;// in µA
+I_B=I_B*10^-6;// in A
+I_C= 10*10^-3;// in A
+// Formula I_C= I_S*%e^(VBE/VT)
+I_S= I_C/(%e^(VBE/VT));// in A
+alpha= I_C/(I_C+I_B);
+bita= I_C/I_B;
+IS_by_alpha= I_S/alpha;// in A
+IS_by_bita= I_S/bita;// in A
+disp(alpha,"The value of alpha is : ");
+disp(bita,"The value of bita is : ");
+disp(IS_by_alpha,"The value of Is/alpha in A is :");
+disp(IS_by_bita,"The value of Is/bita in A is : ");
diff --git a/3515/CH3/EX3.2/Ex_3_2.sce b/3515/CH3/EX3.2/Ex_3_2.sce new file mode 100644 index 000000000..a7cf305b3 --- /dev/null +++ b/3515/CH3/EX3.2/Ex_3_2.sce @@ -0,0 +1,27 @@ +// Exa 3.2
+format('v',6);
+clc;
+clear;
+close;
+// Given data
+V_E= 1.7;// in V
+V_B= 1;// in V
+RC= 5;// in kΩ
+RE= 5;// in kΩ
+RE= RE*10^3;// in Ω
+RC= RC*10^3;// in Ω
+RB= 100;//in kΩ\
+RB= RB*10^3;// in Ω
+V_CC= 10;// in V
+V_BE= -10;// in volt
+I_E= (V_CC-V_E)/RE;// in A
+I_B= V_B/RB;// in V
+// Formula I_B= (1-alpha)*I_E
+alpha= 1-I_B/I_E;
+disp(alpha,"Value of alpha is : ")
+bita= alpha/(1-alpha);
+disp(bita,"Value of bita is : ")
+V_C= (I_E-I_B)*RC-V_CC;// in volt
+disp(V_C,"Collector voltage in volts is : ")
+
+
diff --git a/3515/CH3/EX3.20/Ex_3_20.sce b/3515/CH3/EX3.20/Ex_3_20.sce new file mode 100644 index 000000000..8e895f397 --- /dev/null +++ b/3515/CH3/EX3.20/Ex_3_20.sce @@ -0,0 +1,50 @@ +// Exa 3.20
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+VBE= 0.7;// in V
+VCC= 10.7;// in V
+R_C= 10;//in kΩ
+R_C=R_C*10^3;// in Ω
+R_B= 10;//in kΩ
+R_B=R_B*10^3;// in Ω
+I1= (VCC-VBE)/R_C;// in A
+disp(I1*10^3,"The value of I1 in mA is : ")
+// Part (b)
+VC= -4;//in V
+VB= -10;// in V
+R_C= 5.6;//in kΩ
+R_C=R_C*10^3;// in Ω
+R_B= 2.4;//in kΩ
+R_B=R_B*10^3;// in Ω
+VCC=12;// V
+I_C= (VC-VB)/R_B;// in A
+V2= VCC- (R_C*I_C);
+disp(V2,"The value of V2 in volt is : ");
+// Part (c)
+VCC= 0;
+VCE= -10;// in V
+R_C= 10;//in kΩ
+R_C=R_C*10^3;// in Ω
+I_C= (VCC-VCE)/R_C;// in A
+V4= 1;// in V
+I3= I_C;// in A (approx)
+disp(V4,"The value of V4 in volt is : ");
+disp(I3*10^3,"The value of I3 in mA is : ")
+// Part (d)
+VBE= -10;// in V
+VCC= 10;// in V
+R_B= 5;//in kΩ
+R_B=R_B*10^3;// in Ω
+R_C= 15;//in kΩ
+R_C=R_C*10^3;// in Ω
+// I5= I_C and
+// I5= (V6-0.7-VBE)/R_B and I_C= (VCC-V6)/R_C
+V6= (VCC*R_B+R_C*(0.7+VBE))/(R_C+R_B);
+disp(V6,"The value of V6 in volt is : ")
+I5= (V6-0.7-VBE)/R_B;// in A
+disp(I5*10^3,"The value of I5 in mA is : ")
+
+
diff --git a/3515/CH3/EX3.21/Ex_3_21.sce b/3515/CH3/EX3.21/Ex_3_21.sce new file mode 100644 index 000000000..a11bf34c4 --- /dev/null +++ b/3515/CH3/EX3.21/Ex_3_21.sce @@ -0,0 +1,60 @@ +// Exa 3.21
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+// Part (a)
+V_C= 2;// in V
+R_C= 1;// in kΩ
+R_C=R_C*10^3;// in Ω
+V_B= 4.3;// in V
+R_B= 200;// in kΩ
+R_B=R_B*10^3;// in Ω
+I_C= V_C/R_C;// in A
+I_B= V_B/R_B;// in A
+Beta= I_C/I_B;
+disp("Part (a)")
+disp(I_C*10^3,"Collector current in mA is : ")
+disp(I_B*10^6,"Base current in µA is : ")
+disp(Beta,"The value of Beta is : ")
+
+// Part (b)
+V_C= 2.3;// in V
+R_C= 230;// in kΩ
+R_C=R_C*10^3;// in Ω
+V_B= 4.3;// in V
+R_B= 20;// in kΩ
+R_B=R_B*10^3;// in Ω
+I= V_C/R_C;// current through 230Ω resistro i.e. I_C + I_B in A
+I_B= (V_B-V_C)/R_B;// in A
+I_C= I-I_B;// in A
+Beta= abs(I_C/I_B);
+disp("Part (b)")
+disp(I_C*10^3,"Collector current in mA is : ")
+disp(I_B*10^3,"Base current in mA is : ")
+disp(Beta,"The value of Beta is : ")
+
+// Part (c)
+V_E= 10;// in V
+R_E= 1;// in kΩ
+R_E=R_E*10^3;// in Ω
+V_1= 7;// in V
+R_C= 1;// in kΩ
+R_C=R_C*10^3;// in Ω
+V_B= 6.3;// in V
+R_B= 100;// in kΩ
+R_B=R_B*10^3;// in Ω
+I_E= (V_E-V_1)/R_C;//in A
+I_C=I_E;// in A (approx)
+V_C= I_C*R_C;// in V
+I_B= (V_B-V_C)/R_B;// in A
+Beta= I_E/I_B-1;
+disp("Part (c)")
+disp(I_E*10^3,"Emitter current in mA is : ")
+disp(I_B*10^6,"Base current in µA is : ")
+disp(V_C,"Collector voltage in volts is : ")
+disp(Beta,"The value of Beta is : ")
+
+// Note : In the book the value of base current in the first part is wrong due to calculation error.
+// In the part (b) the values of collector current and Beta are wrong due to calculation error in the first line of part (b)
diff --git a/3515/CH3/EX3.22/Ex_3_22.sce b/3515/CH3/EX3.22/Ex_3_22.sce new file mode 100644 index 000000000..77a69287c --- /dev/null +++ b/3515/CH3/EX3.22/Ex_3_22.sce @@ -0,0 +1,47 @@ + // Exa 3.22
+format('v',6);
+clc;
+clear;
+close;
+// Given data
+// Part (a)
+bita= 30;
+R_C= 2.2;// in kΩ
+R_C=R_C*10^3;// in Ω
+R_B= 2.2;// in kΩ
+R_B=R_B*10^3;// in Ω
+VCC= 3;// in V
+VCE= -3;// in V
+VBE= 0.7;// in V
+V_B= 0;// in V
+V_E= V_B-VBE;// in V
+I_E= (V_E-VCE)/R_B;// in A
+I_C= I_E;// in A
+V_C= VCC-I_E*R_C;// in V
+I_B= I_C/bita;// in A
+disp("Part (a)")
+disp(V_B,"The value of V_B in V is : ")
+disp(V_E,"The value of V_E in V is : ")
+disp(I_E*10^3,"The value of I_E in mA is : ")
+disp(V_C,"The value of V_C in V is : ")
+disp(I_B*10^3,"The value of I_B in mA is : ")
+// Part (b)
+R_C= 560;// in Ω
+R_B= 1.1;// in kΩ
+R_B=R_B*10^3;// in Ω
+VCC= 9;// in V
+VCE= 3;// in V
+V_B= 3;// in V
+V_E= V_B+VBE;// in V
+I_E= (VCC-V_E)/R_B;// in A
+alpha= bita/(1+bita);
+I_C= I_E*alpha;// in A
+V_C= I_C*R_C;// in V
+I_B= I_C/bita;// in A
+disp("Part (b)")
+disp(V_B,"The value of V_B in V is : ")
+disp(V_E,"The value of V_E in V is : ")
+disp(I_C*10^3,"The value of I_E in mA is : ")
+disp(V_C,"The value of V_C in V is : ")
+disp(I_B*10^3,"The value of I_B in mA is : ")
+
diff --git a/3515/CH3/EX3.23/Ex_3_23.sce b/3515/CH3/EX3.23/Ex_3_23.sce new file mode 100644 index 000000000..14accfa3f --- /dev/null +++ b/3515/CH3/EX3.23/Ex_3_23.sce @@ -0,0 +1,33 @@ +// Exa 3.23
+format('v',5);
+clc;
+clear;
+close;
+// Given data
+VBE= 0.7;// in V
+VCC= 9;// in V
+VCE= -9;// in V
+V_B= -1.5;// in V
+R_C= 10;// in kΩ
+R_C=R_C*10^3;// in Ω
+R_B= 10;// in kΩ
+R_B=R_B*10^3;// in Ω
+I_B= abs(V_B)/R_B;// in A
+V_E= V_B-VBE;// in V
+disp(V_E,"The value of V_E in volt is : ")
+I_E= (V_E-VCE)/R_B;// in A
+Beta= I_E/I_B-1;
+alpha= Beta/(1+Beta);
+disp(alpha,"The value of alpha in volt is : ")
+disp(Beta,"The value of Beta in volt is : ")
+V_C= VCC-I_E*alpha*R_C;// in V
+disp(V_C,"The value of V_C in volt is : ")
+// When Beta = infinite then
+alpha= 1 ;// As infinite/(1+infinite) = 1
+I_B= 0;
+V_B=0;
+V_C= VCC-I_E*R_C;// in volt
+disp("When Beta = infinite then :-")
+disp(V_B,"The value of V_B in volt is : ")
+disp(V_E,"The value of V_E in volt is : ")
+disp(V_C,"The value of V_C in volt is : ")
diff --git a/3515/CH3/EX3.24/Ex_3_24.sce b/3515/CH3/EX3.24/Ex_3_24.sce new file mode 100644 index 000000000..bbf4bc526 --- /dev/null +++ b/3515/CH3/EX3.24/Ex_3_24.sce @@ -0,0 +1,16 @@ +// Exa 3.24
+format('v',5);
+clc;
+clear;
+close;
+// Given data
+VBE_1= 0.7;// in V
+VBE_2= 0.5;// in V
+V_T= 0.025;// in V
+I_C1= 10;// in mV
+I_C1= I_C1*10^-3;// in A
+// I_C1= I_S*%e^(VBE_1/V_T) (i)
+// I_C2= I_S*%e^(VBE_2/V_T) (ii)
+// Devide equation (ii) by (i)
+I_C2= I_C1*%e^((VBE_2-VBE_1)/V_T);// in A
+disp(I_C2*10^6,"The value of I_C2 in µA is : ")
diff --git a/3515/CH3/EX3.25/Ex_3_25.sce b/3515/CH3/EX3.25/Ex_3_25.sce new file mode 100644 index 000000000..4d403c246 --- /dev/null +++ b/3515/CH3/EX3.25/Ex_3_25.sce @@ -0,0 +1,20 @@ +// Exa 3.25
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+R1= 10;// in kΩ
+R1=R1*10^3;// in Ω
+R2= 10;// in kΩ
+R2=R2*10^3;// in Ω
+I_C=.5;// mA
+V_T= 0.025;//in V
+I_C= I_C*10^-3;// in A
+V= 10;// in V
+Vth= V*R1/(R1+R2);// in V
+Rth= R1*R2/(R1+R2);//in Ω
+vo= I_C*Rth;// in V
+vi=V_T;// in V
+vo_by_vi= vo/vi;//in V/V
+disp(vo_by_vi,"The value of vo/vi in V/V is : ")
diff --git a/3515/CH3/EX3.27/Ex_3_27.sce b/3515/CH3/EX3.27/Ex_3_27.sce new file mode 100644 index 000000000..7d8361d57 --- /dev/null +++ b/3515/CH3/EX3.27/Ex_3_27.sce @@ -0,0 +1,27 @@ +// Exa 3.27
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_B= 2;// in V
+V_CC=5;// in V
+V_BE= 0.7;// in V
+R_E= 1*10^3;// in Ω
+R_C= 1*10^3;// in Ω
+V_E= V_B-V_BE;// in V
+I_E= V_E/R_E;// in A
+I_C= I_E;// in A
+V_C= V_CC-I_C*R_C;//in V
+disp("At V_B= +2 V")
+disp(V_E,"The value of V_E in volts is : ")
+disp(V_C,"The value of V_C in volts is : ")
+
+// Part (b)
+V_B= 0;//in V
+V_E= 0;// in V
+I_E= 0;// in A
+V_C= 5;// in V
+disp("At V_B= 0 V")
+disp(V_E,"The value of V_E in volts is : ")
+disp(V_C,"The value of V_C in volts is : ")
diff --git a/3515/CH3/EX3.28/Ex_3_28.sce b/3515/CH3/EX3.28/Ex_3_28.sce new file mode 100644 index 000000000..8b9c51c3e --- /dev/null +++ b/3515/CH3/EX3.28/Ex_3_28.sce @@ -0,0 +1,35 @@ +// Exa 3.28
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_B= 0;// in V
+R_E=1*10^3;//in Ω
+R_C=1*10^3;//in Ω
+V_CC=5;// in V
+V_BE= 0.7;// in V
+V_E= V_B-V_BE;// in V
+I_E= (1+V_E)/R_E;// in A
+I_C= I_E;// (approx) in A
+V_C= V_CC-I_C*R_C;//in V
+disp("Part (i)")
+disp(V_E,"The value of V_E in volt is : ");
+disp(V_C,"The value of V_C in volt is : ");
+// For saturation
+V_CE=0.2 ;// V
+V_CB= -0.5;// in V
+// I_C= 5-V_C/R_C and V_C= V_E-VCE, So
+// I_C= (5.2-V_E)/R_C
+// I_E= (V_E+1)/R_E and at the edge of saturation I_C=I_E,
+V_E= 4.2/2;/// in V
+V_B= V_E+0.7;// in V
+V_C= V_E+0.2;// in V
+disp("Part (ii) ")
+disp(V_E,"The value of V_E in volts is : ");
+disp(V_B,"The value of V_B in volts is : ");
+disp(V_C,"The value of V_C in volts is : ");
+
+// Note: In the book , there is a miss print in the last line of this question because V_E+0.2= 2.1+0.2 = 2.3 (not 2.8) , so answer in the book is wrong
+
+
diff --git a/3515/CH3/EX3.29/Ex_3_29.sce b/3515/CH3/EX3.29/Ex_3_29.sce new file mode 100644 index 000000000..d206a565f --- /dev/null +++ b/3515/CH3/EX3.29/Ex_3_29.sce @@ -0,0 +1,27 @@ +// Exa 3.29
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_CC=5;// in V
+V_E= 1;// in V
+V_BE= 0.7;// in V
+R_E=5*10^3;//in Ω
+R_C=5*10^3;//in Ω
+R_B= 20*10^3;// in Ω
+I_E= (V_CC-V_E)/R_E;// in A
+// For pnp transistor V_BE= V_E-V_B
+V_B= V_E-V_BE;// in V
+I_B= V_B/R_B;// in A
+I_C= I_E-I_B;// in A
+V_C= I_C*R_C-V_CC;// in V
+bita= I_C/I_B;
+alpha= I_C/I_E;
+disp(V_B,"The value of V_B in volts is : ");
+disp(I_B*10^3,"The value of I_B in mA is : ");
+disp(I_E*10^3,"The value of I_E in mA is : ");
+disp(I_C*10^3,"The value of I_C in mA is : ");
+disp(V_C,"The value of V_C in volts is : ");
+disp(bita,"The value of bita is : ");
+disp(alpha,"The value of alpha is : ");
diff --git a/3515/CH3/EX3.3/Ex_3_3.sce b/3515/CH3/EX3.3/Ex_3_3.sce new file mode 100644 index 000000000..0e5f4f530 --- /dev/null +++ b/3515/CH3/EX3.3/Ex_3_3.sce @@ -0,0 +1,47 @@ +// Exa 3.3
+format('v',6);
+clc;
+clear;
+close;
+// Given data
+V_CC= 10;// in V
+V_CE= 3.2;// in V
+RC= 6.8;// in kΩ
+RC= RC*10^3;// in Ω
+I_S= 1*10^-15;// in A
+V_T= 25*10^-3;// in V
+I_C1= (V_CC-V_CE)/RC;// in A
+// Formula I_C= I_S*%e^(V_BE1/V_T)
+V_BE1= V_T*log(I_C1/I_S);// in volt
+disp(I_C1*10^3,"Collector current in mA is : ")
+disp(V_BE1,"Value of V_BE in volts is : ")
+
+// Part (b)
+v_in= 5*10^-3;// in V
+Av= -(V_CC-V_CE)/V_T;// in V/V
+disp(Av,"Voltage gain in V/V is : ")
+v_o= abs(Av )*v_in;// in V
+disp(v_o,"Change in output voltage in volts is : ")
+
+// Part (c) for V_CE= 0.3 V
+V_CE= 0.3;// in V
+I_C2= (V_CC-V_CE)/RC;// in A
+// I_C1= I_S*%e^(V_BE1/V_T) (i)
+// I_C2= I_S*%e^(V_BE2/V_T) (ii)
+// divide the equation (ii) by (i)
+delta_V_BE= V_T*log(I_C2/I_C1);// in volt ( where delta_V_BE = V_BE2-V_BE1 )
+disp(delta_V_BE*10^3 ,"The positive increament in V_BE in mV is : ")
+
+// Part (d)
+v_o= 0.99*V_CC;// in V
+I_C3= (V_CC-v_o)/RC;// in A
+delta_V_BE= V_T*log(I_C3/I_C1);// in V
+disp(delta_V_BE*10^3 ,"The negative increament in V_BE in mV is : ")
+
+
+
+
+
+
+
+
diff --git a/3515/CH3/EX3.30/Ex_3_30.sce b/3515/CH3/EX3.30/Ex_3_30.sce new file mode 100644 index 000000000..faaedacd0 --- /dev/null +++ b/3515/CH3/EX3.30/Ex_3_30.sce @@ -0,0 +1,20 @@ +// Exa 3.30
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_CC=5;// in V
+V_T= 0.025;// in V
+R_C=7.5*10^3;//in Ω
+I_C= 0.5;// in mA
+I_C= I_C*10^-3;// in A
+I_E=I_C;// (approx) in A
+V_C= V_CC-I_C*R_C;// in V
+disp(V_C,"dc voltage at the collector in volt is : ")
+gm= I_C/V_T;// in A/V
+disp(gm*10^3,"The value of gm in mA/V is : ")
+// v_be= -v_i
+// v_c= -gm*v_be*R_C
+vcbyvi= gm*R_C;// in V/V
+disp(vcbyvi,"The value of vc/vi in V/V is : ")
diff --git a/3515/CH3/EX3.31/Ex_3_31.sce b/3515/CH3/EX3.31/Ex_3_31.sce new file mode 100644 index 000000000..4fde1010b --- /dev/null +++ b/3515/CH3/EX3.31/Ex_3_31.sce @@ -0,0 +1,18 @@ +// Exa 3.31
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_T= 0.025;// in V
+I_E= 0.5;// in mA
+I_E= I_E*10^-3;// in mA
+Rsig= 50;// in Ω
+R_C= 5*10^3;// in Ω
+re= V_T/I_E;// in ohm
+Rin= Rsig+re;// in ohm
+disp(Rin,"Input resistance in Ω is : ")
+// Part(b)
+// vo= -0.99*ie*R_C and ie= -v_sig/Rin
+vo_by_v_sig= 0.99*R_C/Rin;// in V/V
+disp(vo_by_v_sig,"The value of vo/vsig in V/V is : ")
diff --git a/3515/CH3/EX3.32/Ex_3_32.sce b/3515/CH3/EX3.32/Ex_3_32.sce new file mode 100644 index 000000000..96784c08f --- /dev/null +++ b/3515/CH3/EX3.32/Ex_3_32.sce @@ -0,0 +1,44 @@ +// Exa 3.32
+format('v',4);
+clc;
+clear;
+close;
+// Given data
+bita= 200;
+alpha= bita/(1+bita);
+R_C= 100;// in Ω
+R_B= 10;// in kΩ
+Rsig= 1;// in kΩ
+Rsig= Rsig*10^3;// in Ω
+R_B= R_B*10^3;// in Ω
+V_T= 25*10^-3;
+V=1.5;// in V
+I_E= 10;// in mA
+I_E= I_E*10^-3;// in A
+I_C= alpha*I_E;// in A
+V_C= I_C*R_C;// in V
+I_B= I_C/bita;// in A
+V_B= V-(R_B*I_B)
+gm= I_C/V_T;// in A/V
+rpi= bita/gm;// in Ω
+Rib= rpi;// in Ω
+disp(Rib,"The value of Rib in Ω is : ")
+Rin= R_B*rpi/(R_B+rpi);// in Ω
+disp(Rin,"The value of Rin in Ω is : ")
+// vbe= v_sig*Rin/(Rsig+Rin);
+vbe_by_vsig= Rin/(Rsig+Rin);
+// vo= -gm*vbe*R_C and = -gm*v_sig*Rin/(Rsig+Rin)
+vo_by_vsig= -gm*R_C*vbe_by_vsig;// in V/V
+disp(vo_by_vsig,"Overall voltage gain in V/V is : ")
+// if
+vo= 0.4;//(±) in V
+vs= vo/abs(vo_by_vsig);// in V
+vbe= vbe_by_vsig*vs;// in V
+disp(vs*10^3,"The value of v_sig in mV is : ")
+disp(vbe*10^3,"The value of v_be in mV is : ")
+
+// Note: There is some difference between in this coding and book solution. But Coding is correct.
+
+
+
+
diff --git a/3515/CH3/EX3.33/Ex_3_33.sce b/3515/CH3/EX3.33/Ex_3_33.sce new file mode 100644 index 000000000..b371e39fa --- /dev/null +++ b/3515/CH3/EX3.33/Ex_3_33.sce @@ -0,0 +1,100 @@ +// Exa 3.33
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_T= 0.025;// in V
+// Part(a)
+disp("Part (a)")
+V_BE= 690;// in mV
+V_BE=V_BE*10^-3;// in V
+I_C= 1;// in mA
+I_B= 50;// in µA
+I_C=I_C*10^-3;// in A
+I_B=I_B*10^-6;// in A
+bita= I_C/I_B;
+alpha= bita/(1+bita);
+I_E= I_C/alpha;// in A
+// I_C= I_S*%e^(V_BE/V_T)
+I_S= I_C/(%e^(V_BE/V_T));
+disp(bita,"The value of bita is : ")
+disp(alpha,"The value of alpha is : ")
+disp(I_E*10^3,"The value of I_E in mA is : ")
+disp(I_S,"The value of I_S in amp is : ")
+
+// Part(b)
+disp("Part (b)")
+V_BE= 690;// in mV
+V_BE=V_BE*10^-3;// in V
+I_C= 1;// in mA
+I_C=I_C*10^-3;// in A
+I_E= 1.070;// in mA
+I_E=I_E*10^-3;// in A
+bita= I_C/I_B;
+alpha= I_C/I_E;
+bita= alpha/(1-alpha);
+I_B= I_C/bita;// in A
+// I_C= I_S*%e^(V_BE/V_T)
+I_S= I_C/(%e^(V_BE/V_T));
+disp(bita,"The value of bita is : ")
+disp(alpha,"The value of alpha is : ")
+disp(I_B*10^6,"The value of I_B in µA is : ")
+disp(I_S,"The value of I_S in amp is : ")
+
+// Part(c)
+disp("Part (C)")
+V_BE= 580;// in mV
+V_BE=V_BE*10^-3;// in V
+I_E= 0.137;// in mA
+I_B= 7;// in µA
+I_E=I_E*10^-3;// in A
+I_B=I_B*10^-6;// in A
+// I_C= alpha*I_E = bita*I_B
+bita= I_E/I_B-1;
+alpha= bita/(1+bita);
+I_C= bita*I_B;// in A
+// I_C= I_S*%e^(V_BE/V_T)
+I_S= I_C/(%e^(V_BE/V_T));
+disp(bita,"The value of bita is : ")
+disp(alpha,"The value of alpha is : ")
+disp(I_C*10^3,"The value of I_C in mA is : ")
+disp(I_S,"The value of I_S in amp is : ")
+
+// Part(d)
+disp("Part (d)")
+V_BE= 780;// in mV
+V_BE=V_BE*10^-3;// in V
+I_C= 10.10;// in mA
+I_B= 120;// in µA
+I_C=I_C*10^-3;// in A
+I_B=I_B*10^-6;// in A
+bita= I_C/I_B;
+alpha= bita/(1+bita);
+I_E= I_C/alpha;// in A
+// I_C= I_S*%e^(V_BE/V_T)
+I_S= I_C/(%e^(V_BE/V_T));
+disp(bita,"The value of bita is : ")
+disp(alpha,"The value of alpha is : ")
+disp(I_E*10^3,"The value of I_E in mA is : ")
+disp(I_S,"The value of I_S in amp is : ")
+
+// Part(e)
+disp("Part (e)")
+V_BE= 820;// in mV
+V_BE=V_BE*10^-3;// in V
+I_E= 75;// in mA
+I_B= 1050;// in µA
+I_E=I_E*10^-3;// in A
+I_B=I_B*10^-6;// in A
+// I_C= alpha*I_E = bita*I_B
+bita= I_E/I_B-1;
+alpha= bita/(1+bita);
+I_C= bita*I_B;// in A
+// I_C= I_S*%e^(V_BE/V_T)
+I_S= I_C/(%e^(V_BE/V_T));
+disp(bita,"The value of bita is : ")
+disp(alpha,"The value of alpha is : ")
+disp(I_C*10^3,"The value of I_C in mA is : ")
+disp(I_S,"The value of I_S in amp is : ")
+
diff --git a/3515/CH3/EX3.4/Ex_3_4.sce b/3515/CH3/EX3.4/Ex_3_4.sce new file mode 100644 index 000000000..67898da65 --- /dev/null +++ b/3515/CH3/EX3.4/Ex_3_4.sce @@ -0,0 +1,22 @@ +// Exa 3.4
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_CC= 10;// in V
+V_CE= 5;// in V
+V_BE= 0.7;// in V
+I_C= 5*10^-3;// in mA
+bita= 100;
+R_C= (V_CC-V_CE)/I_C;// in Ω
+I_B= I_C/bita;// in A
+R_B= (V_CC-V_BE)/I_B;// in Ω
+disp(R_C*10^-3,"The value of R_C in kΩ is : ")
+disp(I_B*10^6,"The value of I_B in µA is : ")
+disp(R_B*10^-3,"The value of R_B in kΩ is : ")
+
+// Note: The value of base current in the book is wrong
+
+
+
diff --git a/3515/CH3/EX3.5/Ex_3_5.sce b/3515/CH3/EX3.5/Ex_3_5.sce new file mode 100644 index 000000000..9448bdbe7 --- /dev/null +++ b/3515/CH3/EX3.5/Ex_3_5.sce @@ -0,0 +1,30 @@ +// Exa 3.5
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_CC= 6;// in V
+bita= 100;
+R_C= 2;// in kΩ
+R_C= R_C*10^3;// in Ω
+R_B= 530;// in kΩ
+R_B= R_B*10^3;// in Ω
+// when I_C=0
+I_C=0;
+V_CE= V_CC-I_C*R_C;// in volt
+V_CE= 0:0.1:6;// in Volt
+I_C= (V_CC-V_CE)/R_C*1000;// in mA
+plot(V_CE,I_C);
+title("DC load line")
+xlabel("V_CE in volts")
+ylabel("I_C in mA")
+disp("DC load line shown in figure")
+// When V_CE= 0
+I_C= V_CC/R_C;//in A
+// Operating point for silicon transistor
+V_BE= 0.7;// in V
+I_B= (V_CC-V_BE)/R_B;//in A
+I_CQ= bita*I_B;// in A
+V_CEQ= V_CC-I_CQ*R_C;// in volt
+disp("Operating point is "+string(V_CEQ)+" V and "+string(I_CQ*10^3)+" mA")
diff --git a/3515/CH3/EX3.6/Ex_3_6.sce b/3515/CH3/EX3.6/Ex_3_6.sce new file mode 100644 index 000000000..4a0b97d56 --- /dev/null +++ b/3515/CH3/EX3.6/Ex_3_6.sce @@ -0,0 +1,25 @@ +// Exa 3.6
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_CC= 12;// in V
+V_BE= 0.7;// in V
+bita= 100;
+R_C= 10;// in kΩ
+R_C= R_C*10^3;// in Ω
+R_B= 100;// in kΩ
+R_B= R_B*10^3;// in Ω
+I_BQ= (V_CC-V_BE)/((1+bita)*R_C+R_B);// in A
+I_CQ= bita*I_BQ;// in A
+V_CEQ= V_CC-(I_CQ+I_BQ)*R_C;// in volt
+// For dc load line
+// When
+I_C=0;
+V_CE= V_CC-(I_C+I_BQ)*R_C;// in volt
+// When
+V_CE= 0;
+I_C= (V_CC-I_BQ*R_C)/R_C;//in A
+disp("Q- point values for circuit is "+string(V_CEQ)+" V and "+string(I_CQ*10^3)+" mA")
+
diff --git a/3515/CH3/EX3.7/Ex_3_7.sce b/3515/CH3/EX3.7/Ex_3_7.sce new file mode 100644 index 000000000..46bb6592e --- /dev/null +++ b/3515/CH3/EX3.7/Ex_3_7.sce @@ -0,0 +1,21 @@ +// Exa 3.7
+format('v',6);
+clc;
+clear;
+close;
+// Given data
+V_CC= 15;// in V
+V_BE= 0.7;// in V
+V_CE= 5;// in V
+I_C= 5;// in mA
+I_C=I_C*10^-3;// in A
+bita= 100;
+I_B= I_C/bita;// in A
+disp(I_B*10^6,"Base current in µA is : ")
+//Apply KVL to collector circuit , V_CC= (I_C+I_B)*R_C+V_CE
+R_C= (V_CC-V_CE)/(I_C+I_B);// in Ω
+disp(R_C*10^-3,"The value of R_C in kΩ is : ")
+//Apply KVL to base or input circuit, V_CC= (I_C+I_B)*R_C+V_CE + I_B*R_B
+R_B= (V_CC-V_BE-(I_C+I_B)*R_C)/I_B;// in ohm
+disp(R_B*10^-3,"The value of R_B in kΩ is : ")
+
diff --git a/3515/CH3/EX3.8/Ex_3_8.sce b/3515/CH3/EX3.8/Ex_3_8.sce new file mode 100644 index 000000000..6c2f19dd5 --- /dev/null +++ b/3515/CH3/EX3.8/Ex_3_8.sce @@ -0,0 +1,15 @@ +// Exa 3.8
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+V_BE= 0.7;// in V
+V_CE= 3;// in V
+I_C= 1;// in mA
+I_C=I_C*10^-3;// in A
+bita= 100;
+I_B= I_C/bita;// in A
+// V_CE= V_BE+V_CB and V_CB= I_B*R_B
+R_B= (V_CE-V_BE)/I_B;// in Ω
+disp(R_B*10^-3,"The value of R_B in kΩ is : ")
diff --git a/3515/CH3/EX3.9/Ex_3_9.sce b/3515/CH3/EX3.9/Ex_3_9.sce new file mode 100644 index 000000000..0a48bd0ce --- /dev/null +++ b/3515/CH3/EX3.9/Ex_3_9.sce @@ -0,0 +1,35 @@ +// Exa 3.9
+format('v',7);
+clc;
+clear;
+close;
+// Given data
+R1= 10;// in kΩ
+R1=R1*10^3;// in Ω
+R2= 5;// in kΩ
+R2=R2*10^3;// in Ω
+RC= 1;// in kΩ
+RC=RC*10^3;// in Ω
+RE= 2;// in kΩ
+RE=RE*10^3;// in Ω
+V_CC= 15;// in V
+V_BE= 0.7;// in V
+// When
+I_C=0;
+V_CE= V_CC-I_C*(RC+RE);// in V
+// When V_CE= 0
+I_C= V_CC/(RC+RE);// in A
+V_B= V_CC*R2/(R1+R2);// in V
+I_E= (V_B-V_BE)/RE;// in A
+I_C= I_E;// in A (approx)
+I_CQ= I_C;// in A
+V_CE= V_CC-I_C*(RC+RE);// in V
+V_CEQ= V_CE;// in V
+V_CE= 0:0.1:15;// in Volt
+I_C= (V_CC-V_CE)/(RC+RE)*1000;// in mA
+plot(V_CE,I_C);
+title("DC load line")
+xlabel("V_CE in volts")
+ylabel("I_C in mA")
+disp("DC load line shown in figure")
+disp("Operating point is "+string(V_CEQ)+" V and "+string(I_CQ*10^3)+" mA")
|