diff options
Diffstat (limited to '2375')
108 files changed, 2817 insertions, 0 deletions
diff --git a/2375/CH10/EX10.1/ex10_1.sce b/2375/CH10/EX10.1/ex10_1.sce new file mode 100755 index 000000000..70a79b1a1 --- /dev/null +++ b/2375/CH10/EX10.1/ex10_1.sce @@ -0,0 +1,13 @@ +// Exa 10.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+A = 60;// in dB
+A= 10^(A/20)
+Beta = 0.005;
+dAbyA = -12/100;
+// On putting the value of A, bita and dA/A
+dAfbyAf = (1/(1+A*Beta))*(dAbyA);
+disp(dAfbyAf,"The change in overall gain is");
diff --git a/2375/CH10/EX10.10/ex10_10.sce b/2375/CH10/EX10.10/ex10_10.sce new file mode 100755 index 000000000..d730b1c8a --- /dev/null +++ b/2375/CH10/EX10.10/ex10_10.sce @@ -0,0 +1,15 @@ +// Exa 10.10
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+A = 200;
+Beta = 5/100;
+Af =A/(1 + (A*Beta));
+disp(Af,"The gain of the amplifier with negative feedback is : ")
+Dn = 10;// in %
+Ddesh_n = Dn/(1+(A*Beta));// in %
+disp(Ddesh_n,"The distortion with negative feedback in % is : ");
+
+// Note: In the book, the calculation to find the gain of the amplifier with negative feedback i.e Af is wrong.
diff --git a/2375/CH10/EX10.11/ex10_11.sce b/2375/CH10/EX10.11/ex10_11.sce new file mode 100755 index 000000000..817a2e118 --- /dev/null +++ b/2375/CH10/EX10.11/ex10_11.sce @@ -0,0 +1,12 @@ +// Exa 10.11
+clc;
+clear;
+close;
+format('e',8)
+// Given data
+Af = 10;
+A = 50;
+// Af =A/(1 + (A*Beta) );
+Beta = ((A/Af)-1)/A*100;// in %
+dAfByAf = 1/( 1+100/4 )*Af/100;
+disp(dAfByAf,"The percentage of feedback is");
diff --git a/2375/CH10/EX10.12/ex10_12.sce b/2375/CH10/EX10.12/ex10_12.sce new file mode 100755 index 000000000..67a11d89d --- /dev/null +++ b/2375/CH10/EX10.12/ex10_12.sce @@ -0,0 +1,20 @@ +// Exa 10.12
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+Ao = 100;
+f_L = 20;// in Hz
+f_H = 40;// in kHz
+f_H = f_H*10^3;// in Hz
+Beta = 0.1;
+Af = Ao/(1 + (Beta*Ao));
+disp(Af,"The overall gain at mid frequency is");
+f_Hf = f_H*(1+(Ao*Beta));// in Hz
+f_Hf = f_Hf * 10^-3;// in kHz
+disp(f_Hf,"The upper cutoff frequency with negative feedback in kHz is");
+f_Lf = f_L/(1+(Ao*Beta));// in Hz
+disp(f_Lf,"The lower cutoff frequency with negative feedback in Hz is");
+
+// Note: The calculated value of lower cutoff frequency with negative feedback i.e f_Lf is wrong. So the answer in the book is wrong.
diff --git a/2375/CH10/EX10.13/ex10_13.sce b/2375/CH10/EX10.13/ex10_13.sce new file mode 100755 index 000000000..f00505456 --- /dev/null +++ b/2375/CH10/EX10.13/ex10_13.sce @@ -0,0 +1,28 @@ +// Exa 10.13
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+R1 = 20;// in k ohm
+R1 = R1 * 10^3;// in ohm
+R2 = 20;// in k ohm
+R2 = R2 * 10^3;// in ohm
+h_ie = 2;// in k ohm
+h_ie = h_ie * 10^3;// in ohm
+R_L = 1;// in k ohm
+R_L = R_L * 10^3;// in ohm
+R_E = 100;// in ohm
+h_fe = 80;
+A = (-h_fe*R_L)/h_ie;
+disp(A,"The value of A is");
+Beta = R_E/R_L;
+disp(Beta,"The value of Beta is");
+Rif = h_ie + (1+h_fe)*R_E;// in ohm
+Rif = Rif * 10^-3;// in k ohm
+disp(Rif,"The value of R_if in k ohm is");
+Af = (-h_fe*R_L)/(Rif*10^3);
+disp(Af,"The value of Af is");
+AB = A*Beta;
+AB= real(20*log10(AB));// in dß
+disp(AB,"The value of loopgain in dß is");
diff --git a/2375/CH10/EX10.14/ex10_14.sce b/2375/CH10/EX10.14/ex10_14.sce new file mode 100755 index 000000000..409a65398 --- /dev/null +++ b/2375/CH10/EX10.14/ex10_14.sce @@ -0,0 +1,13 @@ +// Exa 10.14
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+A = 200;
+BW = 10;// in kHz
+Beta = 10/100;
+Af =A/(1+(A*Beta));
+disp(Af,"The gain with negative feedback is");
+BWf = BW*(1+(A*Beta));// in kHz
+disp(BWf,"The bandwidth with negative feedback in kHz is");
diff --git a/2375/CH10/EX10.2/ex10_2.sce b/2375/CH10/EX10.2/ex10_2.sce new file mode 100755 index 000000000..6eedda5e1 --- /dev/null +++ b/2375/CH10/EX10.2/ex10_2.sce @@ -0,0 +1,13 @@ +// Exa 10.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+A = 1000;
+Zi = 1;// in k ohm
+Zi = Zi * 10^3;// in ohm
+Beta = 0.01;
+Zdesh_i = (1+A*Beta)*Zi;// in ohm
+Zdesh_i =Zdesh_i *10^-3;// in k ohm
+disp(Zdesh_i,"The input impedance of the feedback amplifier in k ohm is");
diff --git a/2375/CH10/EX10.3/ex10_3.sce b/2375/CH10/EX10.3/ex10_3.sce new file mode 100755 index 000000000..408b4cf86 --- /dev/null +++ b/2375/CH10/EX10.3/ex10_3.sce @@ -0,0 +1,17 @@ +// Exa 10.3
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+A = 60;// in dB
+A= 10^(A/20);
+Zo = 12000;// in ohm
+Zdesh_o = 600;// in ohm
+//Zdesh_o = Zo/(1+(A*Beta));
+Beta = (((Zo/Zdesh_o)-1)/A)*100;// in %
+disp(Beta,"The feedback factor in % is");
+Beta = Beta/100;
+DAbyA = 0.1;
+dAfbyAf = (1/(1 + (A*Beta)))*DAbyA*100;// in %
+disp(dAfbyAf,"The percentage change in the overall gain in % is");
diff --git a/2375/CH10/EX10.4/ex10_4.sce b/2375/CH10/EX10.4/ex10_4.sce new file mode 100755 index 000000000..04ea72506 --- /dev/null +++ b/2375/CH10/EX10.4/ex10_4.sce @@ -0,0 +1,10 @@ +// Exa 10.4
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+A = 100;
+Beta = 1/10;
+Af = A/(1 + (A*Beta));
+disp(Af,"The gain of negative feedback amplifier is");
diff --git a/2375/CH10/EX10.5/ex10_5.sce b/2375/CH10/EX10.5/ex10_5.sce new file mode 100755 index 000000000..a009cb896 --- /dev/null +++ b/2375/CH10/EX10.5/ex10_5.sce @@ -0,0 +1,20 @@ +// Exa 10.5
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Af = 100;
+Vi = 0.6;// in V
+Vdesh_o = Af*Vi;// in V
+Vi = 50;// in mV
+Vi = Vi * 10^-3;// in V
+A = Vdesh_o/Vi;
+disp(A,"The value of A is");
+// Af = A/( 1 +(A*Beta) );
+Beta = (((A/Af)-1)/A)*100;// in %
+Beta= (A-Af)/(Af*A/100);
+Beta= Beta*100;// in %
+disp(Beta,"The value of Beta in % is");
+
+
diff --git a/2375/CH10/EX10.6/ex10_6.sce b/2375/CH10/EX10.6/ex10_6.sce new file mode 100755 index 000000000..1debde1df --- /dev/null +++ b/2375/CH10/EX10.6/ex10_6.sce @@ -0,0 +1,18 @@ +// Exa 10.6
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+A = 1000;
+Af = A - (0.40*1000);
+//Af = A/( 1+(A*Beta) );
+Beta = ((A/Af)-1)/A;
+A_desh = 800;
+A_desh_f= A_desh/( 1+(A_desh*Beta) );
+disp(A_desh_f,"The voltage gain with feedback is");
+// percentage reduction without feedback
+P = ((A-A_desh)/A)*100;//in %
+// percentage reduction with feedback
+P1 = ((Af-A_desh_f)/Af)*100;// in %
+disp(P1,"The percentage reduction with feedback in % is");
diff --git a/2375/CH10/EX10.7/ex10_7.sce b/2375/CH10/EX10.7/ex10_7.sce new file mode 100755 index 000000000..69feb62b0 --- /dev/null +++ b/2375/CH10/EX10.7/ex10_7.sce @@ -0,0 +1,14 @@ +// Exa 10.7
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+dAbyA = 10/100;
+A = 200;
+Beta = 0.25;
+// Af = A/(1+(A*Beta)) (i)
+// differentiating w.r.to A we get, dAf = dA/((1+(Beta*A))^2) (ii)
+// From eq(i) and (ii)
+dAfbyAf = 1/(1+A*Beta)*dAbyA
+disp(dAfbyAf,"The small change in gain is");
diff --git a/2375/CH10/EX10.8/ex10_8.sce b/2375/CH10/EX10.8/ex10_8.sce new file mode 100755 index 000000000..1c74c1c45 --- /dev/null +++ b/2375/CH10/EX10.8/ex10_8.sce @@ -0,0 +1,18 @@ +// Exa 10.8
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+A = 100;
+Beta = 1/25;
+Af = A/(1 + (A*Beta));
+disp(Af,"The gain with feedback is");
+disp((A*Beta),"The feed back factor is");
+Vi = 50;// in mV
+Vo =Af*Vi*10^-3;// in V
+disp(Vo,"The output voltage in V is");
+V_feedback= (Beta*Vo);// feedback voltage in V
+disp(V_feedback,"The feed back voltage in V is");
+Vi = Vi*(1+(A*Beta));// in mV
+disp(Vi,"The new input voltage in mV is");
diff --git a/2375/CH10/EX10.9/ex10_9.sce b/2375/CH10/EX10.9/ex10_9.sce new file mode 100755 index 000000000..d4c4e6adc --- /dev/null +++ b/2375/CH10/EX10.9/ex10_9.sce @@ -0,0 +1,14 @@ +// Exa 10.9
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Beta = 0.25;
+A = 100;
+dA= 10;// in %
+// Af = A/(1+(A*Beta)) (i)
+//dAf = dA/((1+(Beta*A))^2) (ii)
+// From eq (i) and (ii)
+dAbyA = dA/A;
+disp(dAbyA,"The small change in gain is");
diff --git a/2375/CH11/EX11.1/ex11_1.sce b/2375/CH11/EX11.1/ex11_1.sce new file mode 100755 index 000000000..3bcad39e8 --- /dev/null +++ b/2375/CH11/EX11.1/ex11_1.sce @@ -0,0 +1,14 @@ +// Exa 11.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+w=poly(0,'w');
+// For sustained oscillation,
+w= 4*w*10^6-w^3;
+w= roots(w);
+w= w(1);// in rad/sec
+f= round(w/(2*%pi));// in Hz
+disp(f,"The frequency of oscillation in Hz is : ")
+disp("Hence the system will oscillate")
diff --git a/2375/CH11/EX11.10/ex11_10.sce b/2375/CH11/EX11.10/ex11_10.sce new file mode 100755 index 000000000..91bc312af --- /dev/null +++ b/2375/CH11/EX11.10/ex11_10.sce @@ -0,0 +1,10 @@ +// Exa 11.10
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Cs = 0.04;// in pF
+C_M = 2;// in pF
+Per = (1/2)*(Cs/C_M)*100;// in %
+disp("Parallel resonant frequency is greater than series resonant frequency by "+string(Per)+" %")
diff --git a/2375/CH11/EX11.12/ex11_12.sce b/2375/CH11/EX11.12/ex11_12.sce new file mode 100755 index 000000000..2a6484705 --- /dev/null +++ b/2375/CH11/EX11.12/ex11_12.sce @@ -0,0 +1,21 @@ +// Exa 11.12
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+C = 0.01;// in pF
+C = C * 10^-12;// in F
+L = 10;// in mH
+L = L * 10^-3;// in H
+f_o = 1/(2*%pi*sqrt(L*C));// in Hz
+f_o = f_o * 10^-6;// in MHz
+disp(f_o,"The oscillation frequency in MHz is");
+R1 = 100;// in k ohm
+R2 = 5;// in k ohm
+A = 1 + (R1/R2);
+// Beta = R/10;
+// loopgain = A*Beta A*R/10 >=1
+R= 10/A;// in k ohm
+R=round(R*10^3);// in ohm
+disp("The value of R is >= "+string(R)+" ohm")
diff --git a/2375/CH11/EX11.2/ex11_2.sce b/2375/CH11/EX11.2/ex11_2.sce new file mode 100755 index 000000000..2b42bef20 --- /dev/null +++ b/2375/CH11/EX11.2/ex11_2.sce @@ -0,0 +1,28 @@ +// Exa 11.2
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+Av= 29;
+I_Bmax = 0.5*10^-6;// in A
+I1= 100*I_Bmax
+Vo_sat = 0.9;// in V
+V_CC = 9.0;// in V
+V_EE= -9;// in V
+V1= 9/Av;// in V
+R1= V1/I1;// in ohm
+R1= 5.6*10^3;// in ohm (standard value)
+Rf= Av*R1;// in ohm
+Rf= 180*10^3;// in ohm
+R3= Rf;// in ohm
+R=R1;// in ohm
+C= 1/(2*%pi*R*sqrt(6)*1000);// in F
+R= R*10^-3;// in k ohm
+Rf= Rf*10^-3;// in k ohm
+C= C*10^6;// in µF
+disp(R,"The value of R and R1 in k ohm is : ")
+disp(Rf,"The value of Rf and R3 in k ohm is : ")
+disp(C,"The value of C in µF is : ")
+disp(V_CC,"The value of V_CC in volts is : ")
+disp(V_EE,"The value of V_EE in volts is : ")
diff --git a/2375/CH11/EX11.3/ex11_3.sce b/2375/CH11/EX11.3/ex11_3.sce new file mode 100755 index 000000000..e1c01e1af --- /dev/null +++ b/2375/CH11/EX11.3/ex11_3.sce @@ -0,0 +1,31 @@ +// Exa 11.3
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+f = 5;// in kHz
+f = f * 10^3;// in Hz
+miu = 55;
+r_d = 5.5;// in k ohm
+r_d = r_d * 10^3;// in ohm
+A= 29;
+// abs(A) = g_m*R_L = (g_m*r_d*R_D)/(r_d+R_D) = (miu*R_D)/(r_d+R_D);
+// miu*R_D = abs(A)*(r_d+R_D);
+R_D = (abs(A)*r_d)/(miu-A);// in ohm
+R_D= R_D*10^-3;// in k ohm
+disp(R_D,"Minimum value of R_D in k ohm is");
+R_D= R_D*10^3;// in ohm
+Alpha = sqrt(6);
+// Alpha = 1/(2*%pi*f*R_C);
+RC = 1/(2*%pi*f*Alpha);// in sec
+RC= round(RC*10^6);// in µsec
+disp(RC,"The value of RC in µsec is");
+RC= RC*10^-6;// in sec
+R_L = (r_d*R_D)/(r_d+R_D);// in ohm
+R = 30*10^3;// in ohm
+C = RC/R;// in F
+C = C * 10^12;// in pF
+R= R*10^-3;// in k ohm
+disp(R,"The value of R in k ohm is");
+disp(C,"The value of C in pF is");
diff --git a/2375/CH11/EX11.4/ex11_4.sce b/2375/CH11/EX11.4/ex11_4.sce new file mode 100755 index 000000000..81de57383 --- /dev/null +++ b/2375/CH11/EX11.4/ex11_4.sce @@ -0,0 +1,47 @@ +// Exa 11.4
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+f= 100*10^3;// in Hz
+h_fe = 100;
+h_ie = 1* 10^3;// in ohm
+V_CE = 5;// in V
+V_BE= 0.7;// in V
+I_C = 1* 10^-3;// in A
+I_B= 0.01*10^-3;// in A
+V_CC = 20;// in V
+R_E = 1* 10^3;// in ohm
+I_E = I_C;// in A
+R_C = (V_CC-V_CE-(I_E*R_E))/I_C;// in ohm
+R = 10*10^3;// in k ohm
+k = R_C/R;
+h_fe=(23+29/k+4*k);
+// Formula f= 1/(2*%pi*R*C*sqrt(6+4*k))
+C= 1/(2*%pi*R*f*sqrt(6+4*k));// in F
+// R= R3+R1 || R2+h_ie = R3+h_ie (approx)
+R3= R-h_ie;// in ohm
+V_B= V_BE+I_E*R_E;// in V
+R2= 10*10^3;// in ohm (assumed value)
+I_R2= V_B/R2;// current in R2 in A
+V_R1= V_CC-V_B;// drop across R1 in V
+I_R1= I_R2+I_B;// in A
+R1= V_R1/I_R1;// in ohm
+R_E= R_E*10^-3;// in k ohm
+R_C= R_C*10^-3;// in k ohm
+R= R*10^-3;// in k ohm
+R1= R1*10^-3;// in k ohm
+R2= R2*10^-3;// in k ohm
+R3= R3*10^-3;// in k ohm
+C=C*10^12;// in pF
+disp(R_E,"The value of R_E in k ohm is");
+disp(R_C,"The value of R_C in k ohm is");
+disp(R,"The value of R in k ohm is");
+disp("The value of h_fe >= "+string(h_fe));
+disp(C,"The value of C in pF is : ")
+disp(R3,"The value of R3 in k ohm is : ")
+disp(R2,"The value of R2 in k ohm is : ")
+disp(R1,"The value of R1 in k ohm is : ")
+
+
diff --git a/2375/CH11/EX11.5/ex11_5.sce b/2375/CH11/EX11.5/ex11_5.sce new file mode 100755 index 000000000..c76b48fc9 --- /dev/null +++ b/2375/CH11/EX11.5/ex11_5.sce @@ -0,0 +1,22 @@ +// Exa 11.5
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+f = 5;// in kHz
+f = f * 10^3;// in Hz
+R1 = 14;// in k ohm
+R2 = 75;// in k ohm
+R_C = 18;// in k ohm
+R = 6;// in k ohm
+h_ie = 2;// in k ohm
+k = R_C/R;// in k ohm
+// f = 1/( 2*%pi*RC*sqrt(6+(4*k)) );
+C = 1/( 2*%pi*R*10^3*f*sqrt(6+(4*k)) );// in F
+C = C * 10^9;// in nF
+disp(C,"The value of capacitor in nF is");
+h_fe= 23+(29/k)+(4*k);
+disp("The value of h_fe >= "+string(h_fe))
+disp("Thus the transistor used mush have a minimum current gain of 45")
+
diff --git a/2375/CH11/EX11.7/ex11_7.sce b/2375/CH11/EX11.7/ex11_7.sce new file mode 100755 index 000000000..7b1db0e13 --- /dev/null +++ b/2375/CH11/EX11.7/ex11_7.sce @@ -0,0 +1,16 @@ +// Exa 11.7
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+f_max = 10;// in kHz
+f_max = f_max * 10^3;// in Hz
+R = 100*10^3;// in k ohm
+C = 1/(2*%pi*f_max*R);// in F
+C= C*10^9;// in nF
+disp(C,"For maximum frequency, the value of C in nF is");
+f_min = 100;// in Hz
+C = 1/(2*%pi*f_min*R);// in F
+C= C*10^9;// in nF
+disp(C,"For minimum frequency, the value of C in nF is");
diff --git a/2375/CH11/EX11.8/ex11_8.sce b/2375/CH11/EX11.8/ex11_8.sce new file mode 100755 index 000000000..e7c160183 --- /dev/null +++ b/2375/CH11/EX11.8/ex11_8.sce @@ -0,0 +1,16 @@ +// Exa 11.8
+clc;
+clear;
+close;
+format('v',4)
+// Given data
+R4 = 220;// in k ohm
+R4 = R4 * 10^3;// in ohm
+R3 = R4;// in ohm
+R = R4;// in ohm
+C1 = 250* 10^-12;// in F
+C2 = C1;// in F
+C = C1;// in F
+f = 1/(2*%pi*R*C);// in Hz
+f= f*10^-3;// in k Hz
+disp(f,"The frequency of oscillation in kHz is");
diff --git a/2375/CH11/EX11.9/ex11_9.sce b/2375/CH11/EX11.9/ex11_9.sce new file mode 100755 index 000000000..f54a4336b --- /dev/null +++ b/2375/CH11/EX11.9/ex11_9.sce @@ -0,0 +1,26 @@ +// Exa 11.9
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+L = 0.33;
+Cs = 0.65;// in pF
+Cs = Cs * 10^-12;// in F
+C_M = 1;// in pF
+C_M = C_M * 10^-12;// in F
+R = 5.5;// in k ohm
+R = R * 10^3;// in ohm
+f_s = 1/(2*%pi*sqrt( L*Cs ));// in Hz
+f_s= f_s*10^-6;// in MHz
+disp(f_s,"The series resonant frequency in MHz is");
+f_s= f_s*10^6;// in Hz
+Ceq = (Cs*C_M)/(Cs+C_M);// in F
+f_P = 1/(2*%pi*sqrt( L*Ceq ));// in Hz
+f_P= f_P*10^-6;// in MHz
+disp(f_P,"The parallel resonant frequency in MHz is : ")
+f_P= f_P*10^6;// in Hz
+P = ((f_P-f_s)/f_s)*100;// in %
+disp("The parallel resonant frequency exceds series resonant frequency by "+string(P)+" % ");
+Q = (sqrt(L/Cs))/R;
+disp(Q,"The Q factor of the crystal is");
diff --git a/2375/CH2/EX2.1/ex2_1.sce b/2375/CH2/EX2.1/ex2_1.sce new file mode 100755 index 000000000..94f1b8c5d --- /dev/null +++ b/2375/CH2/EX2.1/ex2_1.sce @@ -0,0 +1,17 @@ +// Exa 2.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_C = 15;// in mA
+I_CbyI_E= 0.995;
+I_E= I_C/I_CbyI_E;// in mA
+I_B= 0.005*I_E;// in mA
+I_CBO = 3;// in µA
+I_CBO = I_CBO * 10^-3;// in mA
+alpha_dc= I_C/I_E;
+disp(alpha_dc,"The value of Alpha_dc is");
+// I_C = Alpha_dc*I_E + I_CBO;
+I_E = (I_C-I_CBO)/alpha_dc;// in mA
+disp(I_E,"The value of I_E in mA is");
diff --git a/2375/CH2/EX2.10/ex2_10.sce b/2375/CH2/EX2.10/ex2_10.sce new file mode 100755 index 000000000..00d325a5e --- /dev/null +++ b/2375/CH2/EX2.10/ex2_10.sce @@ -0,0 +1,44 @@ +// Exa 2.10
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+bita = 75;
+V_CC = 9;// in V
+V_CEsat = 0.2;// in V
+V_BEsat = 0.8;// in V
+R_C = 2;// in k ohm
+R_C = R_C * 10^3;// in ohm
+R_E = 1;// in k ohm
+R_E = R_E * 10^3;// in ohm
+R_B = 50;// in k ohm
+R_B = R_B * 10^3;// in ohm
+I_Csat= poly(0,'I_Cs')
+// Part (i) : To check the region of operation
+// Applying KVL to collector circuit, we get : V_CC = (R_C*I_Cs) + V_CEsat + (I_E*R_E) (i)
+ I_E = I_Csat;// in A (approximate)
+ // From eq(i)
+I_Csat= (R_C*I_Csat) + V_CEsat + (I_E*R_E)-V_CC;// in A
+I_Csat= roots(I_Csat);// in A
+I_Bmin= I_Csat/bita;// in A
+I_Bmin= I_Bmin*10^6;// in µA
+disp("Part (i)")
+disp(I_Bmin,"The minimum value of I_B in µA is : ")
+I_B= poly(0,'I_B')
+I_E= (1+bita)*I_B;// in A
+// Applying KVL to input circuit, we get
+// V_CC = I_B*R_B+V_BEsat+I_E*R_E or
+I_B= I_B*R_B+V_BEsat+I_E*R_E-V_CC;// in A
+I_B= roots(I_B);// in A
+I_B= round(I_B*10^6);// in µA
+disp(I_B,"The value of I_B in µA is : ")
+if I_B>I_Bmin then
+ disp("As the value of I_B is greater than the value of I_B min")
+ disp("Hence the trasistor is definitely in the saturation region")
+end
+I_E= (1+bita)*I_Bmin;// in µA
+V_C= V_CEsat+I_E*10^-6*R_E;// in V
+disp(V_C,"Part (ii) : The value of V_C in volts is : ");
+bita_min= I_Csat/(I_B*10^-6);
+disp(bita_min,"Part (iii) : The minimum value of bita that will change the state of transistor is : ")
diff --git a/2375/CH2/EX2.11/ex2_11.sce b/2375/CH2/EX2.11/ex2_11.sce new file mode 100755 index 000000000..3cb452c48 --- /dev/null +++ b/2375/CH2/EX2.11/ex2_11.sce @@ -0,0 +1,35 @@ +// Exa 2.11
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CEsat = 0.2;// in V
+V_CC = 10;// in V
+V_BEsat = 0.8;// in V
+// Part (i) To obtain minimum value of R_C
+R_B = 220;// in k ohm
+R_B = R_B * 10^3;// in ohm
+Beta = 100;
+// Applying KVL to collector circuit, we get
+// V_CC = V_CEsat + I_Esat*R_C or (i)
+I_CsatR_C= V_CC-V_CEsat;// in V
+// Applying KVL to input loop
+// V_CC= V_BEsat+I_B*R_B or (ii)
+I_B= (V_CC-V_BEsat)/R_B;// in A
+// Just at saturation I_B= I_C/Beta or
+I_C= Beta*I_B;// in A
+R_Cmin= I_CsatR_C/I_C;// in ohm
+R_Cmin= R_Cmin*10^-3;// in k ohm
+disp(R_Cmin,"The minimum value of R_C to produce saturation of Si transistor in kΩ is : ")
+
+// Part (ii) To obtain maximum value of R_B
+R_C = 1.2;// in k ohm
+R_C = R_C * 10^3;// in ohm
+I_Csat= I_CsatR_C/R_C;// in A
+// Just at saturation
+I_B= I_Csat/Beta;// in A
+// Now on substituting the new value of I_B in eq (ii)
+R_Bmax= (V_CC-V_BEsat)/I_B;// in ohm
+R_Bmax= R_Bmax*10^-3;// in k ohm
+disp(R_Bmax,"The largest value of R_B that will saturate the transistor in kΩ is : ")
diff --git a/2375/CH2/EX2.12/ex2_12.sce b/2375/CH2/EX2.12/ex2_12.sce new file mode 100755 index 000000000..d735912c3 --- /dev/null +++ b/2375/CH2/EX2.12/ex2_12.sce @@ -0,0 +1,26 @@ +// Exa 2.12
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CE = 2.5;// in V
+Beta = 100;
+R2 = 10 * 10^3;// in ohm
+R4 = 300;// in ohm
+V_CC = 5;// in V
+I_C = 1 * 10^-3;// in A
+V_BE= 0.6;// in V
+// Applying KVL to collector circuit, we get
+// V_CC = I_C*R3 + V_CE + I_E*R4 (i)
+ I_B = I_C/Beta;// in A
+ I_E = (I_C + I_B);// in A
+ // On substituting the value of I_B and I_E in eq (i), we get
+ R3= (V_CC-V_CE-I_E*R4)/I_C;// in ohm
+V_B= I_E*R4+V_BE;// in V
+// But also V_B= R2/(R1+R3)*V_CC, so
+R1= R2*V_CC/V_B-R2;// in ohm
+R1= R1*10^-3;// in k ohm
+R3= R3*10^-3;// in k ohm
+disp(R1,"The value of R1 in kΩ is : ")
+disp(R3,"The value of R3 in kΩ is : ")
diff --git a/2375/CH2/EX2.13/ex2_13.sce b/2375/CH2/EX2.13/ex2_13.sce new file mode 100755 index 000000000..09988af56 --- /dev/null +++ b/2375/CH2/EX2.13/ex2_13.sce @@ -0,0 +1,48 @@ +// Exa 2.13
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CEsat = 0.2;// in V
+R_B = 100 * 10^3;// in ohm
+R_C = 2 * 10^3;// in ohm
+bita = 100;
+R_E = 1 * 10^3;// in ohm
+V_CC = 10;//in V
+V_BEsat = 0.8;// in V
+V_BEactive = 0.7;// in V
+V_BE= 0.7;// in V
+V_BEcutin = 0.5;// in V
+// Applying KVL to output circuit, we get
+// V_CC = R_C*I_C + V_CEsat + R_E*I_E (i)
+I_Bmin= poly(0,'I_Bm');
+I_C= bita*I_Bmin;// in A
+I_E= (1+bita)*I_Bmin;// in A
+// From eq(i)
+I_Bmin= R_C*I_C + V_CEsat + R_E*I_E-V_CC;// in A
+I_Bmin= roots(I_Bmin);// in A
+I_Bmin= I_Bmin*10^6;// in µA
+// Applying KVL to input circuit, we get
+// V_CC = R_B*I_B + V_BEsat + R_E*I_E (ii)
+I_B= poly(0,'I_B');// in A
+I_E= (1+bita)*I_B;// in A
+// From eq(ii)
+I_B= R_B*I_B + V_BEsat + R_E*I_E-V_CC;// in A
+I_B= roots(I_B);// in A
+I_B= I_B*10^6;// in µA
+if I_B>I_Bmin then
+ disp("As the value of I_B ("+string(I_B)+" µA) is greater than the value of I_Bmin ("+string(I_Bmin)+" µA)")
+ disp("Hence the transistor is in saturation region")
+end
+
+// Part (b) : To obtain the value of R_E
+V_CE= 0.4;// in V (assumed)
+// Rewrite eq(ii) as, V_CC = (R_C*I_C) + V_CE + (R_E*I_E) or
+// I_B= (V_CC-V_CE)/(bita*R_C+(1+bita)*R_E) (iii) (as I_C= bita*I_B and I_E= (1+bita)*I_B )
+// Applying KVL to input circuit, V_CC= I_B*R_B+V_BE+(1+bita)*I_B*R_E (iv)
+// On substituting the I_B from eq (iii) in eq (iv)
+R_E= [(V_CC-V_BE)*bita*R_C-(V_CC-V_CE)*R_B]/[(1+bita)*(V_BE-V_CE)];// in ohm
+R_E= R_E*10^-3;// in k ohm
+disp(R_E,"The value of R_E in kΩ is : ")
+
diff --git a/2375/CH2/EX2.14/ex2_14.sce b/2375/CH2/EX2.14/ex2_14.sce new file mode 100755 index 000000000..71161ed10 --- /dev/null +++ b/2375/CH2/EX2.14/ex2_14.sce @@ -0,0 +1,47 @@ +// Exa 2.14 (Printed As Exa 2.13)
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Beta_dc = 100;
+R_C = 0.5*10^3;// in ohm
+V_BB = 0;// in V
+V_BE= 0.7;// in V
+R_B = 44 * 10^3;// in k ohm
+R_E = 1 * 10^3;// in ohm
+V_EE = -15;// in V
+V_CC = 15;// in V
+// Applying KVL to base circuit
+// V_CC= R_B*I_B+V_BE+(1+Beta_dc)*R_E*I_B or
+I_B= (V_CC-V_BE)/(R_B+(1+Beta_dc)*R_E);// in A
+I_C= I_B*Beta_dc;// in A
+I_E= (1+Beta_dc)*I_B;// in A
+// Applying KVL to collector circuit
+// V_CC = R_C*I_C + V_CE + R_E*I_E + V_EE or
+V_CE= V_CC-V_EE-I_C*R_C-I_E*R_E;// in V
+Vo2= I_E*R_E-V_CC;// in V
+// But V_CE= V01-Vo2, so
+Vo1= V_CE+Vo2;// in V
+disp(Vo1,"The value of Vo1 in volts is : ")
+disp(Vo2,"The value of Vo2 in volts is : ")
+// Part (ii) New Value of R_C to make Vo1= 0 V
+Vo1= 0;
+// V_CC= I_C*R_C+Vo1-Vo2+I_E*R_E-V_EE or
+R_C= (V_CC-V_EE-Vo1+Vo2-I_E*R_E)/(I_C);// in ohm
+R_C= R_C*10^-3;// in k ohm
+disp(R_C,"The value of R_C in kΩ is : ")
+// Part (iii) New value of R_E to get Vo2= 0;
+Vo2= 0;// in V
+// Formula Vo2= I_E*R_E-V_CC, so
+R_E= (Vo2+V_CC)/I_E;// in ohm
+R_E= R_E*10^-3;// in kohm
+format('v',4)
+disp(R_E,"The value of R_E in kΩ is :")
+
+// Note : The calculated value of R_C in the book is not correct
+
+
+
+
+
diff --git a/2375/CH2/EX2.15/ex2_15.sce b/2375/CH2/EX2.15/ex2_15.sce new file mode 100755 index 000000000..55c64ae43 --- /dev/null +++ b/2375/CH2/EX2.15/ex2_15.sce @@ -0,0 +1,81 @@ +// Exa 2.15
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+bita = 50;
+V_CC = 25;// in V
+V_BB = 10;// in V
+R_C = 15 * 10^3;// in ohm
+R_B = 40 * 10^3;// in ohm
+R_E = 5 * 10^3;// in ohm
+V_BE = 0.7;// in V
+I_B= poly(0,'I_B');
+I_E= (1+bita)*I_B;// in A
+// Applying KVL to Base-Emitter loop,
+// V_BB = I_B*R_B + V_BE + I_E*R_E
+I_B= I_B*R_B + V_BE + I_E*R_E-V_BB;
+I_B= roots(I_B);// in A
+I_E= (1+bita)*I_B;// in A
+I_B= I_B*10^6;// in µA
+disp("Part (a) : On assuming that the transistor is in the active region")
+disp(I_B,"The value of I_B in µA is : ")
+I_C= bita*I_B;// in µA
+I_C= I_C*10^-3;// in mA
+disp(I_C,"The value of I_C in mA is");
+I_E = (1+bita)*I_B;// in µA
+I_E = I_E * 10^-6;// in A
+I_C= I_C*10^-3;// in A
+I_B= I_B*10^-6;// in A
+
+// Part (b): To verify that the transistor is not in the active region
+// Applying KVL to collector circuit, we get V_CC= I_C*R_C+V_CE+I_E*R_E or
+V_CE= V_CC-I_C*R_C-I_E*R_E;// in V
+if V_CE<0 then
+ disp("Part (b)")
+ disp("Since the value of V_CE ("+string(V_CE)+" V) is negative,")
+ disp("hence the transistor is not in active region")
+end
+
+// Part (c)
+V_BEsat= 0.8;// in V
+V_CEsat= 0.2;// in V
+// Applying KVL to base circuit, V_BB= I_B*R_B+V_BEsat+I_C*R_E+I_B*R_E, or
+// I_B*(R_B+R_E)+I_C*R_E= V_BB-V_BEsat (i)
+// Applying KVL to collector circuit, V_CC= I_C*R_C+V_CEsat+(I_C+I_B)*R_E, or
+// I_B*R_E+I_C*(R_C+R_E)= V_CC-V_CEsat (ii)
+// Solving eq(i) and (ii) by matrix method
+A= [(R_B+R_E) R_E;R_E (R_C+R_E)];
+B= [V_BB-V_BEsat V_CC-V_CEsat];
+R= B*A^-1;
+I_B= R(1);// in A
+I_B= I_B*10^6;// in µA
+I_C= R(2);// in A
+I_C= I_C*10^3;// in mA
+disp("Part (c) : On assuming that the transistor is in saturation region")
+disp(I_B,"The value of I_B in µA is : ")
+disp(I_C,"The value of I_C in mA is : ")
+I_Bmin= I_C/bita;// in mA
+I_Bmin= I_Bmin*10^3;// in µA
+if I_B>I_Bmin then
+ disp("Part (d) :")
+ disp("Since the value of I_B ("+string(I_B)+" µA) is greater than the value of I_Bmin ("+string(I_Bmin)+" µA)")
+ disp("Hence the transistor is indeed in saturation region")
+end
+
+// Pard (e) : R_E to bring the transistor out of saturation
+Vcut= 0.5;//cut in voltage in V
+I_B= poly(0,'I_B');// in A
+I_C= bita*I_B;// in A
+I_E= (1+bita)*I_B;// in A
+// Applying KVL to input loop, V_BB= I_B*R_B+V_BE+(I_C+I_B)*R_E or
+// I_B= (V_BB-V_BE)/(R_B+(1+bita)*R_E) (iii)
+// I_C= bita*I_B = (V_BB-V_BE)/(R_B+(1+bita)*R_E)*bita (iv)
+// V_B= V_BE+(1+bita)*I_B*R_E= V_BE+ (1+bita)*(V_BB-V_BE)/(R_B+(1+bita)*R_E)*R_E (v) (on substituting eq(iii))
+// V_C= V_CC-I_C*R_C= V_CC-(V_BB-V_BE)/(R_B+(1+bita)*R_E)*bita*R_C (vi) (on substituting eq(iv))
+// but V_B-V_C<= Vcut and substituting the value from eq (v) and (vi), we get
+R_E= [bita*R_C*(V_BB-V_BE)-R_B*(Vcut+V_CC-V_BE)]/[(1+bita)*(-V_BB+Vcut+V_CC)];// in ohm
+R_E= R_E*10^-3;// in k ohm
+disp("Part (e) : The value of R_E >= "+string(R_E)+" kΩ")
+
diff --git a/2375/CH2/EX2.16/ex2_16.sce b/2375/CH2/EX2.16/ex2_16.sce new file mode 100755 index 000000000..6a96759c4 --- /dev/null +++ b/2375/CH2/EX2.16/ex2_16.sce @@ -0,0 +1,47 @@ +// Exa 2.16
+clc;
+clear;
+close;
+format('v',7)
+// Given data
+bita = 100;
+V_CEsat = 0.2;// in V
+V_BEsat = 0.8;// in V
+R_C = 3;// in k ohm
+R_C = R_C * 10^3;// in k ohm
+V_CC = 10;// in V
+R_B = 7;// in k ohm
+R_B = R_B * 10^3;// in ohm
+R_E = 500;// in ohm
+V_BB = 3;// in V
+V_BE= 0.7;// in V
+// Part (a) :
+// Applying KVL to input loop, V_BB = I_B*R_B+(I_B+I_C)*R_E+V_BEsat or I_B*(R_B+R_E)+I_C*R_E= V_BB-V_BEsat (i)
+// Applying KVL to output loop, V_CC=I_C*R_C+V_CEsat+(I_B+I_C)*R_E or I_B*R_E+I_C*(R_C+R_E)= V_CC-V_CEsat (ii)
+// Solving eq(i) and (ii)by matrix method
+A= [(R_B+R_E) R_E;R_E (R_C+R_E)] ;
+B= [V_BB-V_BEsat V_CC-V_CEsat];
+R= B*A^-1;
+I_B= R(1);// in A
+I_C= R(2);// in A
+I_Bmin= I_C/bita;// in A
+I_B= I_B*10^3;// in mA
+I_Bmin=I_Bmin*10^3;// in mA
+if I_B>I_Bmin then
+ disp("As the value of I_B ("+string(I_B)+" mA) is greater than the value of I_Bmin ("+string(I_Bmin)+" mA)")
+ disp("Hence the transistor is in saturation region")
+end
+
+// Pard (e) : R_E to bring the transistor out of saturation
+Vcut =0.5;//cut in voltage in V
+I_B= poly(0,'I_B');// in A
+I_C= bita*I_B;// in A
+I_E= (1+bita)*I_B;// in A
+// Applying KVL to input loop, V_BB= I_B*R_B+V_BE+(I_C+I_B)*R_E or
+// I_B= (V_BB-V_BE)/(R_B+(1+bita)*R_E) (iii)
+// I_C= bita*I_B = (V_BB-V_BE)/(R_B+(1+bita)*R_E)*bita (iv)
+// V_C= -V_CC+I_C*R_C= -V_CC+(V_BB-V_BE)/(R_B+(1+bita)*R_E)*bita*R_C (v) (on substituting eq(iv))
+// V_B= V_BE-(1+bita)*I_B*R_E= V_BE- (1+bita)*(V_BB-V_BE)/(R_B+(1+bita)*R_E)*R_E (vi) (on substituting eq(iii))
+// but V_C-V_B<= Vcut and substituting the value from eq (v) and (vi), we get
+R_E= [(V_BB-V_BE)*bita*R_C-(Vcut+V_CC+V_BE)*R_B]/[(1+bita)*(Vcut+V_CC-V_BB+2*V_BE)];// in ohm
+disp(R_E,"The value of R_E in ohm is : ")
diff --git a/2375/CH2/EX2.17/ex2_17.sce b/2375/CH2/EX2.17/ex2_17.sce new file mode 100755 index 000000000..aa2ac860e --- /dev/null +++ b/2375/CH2/EX2.17/ex2_17.sce @@ -0,0 +1,33 @@ +// Exa 2.17
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 9;// in V
+R_C = 2;// in k ohm
+R_C =R_C * 10^3;// in ohm
+R_B = 50;// in k ohm
+R_B = R_B * 10^3;//in ohm
+Beta = 70;
+R_E = 1;// in k ohm
+R_E = R_E * 10^3;// in ohm
+V_BEsat = 0.8;// in V
+V_CEsat = 0.2;// in V
+// Applying KVL to input loop, V_CC= I_B*R_B+V_BEsat+I_E*R_E or
+I_B= (V_CC-V_BEsat)/(R_B+(1+Beta)*R_E);// in A
+// Applying KVL to output loop, V_CC= I_C*R_C+V_CEsat+I_E*R_E or
+I_C= (V_CC-V_CEsat-I_B*R_E)/(R_C+R_E);// in A
+I_Bmin= I_C/Beta;// in A
+I_B= I_B*10^6;// in µA
+I_Bmin= I_Bmin*10^6;// in µA
+if I_B>I_Bmin then
+ disp("Part (i) :")
+ disp("As the value of I_B ("+string(I_B)+" mA) is greater than the value of I_Bmin ("+string(I_Bmin)+" mA)")
+ disp("Hence the transistor is in saturation region")
+end
+disp("Part (ii) : ")
+V_C= V_CC-I_C*R_C;// in V
+disp(V_C,"The collector voltage in volts is : ")
+h_FE= I_C/(I_B*10^-6);
+disp(h_FE,"The minimum value of h_FE that will change the state of the transistor is : ")
diff --git a/2375/CH2/EX2.18/ex2_18.sce b/2375/CH2/EX2.18/ex2_18.sce new file mode 100755 index 000000000..c61b72043 --- /dev/null +++ b/2375/CH2/EX2.18/ex2_18.sce @@ -0,0 +1,57 @@ +// Exa 2.18
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC= 12;// in V
+bita_min= 30;
+R1= 15;// in k ohm
+R2= 100;// in k ohm
+R_C= 2.2;// in kohm
+V_BB= -12;// in V
+V_BE= 0.7;// in V
+// Part (i)
+Vi= 12;// in V
+V_BEsat= 0.8;// in V
+V_CEsat= 0.2;// in V
+// Applying KVL to B-E circuit, Vi= I1*R1+V_BEsat or
+I1= (Vi-V_BEsat)/R1;// in mA
+// Applying KVL to -12 V supply,
+I2= (V_BEsat-V_BB)/R2;// in mA
+// Applying KVL to input loop,
+I_B= I1-I2;// in mA
+// Applying KVL to output loop, V_CC= I_C*R_C+V_CEsat or
+I_C= (V_CC-V_CEsat)/R_C;// in mA
+I_Bmin= I_C/bita_min;// in mA
+if I_B>I_Bmin then
+ disp("Part (a) :")
+ disp("As the value of I_B ("+string(I_B)+" mA) is greater than the value of I_Bmin ("+string(I_Bmin)+" mA)")
+ disp("Hence the transistor is in saturation region")
+end
+Vo= V_CC-I_C*R_C;// in V
+disp(Vo,"The output voltage in volts is : ")
+
+// Part (b)
+I2= (V_CC+V_BE)/R2;// in mA
+// and I1= (V_CC-V_BE)/R1;// in mA (i)
+I_B= I_Bmin;// in mA
+I1= I2+I_Bmin;// in mA
+// Now from eq(i)
+R1= (V_CC-V_BE)/I1;// in k ohm
+disp("Part (b)")
+disp(R1,"The value of R1 in k ohm is : ")
+
+// Part (c)
+I_C= 0;// in mA
+Vo= V_CC-I_C*R_C;// in V
+disp("Part (c) : Transistor is in cutoff")
+disp(Vo,"The value of Vo in volts is : ")
+
+// Note: There is some difference between coding output and answer of the book. This is why because in the book the calculate value of I_C is 5.36 mA/ 30 = 0.178 mA while accurate value is 0.179 mA
+
+
+
+
+
+
diff --git a/2375/CH2/EX2.2/ex2_2.sce b/2375/CH2/EX2.2/ex2_2.sce new file mode 100755 index 000000000..4b66961e2 --- /dev/null +++ b/2375/CH2/EX2.2/ex2_2.sce @@ -0,0 +1,17 @@ +// Exa 2.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Alpha_dc = 0.99;
+I_CBO = 10;// in µA
+I_CBO = I_CBO * 10^-3;// in mA
+I_E = 10;// in mA
+// To calculate I_C :
+I_C = (Alpha_dc*I_E) + I_CBO;// in mA
+disp(I_C,"The value of I_C in mA is");
+// To calculate I_B :
+I_B = I_E-I_C;// in mA
+I_B = I_B * 10^3;// in µA
+disp(I_B,"The value of I_B in µA is");
diff --git a/2375/CH2/EX2.3/ex2_3.sce b/2375/CH2/EX2.3/ex2_3.sce new file mode 100755 index 000000000..ea656af58 --- /dev/null +++ b/2375/CH2/EX2.3/ex2_3.sce @@ -0,0 +1,15 @@ +// Exa 2.3
+clc;
+clear;
+close;
+format('v',4)
+// Given data
+Alpha_dc = 0.99;
+I_C = 6;// in mA
+I_CBO = 15;// in µA
+I_CBO = I_CBO * 10^-3;// in mA
+// I_C = Alpha_dc*I_E + I_CBO;
+I_E = (I_C - I_CBO)/Alpha_dc;// in mA
+I_B = I_E - I_C;// in mA
+I_B = I_B * 10^3;// in µA
+disp(I_B,"The value of I_B in µA is");
diff --git a/2375/CH2/EX2.5/ex2_5.sce b/2375/CH2/EX2.5/ex2_5.sce new file mode 100755 index 000000000..a7bd4def2 --- /dev/null +++ b/2375/CH2/EX2.5/ex2_5.sce @@ -0,0 +1,16 @@ +// Exa 2.5
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Alpha_dc = 0.98;
+I_CBO = 12;// in µA
+I_CBO = I_CBO * 10^-6;// in A
+I_B = 120;// in µA
+I_B = I_B * 10^-6;// in A
+// Calculation of Beta_dc
+Beta_dc = Alpha_dc/(1-Alpha_dc);
+I_E = (1+Beta_dc)*I_B + (1+Beta_dc)*I_CBO;// in A
+I_E = I_E * 10^3;// in mA
+disp(I_E,"The value of I_E in mA is");
diff --git a/2375/CH2/EX2.6/ex2_6.sce b/2375/CH2/EX2.6/ex2_6.sce new file mode 100755 index 000000000..7908ddb60 --- /dev/null +++ b/2375/CH2/EX2.6/ex2_6.sce @@ -0,0 +1,25 @@ +// Exa 2.6
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_BEsat = 0.8;// in V
+V_BEact = 0.7;// in V
+V_CEsat = 0.2;// in V
+V_CC = 10;// in V
+Beta = 100;
+V = 5;// in V
+R_B = 50* 10^3;// in ohm
+R_E = 2* 10^3;// in ohm
+R_C = 3* 10^3;// in ohm
+//Applying KVL to input loop, V = R_B*I_B + V_BEact + I_C*R_E and I_C = Beta*I_B;
+I_B = (V-V_BEact)/(R_B+R_E*Beta);// in A
+// Applying KVL to collector circuit, V_CC= I_C*R_C+V_CEsat+I_E*R_E and I_E=I_C+I_B
+I_C = (V_CC-V_CEsat-I_B*R_E)/(R_C+R_E);// in A
+I_Bmin = I_C/Beta;// in A
+if I_B < I_Bmin then
+ disp("Since the value of I_B ( "+string(I_B*10^6)+ " µA) is less than the value of I_Bmin ( "+string(I_Bmin*10^6)+" µA), ")
+ disp("So the transistor is in the active region.")
+end
+
diff --git a/2375/CH2/EX2.7/ex2_7.sce b/2375/CH2/EX2.7/ex2_7.sce new file mode 100755 index 000000000..fedd056da --- /dev/null +++ b/2375/CH2/EX2.7/ex2_7.sce @@ -0,0 +1,25 @@ +// Exa 2.7
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Beta = 100;
+V_BEsat = 0.8;// in V
+V_BEact = 0.7;// in V
+V_CC = 10;// in V
+V = 5;// in V
+R_B = 50* 10^3;// in ohm
+R_E = 2* 10^3;// in ohm
+R_C = 3* 10^3;// in ohm
+// As the transistor is in active region, so V = R1*I_B + V_BEact + (1+Beta)*I_B*R2;
+I_B = (V-V_BEact)/(R_B+(1+Beta)*R_E);// in A
+I_B = round(I_B * 10^6);// in µA
+disp(I_B,"The value of I_B in µA is");
+I_C = Beta*I_B*10^-6;// in A
+I_C = I_C * 10^3;// in mA
+disp(I_C,"The value of I_C in mA is");
+// Applying KVL to collector circuit, V_CC = (I_C*R3) + V_CEact + (I_C+I_B)*R2;
+V_CEact = V_CC - (I_B*10^-6*R_E) - (I_C*10^-3*(R_E+R_C));// in V
+disp(V_CEact,"The value of V_CE in V is");
+
diff --git a/2375/CH2/EX2.8/ex2_8.sce b/2375/CH2/EX2.8/ex2_8.sce new file mode 100755 index 000000000..c0326a993 --- /dev/null +++ b/2375/CH2/EX2.8/ex2_8.sce @@ -0,0 +1,24 @@ +// Exa 2.8
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CEsat = 0.2;// in V
+V_BEsat = 0.8;// in V
+Beta = 100;
+R_C = 0.5* 10^3;// in ohm
+R_E = 1* 10^3;// in ohm
+R_B = 44* 10^3;// in ohm
+V1 = 15;// in V
+V2 = 15;// in V
+//Applying KVL to collector circuit, V1+V2 - I_Csat*R_C - V_CEsat - I_E*R_E = 0;
+//but I_Csat = beta*I_Bmin and I_E = (1+Beta)*I_Bmin, So
+I_Bmin= (V1+V2-V_CEsat)/(Beta*R_C+R_E*(1+Beta));// in A
+I_Bmin= I_Bmin*10^3;// in mA
+disp(I_Bmin,"The value of I_Bmin in mA is : ")
+I_Bmin= I_Bmin*10^-3;// in A
+I_E = (1+Beta)*I_Bmin;// in A
+// Applying KVL to base emitter circuits, V_BB-I_Bmin*R_B-V_BEsat-(I_E*R_E)-V1=0
+V_BB = (I_Bmin*R_B) + V_BEsat + (I_E*R_E) - V1;// in V
+disp(V_BB,"The value of V_BB which just barely saturate the transistor in V is");
diff --git a/2375/CH2/EX2.9/ex2_9.sce b/2375/CH2/EX2.9/ex2_9.sce new file mode 100755 index 000000000..ac6499638 --- /dev/null +++ b/2375/CH2/EX2.9/ex2_9.sce @@ -0,0 +1,37 @@ +// Exa 2.9
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+bita = 200;
+V_CEQ = 3;// in V
+V_CC = 6;// in V
+V_BB= -6;// in V
+V_BE= 0.7;// in V
+Vo = 0;// in V
+R1= 90*10^3;// in ohm
+R2= 90*10^3;// in ohm
+// V_CC - I_CR_C - V_CEQ - I_ER_E-V_BB = 0 (i)
+// Vo = V_CEQ + I_E*R_E - V_CC or
+I_ER_E= Vo+V_CC-V_CEQ;// in V
+// From eq(i)
+I_CR_C= V_CC - I_ER_E - V_CEQ - V_BB;// in V
+// Applying KVL to the input side of circuit
+//V_CEQ-[(R1 || R2)*I_B]-V_BE-I_ER_E+V_CC=0 or
+I_B= (V_CEQ-V_BE-I_ER_E+V_CC)/((R1*R2)/(R1+R2));// in A
+I_E= (1+bita)*I_B;//in A
+R_E= I_ER_E/I_E;// in ohm
+I_C= bita*I_B;// in A
+R_C= I_CR_C/I_C;// in ohm
+disp("Part (a) : ")
+disp(R_E,"The value of R_E in ohm is : ")
+disp(R_C,"The value of R_C in ohm is : ")
+disp("Parb (b) :")
+bita= 100;
+I_E= (1+bita)*I_B;//in A
+I_C= bita*I_B;// in A
+Vo_new= V_CEQ+I_E*R_E-V_CC;// in V
+Change_in_Vo= Vo_new-Vo;// in V
+disp(Change_in_Vo,"The change in Vo in volts is : ")
+
diff --git a/2375/CH3/EX3.1/ex3_1.sce b/2375/CH3/EX3.1/ex3_1.sce new file mode 100755 index 000000000..8783b711f --- /dev/null +++ b/2375/CH3/EX3.1/ex3_1.sce @@ -0,0 +1,20 @@ +// Exa 3.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 15;// in V
+R_C = 4;// in k ohm
+R_C =R_C * 10^3;// in ohm
+I_C = 0;// in A
+V_CE = V_CC - (I_C*R_C);// in V
+V_CE = 0;// in V
+// V_CE = V_CC - I_C*R_C;
+I_C = V_CC/R_C;// in A
+I_C = I_C * 10^3;// in mA
+plot([V_CC 0],[0 I_C])
+xlabel("V_CE in volts")
+ylabel("I_C in mA")
+title("DC load line")
+disp("DC load line shown in figure")
diff --git a/2375/CH3/EX3.10/ex3_10.sce b/2375/CH3/EX3.10/ex3_10.sce new file mode 100755 index 000000000..ce88dda68 --- /dev/null +++ b/2375/CH3/EX3.10/ex3_10.sce @@ -0,0 +1,21 @@ +// Exa 3.10
+clc;
+clear;
+close;
+format('v',5);
+// Given data
+V_CC = 10;// in V
+R_C = 1;// in k ohm
+R_B = 100;//in k ohm
+V_CE = 5;// in V
+V_BE = 0.7;// in V
+V_CB= V_CE-V_BE;// in V
+I_B= V_CB/R_B;// in mA
+// V_CC = (I_C+I_B)*R_C + V_CE = I_C*R_C + I_B*R_C + V_CE;
+I_C = (V_CC-V_CE-(I_B*R_C))/R_C;// in mA
+bita= I_C/I_B;
+S = (1 + bita)/( 1 + bita*( R_C/(R_B+R_C) ) );
+disp(S,"The value of stability factor is");
+S_fixed_bias= 1+bita;// stability factor for fixed bias circuit
+disp(S_fixed_bias,"For the fixed bias circuit, the value of stability factor would have been")
+disp("Thus collector to base circuit has a low value of S and hence provides better Q point stability")
diff --git a/2375/CH3/EX3.11/ex3_11.sce b/2375/CH3/EX3.11/ex3_11.sce new file mode 100755 index 000000000..0fdfe7eee --- /dev/null +++ b/2375/CH3/EX3.11/ex3_11.sce @@ -0,0 +1,22 @@ +// Exa 3.11
+clc;
+clear;
+close;
+format('v',5)
+//Given data
+Beta = 100;
+V_CC = 10;// V
+R1 = 9.1;// in k ohm
+R_C = 1;// in k ohm
+R_E = 560*10^-3;// in k ohm
+R2 = 4.7;// in k ohm
+V_BE = 0.7;// in V
+V_Th = (V_CC/(R1+R2))*R2;// in V
+R_B = (R1*R2)/(R1+R2);// in k ohm
+// V_Th - I_B*R_B - V_BE - I_E*R_E = 0 or
+I_B = (V_Th-V_BE)/(R_B+((1+Beta)*R_E));// in mA
+// I_C = Beta*I_B + (1+Beta)*I_CO;
+I_C = Beta*I_B;// in mA (neglecting I_CO as it is very small)
+// V_CC - (I_C*R_C) - V_CE - I_E*R_E = 0;
+V_CE = V_CC - (I_C*R_C) - (I_C*R_E);// in V
+disp("Q Point : "+string(V_CE)+" volts, "+string(I_C)+" mA")
diff --git a/2375/CH3/EX3.12/ex3_12.sce b/2375/CH3/EX3.12/ex3_12.sce new file mode 100755 index 000000000..136ccab75 --- /dev/null +++ b/2375/CH3/EX3.12/ex3_12.sce @@ -0,0 +1,22 @@ +// Exa 3.12
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 20;// in V
+bita = 50;
+R_C = 2;// in k ohm
+R_E = 0.1;// in k ohm
+R1 = 100;// in k ohm
+R2 = 5;// in k ohm
+R_Th = (R1*R2)/(R1+R2);// in k ohm
+R_B = R_Th;// in k ohm
+V_BE = 0.7;// in V
+V_Th = (V_CC*R2)/(R1+R2);// in V
+// Applying KVL to the base circuit, V_Th - I_B*R_B - V_BE - I_E*R_E = 0 or
+I_B = (V_Th-V_BE)/(R_B + (R_E*(1+bita)));// in mA (on putting I_E= (1+bita)*I_B)
+I_C = bita*I_B;// in mA
+I_E = (1+bita)*I_B;// in mA
+V_CE = V_CC - (I_C*R_C) - (I_E*R_E);// in V
+disp("Q Point : "+string(V_CE)+" volts, "+string(I_C)+" mA")
diff --git a/2375/CH3/EX3.13/ex3_13.sce b/2375/CH3/EX3.13/ex3_13.sce new file mode 100755 index 000000000..69e515f3a --- /dev/null +++ b/2375/CH3/EX3.13/ex3_13.sce @@ -0,0 +1,43 @@ +// Exa 3.13
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+bita= 44;
+V_BE = 0.2;// in V
+V_CC = -4.5;// in V
+R1 = 2.7;// in k ohm
+R_C = 1.5;// in k ohm
+R2 = 27;// in k ohm
+R_E = 0.27;// in k ohm
+R_Th = (R1*R2)/(R1+R2);// in k ohm
+R_B = R_Th;// in k ohm
+V_Th = (V_CC*R_B)/R2;// in V
+I_B= poly(0,'I_B');// in mA
+I_C= bita*I_B;// in mA
+I_E= -(I_C+I_B);// in mA
+// Applying KVL to base circuit, -V_Th - I_B*R_B - V_BE + (I_E*R_E) = 0 (i)
+I_B= (V_Th - I_B*R_B + V_BE + (I_E*R_E));// in mA
+I_B= roots(I_B);// in mA
+I_C= bita*I_B;// in mA
+I_E= -(I_C+I_B);// in mA
+// Applying KVL to collector circuit, -V_CC - I_C*R_C - V_CE + I_E*R_E = 0 or
+V_CE = V_CC - (I_C*R_C) + (I_E*R_E);// in V
+disp("Part (a) : ")
+disp("Q Point : "+string(V_CE)+" volts, "+string(I_C)+" mA")
+// Calculation of R'Th or R'B (Thevenin's Resistance)
+r_bb = 0.69;// in k ohm
+R_deshB = ((R1*R2)/(R1+R2)) + r_bb;// in k ohm
+// Calculation of Thevenin's voltage
+I_B= (V_Th+V_BE)/(R_deshB+(1+bita)*R_E);// in mA
+I_C= bita*I_B;// in mA
+// Applying KVL to collector circuit, -V_CC - (I_C*R_C) - V_CE + I_E*R_E = 0 or
+V_CE = V_CC - (I_C*R_C) + (I_E*R_E);// in V
+disp("Part (b) : ")
+disp("Q Point : "+string(V_CE)+" volts, "+string(I_C)+" mA")
+
+
+
+
+
diff --git a/2375/CH3/EX3.14/ex3_14.sce b/2375/CH3/EX3.14/ex3_14.sce new file mode 100755 index 000000000..97b940662 --- /dev/null +++ b/2375/CH3/EX3.14/ex3_14.sce @@ -0,0 +1,30 @@ +// Exa 3.14
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+bita = 140;
+V_BE = 0.7;// in V
+V_CC = 22;// in V
+R1 = 39;// in k ohm
+R_C = 10;// in k ohm
+R2 = 3.9;// in k ohm
+R_E = 1.5;// in k ohm
+// Calculation of Thevenin's Resistance
+R_Th = (R1*R2)/(R1+R2);// in k ohm
+// Calculation of Thevenin's Voltage
+V_Th = (V_CC*R2)/(R1+R2);// in V
+I_B= poly(0,'I_B');// in mA
+I_E= (1+bita)*I_B;// in mA
+// Applying KVL to input side, V_Th - I_B*R_Th - V_BE - I_E*R_E=0 or
+I_B= V_Th - I_B*R_Th - V_BE - I_E*R_E;
+I_B= roots(I_B);// in mA
+I_C = bita*I_B;// in mA
+I_E= (1+bita)*I_B;// in mA
+// Applying KVL to C-E circuit, V_CC - I_C*R_C - V_CE - I_E*R_E = 0 or
+V_CE = V_CC - (I_C*R_C) - ((1+bita)*I_B*R_E);// in V
+I_B= I_B*10^3;// in µA
+disp(I_B,"The value of I_B in µA is");
+disp(I_C,"The value of I_C in mA is");
+disp(V_CE,"The value of V_CE in V is");
diff --git a/2375/CH3/EX3.15/ex3_15.sce b/2375/CH3/EX3.15/ex3_15.sce new file mode 100755 index 000000000..67f75374d --- /dev/null +++ b/2375/CH3/EX3.15/ex3_15.sce @@ -0,0 +1,26 @@ +// Exa 3.15
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+V_CC =12;// in V
+R_C = 4.3;// in k ohm
+V_CE = 4;// in V
+V_BE = 0.7;// in V
+V_EE = 6;// in V
+bita = 50;
+// Applying KVL in base circuit, -V_BE - I_ER_E + V_EE = 0 or
+I_ER_E = V_EE - V_BE;// in V
+// Applying KVL in C-E circuit, V_CC-I_C*R_C-V_CE-I_ER_E+V_EE=0 or
+I_C = (V_CC - V_CE - I_ER_E + V_EE)/R_C;// in mA
+I_B = I_C/bita;// in mA
+I_E = I_C+I_B;// in mA
+R_E= I_ER_E/I_E;// in k ohm
+disp(R_E,"The value of R_E in k ohm is : ")
+del_IC= bita*(1+bita)*R_E;
+del_ICO= bita*(1+bita)*R_E;
+S= del_IC/del_ICO;
+disp(S,"The value of stability factor, S is : ")
+S_desh= bita/((1+bita)*R_E);
+disp(S_desh,"The value of stability factor, S'' is : ")
diff --git a/2375/CH3/EX3.17/ex3_17.sce b/2375/CH3/EX3.17/ex3_17.sce new file mode 100755 index 000000000..bcf7831f4 --- /dev/null +++ b/2375/CH3/EX3.17/ex3_17.sce @@ -0,0 +1,17 @@ +// Exa 3.17 (Miss printed as example 3.14)
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+Tj = 150;//Junction temperature in degree C
+P_Cmax = 125;// in mW
+T = 25;// free-air temperature in degree C
+T1 = 0;// in degree C
+curve = (Tj-T)/(P_Cmax - T1);// in degreeC/mW
+T_A = 25;// Ambient temperature in degree C
+P_D = 75;// Collector junction dissipation in mW
+theta = 1;// in degree C/mW
+// Tj-T_A = theta*P_D;
+Tj = T_A + (theta*P_D);// in degree C
+disp(Tj,"The junction temperature in °C is");
diff --git a/2375/CH3/EX3.18/ex3_18.sce b/2375/CH3/EX3.18/ex3_18.sce new file mode 100755 index 000000000..2bd6c1fab --- /dev/null +++ b/2375/CH3/EX3.18/ex3_18.sce @@ -0,0 +1,18 @@ +// Exa 3.18 (Miss printed as example 3.15)
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+P_Cmax = 125;// in mW
+P_D = P_Cmax;// in mW
+T_A = 25;// in degree C
+Tj = 150;// in degree C
+// Tj-T_A = theta*P_D;
+theta = (Tj-T_A)/P_D;// in degree C/mW
+disp(theta,"The thermal resistance for a transistor in °C/mW is");
+// For theta= 1 °C/mW
+P_D = 75;// in mW
+// Tj-T_A = theta*P_D;
+Tj = (theta*P_D) + T_A;// in degree C
+disp(Tj,"The junction temperature in °C is");
diff --git a/2375/CH3/EX3.2/ex3_2.sce b/2375/CH3/EX3.2/ex3_2.sce new file mode 100755 index 000000000..e425e40f1 --- /dev/null +++ b/2375/CH3/EX3.2/ex3_2.sce @@ -0,0 +1,17 @@ +// Exa 3.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+R_C = 5;// in k ohm
+V_CC = 10;// in V
+I_C = 1;// in mA
+V_CE = V_CC - (I_C*R_C);// in V
+disp("Part (i) When Collector load = 5 kohm");
+disp("Operating point is : "+string(V_CE)+" V, "+string(I_C)+" mA")
+disp("The quiescent point 5V and 1mA");
+R_C = 6;// in k ohm
+V_CE = V_CC - (I_C*R_C);// in V
+disp("Part (ii) When Collector load = 6 kohm");
+disp("Operating point is : "+string(V_CE)+" V, "+string(I_C)+" mA")
diff --git a/2375/CH3/EX3.20/ex3_20.sce b/2375/CH3/EX3.20/ex3_20.sce new file mode 100755 index 000000000..2a7d1147e --- /dev/null +++ b/2375/CH3/EX3.20/ex3_20.sce @@ -0,0 +1,36 @@ +// Exa 3.20 (Miss printed as example 3.17)
+clc;
+clear;
+close;
+format('v',7)
+// Given data
+V_E = 1;// in V
+V_BE = 0.7;// in V
+R_C = 1;// in k ohm
+Beta = 180;
+V_CC = 12;// in V
+V_CEQ = 6;// in V
+// Applying KVL into collector circuit, V _CC - I_C*R_C - V_CEQ = 0 or
+I_C = (V_CC-V_CEQ)/R_C;// in mA
+I_B = I_C/Beta;// in mA
+// Applying KVL into base circuit, V_CC - I_B*R_B - V_BE = 0 or
+R_B = (V_CC-V_BE)/I_B;// in k ohm
+disp(R_B,"The value of R_B in k ohm is");
+//Applying KVL to collector circuit, V_CC - I_C*R_C - V_CE - V_E = 0 or
+I_C = (V_CC-V_CEQ-V_E)/R_C;// in mA
+I_B = I_C/Beta;// in mA
+I_E = I_C+I_B;// in mA
+R_E = V_E/(I_E);// in k ohm
+R_E= round(R_E*10^3);// in ohm
+disp(R_E,"The value of R_E in ohm is");
+I_R2 = 10*I_B;// in mA
+V_BE= 0.6;// in V
+//R2 =V_B/I_R2 = (V_E+V_BE)/I_R2;
+R2 = (V_E+V_BE)/I_R2;// in k ohm
+R2= R2*10^3;// in ohm
+disp(R2,"The value of R2 in ohm is");
+I_R1 = I_R2 + I_B;// in mA
+//R1 = V_R1/I_R1 = (V_CC-V_B)/I_R1;
+V_B = V_E+V_BE;// in V
+R1 = (V_CC-V_B)/I_R1;// in k ohm
+disp(R1,"The value of R1 in k ohm is");
diff --git a/2375/CH3/EX3.21/ex3_21.sce b/2375/CH3/EX3.21/ex3_21.sce new file mode 100755 index 000000000..48b304d75 --- /dev/null +++ b/2375/CH3/EX3.21/ex3_21.sce @@ -0,0 +1,37 @@ +// Exa 3.21 (Miss printed as example 3.18)
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+V_BB= 6;// in V
+I_CBO =0.5;// in µA
+V_BE = 0.7;// in V
+R_B= 50;// in k ohm
+R_E= 1;// in k ohm
+bita = 75;
+// V_BB - I_B*R_B - V_BE - I_E*R_E = 0 or
+I_B=(V_BB-V_BE)/(R_B+(1+bita)*R_E);// in mA (on putting I_E= (1+bita)*I_B) (i)
+I_B= round(I_B*10^3);// in µA
+I_C= bita*I_B;// in µA
+I_C= I_C*10^-3;// in mA
+I_CQ= I_C;// in mA
+disp(I_CQ,"The value of I_CQ at room temperature in mA is : ")
+// Part (ii)
+C= 2;// temperature coefficient in mV/°C
+C= 2*10^-3;// in V/°C
+T2= 20;// in °C
+T1= 0;// in °C
+I_CBO2= I_CBO*2^((T2-T1)/10);// in µA
+V_BE2= V_BE-C*T2;// in V
+// Now from eq(i), for the new value of I_B
+I_B=(V_BB-V_BE2)/(R_B+(1+bita)*R_E);// in mA
+I_B= I_B*10^3;// in µA
+I_C= bita*I_B+(1+bita)*I_CBO2;// in µA
+I_C= I_C*10^-3;// in mA
+I_CQ= I_C;// in mA
+disp(I_CQ,"The value of I_CQ when temperature increases by 20°C in mA is : ")
+
+
+
+
diff --git a/2375/CH3/EX3.22/ex3_22.sce b/2375/CH3/EX3.22/ex3_22.sce new file mode 100755 index 000000000..d8f9633f2 --- /dev/null +++ b/2375/CH3/EX3.22/ex3_22.sce @@ -0,0 +1,40 @@ +// Exa 3.22 (Miss printed as example 3.19)
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+S = 10;
+bita = 50;
+h_fe = bita;
+V_CC= 20;// in V
+V_CE = 10;// in V
+R_C = 2;// in k ohm
+I_C = 4;// in mA
+I_B =I_C/bita;// in mA
+// Applying KVL to collector loop, V_CC -I_C*R_C - V_CE - I_E*R_E = 0 or
+R_E = (V_CC -I_C*R_C - V_CE)/(I_C+I_B);// in k ohm (on putting I_E= I_C+I_B)
+R_E= round(R_E*10^3);// in ohm
+disp(R_E,"The value of R_E in ohm is");
+// Formula S = (1+bita)*( (1 + (R_B/R_E))/( (1+bita) + (R_B/R_E) ) ) or
+R_B= (1+bita)*(1-S)*R_E/(S-1-bita);// in ohm
+// But R_B= R1 || R2= R1*R2/(R1+R2) => R2/(R1+R2)= R_B/R1 (i)
+// Calculation of R1 and R2 :
+V_BE= 0.2;// in V
+// Applying KVL to input loop,
+V_R2= V_BE+(I_C+I_B)*10^-3*R_E;// in V
+// But V_R2= R2*V_CC/(R1+R2) => R2/(R1+R2)= V_R2/V_CC (ii)
+// On comparing eq (i) and (ii)
+R1= R_B*V_CC/V_R2;// in ohm
+R2= R1*V_R2/(V_CC-V_R2);// in ohm
+R1= R1*10^-3;// in k ohm
+R2= R2*10^-3;// in k ohm
+disp(R1,"The value of R1 in k ohm is : ")
+disp(R2,"The value of R2 in k ohm is : ")
+// Effect of Reducing S or 3 :
+S=3;
+// Formula S = (1+bita)*( (1 + (R_B/R_E))/( (1+bita) + (R_B/R_E) ) ) or
+R_B= (1+bita)*(1-S)*R_E/(S-1-bita);// in ohm
+R_B= R_B*10^-3;// in k ohm
+disp(R_B,"When S<=3, the value of R_B in k ohm is : ")
+disp("Thus S is reduced below 3 at the cost of reduction of it''s input impedance")
diff --git a/2375/CH3/EX3.3/ex3_3.sce b/2375/CH3/EX3.3/ex3_3.sce new file mode 100755 index 000000000..6d143206c --- /dev/null +++ b/2375/CH3/EX3.3/ex3_3.sce @@ -0,0 +1,18 @@ +// Exa 3.3
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Beta = 100;
+V_CC = 10;// in V
+V_BE = 0.7;// in V
+R_B = 150;// in k ohm
+// V_CC - I_B*R_B - V_BE = 0;
+I_B = (V_CC-V_BE)/R_B;// in mA
+// I_C = Beta*I_B + (1+Beta)*I_CO;
+I_C = Beta * I_B;// in A
+// V_CC - I_C*R_C - V_CE = 0;
+R_C = 1;// in k ohm
+V_CE = V_CC - (I_C*R_C);// in V
+disp("The operating point is : "+string(V_CE)+" V, "+string(I_C)+" mA")
diff --git a/2375/CH3/EX3.4/ex3_4.sce b/2375/CH3/EX3.4/ex3_4.sce new file mode 100755 index 000000000..15dcfedfc --- /dev/null +++ b/2375/CH3/EX3.4/ex3_4.sce @@ -0,0 +1,32 @@ +// Exa 3.4
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 12;// in V
+R_C = 2.2;// in k ohm
+R_C = R_C * 10^3;// in ohm
+R_B = 240;//in k ohm
+R_B = R_B * 10^3;// in ohm
+V_BE = 0.7;// in V
+// V_CC - I_B*R_B - V_BE = 0;
+I_BQ = (V_CC-V_BE)/R_B;// in A
+I_BQ = I_BQ * 10^6;// in µA
+disp(I_BQ,"The value of I_BQ in µA is");
+Beta = 50;
+// I_CQ = Beta*I_BQ + (1+BEta)*I_CO;
+I_CQ = Beta*I_BQ*10^-6;// in A
+I_CQ = I_CQ * 10^3;// in mA
+disp(I_CQ,"The value of I_CQ in mA is");
+// V_CC - I_CQ*R_C - V_CEQ = 0;
+V_CEQ = V_CC - I_CQ*10^-3*R_C;// in V
+disp(V_CEQ,"The value of V_CEQ in V is");
+V_B = V_BE;// in V
+disp(V_B,"The value of V_B in V is");
+V_C = V_CEQ;// in V
+disp(V_C,"The value of V_C in V is");
+// V_CE = V_CB + V_BE;
+V_CB = V_CEQ - V_BE;// in V
+V_BC = -V_CB;// in V
+disp(V_BC,"The value of V_BC in V is");
diff --git a/2375/CH3/EX3.5/ex3_5.sce b/2375/CH3/EX3.5/ex3_5.sce new file mode 100755 index 000000000..614c4f5c0 --- /dev/null +++ b/2375/CH3/EX3.5/ex3_5.sce @@ -0,0 +1,25 @@ +// Exa 3.5
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 12;// in V
+R_B = 100;// in k ohm
+R_C = 500*10^-3;// in k ohm
+Beta_dc = 100;
+V_BE= 0.7;// in V
+// V_CC - I_BQ*R_B - V_BE = 0;
+I_BQ = (V_CC - V_BE)/R_B;// in mA
+I_CQ = Beta_dc*I_BQ;// in mA
+// V_CC - I_CQ*R_C - V_CEQ = 0;
+V_CEQ = V_CC - (I_CQ*R_C);// in V
+disp("The Q point at 30° is : "+string(V_CEQ)+" V, "+string(I_CQ)+" mA")
+Beta_dc = 120;
+I_CQ1 = Beta_dc*I_BQ;// in mA
+V_CEQ1 = V_CC - (I_CQ1*R_C);// in V
+disp("The Q point at 80° is : "+string(V_CEQ1)+" V, "+string(I_CQ1)+" mA")
+PerI_CQ = ((I_CQ1-I_CQ)/I_CQ)*100;// in %
+disp("The percentage change in I_CQ is : "+string(PerI_CQ )+" % (increase)");
+PerV_CEQ = ((V_CEQ1-V_CEQ)/V_CEQ)*100;// in %
+disp("The percentage change in V_CEQ is : "+string(abs(PerV_CEQ))+" % (decrease)");
diff --git a/2375/CH3/EX3.6/ex3_6.sce b/2375/CH3/EX3.6/ex3_6.sce new file mode 100755 index 000000000..fb4d530d9 --- /dev/null +++ b/2375/CH3/EX3.6/ex3_6.sce @@ -0,0 +1,22 @@ +// Exa 3.36
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+R_B = 100;// in k ohm
+R_B = R_B * 10^3;// in ohm
+R_C = 1;// in k ohm
+R_C = R_C * 10^3;// in ohm
+V_BE = 0.3;// in V
+// S = 1 + Beta and Beta = I_C/I_B;
+V_CC = 12;// in V
+V_CE = 6;// in V
+I_C = (V_CC-V_CE)/R_C;// in A
+I_C = I_C * 10^3;// in mA
+I_B = (V_CC-V_BE)/R_B;// in A
+I_B = I_B * 10^6;// in µA
+Beta = (I_C*10^-3)/(I_B*10^-6);
+S = 1 + Beta;
+disp(S,"The stability factor is");
+
diff --git a/2375/CH3/EX3.7/ex3_7.sce b/2375/CH3/EX3.7/ex3_7.sce new file mode 100755 index 000000000..2e7cb3584 --- /dev/null +++ b/2375/CH3/EX3.7/ex3_7.sce @@ -0,0 +1,21 @@ +// Exa 3.7
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 25;// in V
+R_B = 180;// in k ohm
+R_C = 820*10^-3;// in k ohm
+R_E = 200*10^-3;// in k ohm
+bita = 80;
+V_BE = 0.7;// in V
+// Applying KVL to B-E loop, V_CC-I_B*R_B-V_BE-I_E*R_E=0 or
+I_C= (V_CC-V_BE)/((R_B+R_E)/bita-R_E);// in A (on putting I_B= I_C/bita and I_E= I_B+I_E)
+disp(I_C,"The collector current in mA is");
+V_CE = V_CC - (I_C*R_C);// in V
+disp(V_CE,"The collector to emmiter voltage in V is");
+S = (1 + bita)/( 1 + ( (bita*R_E)/(R_B+R_E) ) );
+disp(S,"Current stability factor is");
+Sdas = -bita/( R_B + R_E*(1+bita) );
+disp(Sdas,"The voltage stability factor is");
diff --git a/2375/CH3/EX3.8/ex3_8.sce b/2375/CH3/EX3.8/ex3_8.sce new file mode 100755 index 000000000..327acc34a --- /dev/null +++ b/2375/CH3/EX3.8/ex3_8.sce @@ -0,0 +1,19 @@ +// Exsa 3.8
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 20;// in V
+V_BE= 0.7;// in V
+R_C = 4.7;//in k ohm
+bita = 100;
+R_B = 680;// in k ohm
+I_C= poly(0,'I_C');// in mA
+I_B= I_C/bita;// in mA
+// Applying KVL to C-B circuit, V_CC - (I_C+I_B)*R_C - I_B*R_B - V_BE = 0;
+I_C= V_CC - (I_C+I_B)*R_C - I_B*R_B - V_BE;
+I_C= roots(I_C);// in mA
+I_B= I_C/bita;// in mA
+V_CEQ = V_CC - (I_C+I_B)*R_C;// in V
+disp("Q point : "+string(V_CEQ)+" volts, "+string(I_C)+" mA")
diff --git a/2375/CH3/EX3.9/ex3_9.sce b/2375/CH3/EX3.9/ex3_9.sce new file mode 100755 index 000000000..c248ffbed --- /dev/null +++ b/2375/CH3/EX3.9/ex3_9.sce @@ -0,0 +1,19 @@ +// Exa 3.9
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CEQ = 5;// in V
+I_CQ = 5;// in mA
+V_CC = 12;// in V
+bita = 120;
+I_C = I_CQ;// in mA
+V_BE = 0.7;// in V
+I_B= I_C/bita;// in mA
+// V_CC - (I_C+I_B)*R_C - V_CE = 0 or
+R_C= (V_CC-V_CEQ)/(I_C+I_B);// in k ohm
+// Applying KVL to base circuit, V_CC - (I_C+I_B)*R_C - I_B*R_B - V_BE = 0 or
+R_B= (V_CEQ-V_BE)/I_B;// in k ohm
+disp(R_C,"The value of R_C in k ohm is");
+disp(R_B,"The value of R_B in k ohm is");
diff --git a/2375/CH4/EX4.1/ex4_1.sce b/2375/CH4/EX4.1/ex4_1.sce new file mode 100755 index 000000000..7790a471c --- /dev/null +++ b/2375/CH4/EX4.1/ex4_1.sce @@ -0,0 +1,45 @@ +// Exa 4.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+R1 = 100*10^3;// in ohm
+R2 = 10*10^3;// in ohm
+h_fe = 50;
+h_oe = 1/40;// in ohm
+R_L = 5*10^3;// in ohm
+R_S= 5*10^3;// in ohm
+h_ie = 1.1*10^3;// in ohm
+h_re = 2.5*10^-4;
+R_B = (R1*R2/(R1+R2));// in ohm
+A_I = (-h_fe)/(1 + h_oe*R_L);
+disp(A_I,"The internal current gain is");
+//Internal input impedance, Zi = Vbe/Ib or
+Zi = (h_ie + h_re*A_I*R_L);// in ohm
+Zi= Zi*10^-3;// in k ohm
+disp(Zi,"The internal input impedance in k ohm is");
+Zi= Zi*10^3;// in ohm
+//Internal voltage gain, Av = Vce/Vbe or
+Av = (A_I*R_L)/Zi;
+disp(Av,"The internal voltage gain is");
+Ri = floor(R_B*Zi/(R_B+Zi));// in ohm
+Ri= Ri*10^-3;// in k ohm
+disp(Ri,"The overall input impedance in k ohm is");
+Ri= Ri*10^3;// in ohm
+// V_S= I_i*R_S+v_be or
+VS_by_vbe= Ri/(Ri+R_S);
+Avs= Av*VS_by_vbe;
+disp(Avs,"The overall voltage gain is : ")
+// R_B*(I_i-I_b)= Zi*I_b or
+I_bBYI_i= R_B/(R_B+Zi);
+A_IS= A_I*I_bBYI_i;
+disp(A_IS,"The overall current gain is : ")
+Rdesh_S= R_B*R_S/(R_B+R_S);// in ohm
+Rdesh_S= 3220
+I_bByVce= -h_re/(h_ie+Rdesh_S);
+Yo= h_oe-h_fe*h_re/(h_ie+Rdesh_S)*10^3;
+Zo= 1/Yo;
+disp(Zo,"The Output impedance in ohm is : ")
+
+
diff --git a/2375/CH4/EX4.2/ex4_2.sce b/2375/CH4/EX4.2/ex4_2.sce new file mode 100755 index 000000000..657a21cc4 --- /dev/null +++ b/2375/CH4/EX4.2/ex4_2.sce @@ -0,0 +1,47 @@ +// Exa 4.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_CC = 15;// in V
+R_L = 10;// in k ohm
+Rf = 200;// in k ohm
+R_S = 5;// in k ohm
+Rf2 = Rf;// in k ohm
+h_fe = 50;
+V_S= 10*10^-3;// in V
+h_oe = 1/40;// in k ohm
+R_L = (R_L*Rf2)/(R_L+Rf2);// in k ohm
+Ai = -h_fe/(1+h_oe*R_L);
+disp(Ai,"The internal current gain is");
+//Zi = Vbe/Ib = h_ie +Ai*h_re*R_L;
+h_ie = 1.1;// in k ohm
+h_re = 2.5*10^-4;
+Zi = h_ie +Ai*h_re*R_L;// in k ohm
+disp(Zi,"The internal input impedance in k ohm is");
+//A_V = Vce/Vbe = (Ai*R_L)/Zi;
+A_V = (Ai*R_L)/Zi;
+disp(A_V,"The internal voltage gain is");
+Rf1= Rf/(1-A_V)
+// Rf1 = Rf/(1-A_V);// in k ohm
+//Ri = Vi/Ii = Vbe/Ii = (Rf1*Zi)/(Rf1+Zi);
+Ri = (Rf1*Zi)/(Rf1+Zi);// in k ohm
+disp(Ri,"The overall input impedance in k ohm is");
+//A_VS = Vo/V_S or
+A_VS = A_V*(Ri/(R_S+Ri));
+disp(A_VS,"The overall voltage gain is");
+//A_IS = I_L/Ii or
+A_IS = (Rf2/(Rf2+R_L))*Ai*(Rf1/(Rf1+Zi));
+disp(A_IS,"The overall current gain is");
+Rdesh_S= Rf1*R_S/(Rf1+R_S);// in k ohm
+Yo= h_oe-h_re*h_fe/(h_ie+Rdesh_S);// in mho
+Zo= 1/Yo;// in ohm
+disp(Zo,"The output impedance in ohm is : ")
+Zdesh_o= Rf2*Zo/(Rf2+Zo);// in ohm
+disp(Zdesh_o,"The overall output impedance in ohm is : ");
+Vo= V_S*abs(A_VS);// in V
+Vo= Vo*10^3;// in mV
+disp(Vo,"The magnitude of output voltage in mV is : ")
+
+
diff --git a/2375/CH4/EX4.3/ex4_3.sce b/2375/CH4/EX4.3/ex4_3.sce new file mode 100755 index 000000000..320f95e03 --- /dev/null +++ b/2375/CH4/EX4.3/ex4_3.sce @@ -0,0 +1,42 @@ +// Exa 4.3
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+h_ic = 2;// in k ohm
+h_fc = -51;
+h_oc = 25*10^-6;// in ohm
+h_rc= 1;
+V_CC = 20;// in V
+R1 = 10;// in k ohm
+R2 = 10;// in k ohm
+R_S = 1;// in k ohm
+R_E = 5;// in k ohm
+R_B= 5;// in k ohm
+R_L= 5;// in k ohm
+// (i) Current Gain
+Ai = (-h_fc)/(1+h_oc*R_E*10^3);
+disp(Ai,"The current gain is");
+// (ii) Input impedance
+Zi = h_ic*10^3 + h_rc*Ai*R_E*10^3;// in ohm
+Zi = Zi * 10^-3;// in k ohm
+disp(Zi,"The input impedance in k ohm is");
+// (iii) Voltage Gain
+A_V = (Ai*R_L*10^3)/(Zi*10^3);
+A_V = 1;// (approx)
+disp(A_V,"The voltage gain is");
+// (iv) Overall Input Impedance
+Z_IS = (R_B*Zi)/(R_B+Zi);// in k ohm
+disp(Z_IS,"The overall input impedance in k ohm is");
+// (v) Overall voltage gain
+A_VS = (A_V*Zi)/(Zi+R_S);
+disp(A_VS,"The overall voltage gain is");
+// (vi) Overall current gain
+A_IS =Ai*(R_B/(R_B+Zi));
+disp(A_IS,"The overall current gain is");
+// (vii) Output impedance
+RdasS = (R_S*R_B)/(R_S+R_B);// in k ohm
+Yo = h_oc - ( (h_fc*h_rc)/(h_ic*10^3+RdasS*10^3) );// in mho
+Zo = 1/Yo;// in ohm
+disp(Zo,"The output impedance in ohm is");
diff --git a/2375/CH4/EX4.4/ex4_4.sce b/2375/CH4/EX4.4/ex4_4.sce new file mode 100755 index 000000000..0634595ae --- /dev/null +++ b/2375/CH4/EX4.4/ex4_4.sce @@ -0,0 +1,36 @@ +// Exa 4.4
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+h_ie = 1.1;// in k ohm
+h_re = 2.5*10^-4;
+h_fe = 50;
+h_oe = 25*10^-6;// in A
+V_CC = 15;// in V
+R1 = 20;// in k ohm
+R_C = 2;// in k ohm
+R2 = 10;// in k ohm
+R_S = 1;// in k ohm
+R_E = 1;// in k ohm
+// (i) Current Gain
+Ai = -h_fe/(1 + h_oe*R_C*10^3);
+disp(Ai,"The current gain is");
+// (ii) Input impedance
+Zi = (h_ie*10^3) + (h_re*Ai*R_C*10^3);//in ohm
+Zi = Zi * 10^-3;// in k ohm
+disp(Zi,"The input impedance in k ohm is");
+// (iii) Voltage gain
+A_V = (Ai*R_C)/Zi;
+disp(A_V,"The voltage gain is");
+// (iv) Overall input impedance
+R_B = (R1*R2)/(R1+R2);// in k ohm
+Z_IS = (Zi*R_B)/(Zi+R_B);// in k ohm
+disp(Z_IS,"The overall input impedance in k ohm is");
+// (v) Overall voltage gain
+A_VS = A_V * (Z_IS/(Z_IS+R_S));
+disp(A_VS,"The overall voltage gain is");
+// (vi) Overall current gain
+A_IS =Ai*(R_B/(R_B+Zi));
+disp(A_IS,"The overall current gain is");
diff --git a/2375/CH4/EX4.5/ex4_5.sce b/2375/CH4/EX4.5/ex4_5.sce new file mode 100755 index 000000000..041a25f60 --- /dev/null +++ b/2375/CH4/EX4.5/ex4_5.sce @@ -0,0 +1,28 @@ +// Exa 4.5
+clc;
+clear;
+close;
+format('v',7)
+// Given data
+h_ie = 1.1;// in k ohm
+h_oe = 25;// in A/V
+h_oe = h_oe * 10^-6;// in A/V
+h_fe = 50;
+h_re = 2.5*10^-4;
+R_L = 1.6;// in ohm
+R_S = 1;// in k ohm
+V_CC = 15;// in V
+// (i) Current Gain
+Ai = -h_fe/(1 + (h_oe*R_L));
+disp(Ai,"The current gain is");
+// (ii) Input impedance
+Zi = (h_ie*10^3) + (h_re*Ai*R_L);// in ohm
+Zi= Zi*10^-3;// in k ohm
+disp(Zi,"The input impedance in k ohm is");
+Zi= Zi*10^3;// in ohm
+// (iii) Voltage gain
+A_V = Ai*R_L/Zi;
+disp(A_V,"The voltage gain is");
+// (iv) Power gain
+A_P = Ai*A_V;
+disp(A_P,"The power gain is");
diff --git a/2375/CH4/EX4.6/ex4_6.sce b/2375/CH4/EX4.6/ex4_6.sce new file mode 100755 index 000000000..7016ecc33 --- /dev/null +++ b/2375/CH4/EX4.6/ex4_6.sce @@ -0,0 +1,48 @@ +// Exa 4.6
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+h_fe = 150;
+Beta_dc = h_fe;
+h_ie = 1*10^3;// in ohm
+h_re = 0;
+h_oe = 0;
+V_CC = 18;// in V
+V_BE= 0.7;// in V
+R1 = 100*10^3;// in ohm
+R2 = 50*10^3;// in ohm
+R_C = 1*10^3;// in ohm
+R_E = 0.5*10^3;// in ohm
+V_Th = (V_CC/(R1+R2))*R2;// in V
+R_Th =(R1*R2)/(R1+R2);// in ohm
+// V_Th - I_B*R_Th - V_BE - (1+Beta)*-I_B*R_E = 0;
+I_B = (V_Th-V_BE)/( R_Th + (1+Beta_dc)*R_E);// in A
+//I_C = I_CQ = Beta*I_B;
+I_C = Beta_dc*I_B;// in A
+I_CQ = I_C;// in A
+I_CQ= I_CQ*10^3;// in mA
+disp(I_CQ,"The value of I_CQ in mA is");
+I_E = (1+Beta_dc)*I_B;// in mA
+// V_CC - I_C*R_C - V_CE - I_E*R_E = 0;
+V_CE = V_CC - (I_C*R_C) - (I_E*R_E);// in V
+disp(V_CE,"The value of V_CE in V is");
+R_L =R_C;// in ohm
+Ai = -h_fe/(1+(h_oe*R_L));
+disp(Ai,"The current gain is ");
+Zi = h_ie + h_re*Ai*R_L;// in ohm
+Zi= Zi*10^-3;// in k ohm
+disp(Zi,"The input impedance in k ohm is");
+Zi= Zi*10^3;// in ohm
+A_V = Ai*(R_L/Zi);
+disp(A_V,"The voltage gain is");
+R_B= (R1*R2)/(R1+R2);// in ohm
+Z_IS =(Zi*R_B)/(Zi+R_B);// in ohm
+Z_IS= Z_IS*10^-3;// in kohm
+disp(Z_IS,"The overall input impedance in k ohm is");
+Z_IS= Z_IS*10^3;// in ohm
+A_VS =A_V*(Z_IS/Z_IS);
+disp(A_VS,"The overall voltage gain is");
+A_IS =Ai * (R_B/(R_B+Zi));
+disp(A_IS,"The overall current gain is");
diff --git a/2375/CH5/EX5.1/ex5_1.sce b/2375/CH5/EX5.1/ex5_1.sce new file mode 100755 index 000000000..4efca27db --- /dev/null +++ b/2375/CH5/EX5.1/ex5_1.sce @@ -0,0 +1,35 @@ +// Exa 5.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+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 µA
+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 µS
+disp(g_m,"The transconductance in µS is");
+// (ii) Input resistance
+g_m=g_m*10^-6;// in S
+r_be = h_fe/g_m; //in ohm
+disp(r_be,"The input resistance in ohm is");
+// (iii) Capacitance
+Cbc = Cob ;// in F
+Cbe = g_m/(2*%pi*f_T)-Cbc;// in F
+Cbe= round(Cbe*10^12);// in pF
+disp(Cbe,"The capacitance in pF is");
+// (iv) Base Spreading Resistance
+r_bb = round(h_ie - r_be);// in ohm
+disp(r_bb,"The base spreading resistance in ohm is");
diff --git a/2375/CH5/EX5.2/ex5_2.sce b/2375/CH5/EX5.2/ex5_2.sce new file mode 100755 index 000000000..33c116f90 --- /dev/null +++ b/2375/CH5/EX5.2/ex5_2.sce @@ -0,0 +1,46 @@ +// Exa 5.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+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
+disp(g_m,"The Transconductance in mA/V is");
+// (ii) Input resistance
+g_m= g_m*10^-3;// in A/V
+r_be = round(h_fe/g_m);// in ohm
+disp(r_be,"The input resistance in ohm is");
+// (iii) Base spreading resistance
+r_bb = h_ie - r_be;// in ohm
+disp(r_bb,"The base spreading resistance in ohm is");
+// (iv) The feedback conductance
+format('e',8)
+g_bc = h_re*g_be;
+disp(g_bc,"The feedback conductance is");
+// (v) The output conductance
+g_ce = h_oe - (1+h_fe)*g_bc
+disp(g_ce,"The output conductance is : ")
+// (vi) Capacitance
+format('v',6)
+Cbe= g_m/(2*%pi*f_T);// in F
+Cbe= Cbe*10^12;// in pF
+disp(Cbe,"The value of C_b''e in pF is : ")
+Cc= Cob;// in F
+Cc= Cc*10^12
+disp(Cc,"The value of Cc in pF is : ")
diff --git a/2375/CH5/EX5.3/ex5_3.sce b/2375/CH5/EX5.3/ex5_3.sce new file mode 100755 index 000000000..038c021f8 --- /dev/null +++ b/2375/CH5/EX5.3/ex5_3.sce @@ -0,0 +1,25 @@ +// Exa 5.3
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+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
+disp(Cbe,"The emitter diffusion capacitance in pF is");
+Cbe= Cbe*10^-12;// in F
+g_m = abs(I_E)/V_T;
+// The transition frequency
+f_T = g_m/(2*%pi*Cbe);// in Hz
+f_T = f_T * 10^-6;// in MHz
+disp(f_T,"The transition frequency in MHz is");
+
+// Note: The answer in the book is not accurate.
diff --git a/2375/CH5/EX5.4/ex5_4.sce b/2375/CH5/EX5.4/ex5_4.sce new file mode 100755 index 000000000..148dea91b --- /dev/null +++ b/2375/CH5/EX5.4/ex5_4.sce @@ -0,0 +1,28 @@ +// Exa 5.4
+clc;
+clear;
+close;
+// Given data
+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/(sqrt( ((h_fe/Ai)^2) - 1 ));// in MHz
+disp(f_Beta,"The Beta cut off frequency in MHz is");
+f_T = h_fe*f_Beta;// in MHz
+disp(f_T,"The gain bandwidth product in MHz is");
+g_m = 0.1923;
+Ce = g_m/(2*%pi*f_T*10^6);// in F
+disp(Ce,"The value of Ce in F is");
+Cbe= Ce;// in F
+disp(Cbe*10^12,"The value of C_b''e in pF is : ")
+r_be = h_fe/g_m;// in ohm
+disp(r_be,"The value of r_b''e in ohm is");
+r_bb = h_ie - r_be;// in ohm
+disp(r_bb,"The value of r_bb'' in ohm is");
diff --git a/2375/CH5/EX5.5/ex5_5.sce b/2375/CH5/EX5.5/ex5_5.sce new file mode 100755 index 000000000..d109aebe0 --- /dev/null +++ b/2375/CH5/EX5.5/ex5_5.sce @@ -0,0 +1,12 @@ +// Exa 5.5
+clc;
+clear;
+close;
+// Given data
+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 = sqrt( D_Beta/(%pi*f_T*10^6) );// in cm
+W = W * 10^4;// in µm
+disp(W,"The base width of silicon transistor in µm is");
diff --git a/2375/CH5/EX5.6/ex5_6.sce b/2375/CH5/EX5.6/ex5_6.sce new file mode 100755 index 000000000..0ba2a84ee --- /dev/null +++ b/2375/CH5/EX5.6/ex5_6.sce @@ -0,0 +1,20 @@ +// Exa 5.6
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+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 µm
+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
+disp(Ce,"The value of Ce in pF is");
+f_T = g_m/(2*%pi*Ce*10^-12);// in Hz
+f_T = f_T * 10^-6;// in MHz
+disp(f_T,"The value of f_T in MHz is");
diff --git a/2375/CH6/EX6.1/ex6_1.sce b/2375/CH6/EX6.1/ex6_1.sce new file mode 100755 index 000000000..c71bcdb16 --- /dev/null +++ b/2375/CH6/EX6.1/ex6_1.sce @@ -0,0 +1,14 @@ +// Exa 6.1
+clc;
+clear;
+close;
+// Given data
+I_DSS = 10;// in mA
+V_P = -4;// in V
+V_GS= V_P:0.1:0
+I_D = I_DSS * ((1 - (V_GS/V_P))^2);// in A
+plot(V_GS,I_D);
+xlabel("V_GS in volts");
+ylabel("I_D in mA")
+title("Transfer curve")
+disp("The transfer curve shown in the figure.")
diff --git a/2375/CH6/EX6.2/ex6_2.sce b/2375/CH6/EX6.2/ex6_2.sce new file mode 100755 index 000000000..08bfe2fd6 --- /dev/null +++ b/2375/CH6/EX6.2/ex6_2.sce @@ -0,0 +1,14 @@ +// Exa 6.2
+clc;
+clear;
+close;
+// Given data
+I_DSS = 4;// in mA
+V_P = 3;// in V
+V_GS= 0:0.1:V_P
+I_D = I_DSS * ((1 - (V_GS/V_P))^2);// in A
+plot(V_GS,I_D);
+xlabel("V_GS in volts");
+ylabel("I_D in mA")
+title("Transfer curve")
+disp("The transfer curve shown in the figure.")
diff --git a/2375/CH6/EX6.3/ex6_3.sce b/2375/CH6/EX6.3/ex6_3.sce new file mode 100755 index 000000000..cfbcd0562 --- /dev/null +++ b/2375/CH6/EX6.3/ex6_3.sce @@ -0,0 +1,16 @@ +// Exa 6.3
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+I_Don = 10;// in mA
+I_Don = I_Don * 10^-3;// in A
+V_GS = -12;// in V
+V_GSt = -3;// in V
+//From I_Don = Kn*((V_GS-V_GSt)^2);
+Kn = I_Don/((V_GS-V_GSt)^2);// in A/V
+Kn= Kn* 10^3;// in mA/V
+V_GS = -6;// in V
+I_D = Kn*((V_GS-V_GSt)^2);// in mA
+disp(I_D,"The drain current in mA is");
diff --git a/2375/CH6/EX6.4/ex6_4.sce b/2375/CH6/EX6.4/ex6_4.sce new file mode 100755 index 000000000..1af493a93 --- /dev/null +++ b/2375/CH6/EX6.4/ex6_4.sce @@ -0,0 +1,15 @@ +// Exa 6.4
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 8;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P =-5;// in V
+V_GS = -2;// in V
+V_DSmin = V_GS - V_P;// in V
+disp(V_DSmin,"The minimum value of V_DS in V is");
+I_DS = I_DSS*((1 - (V_GS/V_P))^2);// in A
+I_DS = I_DS * 10^3;// in mA
+disp(I_DS,"The drain current in mA is");
diff --git a/2375/CH6/EX6.5/ex6_5.sce b/2375/CH6/EX6.5/ex6_5.sce new file mode 100755 index 000000000..f53f61349 --- /dev/null +++ b/2375/CH6/EX6.5/ex6_5.sce @@ -0,0 +1,17 @@ +// Exa 6.5
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 1.65;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -2;// in V
+I_D = 0.8;// in mA
+I_D = I_D * 10^-3;// in A
+V_DD = 24;// in V
+V_GS = V_P * (1 - sqrt( I_D/I_DSS ));// in V
+disp(V_GS,"The value of V_GS in V is");
+g_mo = -2 * (I_DSS*10^3/V_P);// in ms
+g_m = g_mo * (1 - V_GS/V_P);// in ms
+disp(g_m,"The value of g_m in ms is");
diff --git a/2375/CH6/EX6.6/ex6_6.sce b/2375/CH6/EX6.6/ex6_6.sce new file mode 100755 index 000000000..bdafca8f8 --- /dev/null +++ b/2375/CH6/EX6.6/ex6_6.sce @@ -0,0 +1,30 @@ +// Exa 6.6
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Vt = 2;// in V
+unCox = 20;// in µA/V^2
+Kdasn = unCox;// in µA/V^2
+W = 100;// in µm
+L = 10;// in µm
+V_GS = 3;// in V
+V_DS = 0.5;// in V
+V_GS = 3;// in V
+Vt = 2;// in V
+del_V = V_GS-Vt;// in V
+i_D = Kdasn*10^-6*(W/L)*( del_V*V_DS - 1/2*(V_DS^2) );// in A
+i_D = i_D * 10^6;// in µA
+disp("Part (a) For V_D= 0.5 V, NOMS is operating in Triode region.")
+disp(i_D,"The drain current in µA is");
+V_DS = 1;// in V
+i_D = (1/2)* Kdasn*10^-6*(W/L)*( del_V^2 );// in A
+i_D = i_D * 10^6;// in µA
+disp("Part (b) For V_D= 1 V, NOMS is operating in saturation region.")
+disp(i_D,"The drain current in µA is");
+V_DS = 5;// in V
+i_D = (1/2)* Kdasn*10^-6*(W/L)*( del_V^2 );// in A
+i_D = i_D * 10^6;// in µA
+disp("Part (c) For V_D= 5 V, NOMS is operating in saturation region.")
+disp(i_D,"The drain current in µA is");
diff --git a/2375/CH6/EX6.7/ex6_7.sce b/2375/CH6/EX6.7/ex6_7.sce new file mode 100755 index 000000000..47ad4900e --- /dev/null +++ b/2375/CH6/EX6.7/ex6_7.sce @@ -0,0 +1,19 @@ +// Exa 6.7
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Vt = 2;// in V
+i_D = 1;// in mA
+i_D = i_D * 10^-3;// in A
+V_GS = 3;// in V
+// From i_D= 1/2*KnwByL*(V_GS-Vt)^2
+KnwByL= 2*i_D/(V_GS-Vt)^2;
+V_GS= 4;// in V
+V_DS= 5;// in V
+i_D= 1/2*KnwByL*(V_GS-Vt)^2;// in A
+i_D= i_D*10^3;// in mA
+disp(i_D,"The value of i_D in mA is : ")
+r_DS= 1/(KnwByL*(V_GS-Vt));// in ohm
+disp(r_DS,"The value of drain to source resistance in ohm is : ")
diff --git a/2375/CH6/EX6.8/ex6_8.sce b/2375/CH6/EX6.8/ex6_8.sce new file mode 100755 index 000000000..055a3eb52 --- /dev/null +++ b/2375/CH6/EX6.8/ex6_8.sce @@ -0,0 +1,14 @@ +// Exa 6.8
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Vt = -2;// in V
+KnwByL = 2*10^-3;// in A/V^2
+V_GS = 1;// in V
+V_DS = V_GS-Vt;// in V
+disp(V_DS,"The minimum value of V_DS in V is");
+i_D = 1/2*KnwByL*V_DS^2;// in A
+i_D = i_D * 10^3;// in mA
+disp(i_D,"The value of i_D in mA is");
diff --git a/2375/CH7/EX7.1/ex7_1.sce b/2375/CH7/EX7.1/ex7_1.sce new file mode 100755 index 000000000..219b0773f --- /dev/null +++ b/2375/CH7/EX7.1/ex7_1.sce @@ -0,0 +1,27 @@ +// Exa 7.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 8;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -8;// in V
+V_DD = 16;// in V
+R_D = 2;// in k ohm
+R_D = R_D * 10^3;// in ohm
+V_GG = 2;// in V
+R_G = 1;// in Mohm
+R_G = R_G * 10^6;// in ohm
+I_G = 0;
+// To calculate V_GS
+V_GS = -V_GG;// in V
+disp(V_GS,"The value of V_GS in V is");
+// To calculate the drain current
+I_DQ =I_DSS*((1 - (V_GS/V_P))^2);// in A
+I_DQ = I_DQ * 10^3;// in mA
+disp(I_DQ,"The value of I_DQ in mA is");
+// To calculate V_DS
+// V_DD = I_D*R_D + V_DS;
+V_DS = V_DD - (I_DQ*10^-3*R_D);// in V
+disp(V_DS,"The value of V_DS in V is");
diff --git a/2375/CH7/EX7.10/ex7_10.sce b/2375/CH7/EX7.10/ex7_10.sce new file mode 100755 index 000000000..4f0f72d03 --- /dev/null +++ b/2375/CH7/EX7.10/ex7_10.sce @@ -0,0 +1,26 @@ +// Exa 7.10
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+I_DSS = 5.6;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = 4;// in V
+Vi = 0;// in V
+V_CC = 12;// in V
+R_D = 10;// in k ohm
+R_D = R_D * 10^3;// in ohm
+R_S= 10*10^3;// in ohm
+I_D= poly(0,'I_D');
+V_GS= I_D*R_D-V_CC;// in V
+I_D= I_D-I_DSS*(1-V_GS/V_P)^2;// in A
+I_D= roots(I_D);// in A
+I_D= I_D(2);// in A
+V_GS= I_D*R_D-V_CC;// in V
+Vo= V_CC-I_D*R_S;// in V
+I_D= I_D*10^3;// in mA
+disp(I_D,"The value of I_D in mA is : ")
+disp(Vo,"The value of Vo in volts is : ")
+
+// Note: In the book, there is calculation error to find the value of I_D this is why the value of Vo is also wrong.
diff --git a/2375/CH7/EX7.11/ex7_11.sce b/2375/CH7/EX7.11/ex7_11.sce new file mode 100755 index 000000000..30b1bce54 --- /dev/null +++ b/2375/CH7/EX7.11/ex7_11.sce @@ -0,0 +1,44 @@ +// Exa 7.11
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 5.6;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -4;// in V
+R_S = 10;// in k ohm
+R_S = R_S * 10^3;// in ohm
+R_D = 4.7;// in k ohm
+R_D = R_D * 10^3;// in ohm
+V_CC = 12;// in V
+V_DD = 22;// in V
+// (a) Calculation to find the value of Vo at Vi = 0 V
+Vi = 0;// in V
+V_GS= poly(0,'V_GS');
+I_D= (V_CC-V_GS)/R_S;// in A
+V_GS= I_D-I_DSS*(1-V_GS/V_P)^2;// in A
+V_GS= roots(V_GS)
+V_GS= V_GS(2);// in V
+I_D= (V_CC-V_GS)/R_S;// in A
+Vo= Vi-V_GS;// in V
+disp(Vo,"For Vi=0 V, The value of Vo in volts is ; ")
+
+// (a) Calculation to find the value of Vo at Vi = 10 V
+Vi = 10;// in V
+V_GS= poly(0,'V_GS');
+I_D= (V_DD-V_GS)/R_S;// in A
+V_GS= I_D-I_DSS*(1-V_GS/V_P)^2;// in A
+V_GS= roots(V_GS)
+V_GS= V_GS(2);// in V
+I_D= (V_CC-V_GS)/R_S;// in A
+Vo= Vi-V_GS;// in V
+disp(Vo,"For Vi=10 V, The value of Vo in volts is ; ")
+
+// (a) Calculation to find the value of Vi at Vo = 10 V
+Vo= 0;// in V
+I_D= V_CC/R_S;// in A
+V_GS= V_P*(1-sqrt(I_D/I_DSS));// in V
+Vi= V_GS+Vo;// in V
+disp(Vi,"For Vo=0 V, The value of Vi in volts is ; ")
+
diff --git a/2375/CH7/EX7.12/ex7_12.sce b/2375/CH7/EX7.12/ex7_12.sce new file mode 100755 index 000000000..c1a4f7e12 --- /dev/null +++ b/2375/CH7/EX7.12/ex7_12.sce @@ -0,0 +1,22 @@ +// Exa 7.12
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 12;// in mA
+V_P = 5;// in V
+R_D = 3.3;// in k ohm
+R_G = 1.5*10^3;// in k ohm
+R_S = 1.2;// in k ohm
+V_DD= 18;// in V
+I_D= poly(0,'I_D');
+V_GS= I_D*R_S;// in V
+I_D= I_D-I_DSS*(1-V_GS/V_P)^2;
+I_D= roots(I_D);
+I_D= I_D(2);// in mA
+V_GS= I_D*R_S;// in V
+V_DS= V_DD-I_D*(R_S+R_D);// in V
+disp(I_D,"The value of I_D in mA is : ")
+disp(V_GS,"The value of V_GS in volts is : ");
+disp(V_DS,"The value of V_DS in volts is : ")
diff --git a/2375/CH7/EX7.13/ex7_13.sce b/2375/CH7/EX7.13/ex7_13.sce new file mode 100755 index 000000000..92dce6fbe --- /dev/null +++ b/2375/CH7/EX7.13/ex7_13.sce @@ -0,0 +1,19 @@ +// Exa 7.13
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Vt = -1;// in V
+KnWbyL = 1*10^-3;// in A/V^2
+V_DS = 0.1;// in V
+V_GS = 0;// in V
+I_D = ( (V_GS-Vt)*V_DS-1/2*KnWbyL );// in mA
+V = 9.9;// in V
+R_D = V/I_D;// in k ohm
+R_D= ceil(R_D);// in k ohm
+disp(R_D,"The value of R_D in k ohm is : ")
+V_DS = 0.1;// in V
+r_DS = V_DS/(I_D*10^-3);// in ohm
+r_DS= round(r_DS*10^-3);// in k ohm
+disp(r_DS,"Effective resistance between source and drain in k ohm is");
diff --git a/2375/CH7/EX7.14/ex7_14.sce b/2375/CH7/EX7.14/ex7_14.sce new file mode 100755 index 000000000..b3727c6ac --- /dev/null +++ b/2375/CH7/EX7.14/ex7_14.sce @@ -0,0 +1,26 @@ +// Exa 7.14
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_DD = 5;// in V
+V_SS = -5;// in V
+Vt = 2;// in V
+I_D = 0.4;// in mA
+I_D = I_D * 10^-3;// in A
+miu_nCox=20*10^-6;// in A/V^2
+W = 400;// in µm
+L = 10;// in µm
+V_GS= poly(0,'V_GS');
+V_GS=I_D-(1/2)*miu_nCox*(W/L)*( (V_GS-Vt)^2 );
+V_GS= roots(V_GS)
+V_GS= V_GS(1);// in V
+V_S= -V_GS;// in V
+R_S = (V_S-V_SS)/I_D;// in ohm
+R_S = R_S * 10^-3;// in k ohm
+disp(R_S,"The value of R_S in k ohm is");
+V_D = 1;// in V
+R_D = (V_DD-V_D)/I_D;// in ohm
+R_D = R_D * 10^-3;// in k ohm
+disp(R_D,"The value of R_D in k ohm is");
diff --git a/2375/CH7/EX7.15/ex7_15.sce b/2375/CH7/EX7.15/ex7_15.sce new file mode 100755 index 000000000..b3c75a3c0 --- /dev/null +++ b/2375/CH7/EX7.15/ex7_15.sce @@ -0,0 +1,21 @@ +// Exa 7.15
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_D= 0.4*10^-3;// in A
+Vt = 2;// in V
+miu_nCox = 20*10^-6;// in A/V^2
+L = 10;// in µm
+W = 100;// in µm
+V_GS= poly(0,'V_GS');
+V_GS= I_D - (1/2)*miu_nCox*(W/L)*( (V_GS-Vt)^2 );
+V_GS= roots(V_GS)
+V_GS= V_GS(1);// in V
+V_D = V_GS;// in V
+disp(V_D,"The DC voltage in V is");
+V_DD = 10;// in v
+R = (V_DD - V_D)/I_D;// in ohm
+R = R * 10^-3;// in k ohm
+disp(R,"The value R in k ohm is");
diff --git a/2375/CH7/EX7.16/ex7_16.sce b/2375/CH7/EX7.16/ex7_16.sce new file mode 100755 index 000000000..eb704f76a --- /dev/null +++ b/2375/CH7/EX7.16/ex7_16.sce @@ -0,0 +1,17 @@ +// Exa 7.16
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Vt = 1;// in V
+KnWbyL= 10*10^-3;// in A/V^2
+V_DD = 5;// in V
+V_D = 0.1;// in V
+I_D = Vt*( (V_DD-Vt)*V_D - 1/2*KnWbyL );// in mA
+R_D = (V_DD-V_D)/(I_D*10^-3);// in ohm
+R_D= R_D*10^-3;// in k ohm
+disp(R_D,"The value of R_D in k ohm is : ")
+V_DS = 0.1;// in V
+r_DS =round(V_DS/(I_D*10^-3));// in ohm
+disp(r_DS,"Effective resistance between drain and the source in ohm is");
diff --git a/2375/CH7/EX7.17/ex7_17.sce b/2375/CH7/EX7.17/ex7_17.sce new file mode 100755 index 000000000..0ff9cd5a4 --- /dev/null +++ b/2375/CH7/EX7.17/ex7_17.sce @@ -0,0 +1,25 @@ +// Exa 7.17
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_D = 0.5;// in mA
+V_D = 3;// in V
+Vt = -1;// in v
+KnWbyL = 1;// in mA/V^2
+V_DD = 5;// in V
+V_D = 3;// in v
+V_GS= poly(0,'V_GS');
+V_GS= I_D -1/2*KnWbyL*(V_GS-Vt)^2;// in V
+V_GS= roots(V_GS)// in V
+V_GS= V_GS(1);// in V
+R_G1 = 2;// in Mohm
+R_G1 = R_G1 * 10^6;// in ohm
+R_G2 = 3;// in Mohm
+R_G2 = R_G2 * 10^6;// in ohm
+V_GS = -2;// in V
+R_D = V_D/I_D;// in k ohm
+V_Dmax = V_D+abs(Vt);// in V
+R_D = V_Dmax/I_D;// in k ohm
+disp(R_D,"The largest value of R_D in k ohm is");
diff --git a/2375/CH7/EX7.2/ex7_2.sce b/2375/CH7/EX7.2/ex7_2.sce new file mode 100755 index 000000000..c60118e12 --- /dev/null +++ b/2375/CH7/EX7.2/ex7_2.sce @@ -0,0 +1,26 @@ +// Exa 7.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 10;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -4;// in V
+V_DD= 20;// in V
+R_S = 1;// in k ohm
+R_S = R_S * 10^3;// in ohm
+R_D = 2.7;// in k ohm
+R_D = R_D * 10^3;// in ohm
+I_DQ= poly(0,'I_DQ');
+V_GS= -I_DQ*R_S;// in V
+I_DQ= I_DQ-I_DSS*(1-V_GS/V_P)^2;// in A
+I_DQ= roots(I_DQ);// in A
+I_DQ= I_DQ(2);// in A
+I_DQ= I_DQ*10^3;// in mA
+disp(I_DQ,"The value of I_DQ in mA is : ")
+I_DQ= I_DQ*10^-3;// in A
+V_GSQ= -I_DQ*R_S;// in V
+disp(V_GSQ,"The value of V_GSQ in volts is : ")
+V_DS= V_DD-I_DQ*(R_D+R_S);// in V
+disp(V_DS,"The value of V_DS in volts is : ")
diff --git a/2375/CH7/EX7.3/ex7_3.sce b/2375/CH7/EX7.3/ex7_3.sce new file mode 100755 index 000000000..7af558fd5 --- /dev/null +++ b/2375/CH7/EX7.3/ex7_3.sce @@ -0,0 +1,21 @@ +// Exa 7.3
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+Kn = 20*10^-3;// in A/V^2
+Vt = -1;// in V
+V_DD = 5;// in V
+I_D = 100;// in mA
+I_D= I_D*10^-3;// in A
+V_GS = 0;// in V
+// I_D = (1/2)*Kdasn*(W/L)*((V_GS-Vt)^2);
+WbyL = (I_D*2)/(Kn*((V_GS-Vt)^2));
+disp(WbyL,"The (W/L) ratio is");
+V_DS = V_GS-Vt;// in V
+V_Dmin = V_DS;// in V
+R_Dmax = (V_DD-V_Dmin)/I_D;// in ohm
+disp("The range of R_D is : 0 to "+string(R_Dmax)+" Ω");
+
+//Note: The unit of R_Dmax in the book is wrong.
diff --git a/2375/CH7/EX7.5/ex7_5.sce b/2375/CH7/EX7.5/ex7_5.sce new file mode 100755 index 000000000..949cec7e4 --- /dev/null +++ b/2375/CH7/EX7.5/ex7_5.sce @@ -0,0 +1,28 @@ +// Exa 7.5
+clc;
+clear;
+close;
+format('e',8)
+// Given data
+I_Don = 6;// in mA
+I_Don = I_Don * 10^-3;// in A
+V_GSon = 8;// in V
+Vt = 3;// in V
+V_DD = 12;// in V
+R_D= 2*10^3;// in ohm
+// (i) To obtain the value of K
+K = I_Don/( (V_GSon-Vt)^2 );// in A/V^2
+disp(K,"The value of K in A/V^2 is");
+format('v',7)
+// To obtain the value of I_DQ
+I_D= poly(0,'I_D');
+V_GS= V_DD-I_D*R_D;// in V
+I_D= I_D-K*(V_GS-Vt)^2;// in A
+I_D= roots(I_D);// inA
+I_D= I_D(2);// in A
+I_D= I_D*10^3;// in mA
+disp(I_D,"The value of I_D in mA is : ")
+I_D= I_D*10^-3;// in A
+// (iii) To obtain the value of V_DSQ
+V_DSQ= V_DD-I_D*R_D;// in V
+disp(V_DSQ,"The value of V_DSQ in volts is : ")
diff --git a/2375/CH7/EX7.6/ex7_6.sce b/2375/CH7/EX7.6/ex7_6.sce new file mode 100755 index 000000000..92a312e6c --- /dev/null +++ b/2375/CH7/EX7.6/ex7_6.sce @@ -0,0 +1,31 @@ +// Exa 7.6
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_DD = 40;// in V
+Vt = 5;// in V
+R_D= 820;// in ohm
+I_Don = 3;// in mA
+I_Don = I_Don * 10^-3;// in A
+V_GSon = 10;// in V
+K = I_Don/( (V_GSon-Vt)^2 );// in A/V^2
+R2 = 18;// in Mohm
+R2 = R2 * 10^6;// in ohm
+R1 = 22;// in Mohm
+R1 = R1 * 10^6;// in ohm
+R_S = 3*10^3;// in ohm
+I_D= poly(0,'I_D');
+V_G= R2/(R1+R2)*V_DD;
+V_GS= V_G-I_D*R_D;// in V
+I_D= I_D-K*(V_GS-Vt)^2;// in A
+I_D= roots(I_D);// inA
+I_D= I_D(2);// in A
+I_D= I_D*10^3;// in mA
+disp(I_D,"The value of I_D in mA is : ")
+I_D= I_D*10^-3;// in A
+V_GSQ= V_G-I_D*R_D;// in V
+disp(V_GSQ,"The value of V_GSQ in volts is : ")
+V_DSQ= V_DD-I_D*(R_D+R_S);// in V
+disp(V_DSQ,"The value of V_DSQ in volts is : ")
diff --git a/2375/CH7/EX7.7/ex7_7.sce b/2375/CH7/EX7.7/ex7_7.sce new file mode 100755 index 000000000..84aa9b98e --- /dev/null +++ b/2375/CH7/EX7.7/ex7_7.sce @@ -0,0 +1,22 @@ +// Exa 7.7
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+V_D = 12;// in V
+V_GSQ = -2;// in V
+V_DD = 16;// in V
+R1 = 47;// in k ohm
+R1 = R1 * 10^3;// in ohm
+R2 = 91;// in k ohm
+R2 = R2 * 10^3;// in ohm
+V_G = (R1*V_DD)/(R1+R2);// in V
+R_D = 1.8;// in k ohm
+R_D = R_D * 10^3;// in ohm
+I_D = (V_DD-V_D)/R_D;// in A
+I_D = I_D * 10^3;// in mA
+// V_GS = V_G - (I_D*R_S);
+R_S = (V_G-V_GSQ)/(I_D*10^-3);// in ohm
+R_S = R_S * 10^-3;// in k ohm
+disp(R_S,"The value of R_S in k ohm is");
diff --git a/2375/CH7/EX7.8/ex7_8.sce b/2375/CH7/EX7.8/ex7_8.sce new file mode 100755 index 000000000..49a6922eb --- /dev/null +++ b/2375/CH7/EX7.8/ex7_8.sce @@ -0,0 +1,24 @@ +// Exa 7.8
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+I_D = 12*10^-3;// in A
+V_DS = 6;// in V
+V_P = 3;// in V
+R_SS= 1*10^3;// in ohm
+I_DSS = 20*10^-3;// in A
+V_GS= poly(0,'V_GS');
+V_GS= I_D-I_DSS*(1-V_GS/V_P)^2;
+V_GS= roots(V_GS);// in V
+V_GS= V_GS(1);// in V
+disp(V_GS,"The value of V_GS in volts is : ")
+// Applying KVL on it's input section, V_G= V_GS+I_D*R_SS+V_SS or
+// I_D*RSS+V_SS= V_G-V_GS (i)
+// V_DS+I_D*R_SS+V_SS= 0 (ii)
+// From eq (i) and (ii)
+V_G= V_GS-V_DS;// in V
+disp(V_G,"The value of V_G in volts is : ")
+V_SS= V_G-V_GS-I_D*R_SS;// in V
+disp(V_SS,"The value of V_SS in V is : ")
diff --git a/2375/CH7/EX7.9/ex7_9.sce b/2375/CH7/EX7.9/ex7_9.sce new file mode 100755 index 000000000..ece408e0d --- /dev/null +++ b/2375/CH7/EX7.9/ex7_9.sce @@ -0,0 +1,35 @@ +// Exa 7.9
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 8;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -4;// in V
+V_DD = 16;// in V
+R2 = 270;// in k ohm
+R2 = R2 * 10^3;// in ohm
+R1 = 2.1;// in Mohm
+R1 = R1 * 10^6;// in ohm
+R_S = 1.5;// in k ohm
+R_S = R_S * 10^3;// in ohm
+R_D = 2.4;// in k ohm
+R_D = R_D * 10^3;// in ohm
+V_G = (R2*V_DD)/(R1+R2);// in V
+//V_GS = V_G - (I_D*R_S);
+V_GS = V_G;// in V (at I_D=0 A)
+I_D = V_G/R_S;// in A (at V_GS=0 V)
+I_D = I_D * 10^3;// in mA
+I_DQ = 2.4;// in mA
+V_GSQ = -1.8;// in V
+V_D = V_DD - (I_DQ*10^-3*R_D);// in V
+V_S = I_DQ*10^-3*R_S;// in V
+V_DS = V_DD - (I_DQ*10^-3*(R_S+R_D));// in V
+V_DG = V_D-V_G;// in V
+disp(I_DQ,"The value of I_DQ in mA is");
+disp(V_GSQ,"The value of V_GSQ in V is");
+disp(V_D,"The value of V_D in V is");
+disp(V_S,"The value of V_S in V is");
+disp(V_DS,"The value of V_DS in V is");
+disp(V_DG,"The value of V_DG in V is");
diff --git a/2375/CH8/EX8.1/ex8_1.sce b/2375/CH8/EX8.1/ex8_1.sce new file mode 100755 index 000000000..8eea18910 --- /dev/null +++ b/2375/CH8/EX8.1/ex8_1.sce @@ -0,0 +1,25 @@ +// Exa 8.1
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_P = -4;// in V
+r_d = 40*10^3;// in ohm
+I_DSS = 10*10^-3;// in A
+V_GG = 1;// in V
+R_D = 1.8*10^3;// in ohm
+R_G = 1*10^6;// in ohm
+g_mo = 2*I_DSS/(abs(V_P));// in S
+V_GSQ = -1.5;// in V
+g_m = g_mo*(1-(V_GSQ/V_P));// in S
+Zi = R_G;// in ohm
+Zi= Zi*10^-6;// in M ohm
+disp(Zi,"The input impedance in M ohm is");
+Zo = (r_d*R_D)/(r_d+R_D);// in ohm
+Zo = R_D;// in ohm (as r_d>10*R_D)
+Zo= Zo*10^-3;// in k ohm
+disp(Zo,"The output impedance in k ohm is");
+//Av = Vo/Vi = -g_m*R_D;
+Av = -g_m*R_D;
+disp(Av,"The voltage gain is");
diff --git a/2375/CH8/EX8.2/ex8_2.sce b/2375/CH8/EX8.2/ex8_2.sce new file mode 100755 index 000000000..2a6e5acae --- /dev/null +++ b/2375/CH8/EX8.2/ex8_2.sce @@ -0,0 +1,35 @@ +// Exa 8.2
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+I_DSS = 6;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -6;// in V
+Y_DS = 40;// in µS
+R_D = 3.3;// in k ohm
+R_D = R_D * 10^3;// in ohm
+R_S = 1.1;// in k ohm
+R_S = R_S * 10^3;// in ohm
+R_G = 10;// in Mohm
+R_G =R_G * 10^6;// in ohm
+g_mo = (2*I_DSS)/(abs(V_P));// in S
+I_D= poly(0,'I_D');
+V_GS = -I_D*R_S;// in V
+I_D= I_D - I_DSS*((1 - (V_GS/V_P))^2);
+I_D= roots(I_D)
+I_D= I_D(2);// in A
+V_GSQ = -I_D*R_S;// in V
+g_m = g_mo*( 1-(V_GSQ/V_P) );// in S
+Zi = R_G;// in ohm
+Zi= Zi*10^-6;// in M ohm
+disp(Zi,"The value of Zi in M ohm is");
+r_d = 40;// in k ohm assumed
+r_d = r_d * 10^3;// in ohm
+Zo = (r_d*R_D)/(r_d+R_D);// in ohm
+Zo=R_D;// in ohm (as r_d > 10 *R_D)
+Zo= Zo*10^-3;// in k ohm
+disp(Zo,"The value of Zo in k ohm is");
+Av = abs(-g_m*R_D);
+disp(Av,"The value of Av is");
diff --git a/2375/CH8/EX8.3/ex8_3.sce b/2375/CH8/EX8.3/ex8_3.sce new file mode 100755 index 000000000..4f7a0c3ab --- /dev/null +++ b/2375/CH8/EX8.3/ex8_3.sce @@ -0,0 +1,28 @@ +// Exa 8.3
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_DD = 20;// inV
+I_DSS = 8;// in mA
+I_DSS = I_DSS * 10^-3;// in mA
+V_P = -6;// in V
+R_G = 1;// in Mohm
+R_G = R_G * 10^6;// in ohm
+R_S = 1;// in k ohm
+R_S = R_S * 10^3;// in ohm
+r_d = 50;// in k ohm
+r_d = r_d * 10^3;// in ohm
+V_GS = -2.6;// in V
+I_D = 2.6;// in mA
+I_D = I_D * 10^-3;// in A
+g_mo = (2*I_DSS)/(abs(V_P));// in S
+g_m = g_mo*(1 - (V_GS/V_P));// in S
+Zi = R_G;// in ohm
+Zi= Zi*10^-6;// in M ohm
+disp(Zi,"The value of Zi in M ohm is");
+Zo = R_S*1/g_m/(R_S+1/g_m);
+disp(Zo,"The value of Zo is");
+Av = g_m*R_S/(1 + (g_m*R_S));
+disp(Av,"The value of Av is");
diff --git a/2375/CH8/EX8.4/ex8_4.sce b/2375/CH8/EX8.4/ex8_4.sce new file mode 100755 index 000000000..5037cb4a5 --- /dev/null +++ b/2375/CH8/EX8.4/ex8_4.sce @@ -0,0 +1,31 @@ +// Exa 8.4
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_GSQ = -2.6;// in V
+I_DQ = 3.8*10^-3;// in A
+V_DD = 12;// in V
+R_D = 1.5*10^3;// in ohm
+R_S = 680;// in ohm
+I_DSS = 12*10^-3;// in A
+r_d = 20*10^3;// in ohm
+V_P = -6;// in V
+// (a) Transconductance
+g_mo = (2*I_DSS)/(abs(V_P));// in S
+g_m = g_mo*(1-(V_GSQ/V_P));// in mS
+g_m= g_m*10^3;// in mS
+disp(g_m,"The value of g_m in mS is");
+// (b) Input impedance
+g_m= g_m*10^-3;// in S
+Zi=R_S*((r_d+R_D)/(1+g_m*r_d))/(R_S+((r_d+R_D)/(1+g_m*r_d)))
+disp(Zi,"The value of Zi in ohm is");
+// (c) Output impedance
+Zo = (R_D*r_d)/(R_D+r_d);// in ohm
+Zo= Zo*10^-3;// in k ohm
+disp(Zo,"The value of Zo in k ohm is");
+// Voltage gain
+//Av = Vo/Vi = (R_D*(1 + (g_m*10^-3*r_d)))/(R_D+r_d);
+Av = (R_D*(1 + (g_m*r_d)))/(R_D+r_d);
+disp(Av,"The value of Av is");
diff --git a/2375/CH8/EX8.6/ex8_6.sce b/2375/CH8/EX8.6/ex8_6.sce new file mode 100755 index 000000000..bb5ca8402 --- /dev/null +++ b/2375/CH8/EX8.6/ex8_6.sce @@ -0,0 +1,25 @@ +// Exa 8.6
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_DD = 10;// in V
+R_D = 5.1;// in k ohm
+R_D = R_D * 10^3;// in ohm
+g_m = 2*10^-3;// in S
+r_d = 50;// in k ohm
+r_d = r_d * 10^3;// in ohm
+Vi = 0;// in V
+R_G = 1;// in Mohm
+R_G = R_G * 10^6;// in ohm
+// (i) Input impedance
+Zi = R_G;// in ohm
+Zi= Zi*10^-6;// in M ohm
+disp(Zi,"The input impedance in Mohm is");
+// (ii) Output impedance
+Zo = (r_d*R_D)/(r_d+R_D);// in ohm
+disp(Zo,"The output impedance in ohm is");
+// (iii) Voltage gain
+Av = -g_m*Zo;
+disp(Av,"The voltage gain is");
diff --git a/2375/CH8/EX8.7/ex8_7.sce b/2375/CH8/EX8.7/ex8_7.sce new file mode 100755 index 000000000..b9b070d1e --- /dev/null +++ b/2375/CH8/EX8.7/ex8_7.sce @@ -0,0 +1,33 @@ +// Exa 8.7
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+V_GSQ = -2;// in V
+I_DSS = 8;// in mA
+I_DSS = I_DSS * 10^-3;// in A
+V_P = -8;// in V
+YoS = 20;// in µS
+YoS = YoS * 10^-6;// in S
+R_D = 5.1;// in k ohm
+R_D = R_D * 10^3;// in ohm
+R_G = 1;// in Mohm
+R_G = R_G * 10^6;// in ohm
+g_mo = (2*I_DSS)/(abs(V_P));// in S
+g_m = g_mo * (1 - (V_GSQ/V_P));// in S
+g_m= g_m*10^3;// in mS
+disp(g_m,"The value of g_m in mS is");
+g_m= g_m*10^-3;// in S
+r_d = 1/YoS;// in ohm
+r_d= r_d*10^-3;// in k ohm
+disp(r_d,"The value of r_d in k ohm is");
+r_d= r_d*10^3;// in ohm
+Zi = R_G;// in ohm
+Zi= Zi*10^-6;// in M ohm
+disp(Zi,"The value of Zi in M ohm is");
+V_GS = 0;// in V
+Zo = (r_d*R_D)/(r_d+R_D);// in ohm
+disp(Zo,"The value of Zo in ohm is");
+Av = -g_m*Zo;
+disp(Av,"The value of Av is");
diff --git a/2375/CH8/EX8.8/ex8_8.sce b/2375/CH8/EX8.8/ex8_8.sce new file mode 100755 index 000000000..c20f736a8 --- /dev/null +++ b/2375/CH8/EX8.8/ex8_8.sce @@ -0,0 +1,24 @@ +// Exa 8.8
+clc;
+clear;
+close;
+format('v',6)
+// Given data
+gm= 6000*10^-6;// in S
+R1 = 2;// in M ohm
+R1 = R1 * 10^6;// in ohm
+R2 = 500;// in k ohm
+R2 = R2 * 10^3;// in ohm
+R_S= 4*10^3;// in ohm
+R_L= 33*10^3;// in ohm
+r_d= 50*10^3;// in ohm
+Zi = (R1*R2)/(R1+R2);// in ohm
+Zi= Zi*10^-3;// in k ohm
+disp(Zi,"The input impedance in k ohm is");
+Zo = (1/gm*R_S)/(1/gm+R_S);// in ohm
+disp(Zo,"The output impedance in ohm is");
+// Let Req= r_d || R_S || R_L;// in ohm
+Req= r_d*R_S*R_L/(r_d*R_S+R_S*R_L+R_L*r_d);// in ohm
+Av=gm*(r_d*R_S*R_L/(r_d*R_S+R_S*R_L+r_d*R_L))/(1+gm*(r_d*R_S*R_L/(r_d*R_S+R_S*R_L+r_d*R_L)))
+disp(Av,"The voltage gain is : ")
+
diff --git a/2375/CH8/EX8.9/ex8_9.sce b/2375/CH8/EX8.9/ex8_9.sce new file mode 100755 index 000000000..6bafe0169 --- /dev/null +++ b/2375/CH8/EX8.9/ex8_9.sce @@ -0,0 +1,20 @@ +// Exa 8.9
+clc;
+clear;
+close;
+format('v',7)
+// Given data
+R1 = 3.3* 10^-3;// in ohm
+R2 = 1.2* 10^6;// in ohm
+R_D = 3.9* 10^3;// in ohm
+R_S = 3.9* 10^3;// in ohm
+R_L = 82* 10^3;// in ohm
+g_m = 6000* 10^-6;// in S
+r_d = 70* 10^3;// in ohm
+Zi = (R_S*( (r_d+R_D)/(1+(g_m*r_d)) ))/(R_S+( (r_d+R_D)/(1+(g_m*r_d)) ));// in ohm
+disp(Zi,"The input impedance in ohm is");
+Zo = (r_d*R_D)/(r_d+R_D);// in ohm
+disp(Zo,"The output impedance in ohm is");
+R = (R_D*R_L)/(R_D+R_L);// in ohm
+Av = (R*(1+(g_m*r_d)))/( r_d+R );
+disp(Av,"The voltage gain is");
diff --git a/2375/CH9/EX9.2/ex9_2.sce b/2375/CH9/EX9.2/ex9_2.sce new file mode 100755 index 000000000..2fea709e3 --- /dev/null +++ b/2375/CH9/EX9.2/ex9_2.sce @@ -0,0 +1,46 @@ +// Exa 9.2
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+bita= 100;
+V_B1= 5;// in V
+V_E1= 4.3;// in V
+R_E1= 4.3*10^3;// in ohm
+V_E2= 3.6;// in V
+R_E2= 3.6*10^3;// in ohm
+R_C=4*10^3;// in ohm
+R_L= 4*10^3;// in ohm
+R1= 100*10^3;// in ohm
+R2= 100*10^3;// in ohm
+gm= 40*10^-3;// in A/V
+re= 25;// in W
+r_pie= 2.5*10^3;// in W
+f_r= 400*10^6;// in Hz
+C_miu= 2*10^-12;// in F
+omega_T= 2*%pi*f_r;// in radian
+Rin= 38*10^3;// in ohm
+R_S= 4*10^3;// in ohm
+R_pie1= 80;//in ohm
+Ve1ByVb1= 0.98;// in V/V
+I_E1= V_E1/R_E1;// in A
+I_E2= V_E2/R_E2;// in A
+// We know, C_pie + C_miu= gm/ometa_T or
+C_Pie= gm/omega_T-C_miu;// in F
+Vb1ByVs= Rin/(Rin+R_S);// in V/V
+//Ve1ByVb1= R_E1*r_pie2/(R_E1*r_pie2)/(R_E1*r_pie2/(R_E1*r_pie2)+r_e1);
+VeByVb1= R_E1*r_pie/(R_E1*r_pie)/(R_E1*r_pie/(R_E1*r_pie)+R_E1);// in V/V
+// The gain of the common-emitter amplifier Q2
+VoByVe1= -gm*R_C*R_L/(R_C+R_L);// in V/V
+// The overall gain
+VoByVs= Vb1ByVs*Ve1ByVb1*VoByVe1;// in V/V
+RdeshS= R1*R2*R_S/(R1*R2+R2*R_S+R_S*R1);
+RdeshE1= R_E1*r_pie/(R_E1+r_pie);// in k ohm
+R_miu1= R_S*Rin/(R_S+Rin)*10^-3;// in k ohm
+R_pi1= (r_pie*(RdeshS+RdeshE1)/(1+gm*RdeshE1))/r_pie+(RdeshS+RdeshE1)/(1+gm*RdeshE1);
+R_T=round( RdeshE1*(r_pie+RdeshS)/(bita+1)/(RdeshE1+(r_pie+RdeshS)/(bita+1)));// in ohm
+disp(VoByVs,"The overall voltage gain in V/V is : ")
+disp(R_miu1,"The value of R_miu1 in ohm is : ")
+disp(R_pie1,"The value of R_pie1 in ohm is : ")
+disp(R_T,"The value of R_T in ohm is : ")
diff --git a/2375/CH9/EX9.3/ex9_3.sce b/2375/CH9/EX9.3/ex9_3.sce new file mode 100755 index 000000000..03c2b9700 --- /dev/null +++ b/2375/CH9/EX9.3/ex9_3.sce @@ -0,0 +1,12 @@ +// Exa 9.3
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+wH= '0.9*wp1';
+wp2='wp1*k';
+//wH= 1/sqrt(1/wp1^1+1/(k*wp1)^2)
+k= sqrt(0.9^2/(1-0.9^2));
+disp(k,"The value of k is : ")
+
diff --git a/2375/CH9/EX9.4/ex9_4.sce b/2375/CH9/EX9.4/ex9_4.sce new file mode 100755 index 000000000..7aaca61cf --- /dev/null +++ b/2375/CH9/EX9.4/ex9_4.sce @@ -0,0 +1,18 @@ +// Exa 9.4
+clc;
+clear;
+close;
+// Given data
+Rs = 1;// in k ohm
+Rs = Rs * 10^3;// in ohm
+omega_z = 10;// in rad/sec
+omega_p = 100;// in rad/sec
+//omega_z = 1/(Rs*Cs);
+Cs = 1/(Rs*omega_z);// in F
+disp(Cs*10^6,"The value of Cs in µF is");
+//omega_p = (g_m + (1/Rs))/Cs;
+g_m = omega_p*Cs-1/Rs;// in A/V
+g_m= g_m*10^3;// in mA/V
+disp(g_m,"The value of g_m in mA/V is")
+
+// Note: The unit of g_m in the book is wrong. It will be in mA/V not in nA/V.
|