summaryrefslogtreecommitdiff
path: root/3630/CH12
diff options
context:
space:
mode:
Diffstat (limited to '3630/CH12')
-rw-r--r--3630/CH12/EX12.1/Ex12_1.sce10
-rw-r--r--3630/CH12/EX12.10/Ex12_10.sce9
-rw-r--r--3630/CH12/EX12.11/Ex12_11.sce10
-rw-r--r--3630/CH12/EX12.12/Ex12_12.sce18
-rw-r--r--3630/CH12/EX12.13/Ex12_13.sce12
-rw-r--r--3630/CH12/EX12.14/Ex12_14.sce12
-rw-r--r--3630/CH12/EX12.15/Ex12_15.sce11
-rw-r--r--3630/CH12/EX12.16/Ex12_16.sce28
-rw-r--r--3630/CH12/EX12.17/Ex12_17.sce6
-rw-r--r--3630/CH12/EX12.2/Ex12_2.pngbin0 -> 11744 bytes
-rw-r--r--3630/CH12/EX12.2/Ex12_2.sce15
-rw-r--r--3630/CH12/EX12.3/Ex12_3.pngbin0 -> 22052 bytes
-rw-r--r--3630/CH12/EX12.3/Ex12_3.sce12
-rw-r--r--3630/CH12/EX12.4/Ex12_4.sce12
-rw-r--r--3630/CH12/EX12.7/Ex12_7.sce17
-rw-r--r--3630/CH12/EX12.8/Ex12_8.pngbin0 -> 22816 bytes
-rw-r--r--3630/CH12/EX12.8/Ex12_8.sce27
-rw-r--r--3630/CH12/EX12.9/Ex12_9.sce16
18 files changed, 215 insertions, 0 deletions
diff --git a/3630/CH12/EX12.1/Ex12_1.sce b/3630/CH12/EX12.1/Ex12_1.sce
new file mode 100644
index 000000000..108bae9df
--- /dev/null
+++ b/3630/CH12/EX12.1/Ex12_1.sce
@@ -0,0 +1,10 @@
+clc;
+Idss=0.003;
+Vgs=-2;
+Vgsoff=-6;
+Id=Idss*(1-(Vgs/Vgsoff))^2;
+disp('mA',Id*1000,"Id=");//The answers vary due to round off error
+
+
+
+
diff --git a/3630/CH12/EX12.10/Ex12_10.sce b/3630/CH12/EX12.10/Ex12_10.sce
new file mode 100644
index 000000000..925a6737c
--- /dev/null
+++ b/3630/CH12/EX12.10/Ex12_10.sce
@@ -0,0 +1,9 @@
+clc;
+Vdd=30;
+Rd=1100;
+Rs=10000;
+Idq=[0.0015 0.002];
+Vdsqmax=Vdd-Idq(1,1)*(Rd+Rs);
+Vdsqmin=Vdd-Idq(1,2)*(Rd+Rs);
+disp('V',Vdsqmax,"Vsdqmax=")
+disp('V',Vdsqmin,"Vsdqmin=")
diff --git a/3630/CH12/EX12.11/Ex12_11.sce b/3630/CH12/EX12.11/Ex12_11.sce
new file mode 100644
index 000000000..e9fe3b1a4
--- /dev/null
+++ b/3630/CH12/EX12.11/Ex12_11.sce
@@ -0,0 +1,10 @@
+clc;
+Vgs1=-3;
+Vgs2=-5;
+Gm0=0.006;
+Vgsoff=-8;
+Gm1=Gm0*(1-(Vgs1/Vgsoff));
+Gm2=Gm0*(1-(Vgs2/Vgsoff));
+disp('uS',Gm1*1000000,"Gm1=")
+disp('uS',Gm2*1000000,"Gm2=")
+
diff --git a/3630/CH12/EX12.12/Ex12_12.sce b/3630/CH12/EX12.12/Ex12_12.sce
new file mode 100644
index 000000000..56f16d100
--- /dev/null
+++ b/3630/CH12/EX12.12/Ex12_12.sce
@@ -0,0 +1,18 @@
+Vgs1=-5;
+Vgs2=-0.75;
+Gm01=0.006;
+Gm02=0.002;
+Vgsoff1=-8;
+Vgsoff2=-2;
+Gm1=Gm01*(1-(Vgs1/Vgsoff1));
+Gm2=Gm02*(1-(Vgs2/Vgsoff2));
+RD=8200;
+RL=100000;
+rD=(RD*RL)/(RD+RL);
+Avmax=rD*Gm1;
+Avmin=rD*Gm2;
+disp(' ',Avmax,"Avmax=")//The answers vary due to round off error
+disp(' ',Avmin,"Avmin=")//The answers vary due to round off error
+
+
+
diff --git a/3630/CH12/EX12.13/Ex12_13.sce b/3630/CH12/EX12.13/Ex12_13.sce
new file mode 100644
index 000000000..2be84c28d
--- /dev/null
+++ b/3630/CH12/EX12.13/Ex12_13.sce
@@ -0,0 +1,12 @@
+clc;
+rD=7580;
+rS=2200;
+Gm1=1/444;
+Gm2=1/1000;
+Avmax=rD/(rS+(1/Gm1));
+Avmin=rD/(rS+(1/Gm2));
+disp(' ',Avmax,"Avmax=")//The answers vary due to round off error
+disp(' ',Avmin,"Avmin=")//The answers vary due to round off error
+
+
+
diff --git a/3630/CH12/EX12.14/Ex12_14.sce b/3630/CH12/EX12.14/Ex12_14.sce
new file mode 100644
index 000000000..8b6b2a10c
--- /dev/null
+++ b/3630/CH12/EX12.14/Ex12_14.sce
@@ -0,0 +1,12 @@
+clc;
+Hfe=200;
+re=22.7;
+R1=10000;
+R2=2200;
+Req=(R1*R2)/(R1+R2);
+X1=Hfe*re;
+ZinBJT=(Req*X1)/(Req+X1);
+ZinJFET=(R1*R2)/(R1+R2);
+disp('kOhm',ZinBJT/1000,"ZinBJT=")//The answers vary due to round off error
+disp('kOhm',ZinJFET/1000,"ZinJFET=")//The answers vary due to round off error
+
diff --git a/3630/CH12/EX12.15/Ex12_15.sce b/3630/CH12/EX12.15/Ex12_15.sce
new file mode 100644
index 000000000..5aa775385
--- /dev/null
+++ b/3630/CH12/EX12.15/Ex12_15.sce
@@ -0,0 +1,11 @@
+RD=8200;
+Zin=1290;
+rD1=(RD*Zin)/(RD+Zin);
+Gm=0.002;
+AvBJT=Gm*rD1;
+Zin=1800;
+rD2=(RD*Zin)/(RD+Zin);
+AvJFET=Gm*rD2;
+disp(' ',AvBJT,"AvBJT=")//The answers vary due to round off error
+disp(' ',AvJFET,"AvJFET=")//The answers vary due to round off error
+
diff --git a/3630/CH12/EX12.16/Ex12_16.sce b/3630/CH12/EX12.16/Ex12_16.sce
new file mode 100644
index 000000000..d34f867f5
--- /dev/null
+++ b/3630/CH12/EX12.16/Ex12_16.sce
@@ -0,0 +1,28 @@
+clc;
+Vgs1=-0.5
+Vgs2=-5;
+Gm01=0.002;
+Gm02=0.006;
+Vgsoff1=-2;
+Vgsoff2=-8;
+Gm1=Gm01*(1-(Vgs1/Vgsoff1));
+Gm2=Gm02*(1-(Vgs2/Vgsoff2));
+Rs=5100;
+RL=20000;
+rS=(Rs*RL)/(Rs+RL);
+Avmin=rS/(rS+(1/Gm1));
+Avmax=rS/(rS+(1/Gm2));
+disp(' ',Avmax,"Avmax=")//The answers vary due to round off error
+disp(' ',Avmin,"Avmin=")//The answers vary due to round off error
+Gm11=1/667;
+Gm22=1/444;
+Zoutmax=(Rs/Gm11)/(Rs+(1/Gm11));
+Zoutmin=(Rs/Gm22)/(Rs+(1/Gm22));
+disp('Ohm',Zoutmax,"Zoutmax=")//The answers vary due to round off error
+disp('Ohm',Zoutmin,"Zoutmin=")//The answers vary due to round off error
+R1=1000000;
+R2=1000000;
+Zin=(R1*R2)/(R1+R2);
+disp('KOhm',Zin/1000,"Zin=")//The answers vary due to round off error
+
+
diff --git a/3630/CH12/EX12.17/Ex12_17.sce b/3630/CH12/EX12.17/Ex12_17.sce
new file mode 100644
index 000000000..70782f8db
--- /dev/null
+++ b/3630/CH12/EX12.17/Ex12_17.sce
@@ -0,0 +1,6 @@
+clc;
+yos=0.00005;
+rd=1/yos; //minimum value
+Rd=1000;
+Zout=(Rd*rd)/(Rd+rd);
+disp('Ohm',Zout,"Zout=")//The answers vary due to round off error
diff --git a/3630/CH12/EX12.2/Ex12_2.png b/3630/CH12/EX12.2/Ex12_2.png
new file mode 100644
index 000000000..a58efd693
--- /dev/null
+++ b/3630/CH12/EX12.2/Ex12_2.png
Binary files differ
diff --git a/3630/CH12/EX12.2/Ex12_2.sce b/3630/CH12/EX12.2/Ex12_2.sce
new file mode 100644
index 000000000..a1d4f163f
--- /dev/null
+++ b/3630/CH12/EX12.2/Ex12_2.sce
@@ -0,0 +1,15 @@
+clc;
+Idss=0.003;
+Vgs=[0 -1 -3 -5];
+Vgsoff=-6;
+Id=zeros(1,5);
+Id(1,1)=Idss*(1-(Vgs(1,1)/Vgsoff))^2;
+Id(1,2)=Idss*(1-(Vgs(1,2)/Vgsoff))^2;
+Id(1,3)=Idss*(1-(Vgs(1,3)/Vgsoff))^2;
+Id(1,4)=Idss*(1-(Vgs(1,4)/Vgsoff))^2;
+Vgs1=[0 -1 -3 -5 -6];
+plot(Vgs1,Id*1000)
+xlabel('Vgs(V)')
+ylabel('Id(mA)')
+
+
diff --git a/3630/CH12/EX12.3/Ex12_3.png b/3630/CH12/EX12.3/Ex12_3.png
new file mode 100644
index 000000000..4a5f107c4
--- /dev/null
+++ b/3630/CH12/EX12.3/Ex12_3.png
Binary files differ
diff --git a/3630/CH12/EX12.3/Ex12_3.sce b/3630/CH12/EX12.3/Ex12_3.sce
new file mode 100644
index 000000000..28331aacc
--- /dev/null
+++ b/3630/CH12/EX12.3/Ex12_3.sce
@@ -0,0 +1,12 @@
+clc;
+Vgs1=[-6 -4 -2 0];
+Id1=[0 0.556 2.222 5];
+Vgs2=[-0.5 -0.4 -0.2 0];
+Id2=[0 0.04 0.36 1];
+plot(Vgs1,Id1)
+xgrid
+set(gca(),"auto_clear","off")
+plot2d(Vgs2,Id2)
+xlabel('Vgs(V)')
+ylabel('Id(mA)')
+
diff --git a/3630/CH12/EX12.4/Ex12_4.sce b/3630/CH12/EX12.4/Ex12_4.sce
new file mode 100644
index 000000000..a07b203fc
--- /dev/null
+++ b/3630/CH12/EX12.4/Ex12_4.sce
@@ -0,0 +1,12 @@
+clc;
+Vgs=-5;
+Vgg=Vgs;
+Idss=0.016;
+Vgsoff=-8;
+Id=Idss*(1-(Vgs/Vgsoff))^2;
+Vdd=10;
+Rd=2200;
+VDS=Vdd-Id*Rd;
+disp('V',Vgs,"Vgs=")
+disp('mA',Id*1000,"Id=")
+disp('V',VDS,"VDS=")
diff --git a/3630/CH12/EX12.7/Ex12_7.sce b/3630/CH12/EX12.7/Ex12_7.sce
new file mode 100644
index 000000000..85875fb3e
--- /dev/null
+++ b/3630/CH12/EX12.7/Ex12_7.sce
@@ -0,0 +1,17 @@
+clc;
+//from example 12.7 Idqmax and Idqmin
+Idqmax=0.006;
+Idqmin=0.0015;
+Vdd=10;
+Rs=500;
+Rd=500;
+Vdsqmax=Vdd-Idqmin*(Rs+Rd);
+Vdsqmin=Vdd-Idqmax*(Rs+Rd);
+disp('V',Vdsqmax,"Vsdqmax=")
+disp('V',Vdsqmin,"Vsdqmin=")
+disp('The value of Vdsq will fall between Vdsqmax and Vdsqmin')
+
+
+
+
+
diff --git a/3630/CH12/EX12.8/Ex12_8.png b/3630/CH12/EX12.8/Ex12_8.png
new file mode 100644
index 000000000..9724022e3
--- /dev/null
+++ b/3630/CH12/EX12.8/Ex12_8.png
Binary files differ
diff --git a/3630/CH12/EX12.8/Ex12_8.sce b/3630/CH12/EX12.8/Ex12_8.sce
new file mode 100644
index 000000000..16c2d7bfa
--- /dev/null
+++ b/3630/CH12/EX12.8/Ex12_8.sce
@@ -0,0 +1,27 @@
+clc;
+R2=1500000;
+R1=1500000;
+Vdd=30;
+Vg=Vdd*(R2/(R1+R2));
+Rs=10000;
+Id=Vg/Rs;
+Vgsoff=-8;
+Idss=0.016;
+Vgs1=-8:1:0;
+Id1=Idss*(1-(Vgs1/Vgsoff)).^2;
+Vgsoff=-2;
+Idss=0.004;
+Vgs2=-2:1:0;
+Id2=Idss*(1-(Vgs2/Vgsoff)).^2;
+plot2d(Vgs1,Id1*1000)
+xgrid
+set(gca(),"auto_clear","off")
+plot2d(Vgs2,Id2*1000)
+set(gca(),"auto_clear","off")
+Vgs3=-6:1:0;
+Id3=((Vgs3.*-0.1)+1.5);
+plot2d(Vgs3,Id3)
+xlabel('Vgs(V)')
+ylabel('Id(mA)')
+xtitle('The voltage -divider dc bias line')
+
diff --git a/3630/CH12/EX12.9/Ex12_9.sce b/3630/CH12/EX12.9/Ex12_9.sce
new file mode 100644
index 000000000..58de35897
--- /dev/null
+++ b/3630/CH12/EX12.9/Ex12_9.sce
@@ -0,0 +1,16 @@
+clc;
+Idqmax=0.002;
+Idqmin=0.0015;
+Vgsmax=-5;
+Vgsmin=-0.5;
+Vdd=30;
+R1=1500000;
+R2=1500000;
+Vg=Vdd*(R2/(R1+R2));
+Vs=Vg-Vgsmax;
+Rs=10000;
+Idq1=Vs/Rs;
+Idq2=(Vg-Vgsmin)/(Rs);
+disp('mA',Idq1*1000,"Idq1=")
+disp('mA',Idq2*1000,"Idq2=")
+disp('Result Is verified', ," ")