diff options
Diffstat (limited to '135/CH10')
-rwxr-xr-x | 135/CH10/EX10.1/10_1_1.JPG | bin | 0 -> 21698 bytes | |||
-rwxr-xr-x | 135/CH10/EX10.1/10_1_2.JPG | bin | 0 -> 25565 bytes | |||
-rwxr-xr-x | 135/CH10/EX10.1/EX1.sce | 43 | ||||
-rwxr-xr-x | 135/CH10/EX10.12/EX12.sce | 48 | ||||
-rwxr-xr-x | 135/CH10/EX10.13/EX13.sce | 28 | ||||
-rwxr-xr-x | 135/CH10/EX10.15/EX15.sce | 25 | ||||
-rwxr-xr-x | 135/CH10/EX10.16/EX16.sce | 21 | ||||
-rwxr-xr-x | 135/CH10/EX10.17/EX17.sce | 14 | ||||
-rwxr-xr-x | 135/CH10/EX10.18/EX18.sce | 47 | ||||
-rwxr-xr-x | 135/CH10/EX10.19/EX19.sce | 30 | ||||
-rwxr-xr-x | 135/CH10/EX10.2/10_2_1.JPG | bin | 0 -> 22158 bytes | |||
-rwxr-xr-x | 135/CH10/EX10.2/10_2_2.JPG | bin | 0 -> 25118 bytes | |||
-rwxr-xr-x | 135/CH10/EX10.2/EX2.sce | 68 | ||||
-rwxr-xr-x | 135/CH10/EX10.20/EX20.sce | 46 | ||||
-rwxr-xr-x | 135/CH10/EX10.21/EX21.sce | 55 | ||||
-rwxr-xr-x | 135/CH10/EX10.23/EX23.sce | 46 | ||||
-rwxr-xr-x | 135/CH10/EX10.3/EX3.sce | 12 | ||||
-rwxr-xr-x | 135/CH10/EX10.4/EX4.sce | 10 | ||||
-rwxr-xr-x | 135/CH10/EX10.5/EX5.sce | 14 | ||||
-rwxr-xr-x | 135/CH10/EX10.7/EX7.sce | 32 |
20 files changed, 539 insertions, 0 deletions
diff --git a/135/CH10/EX10.1/10_1_1.JPG b/135/CH10/EX10.1/10_1_1.JPG Binary files differnew file mode 100755 index 000000000..534a954ac --- /dev/null +++ b/135/CH10/EX10.1/10_1_1.JPG diff --git a/135/CH10/EX10.1/10_1_2.JPG b/135/CH10/EX10.1/10_1_2.JPG Binary files differnew file mode 100755 index 000000000..66c93d74e --- /dev/null +++ b/135/CH10/EX10.1/10_1_2.JPG diff --git a/135/CH10/EX10.1/EX1.sce b/135/CH10/EX10.1/EX1.sce new file mode 100755 index 000000000..8c59bb156 --- /dev/null +++ b/135/CH10/EX10.1/EX1.sce @@ -0,0 +1,43 @@ +// Example 10.1: Asymptotic magnitude and phase response curves
+clc, clear
+w=[0:70];
+// Asymptotic magnitude response curve
+for i=1:length(w)
+ a(i)=32;
+ if w(i)<10 then
+ b(i)=0;
+ c(i)=0;
+ elseif w(i)<50
+ b(i)=14*(w(i)-10)/40;
+ c(i)=0;
+ else
+ b(i)=20*log10(w(i)/10);
+ c(i)=-20*log10(w(i)/50);
+ end
+end
+A=a+b+c;
+plot2d(w,A,rect=[0,0,70,50]);
+xtitle("Asymptotic magnitude response curve","ω(rad/sec)","20 log |A(jω)| in dB");
+// Asymptotic phase response curve
+scf(1);
+w=[1:600];
+for i=1:length(w)
+ if w(i)<1 then
+ theta1(i)=0;
+ elseif w(i)<5
+ theta1(i)=31.45*(w(i)-1)/4;
+ theta2(i)=0;
+ elseif w(i)<100
+ theta1(i)=45*log10(w(i)/10);
+ theta2(i)=-45*log10(w(i)/50);
+ elseif w(i)<500
+ theta1(i)=90;
+ theta2(i)=-58.55-31.45*(w(i)-100)/400;
+ else
+ theta1(i)=90;
+ theta2(i)=-90;
+ end
+end
+theta=theta1+theta2;
+plot(w,theta);
+xtitle("Asymptotic phase curve response","ω(rad/sec)","θ(ω)")
\ No newline at end of file diff --git a/135/CH10/EX10.12/EX12.sce b/135/CH10/EX10.12/EX12.sce new file mode 100755 index 000000000..aff0e8a0d --- /dev/null +++ b/135/CH10/EX10.12/EX12.sce @@ -0,0 +1,48 @@ +// Example 10.12: (a) Approximate value of fH
+// (b) Approximate location of the closest non-dominant pole
+clc, clear
+RS=600; // in ohms
+RC1=1.5e3; // in ohms
+RC2=600; // in ohms
+r_pi1=1.2e3; // in ohms
+gm1=0.1; // in mho
+C1=24.5e-12; // in farads
+C_pi1=C1; // in farads
+C2=0.5e-12; // in farads
+C_mu1=C2; // in farads
+r_pi2=2.4e3; // in ohms
+gm2=0.05; // in mho
+C3=19.5e-12; // in farads
+C_pi2=C3; // in farads
+C4=0.5e-12; // in farads
+C_mu2=C4; // in farads
+
+function[c]=parallel(a,b)
+ c=a*b/(a+b);
+endfunction
+
+disp("Part (a)");
+R11_0=parallel(RS,r_pi1); // in ohms
+R33_0=parallel(RC1,r_pi2); // in ohms
+R22_0=R11_0*(1+gm1*R33_0)+R33_0; // in ohms
+R44_0=R33_0*(1+gm2*RC2)+RC2; // in ohms
+a1=R11_0*C1+R22_0*C2+R33_0*C3+R44_0*C4; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+disp(fH,"fH (MHz) =");
+
+disp("Part (b)");
+R33_1=R33_0; // in ohms
+R44_1=R44_0; // in ohms
+// From Fig. 10.61(a)
+R22_1=R33_0; // in ohms
+// From Fig. 10.61(b)
+R44_3=RC2; // in ohms
+// From Fig. 10.61(c)
+R33_2=parallel(parallel(r_pi2,RC2),parallel(1/gm1,R11_0));
+R44_2=R33_2*(1+gm2*RC2)+RC2; // in ohms
+a2=R11_0*C1*R22_1*C2+R11_0*C1*R33_1*C3+R11_0*C1*R44_1*C4+R22_0*C2*R33_2*C3+R22_0*C2*R44_2*C4+R33_0*C3*R44_3*C4; // in seconds
+p2=a1/a2;
+f2=p2/(2*%pi); // in hertz
+f2=f2*1e-6; // in Mega-hertz
+disp(f2,"Approximate location of the closest non-dominant pole (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.13/EX13.sce b/135/CH10/EX10.13/EX13.sce new file mode 100755 index 000000000..dc461cad3 --- /dev/null +++ b/135/CH10/EX10.13/EX13.sce @@ -0,0 +1,28 @@ +// Example 10.13: (a) fH for cascode amplifier
+// (b) fH for common -emitter stage
+clc, clear
+RC1=1.5e3; // in ohms
+RC2=RC1;
+RS=300; // in ohms
+r_pi=2e3; // in ohms
+gm=0.05; // in mho
+bta=100;
+C_pi=19.5e-12; // in farads
+C_mu=0.5e-12; // in farads
+
+disp("Part (a)");
+R_pi1=RS*r_pi/(RS+r_pi); // in ohma
+Ri2=r_pi/(1+bta); // in ohms
+RL1=RC1*Ri2/(RC1+Ri2); // in ohms
+a11=R_pi1*C_pi+(R_pi1*(1+gm*RL1)+RL1)*C_mu; // in seconds
+a12=C_pi/gm+C_mu*RC2; // in seconds
+a1=a11+a12; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+disp(fH,"fH for cascode amplifier (MHz) =");
+
+disp("Part (b)");
+a1=R_pi1*C_pi+(R_pi1*(1+gm*RC1)+RC1)*C_mu; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+disp(fH,"fH for common-emitter stage (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.15/EX15.sce b/135/CH10/EX10.15/EX15.sce new file mode 100755 index 000000000..5c3caf0fb --- /dev/null +++ b/135/CH10/EX10.15/EX15.sce @@ -0,0 +1,25 @@ +// Example 10.15: (a) CB and CL
+// (b) Zero introduced by CE
+clc, clear
+RE=1.5e3; // in ohms
+Rs=600; // in ohms
+bta=100;
+r_pi=1e3; // in ohms
+fL=50; // in hertz
+
+disp("Part (a)");
+fLB=fL/2; // in hertz
+fLE=fLB; // in hertz
+CB=1/(2*%pi*fLB*(Rs+r_pi)); // in farads
+CB=CB*1e6; // in micro-farads
+function[c]=parallel(a,b)
+ c=a*b/(a+b);
+endfunction
+CE=1/(2*%pi*fLE*parallel(RE,(Rs+r_pi)/(1+bta))); // in farads
+CE=CE*1e6; // in micro-farads
+disp(CB,"CB (µF) =");
+disp(CE,"CE (µF) =");
+
+disp("Part (b)");
+fE=1e6/(2*%pi*RE*CE); // in hertz
+disp(fE, "fE (Hz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.16/EX16.sce b/135/CH10/EX10.16/EX16.sce new file mode 100755 index 000000000..2c17709f5 --- /dev/null +++ b/135/CH10/EX10.16/EX16.sce @@ -0,0 +1,21 @@ +// Example 10.16: AVo, fH
+clc, clear
+RC=1.5e3; // in ohms
+Rs=0.6e3; // in ohms
+// From Fig. 10.69
+C_pi=19.5e-12; // in farads
+r_pi=1e3; // in ohms
+C_mu=0.5e-12; // in farads
+gm=0.1; // in mho
+bta=r_pi*gm;
+AVo=-bta*RC/(Rs+r_pi);
+R_pi=Rs*r_pi/(Rs+r_pi); // in ohms
+R_mu=R_pi+(1+gm*R_pi)*RC; // in ohms
+a1=R_pi*C_pi+R_mu*C_mu; // in seconds
+a2=R_pi*C_pi*R_mu*C_mu; // in seconds
+p2_pi=a1^2/a2; // p2/p1
+disp("Since p2/pi >> 8, therefore dominant-pole approximation holds good.");
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+disp(AVo,"AVo =");
+disp(fH,"fH (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.17/EX17.sce b/135/CH10/EX10.17/EX17.sce new file mode 100755 index 000000000..a2fa5b236 --- /dev/null +++ b/135/CH10/EX10.17/EX17.sce @@ -0,0 +1,14 @@ +// Example 10.17: (b) a1, a2
+clc, clear
+RS=0.3e3; // in ohms
+r_pi=2e3; // in ohms
+RC=0.6; // in ohms
+gm=0.1e-3; // in mho
+C_pi=19.5e-12; // in farads
+C_mu=0.5e-12; // in farads
+R_pi=RS*r_pi/(RS+r_pi); // in ohms
+a1=C_pi*R_pi+C_mu*(R_pi+RC+gm*R_pi*RC); // in seconds
+a1=a1*1e9; // in nano-seconds
+a2=C_pi*R_pi*C_mu*RC; // in seconds square
+disp(a1,"a1 (ns) =");
+disp(a2,"a2 (sec square) =");
\ No newline at end of file diff --git a/135/CH10/EX10.18/EX18.sce b/135/CH10/EX10.18/EX18.sce new file mode 100755 index 000000000..739a142c0 --- /dev/null +++ b/135/CH10/EX10.18/EX18.sce @@ -0,0 +1,47 @@ +// Example 10.18: Upper 3 dB frequency
+clc, clear
+r_pi1=1.4e3; // in ohms
+r_pi2=2.8e3; // in ohms
+gm1=0.15; // in mho
+gm2=0.05; // in mho
+C_pi1=20e-12; // in farads
+C_pi2=25e-12; // in farads
+C_mu1=0.5e-12; // in farads
+C_mu2=C_mu1 // in farads
+bta1=gm1*r_pi1;
+bta2=gm2*r_pi2;
+// From Fig. 10.71
+RS=600; // in ohms
+RC1=1.5e3; // in ohms
+RL2=600; // in ohms
+// From ac model in Fig. 10.72
+R_pi1=RS*r_pi1/(RS+r_pi1); // in ohms
+RL1=RC1*r_pi2/(RC1+r_pi2); // in ohms
+R_mu1=R_pi1+RL1+gm1*RL1*R_pi1; // in ohms
+R_pi2=RL1; // in ohms
+R_mu2=R_pi2+RL2+gm2*RL2*R_pi2; // in ohms
+a11=C_pi1*R_pi1+C_mu1*R_mu1; // in seconds
+a12=C_pi2*R_pi2+C_mu2*R_mu2; // in seconds
+a1=a11+a12; // in seconds
+fH1=1/(2*%pi*a11); // in hertz
+fH2=1/(2*%pi*a12); // in hertz
+fH=1/(2*%pi*a1); // in hertz
+fH1=fH1*1e-6; // in Mega-hertz
+fH2=fH2*1e-6; // in Mega-hertz
+fH=fH*1e-6; // in Mega-hertz
+AV1=-bta1*RC1/(RS+r_pi1); // Gain of first stage
+AV2=-bta2*RL2/(RC1+r_pi2); // Gain of second stage
+AV=AV1*AV2; // Gain of cascade
+disp(fH,"Upper 3 dB frequency (MHz) =");
+disp("Bandwidth:");
+disp(fH1,"Stage 1 only (MHz) =");
+disp(fH2,"Stage 2 only (MHz) =");
+disp(fH,"Cascade (MHz) =");
+disp("Gain:");
+disp(abs(AV1),"Stage 1 only =");
+disp(abs(AV2),"Stage 2 only =");
+disp(AV,"Cascade =");
+disp("Gain-bandwidth product:");
+disp(fH1*abs(AV1)*1e6,"Stage 1 only (MHz) =");
+disp(fH2*abs(AV2)*1e6,"Stage 2 only (MHz) =");
+disp(fH*AV*1e6,"Cascade (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.19/EX19.sce b/135/CH10/EX10.19/EX19.sce new file mode 100755 index 000000000..2e0cb2896 --- /dev/null +++ b/135/CH10/EX10.19/EX19.sce @@ -0,0 +1,30 @@ +// Example 10.19: Approximate value of fH
+clc, clear
+btaf=150;
+VA=120; // in volts
+fT=400e6; // in hertz
+C_mu=0.5e-12; // in farads
+ICQ=100e-6; // in amperes
+RS=50e3; // in ohms
+RC=250e3; // in ohms
+VT=25e-3; // Voltage equivalent to temperatue at room temperature in volts
+gm=ICQ/VT; // in mho
+r_pi=btaf/gm; // in ohms
+ro=VA/ICQ; // in ohms
+C_pi=btaf/(2*%pi*fT*r_pi)-C_mu; // in farads
+function[c]=parallel(a,b)
+ c=a*b/(a+b);
+endfunction
+// From AC model in Fig. 10.73
+Ri=r_pi+(1+btaf)*parallel(ro,r_pi); // in ohms
+R_mu1=parallel(RS,Ri); // in ohms
+// From Fig. 10.75(b)
+R=(50+36.36)/(1+145); // in ohms
+R_pi1=parallel(r_pi,R); // in ohms
+R_pi2=parallel(r_pi,parallel((RS+r_pi)/(1+btaf),ro)); // in ohms
+RL=parallel(ro,RC); // in ohms
+R_mu2=R_pi2*(1+gm*RL)+RL; // in ohms
+a1=R_mu1*C_mu+R_pi1*C_pi+R_pi2*C_pi+R_mu2*C_mu; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-3; // in kilo-hertz
+disp(fH,"Approximate value of fH (kHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.2/10_2_1.JPG b/135/CH10/EX10.2/10_2_1.JPG Binary files differnew file mode 100755 index 000000000..db24ac420 --- /dev/null +++ b/135/CH10/EX10.2/10_2_1.JPG diff --git a/135/CH10/EX10.2/10_2_2.JPG b/135/CH10/EX10.2/10_2_2.JPG Binary files differnew file mode 100755 index 000000000..263b03867 --- /dev/null +++ b/135/CH10/EX10.2/10_2_2.JPG diff --git a/135/CH10/EX10.2/EX2.sce b/135/CH10/EX10.2/EX2.sce new file mode 100755 index 000000000..528f67230 --- /dev/null +++ b/135/CH10/EX10.2/EX2.sce @@ -0,0 +1,68 @@ +// Example 10.2: Bode's plots
+clc, clear
+w=[0:0.1:8];
+// Asymptotic magnitude response curve
+for i=1:length(w)
+ a(i)=40;
+ if w(i)<1.3 then
+ b(i)=20*w(i);
+ c(i)=0;
+ d(i)=0;
+ e(i)=0;
+ elseif w(i)<3
+ b(i)=20*w(i);
+ c(i)=20*(w(i)-1.3);
+ d(i)=0;
+ e(i)=0;
+ elseif w(i)<6
+ b(i)=20*w(i);
+ c(i)=20*(w(i)-1.3);
+ d(i)=-20*(w(i)-3);
+ e(i)=0;
+ else
+ b(i)=20*w(i);
+ c(i)=20*(w(i)-1.3);
+ d(i)=-20*(w(i)-3);
+ e(i)=-20*(w(i)-6);
+ end
+end
+A=a+b+c+d+e;
+plot2d(w,A,rect=[0,0,7,200]);
+xtitle("Amplitude (Gain) |A(jω)| in dB","log ω","|A(jω)| dB");
+// Asymptotic phase response curve
+scf(1);
+for i=1:length(w)
+ thetab=90;
+ if w(i)<0.3 then
+ thetac(i)=0;
+ thetad(i)=0;
+ thetae(i)=0;
+ elseif w(i)<2
+ thetac(i)=45*(w(i)-0.3);
+ thetad(i)=0;
+ thetae(i)=0;
+ elseif w(i)<2.3
+ thetac(i)=45*(w(i)-0.3);
+ thetad(i)=-45*(w(i)-2);
+ thetae(i)=0;
+ elseif w(i)<4
+ thetac(i)=90;
+ thetad(i)=-45*(w(i)-2);
+ thetae(i)=0;
+ elseif w(i)<5
+ thetac(i)=90;
+ thetad(i)=-90;
+ thetae(i)=0;
+ elseif w(i)<7
+ thetac(i)=90;
+ thetad(i)=-90;
+ thetae(i)=-45*(w(i)-5);
+ else
+ thetac(i)=90;
+ thetad(i)=-90;
+ thetae(i)=-90;
+ end
+end
+theta=thetab+thetac+thetad+thetae;
+plot(w,theta);
+xtitle("Phase Φ(ω) in degrees","log10 ω","Φ(ω)")
\ No newline at end of file diff --git a/135/CH10/EX10.20/EX20.sce b/135/CH10/EX10.20/EX20.sce new file mode 100755 index 000000000..b756e9bf2 --- /dev/null +++ b/135/CH10/EX10.20/EX20.sce @@ -0,0 +1,46 @@ +// Example 10.20: (a) Low 3 dB frequency
+// (b) High 3 dB frequency
+clc, clear
+// From Fig. 10.76
+C_gd1=2e-12; // in farads
+C_gs1=5e-12; // in farads
+gm1=10e-3; // in mho
+C1=1e-6; // in farads
+C_gd2=2e-12; // in farads
+C_gs2=5e-12; // in farads
+gm2=10e-3; // in mho
+C2=10e-6; // in farads
+// From low-frequency equivalent cicuit in Fig. 10.77
+RS=0.2e3; // in ohms
+RG1=50e3; // in ohms
+RS1=0.25e3; // in ohms
+RS2=0.15e3; // in ohms
+RD2=5e3; // in ohms
+R=10e3; // in ohms
+C3=5.3e-6; // in farads
+
+function[c]=parallel(a,b)
+ c=a*b/(a+b);
+endfunction
+
+disp("Part (a)");
+// From low-frequency equivalent cicuit in Fig. 10.77
+tau1=C1*(RS+RG1); // in seconds
+R_22=RD2+R; // in ohms
+tau2=C2*R_22; // in seconds
+R_33=parallel(RS2,1/gm2); // in ohms
+tau3=C3*R_33; // in ohms
+fL=(1/tau1+1/tau2+1/tau3)/(2*%pi); // in hertz
+disp(fL,"Low 3 dB frequency (Hz) =");
+
+disp("Part (b)");
+// From high frequency equivalent cicuit in Fig. 10.78
+R_gd1=parallel(RS,RG1); // in ohms
+// From Fig. 10.79
+R_gs1=(R_gd1+RS1)/(1+gm1*RS1); // in ohms
+R_gs2=parallel(RS1,1/gm2); // in ohms
+R_gd2=R_gs2+parallel(RD2,R)+R_gs2*parallel(RD2,R)*gm2; // in ohms
+a1=C_gd1*R_gd1+C_gs1*R_gs1+C_gs2*R_gs2+C_gd2*R_gd2; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+disp(fH,"High 3 dB frequency (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.21/EX21.sce b/135/CH10/EX10.21/EX21.sce new file mode 100755 index 000000000..5a093b5a5 --- /dev/null +++ b/135/CH10/EX10.21/EX21.sce @@ -0,0 +1,55 @@ +// Example 10.21: (a) AVo, Approximate value of fH
+// (b) Frequency of the nearest non-dominant pole
+clc, clear
+gm=1e-3; // in mho
+Rd=40e3; // in ohms
+Cgs=5e-12; // in farads
+Cgd=1e-12; // in farads
+Cds=1e-12; // in farads
+
+function[c]=parallel(a,b)
+ c=a*b/(a+b);
+endfunction
+
+disp("Part (a)");
+RS=5e3; // in ohms
+RD1=40e3; // in ohms
+RD2=10e3; // in ohms
+// From AC model of cascade amplifier in Fig. 10.80
+Rds1=40e3; // in ohms
+Rds2=40e3; // in ohms
+R11_0=RS; // in ohms
+RL1=parallel(Rds1,RD1); // in ohms
+R22_0=RS+RL1+gm*RS*RL1; // in ohms
+R33_0=RL1; // in ohms
+RL2=parallel(Rds2,RD2); // in ohms
+R44_0=RL1+RL2+gm*RL1*RL2; // in ohms
+R55_0=RL2; // in ohms
+C1=Cgs; // in farads
+C2=Cgd; // in farads
+C3=Cds+Cgs; // in farads
+C4=Cds; // in farads
+C5=Cds; // in farads
+a1=C1*R11_0+C2*R22_0+C3*R33_0+C4*R44_0+C5*R55_0; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+AVo=gm*RL1*gm*RL2;
+disp(AVo,"AVo =");
+disp(fH,"Approximate value of fH (MHz) =");
+
+disp("Part (b)");
+R22_1=RL1; // in ohms
+R33_1=RL1; // in ohms
+R44_1=R44_0; // in ohms
+R55_1=RL2; // in ohms
+R33_2=parallel(RL1,parallel(1/gm,RS)); // in ohms
+R44_2=R33_2+RL2+gm*R33_2*RL2; // in ohms
+R55_2=R55_0; // in ohms
+R44_3=RL2; // in ohms
+R55_3=RL2; // in ohms
+R55_4=parallel(RL1,parallel(1/gm,RL2)); // in ohms
+a2=R11_0*C1*(R22_1*C2+R33_1*C3+R44_1*C4+R55_1*C5)+R22_0*C2*(R33_2*C3+R44_2*C4+R55_2*C5)+R33_0*C3*(R44_3*C4+R55_3*C5)+R44_0*C4*R55_4*C5; // in seconds
+p2=a1/a2;
+f=p2/(2*%pi); // in hertz
+f=f*1e-6; // in Mega-hertz
+disp(f,"Frequency of the nearest non-dominant pole (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.23/EX23.sce b/135/CH10/EX10.23/EX23.sce new file mode 100755 index 000000000..98d2aa972 --- /dev/null +++ b/135/CH10/EX10.23/EX23.sce @@ -0,0 +1,46 @@ +// Example 10.23: Value of fH for the cascade
+clc, clear
+bta=100;
+r_pi1=0.5e3; // in ohms
+r_pi2=0.5e3; // in ohms
+r_pi3=1e3; // in ohms
+fT=200e6; // in hertz
+C_mu=1e-12; // in farads
+// From Fig. 10.85
+RS=2e3; // in ohms
+RE1=5e3; // in ohms
+RC2=2e3; // in ohms
+RC3=1e3; // in ohms
+RE3=100; // in ohms
+
+function[c]=parallel(a,b)
+ c=a*b/(a+b);
+endfunction
+
+// From Fig. 10.86
+Ro1=parallel(RE1,(RS+r_pi1)/(1+bta)); // in ohms
+gm2=bta/r_pi2; // in mho
+gm3=bta/r_pi3; // in mho
+C_pi2=bta/(2*%pi*fT*r_pi2)-C_mu; // in farads
+C_pi3=bta/(2*%pi*fT*r_pi3)-C_mu; // in farads
+
+// From Fig. 10.87
+C1=C_pi2; // in farads
+C2=C_mu; // in farads
+C3=C_pi3; // in farads
+C4=C_mu; // in farads
+R11_0=parallel(Ro1,r_pi1); // in ohms
+RL1=parallel(RC2,r_pi3+(1+bta)*RE3); // in ohms
+R22_0=R11_0+RL1*(1+gm2*R11_0); // in ohms
+
+// From Fig. 10.88
+R_dash=2.1e3/(1+10); // in ohms
+R33_0=parallel(RC2,R_dash); // in ohms
+
+// From Fig. 10.89
+R44_0=(3+2*98/13.1)*1e3; // in ohms
+
+a1=R11_0*C1+R22_0*C2+R33_0*C3+R44_0*C4; // in seconds
+fH=1/(2*%pi*a1); // in hertz
+fH=fH*1e-6; // in Mega-hertz
+disp(fH,"Value of fH for the cascade (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.3/EX3.sce b/135/CH10/EX10.3/EX3.sce new file mode 100755 index 000000000..22e9c6014 --- /dev/null +++ b/135/CH10/EX10.3/EX3.sce @@ -0,0 +1,12 @@ +// Example 10.3: CS, Zero frequency
+clc, clear
+gm=1e-3; // in mho
+fL=10; // in hertz
+// From Fig. 10.10
+RS=6e3; // in ohms
+I=RS/(1+RS*gm); // Impedance seen by CS in ohms
+CS=1/(2*%pi*fL*I); // in farads
+CS=CS*1e6; // in micro-farads
+disp(CS,"CS (µF) =");
+disp("Here at f = 0 Hz, CS has infinite reactance.");
+disp("Therefore, zero frequency fzero = 0 Hz here, i.e. the voltage transfer function is zero at DC.");
\ No newline at end of file diff --git a/135/CH10/EX10.4/EX4.sce b/135/CH10/EX10.4/EX4.sce new file mode 100755 index 000000000..5e1f825db --- /dev/null +++ b/135/CH10/EX10.4/EX4.sce @@ -0,0 +1,10 @@ +// Example 10.4: fT, fb
+clc, clear
+b_o=160;
+f=50; // in Mega-hertz
+b_jw=8;
+wb=sqrt((2*%pi*f)^2*b_jw^2/(b_o^2-b_jw^2)); // in Mega-rad/sec
+fb=wb/(2*%pi); // in Mega-hertz
+fT=fb*b_o; // in Mega-hertz
+disp(fT,"fT (MHz) =");
+disp(fb,"fb (MHz) =");
\ No newline at end of file diff --git a/135/CH10/EX10.5/EX5.sce b/135/CH10/EX10.5/EX5.sce new file mode 100755 index 000000000..ae8f47dca --- /dev/null +++ b/135/CH10/EX10.5/EX5.sce @@ -0,0 +1,14 @@ +// Example 10.5: Cπ
+clc, clear
+IC=1e-3; // in amperes
+b_o=120;
+b_jw=10;
+f=25e6; // in hertz
+C_mu=1e-12; // in farads
+VT=25e-3; // Voltage equivalent to temperatue at room temperature in volts
+wb=sqrt((2*%pi*f)^2*b_jw^2/(b_o^2-b_jw^2)); // in rad/sec
+wT=wb*b_o; // in hertz
+gm=IC/VT; // in mho
+C_pi=gm/wT-C_mu; // in farads
+C_pi=C_pi*1e12; // in pico-farads
+disp(C_pi,"Cπ (pF) =");
\ No newline at end of file diff --git a/135/CH10/EX10.7/EX7.sce b/135/CH10/EX10.7/EX7.sce new file mode 100755 index 000000000..da9728d66 --- /dev/null +++ b/135/CH10/EX10.7/EX7.sce @@ -0,0 +1,32 @@ +// Example 10.7: (a) Midband gain, Upper half-power frequency
+// (b) Zi
+clc, clear
+ICQ=1e-3; // in amperes
+RS=300; // in ohms
+RC=1.2e3; // in ohms
+bta=125;
+fT=300e6; // in hertz
+C_mu=0.5e-12; // in farads
+VT=25e-3; // Voltage equivalent to temperatue at room temperature in volts
+
+disp("Part (a)");
+gm=ICQ/VT; // in mho
+r_pi=bta/gm; // in ohms
+// To find C_pi
+C_pi=gm/(2*%pi*fT)-C_mu; // in farads
+AVo=-bta*RC/(RS+r_pi); // Midband gain
+disp(AVo,"Midband gain =");
+R_pi0=RS*r_pi/(RS+r_pi);
+a1=R_pi0*C_pi+(R_pi0+RC*(1+gm*R_pi0))*C_mu; // in seconds
+a2=R_pi0*RC*C_pi*C_mu; // in seconds
+p1=1/a1; // in rad/sec
+p2=a1/a2; // in rad/sec
+disp(p2/p1,"p2/p1 =");
+disp("Since p2/p1 >> 8, therefore dominant-pole approximation holds good.");
+wH=p1*1e-6; // in M rad/sec
+disp(wH,"Upper half-power frequency (M rad/sec) =");
+
+disp("Part (b)");
+CM=C_pi+C_mu*(1+gm*RC); // in farads
+Zi=r_pi/(1+%i*wH*1e6*CM*r_pi); // in ohms
+disp(Zi,"Zi (Ω) =");
\ No newline at end of file |