From b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b Mon Sep 17 00:00:00 2001 From: priyanka Date: Wed, 24 Jun 2015 15:03:17 +0530 Subject: initial commit / add all books --- 3507/CH12/EX12.1/Ex12_1.sce | 26 ++++++++++++++++++++++++++ 3507/CH12/EX12.10/Ex12_10.sce | 17 +++++++++++++++++ 3507/CH12/EX12.11/Ex12_11.sce | 27 +++++++++++++++++++++++++++ 3507/CH12/EX12.12/Ex12_12.sce | 29 +++++++++++++++++++++++++++++ 3507/CH12/EX12.13/Ex12_13.sce | 28 ++++++++++++++++++++++++++++ 3507/CH12/EX12.14/Ex12_14.sce | 23 +++++++++++++++++++++++ 3507/CH12/EX12.15/Ex12_15.sce | 29 +++++++++++++++++++++++++++++ 3507/CH12/EX12.16/Ex12_16.sce | 27 +++++++++++++++++++++++++++ 3507/CH12/EX12.17/Ex12_17.sce | 25 +++++++++++++++++++++++++ 3507/CH12/EX12.18/Ex12_18.sce | 19 +++++++++++++++++++ 3507/CH12/EX12.19/EX12_19.sce | 8 ++++++++ 3507/CH12/EX12.2/Ex12_2.sce | 15 +++++++++++++++ 3507/CH12/EX12.20/Ex12_20.sce | 30 ++++++++++++++++++++++++++++++ 3507/CH12/EX12.21/Ex12_21.sce | 24 ++++++++++++++++++++++++ 3507/CH12/EX12.22/Ex12_22.sce | 22 ++++++++++++++++++++++ 3507/CH12/EX12.23/Ex12_23.sce | 32 ++++++++++++++++++++++++++++++++ 3507/CH12/EX12.24/Ex12_24.sce | 16 ++++++++++++++++ 3507/CH12/EX12.25/Ex12_25.sce | 5 +++++ 3507/CH12/EX12.26/Ex12_26.sce | 13 +++++++++++++ 3507/CH12/EX12.3/Ex12_3.sce | 27 +++++++++++++++++++++++++++ 3507/CH12/EX12.4/Ex12_4.sce | 28 ++++++++++++++++++++++++++++ 3507/CH12/EX12.5/Ex12_5.sce | 23 +++++++++++++++++++++++ 3507/CH12/EX12.6/Ex12_6.sce | 22 ++++++++++++++++++++++ 3507/CH12/EX12.7/Ex12_7.sce | 20 ++++++++++++++++++++ 3507/CH12/EX12.8/Ex12_8.sce | 19 +++++++++++++++++++ 3507/CH12/EX12.9/Ex12_9.sce | 31 +++++++++++++++++++++++++++++++ 3507/CH12/EX19.12/Ex19_12.sce | 11 +++++++++++ 27 files changed, 596 insertions(+) create mode 100644 3507/CH12/EX12.1/Ex12_1.sce create mode 100644 3507/CH12/EX12.10/Ex12_10.sce create mode 100644 3507/CH12/EX12.11/Ex12_11.sce create mode 100644 3507/CH12/EX12.12/Ex12_12.sce create mode 100644 3507/CH12/EX12.13/Ex12_13.sce create mode 100644 3507/CH12/EX12.14/Ex12_14.sce create mode 100644 3507/CH12/EX12.15/Ex12_15.sce create mode 100644 3507/CH12/EX12.16/Ex12_16.sce create mode 100644 3507/CH12/EX12.17/Ex12_17.sce create mode 100644 3507/CH12/EX12.18/Ex12_18.sce create mode 100644 3507/CH12/EX12.19/EX12_19.sce create mode 100644 3507/CH12/EX12.2/Ex12_2.sce create mode 100644 3507/CH12/EX12.20/Ex12_20.sce create mode 100644 3507/CH12/EX12.21/Ex12_21.sce create mode 100644 3507/CH12/EX12.22/Ex12_22.sce create mode 100644 3507/CH12/EX12.23/Ex12_23.sce create mode 100644 3507/CH12/EX12.24/Ex12_24.sce create mode 100644 3507/CH12/EX12.25/Ex12_25.sce create mode 100644 3507/CH12/EX12.26/Ex12_26.sce create mode 100644 3507/CH12/EX12.3/Ex12_3.sce create mode 100644 3507/CH12/EX12.4/Ex12_4.sce create mode 100644 3507/CH12/EX12.5/Ex12_5.sce create mode 100644 3507/CH12/EX12.6/Ex12_6.sce create mode 100644 3507/CH12/EX12.7/Ex12_7.sce create mode 100644 3507/CH12/EX12.8/Ex12_8.sce create mode 100644 3507/CH12/EX12.9/Ex12_9.sce create mode 100644 3507/CH12/EX19.12/Ex19_12.sce (limited to '3507/CH12') diff --git a/3507/CH12/EX12.1/Ex12_1.sce b/3507/CH12/EX12.1/Ex12_1.sce new file mode 100644 index 000000000..78ed01951 --- /dev/null +++ b/3507/CH12/EX12.1/Ex12_1.sce @@ -0,0 +1,26 @@ +// chapter 12 +// example 12.1 +// page 235 + +V_CC=6 // V +R_C=2.5 // kilo ohm + +// for faithful amplification V_CE should not be less than V_CC for Si transistor so +V_max=V_CC-1 +I_max=V_max/R_C + +// As negative and positive half cyces of input are equal, change in collector current will be equal and opposite so +I_min=I_max/2 + +printf("Maximum allowable collector current = %.3f mA \n",I_max) +printf("Minimum zero signal collector current = %.3f mA \n",I_min) + +// the circuit diagram is constructed on xcos and its screenshot has been taken. +// the waveform given can not be obtained in xcos unless we assume necessary values as data is insufficient for plotting graph in scilab. +// so waveform is constructed as below + +clf() +x=linspace(1,5*%pi,100) +[t]=sin(x)+1 +plot(x,[t]) +xtitle("max and min allowable collector currents","t","i_c (mA)") diff --git a/3507/CH12/EX12.10/Ex12_10.sce b/3507/CH12/EX12.10/Ex12_10.sce new file mode 100644 index 000000000..7ec23c585 --- /dev/null +++ b/3507/CH12/EX12.10/Ex12_10.sce @@ -0,0 +1,17 @@ +//chapter12 +//example12.10 +//page246 + +V_BE=0.7 // V +gain_beta=100 +I_C=1 // mA +V_CE=2 // V + +I_B=I_C/gain_beta + +// since V_CE=V_BE+V_CB we get +V_CB=V_CE-V_BE + +R_B=V_CB/I_B + +printf("base resistance=%.3f kilo ohm \n",R_B) diff --git a/3507/CH12/EX12.11/Ex12_11.sce b/3507/CH12/EX12.11/Ex12_11.sce new file mode 100644 index 000000000..d8099712f --- /dev/null +++ b/3507/CH12/EX12.11/Ex12_11.sce @@ -0,0 +1,27 @@ +//chapter12 +//example12.11 +//page248 + +Vcc=15 // V +Re=2 // kilo ohm +Rc=1 // kilo ohm +gain_beta=100 +Vbe=0.7 // V +R1=10 // kilo ohm +R2=5 // kilo ohm + +// when Ic=0, Vce=Vcc i.e. Vce=6 and when Vce=0, Ic=Vcc/(Rc+Re) i.e. Ic=15/(1+2) +// so equation of load line becomes Ic=-(1/3)*Vce+5 + +clf() +x=linspace(0,15,5) +y=-(1/3)*x+5 +plot2d(x,y,style=3,rect=[0,0,16,6]) +xtitle("dc load line","Vce(volts)","Ic(mA)") + +V2=Vcc*R2/(R1+R2) // voltage across R2 i.e. 5 kilo ohm +Ie=(V2-Vbe)/Re +Ic=Ie +Vce=Vcc-Ic*(Rc+Re) + +printf("the operating point is %.3f V and %.3f mA \n",Vce,Ic) diff --git a/3507/CH12/EX12.12/Ex12_12.sce b/3507/CH12/EX12.12/Ex12_12.sce new file mode 100644 index 000000000..75c4b3b09 --- /dev/null +++ b/3507/CH12/EX12.12/Ex12_12.sce @@ -0,0 +1,29 @@ +//chapter12 +//example12.12 +//page249 + +Vcc=15 // V +Re=2 // kilo ohm +Rc=1 // kilo ohm +gain_beta=100 +Vbe=0.7 // V +R1=10 // kilo ohm +R2=5 // kilo ohm + +Eo=Vcc*R2/(R1+R2) +Ro=R1*R2/(R1+R2) + +printf("thevenin voltage = %.3f V \n",Eo) +printf("thevenin resistance = %.3f kilo ohm \n",Ro) + +// here Eo=Ib*Ro+Vbe+Ie*Re +// now considering Ie=gain_beta*Ib, and making Ib as subject we get +// Ib=(Eo-Vbe)/(Ro+gain_beta*Re) +// Ic=gain_beta*Ib=gain_beta*(Eo-Vbe)/(Ro+gain_beta*Re) +// dividing numerator and denominator by gain_beta we get +// Ic=(Eo-Vbe)/(Re+Ro/gain_beta) +// Ro/gain_beta is negligible compared to Re so +Ic=(Eo-Vbe)/Re +Vce=Vcc-Ic*(Rc+Re) + +printf("the operating point is %.3f V and %.3f mA \n",Vce,Ic) diff --git a/3507/CH12/EX12.13/Ex12_13.sce b/3507/CH12/EX12.13/Ex12_13.sce new file mode 100644 index 000000000..c8d7bae0f --- /dev/null +++ b/3507/CH12/EX12.13/Ex12_13.sce @@ -0,0 +1,28 @@ +//chapter12 +//example12.13 +//page250 + +R1=50 // kilo ohm +R2=10 // kilo ohm +Re=1 // kilo ohm +Vcc=12 // V +Vbe1=0.1 // V +Vbe2=0.3 // V + +V2=Vcc*R2/(R1+R2) // voltage across R2 + +// for Vbe=0.1 V +Ic1=(V2-Vbe1)/Re + +// for Vbe=0.3 V +Ic2=(V2-Vbe2)/Re + +printf("for V_BE=0.1 V, collector current = %.3f mA \n",Ic1) +printf("for V_BE=0.3 V, collector current = %.3f mA \n \n",Ic2) + +Vbe_change=100*(Vbe2-Vbe1)/Vbe1 +Ic_change=-100*(Ic2-Ic1)/Ic1 // negative sign since Ic decreases +printf("comment : if V_BE changes by %.5f percent, \ncollector current changes by %.3f percent \n",Vbe_change,Ic_change) +printf("so collector current is independent of transistor parameter variations \n") + +// the change in V_BE is 200 percent not 300 percent.It is mistake in textbook diff --git a/3507/CH12/EX12.14/Ex12_14.sce b/3507/CH12/EX12.14/Ex12_14.sce new file mode 100644 index 000000000..df5ab4cff --- /dev/null +++ b/3507/CH12/EX12.14/Ex12_14.sce @@ -0,0 +1,23 @@ +//chapter12 +//example12.14 +//page251 + +Vcc=20 // V +Re=5 // kilo ohm +Rc=1 // kilo ohm +Vbe=0 // considering it as negligible +R1=10 // kilo ohm +R2=10 // kilo ohm + +V2=Vcc*R2/(R1+R2) + +// since V2=Vbe+Ie*Re so +Ie=(V2-Vbe)/Re +Ic=Ie + +Vce=Vcc-Ic*(Rc+Re) +Vc=Vcc-Ic*Rc + +printf("emitter current = %.3f mA \n",Ie) +printf("collector emitter voltage = %.3f V \n",Vce) +printf("collector potential = %.3f V \n",Vc) diff --git a/3507/CH12/EX12.15/Ex12_15.sce b/3507/CH12/EX12.15/Ex12_15.sce new file mode 100644 index 000000000..a998d17bd --- /dev/null +++ b/3507/CH12/EX12.15/Ex12_15.sce @@ -0,0 +1,29 @@ +//chapter12 +//example12.15 +//page252 + +R_C=2.2 // kilo ohm +V_CC=9 // V +gain_beta=50 +V_BE=0.3 // V +I_C=2 // mA +V_CE=3 // V + +I_B=I_C/gain_beta +I1=10*I_B + +// I1=V_CC/(R1+R2) so let Rt=R1+R2 thus we get +Rt=V_CC/I1 + +// by Kirchoff voltage law to collector side we get +// V_CC=I_C*R_C+V_CE+I_E*R_E and also we have I_C=I_E so +// V_CC=I_C*R_C+V_CE+I_C*R_E so making R_E as subject we get +R_E=((V_CC-V_CE)/I_C)-R_C // in kilo ohm + +V2=V_BE+I_C*R_E // since V_E=I_C*R_E +R2=V2/I1 +R1=Rt-R2 + +printf("emitter resistance = %.3f ohm \n",R_E*1000) +printf("R1 = %3f kilo ohm \n",R1) +printf("R2 = %3f kilo ohm \n",R2) diff --git a/3507/CH12/EX12.16/Ex12_16.sce b/3507/CH12/EX12.16/Ex12_16.sce new file mode 100644 index 000000000..fc7a9eb5a --- /dev/null +++ b/3507/CH12/EX12.16/Ex12_16.sce @@ -0,0 +1,27 @@ +//chapter12 +//example12.16 +//page252 + +alpha=0.985 +V_BE=0.3 // V +V_CC=16 // V +V_CE=6 // V +I_C=2 // mA +R_E=2 // kilo ohm +R2=20 // kilo ohm + +gain_beta=alpha/(1-alpha) +I_B=I_C/gain_beta + +V_E=I_C*R_E +V2=V_BE+V_E +V1=V_CC-V2 + +I1=V2/R2 +R1=V1/I1 + +V_RC=V_CC-V_CE-V_E +R_C=V_RC/I_C + +printf("R1 = %.3f kilo ohm \n",R1) +printf("collector resistance = %.3f kilo ohm \n",R_C) diff --git a/3507/CH12/EX12.17/Ex12_17.sce b/3507/CH12/EX12.17/Ex12_17.sce new file mode 100644 index 000000000..81fb8181e --- /dev/null +++ b/3507/CH12/EX12.17/Ex12_17.sce @@ -0,0 +1,25 @@ +//chapter12 +//example12.17 +//page253 + +Vcc=15 // V +Re=2 // kilo ohm +Rc=1 // kilo ohm +gain_beta=100 +Vbe=0.7 // V +R1=10 // kilo ohm +R2=5 // kilo ohm + +Eo=Vcc*R2/(R1+R2) +Ro=R1*R2/(R1+R2) + +printf("thevenin voltage = %.3f V \n",Eo) +printf("thevenin resistance = %.3f kilo ohm \n",Ro) + +// here Eo=Ib*Ro+Vbe+Ie*Re +// now considering Ie=gain_beta*Ib, we can replace Ib=Ie/gain_beta +// Eo=(Ie/gain_beta)*Ro+Vbe+Ie*Re +// making Ie as subject we get +Ie=(Eo-Vbe)/(Re+Ro/gain_beta) + +printf("emitter current = %.3f mA \n",Ie) diff --git a/3507/CH12/EX12.18/Ex12_18.sce b/3507/CH12/EX12.18/Ex12_18.sce new file mode 100644 index 000000000..c08002fc1 --- /dev/null +++ b/3507/CH12/EX12.18/Ex12_18.sce @@ -0,0 +1,19 @@ +//chapter12 +//example12.18 +//page254 + +V_CC=10 // V +V_BE=0.2 // V +I_E=2 // mA +I_B=50d-3 // mA +R_E=1 // kilo ohm +R2=10 // kilo ohm + +V2=V_BE+I_E*R_E +I2=V2/R2 + +I1=I2+I_B +V1=V_CC-V2 +R1=V1/I1 + +printf("R1 = %.3f kilo ohm \n",R1) diff --git a/3507/CH12/EX12.19/EX12_19.sce b/3507/CH12/EX12.19/EX12_19.sce new file mode 100644 index 000000000..e93146d97 --- /dev/null +++ b/3507/CH12/EX12.19/EX12_19.sce @@ -0,0 +1,8 @@ +//chapter12 +//example12.19 +//page255 + +printf(" i) if R2 is shorted, base will be grounded. It will be \n left without forward bias and transistor \n will be cutoff so output is zero.\n \n") +printf(" ii) if R2 is open,forward bias will be very high. The \n collector current will be very high and collector \n emitter voltage will be very low. \n \n") +printf(" iii) if R1 is shorted, transistor will be in saturation \n due to excessive forward bias. The base will be at \n Vcc and emitter will be slightly below Vcc.\n \n") +printf(" iv) if R1 is open, transistor will be without forward bias.\n Hence transistor will be cutoff i.e. output will be zero. \n") diff --git a/3507/CH12/EX12.2/Ex12_2.sce b/3507/CH12/EX12.2/Ex12_2.sce new file mode 100644 index 000000000..4527c8cfd --- /dev/null +++ b/3507/CH12/EX12.2/Ex12_2.sce @@ -0,0 +1,15 @@ +//chapter12 +//example12.2 +//page236 + +Vcc=13 // V +V_knee=1 // V +Rc=4 // kilo ohm +gain_beta=100 + +V_Rc=Vcc-V_knee +Ic=V_Rc/Rc +Ib=Ic/gain_beta +Vs=Ic/5 // since Ic/Vs = 5 mA/V given + +printf("maximum input signal voltage = %.3f V or %.3f mV \n",Vs,Vs*1000) diff --git a/3507/CH12/EX12.20/Ex12_20.sce b/3507/CH12/EX12.20/Ex12_20.sce new file mode 100644 index 000000000..400a639a1 --- /dev/null +++ b/3507/CH12/EX12.20/Ex12_20.sce @@ -0,0 +1,30 @@ +//chapter12 +//example12.20 +//page256 + +Vcc=8 // V +Rb=360 // kilo ohm +Rc=2 // kilo ohm +gain_beta=100 +Vbe=0.7 // V + +// when Ic=0, Vce=Vcc i.e. Vce=8 and when Vce=0, Ic=Vcc/Rc i.e. Ic=8/2 +// so equation of load line becomes Ic=-0.5*Vce+4 + +clf() +x=linspace(0,8,5) +y=-0.5*x+4 +plot2d(x,y,style=3,rect=[0,0,9,5]) +xtitle("dc load line","Vce(volts)","Ic(mA)") + +// since Vcc=Ib*Rb+Vbe we get +Ib=(Vcc-Vbe)/Rb +Ic=Ib*gain_beta +Vce=Vcc-Ic*Rc + +printf("the operating point is %.3f V and %.3f mA \n",Vce,Ic) +if VceVcc/2-0.1 // check if V_CE is nearly half of V_CC + printf("circuit is mid-point biased \n") +else + printf("circuit is not mid-point biased. \n") +end diff --git a/3507/CH12/EX12.21/Ex12_21.sce b/3507/CH12/EX12.21/Ex12_21.sce new file mode 100644 index 000000000..e2afa4d54 --- /dev/null +++ b/3507/CH12/EX12.21/Ex12_21.sce @@ -0,0 +1,24 @@ +//chapter12 +//example12.21 +//page257 + +V_CC=10 // V +R1=12 // kilo ohm +R2=2.7 // kilo ohm +V_BE=0.7 // V +R_E=180d-3 // kilo ohm +R_C=620d-3 // kilo ohm + +V2=V_CC*R2/(R1+R2) +I_E=(V2-V_BE)/R_E +I_C=I_E +V_CE=V_CC-I_C*(R_C+R_E) + +printf("the operating point is %.3f V and %.3f mA \n",V_CE,I_C) +if V_CEV_CC/2-0.1 // check if V_CE is nearly half of V_CC + printf("circuit is mid-point biased \n") +else + printf("circuit is not mid-point biased. \n") +end + +// the accurate answer for collector current is 6.315 mA but in book it is given as 6.33 mA diff --git a/3507/CH12/EX12.22/Ex12_22.sce b/3507/CH12/EX12.22/Ex12_22.sce new file mode 100644 index 000000000..5df65f147 --- /dev/null +++ b/3507/CH12/EX12.22/Ex12_22.sce @@ -0,0 +1,22 @@ +//chapter12 +//example12.22 +//page257 + +V_CC=10 // V +R1=1.5 // kilo ohm +R2=0.68 // kilo ohm +R_E=0.24 // kilo ohm +V_BE=0.7 // V +beta_min=100 +beta_max=400 + +V2=V_CC*R2/(R1+R2) +I_E=(V2-V_BE)/R_E +I_C=I_E + +beta_avg=(beta_min*beta_max)^0.5 +I_B=I_E/(beta_avg+1) + +printf("base current = %f micro ampere \n",I_B*1000) + +// the accurate answer for base current is 50.151 micro ampere but in book it is given as 49.75 micro ampere diff --git a/3507/CH12/EX12.23/Ex12_23.sce b/3507/CH12/EX12.23/Ex12_23.sce new file mode 100644 index 000000000..451224a5e --- /dev/null +++ b/3507/CH12/EX12.23/Ex12_23.sce @@ -0,0 +1,32 @@ +//chapter12 +//example12.23 +//page258 + +gain_beta=40 +I_C1=2 // mA +t1=25 // degrees +t2=55 // degrees +I_CBO1=5d-3 // mA + +// for I_CBO=5 micro ampere at 25 degrees +I_CEO1=(1+gain_beta)*I_CBO1 + +I_CBO2=I_CBO1*2^((t2-t1)/10) // since it doubles every 10 degrees. So for t2-t1, it becomes 2^((t2-t1)/10) times. +I_CEO2=(1+gain_beta)*I_CBO2 +I_C2=I_CEO2+I_C1 +I_C_change=100*(I_C2-I_C1)/I_C1 + +// for I_CBO=0.1 micro ampere at 25 degrees +t1_dash=25 // degrees +t2_dash=55 // degrees +I_CBO1_dash=0.1d-3 // mA +I_C1_dash=2 // mA + +I_CBO2_dash=I_CBO1_dash*2^((t2-t1)/10) // since it doubles every 10 degrees. So for t2-t1, it becomes 2^((t2-t1)/10) times. +I_CEO2_dash=(1+gain_beta)*I_CBO2_dash +I_C2_dash=I_CEO2_dash+I_C1_dash +I_C_change_dash=100*(I_C2_dash-I_C1_dash)/I_C1_dash + +printf("collector cutoff current = %.3f mA \n \n",I_CEO1) +printf("percent change in zero signal current given that \nI_CBO=5 micro ampere at 25 degree is = %.3f percent \n \n",I_C_change) +printf("percent change in zero signal current given that \nI_CBO=0.01 micro ampere at 25 degree is = %.3f percent \n",I_C_change_dash) diff --git a/3507/CH12/EX12.24/Ex12_24.sce b/3507/CH12/EX12.24/Ex12_24.sce new file mode 100644 index 000000000..a52928277 --- /dev/null +++ b/3507/CH12/EX12.24/Ex12_24.sce @@ -0,0 +1,16 @@ +//chapter12 +//example12.24 +//page259 + +alpha=0.99 +I_E=1 // mA +t1=27 // degrees +t2=57 // degrees +I_CBO1=0.02d-3 // mA + +I_CBO2=I_CBO1*2^((t2-t1)/6) // since it doubles every 6 degrees. So for t2-t1, it becomes 2^((t2-t1)/6) times. + +I_C=alpha*I_E+I_CBO2 +I_B=I_E-I_C + +printf("base current = %.1f micro ampere",I_B*1000) diff --git a/3507/CH12/EX12.25/Ex12_25.sce b/3507/CH12/EX12.25/Ex12_25.sce new file mode 100644 index 000000000..3e903c684 --- /dev/null +++ b/3507/CH12/EX12.25/Ex12_25.sce @@ -0,0 +1,5 @@ +//chapter12 +//example12.25 +//page261 + +printf("since base voltage is zero, it means that there is no path \nfor current in the base circuit. So the transistor will be off i.e. I_C=0,I_E=0. \nSo V_C=10V and V_E=0.\nSo obvious fault is R1 is open.\n") diff --git a/3507/CH12/EX12.26/Ex12_26.sce b/3507/CH12/EX12.26/Ex12_26.sce new file mode 100644 index 000000000..94b923c6b --- /dev/null +++ b/3507/CH12/EX12.26/Ex12_26.sce @@ -0,0 +1,13 @@ +//chapter12 +//example12.26 +//page261 + +R1=18 // kilo ohm +R2=4.7 // kilo ohm +Re=1 // kilo ohm +Vcc=10 // V + +V_B=Vcc*R2/(R1+R2) + +printf("voltage at base = %.3f V \n",V_B) +printf("The fact that V_C=10V and V_E is nearly equal to V_B reveals \nthat I_C=0 and I_E=0.So I_B drops to zero.So obvious fault is R_E is open. \n") diff --git a/3507/CH12/EX12.3/Ex12_3.sce b/3507/CH12/EX12.3/Ex12_3.sce new file mode 100644 index 000000000..e66d126c1 --- /dev/null +++ b/3507/CH12/EX12.3/Ex12_3.sce @@ -0,0 +1,27 @@ +//chapter12 +//example12.3 +//page240 + +Vbb=2 // V +Vcc=9 // V +Rc=2 // kilo ohm +Rb=100 // kilo ohm +gain_beta=50 + +// by Kirchoff voltage law on base side, we get Ib*Rb+Vbe=Vbb so +Ib=Vbb/Rb // Vbe is negligible +Ic=gain_beta*Ib + +// by Kirchoff voltage law on collector side, we get Ic*Rc+Vce=Vcc so +Vce=Vcc-Ic*Rc + +// now for Rb=50 kilo ohm +Rb2=50 // kilo ohm + +// since Rb is halved, Ib is doubled so +Ib2=2*Ib +Ic2=Ib2*gain_beta +Vce2=Vcc-Ic2*Rc + +printf("for Rb = 100 kilo ohm, collector current = %.3f mA \nand collector emitter voltage = %.3f V \n \n",Ic,Vce) +printf("for Rb = 50 kilo ohm, collector current = %.3f mA \nand collector emitter voltage = %.3f V \n",Ic2,Vce2) diff --git a/3507/CH12/EX12.4/Ex12_4.sce b/3507/CH12/EX12.4/Ex12_4.sce new file mode 100644 index 000000000..6874d8acd --- /dev/null +++ b/3507/CH12/EX12.4/Ex12_4.sce @@ -0,0 +1,28 @@ +//chapter12 +//example12.4 +//page241 + +Vcc=6 // V +Rb=530 // kilo ohm +Rc=2 // kilo ohm +gain_beta=100 +Vbe=0.7 // V + +// when Ic=0, Vce=Vcc i.e. Vce=6 and when Vce=0, Ic=Vcc/Rc i.e. Ic=6/2 +// so equation of load line becomes Ic=-0.5*Vce+3 + +x=linspace(0,6,5) +y=-0.5*x+3 +plot2d(x,y,style=3,rect=[0,0,7,4]) +xtitle("dc load line","Vce(volts)","Ic(mA)") + +// since Vcc=Ib*Rb+Vbe we get +Ib=(Vcc-Vbe)/Rb +Ic=Ib*gain_beta +Vce=Vcc-Ic*Rc + +printf("the operating point is %.3f V and %.3f mA \n",Vce,Ic) + +stability_factor=gain_beta+1 + +printf("stability factor=%.1f \n",stability_factor) diff --git a/3507/CH12/EX12.5/Ex12_5.sce b/3507/CH12/EX12.5/Ex12_5.sce new file mode 100644 index 000000000..8d8b2f445 --- /dev/null +++ b/3507/CH12/EX12.5/Ex12_5.sce @@ -0,0 +1,23 @@ +//chapter12 +//example12.5 +//page242 + +Vcc=12 // V +gain_beta=100 +Vbe=0.3 // V +Ic=1 // mA + +// since gain_beta=Ic/Ib +Ib=Ic/gain_beta + +// since Vcc=Ib*Rb+Vbe we get +Rb=(Vcc-Vbe)/Ib + +gain_beta2=50 + +// since Vcc=Ib*Rb+Vbe we get +Ib2=(Vcc-Vbe)/Rb +Ic2=Ib2*gain_beta2 + +printf("for beta = 100, base resistor = %.3f kilo ohm \n",Rb) +printf("for beta = 50, zero signal collector current for same Rb is = %.3f mA \n",Ic2) diff --git a/3507/CH12/EX12.6/Ex12_6.sce b/3507/CH12/EX12.6/Ex12_6.sce new file mode 100644 index 000000000..cacf6eac8 --- /dev/null +++ b/3507/CH12/EX12.6/Ex12_6.sce @@ -0,0 +1,22 @@ +//chapter12 +//example12.6 +//page242 + +Vcc=10 // V +R_B=1d3 // kilo ohm +R_E=1 // kilo ohm +Vbe=0 // since it is negligible +gain_beta=100 + +// by Kirchoff voltage law to base side we get Vcc=I_B*R_B+Vbe+I_E*R_E +// but I_E=I_B+I_C and I_C=gain_beta*I_B +// so we get Vcc=I_B*R_B+Vbe+R_E*I_B*(1+gain_beta) +// making I_B as subject we get + +I_B=(Vcc-Vbe)/(R_B+R_E*(1+gain_beta)) // in ampere +I_C=gain_beta*I_B // in ampere +I_E=I_C+I_B // in ampere + +printf("base current = %.4f mA \n",I_B) +printf("collector current = %.4f mA \n",I_C) +printf("emitter current = %.4f mA \n",I_E) diff --git a/3507/CH12/EX12.7/Ex12_7.sce b/3507/CH12/EX12.7/Ex12_7.sce new file mode 100644 index 000000000..22eace9cd --- /dev/null +++ b/3507/CH12/EX12.7/Ex12_7.sce @@ -0,0 +1,20 @@ +//chapter12 +//example12.7 +//page243 + +V_CC=15 // V +gain_beta=100 +V_BE=0.6 // V +V_CE=8 // V +I_C=2 // mA + +// here V_CC=V_CE+I_C*R_C so we get +R_C=(V_CC-V_CE)/I_C + +I_B=I_C/gain_beta + +// also V_CC=I_B*R_B+V_BE so we get +R_B=(V_CC-V_BE)/I_B + +printf("collector resistance = %.3f kilo ohm \n",R_C) +printf("base resistance = %.3f kilo ohm \n",R_B) diff --git a/3507/CH12/EX12.8/Ex12_8.sce b/3507/CH12/EX12.8/Ex12_8.sce new file mode 100644 index 000000000..bd17c8763 --- /dev/null +++ b/3507/CH12/EX12.8/Ex12_8.sce @@ -0,0 +1,19 @@ +//chapter12 +//example12.8 +//page245 + +V_CC=20 // V +R_B=100 // kilo ohm +R_C=1 // kilo ohm +V_BE=0.7 // V + +// we know that R_B=(V_CC-V_BE-gain_beta*R_C*I_B)/I_B so we get +I_B=(V_CC-V_BE)/(R_B+gain_beta*R_C) + +I_C=gain_beta*I_B + +V_CE=V_CC-I_C*R_C + +printf("operating point is %.3f V, %.3f mA \n",V_CE,I_C) + +// the accurate answer is 10.35V,9.65mA but in book it is given as 10.4V,9.6mA diff --git a/3507/CH12/EX12.9/Ex12_9.sce b/3507/CH12/EX12.9/Ex12_9.sce new file mode 100644 index 000000000..b49db335a --- /dev/null +++ b/3507/CH12/EX12.9/Ex12_9.sce @@ -0,0 +1,31 @@ +//chapter12 +//example12.9 +//page245 + +V_CC=12 // V +gain_beta1=100 +gain_beta2=50 +V_BE=0.3 // V +V_CE=8 // V +I_C=1 // mA + +// here V_CC=V_CE+I_C*R_C so we get +R_C=(V_CC-V_CE)/I_C + +I_B=I_C/gain_beta1 + +// we know that R_B=(V_CC-V_BE-gain_beta1*R_C*I_B)/I_B so +R_B=(V_CC-V_BE-gain_beta1*R_C*I_B)/I_B + + +// for gain_beta=50 i.e. gain_beta2 + +// we know that R_B=(V_CC-V_BE-gain_beta2*R_C*I_B)/I_B so we get +I_B2=(V_CC-V_BE)/(R_B+gain_beta2*R_C) + +I_C2=gain_beta2*I_B2 + +V_CE2=V_CC-I_C2*R_C + +printf("for beta=100,required base resistance = %.3f kilo ohm \n",R_B) +printf("for beta=50,new operating point is %.3f V, %.3f mA \n",V_CE2,I_C2) diff --git a/3507/CH12/EX19.12/Ex19_12.sce b/3507/CH12/EX19.12/Ex19_12.sce new file mode 100644 index 000000000..7d1341b7a --- /dev/null +++ b/3507/CH12/EX19.12/Ex19_12.sce @@ -0,0 +1,11 @@ +//chapter19 +//example19.12 +//page424 + +It=8.93 // A +Ic=8 // A + +// we know that (It/Ic)^2=1+m^2/2 so making m as subject we get +m=(2*((It/Ic)^2-1))^0.5 + +printf("modulation factor = %.3f or %.3f percent \n",m,m*100) -- cgit