diff options
author | priyanka | 2015-06-24 15:03:17 +0530 |
---|---|---|
committer | priyanka | 2015-06-24 15:03:17 +0530 |
commit | b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch) | |
tree | ab291cffc65280e58ac82470ba63fbcca7805165 /68/CH4 | |
download | Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.gz Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.bz2 Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.zip |
initial commit / add all books
Diffstat (limited to '68/CH4')
-rwxr-xr-x | 68/CH4/EX4.1/ex1.sce | 28 | ||||
-rwxr-xr-x | 68/CH4/EX4.10/ex10.sce | 20 | ||||
-rwxr-xr-x | 68/CH4/EX4.11/ex4_11.sce | 33 | ||||
-rwxr-xr-x | 68/CH4/EX4.12/ex4_12.sce | 16 | ||||
-rwxr-xr-x | 68/CH4/EX4.13/ex4_13.sce | 16 | ||||
-rwxr-xr-x | 68/CH4/EX4.2/ex2.sce | 19 | ||||
-rwxr-xr-x | 68/CH4/EX4.3/ex3.sce | 15 | ||||
-rwxr-xr-x | 68/CH4/EX4.4/ex4.sce | 14 | ||||
-rwxr-xr-x | 68/CH4/EX4.5/ex5.sce | 21 | ||||
-rwxr-xr-x | 68/CH4/EX4.6/ex6.sce | 13 | ||||
-rwxr-xr-x | 68/CH4/EX4.7/ex4_7.sce | 24 | ||||
-rwxr-xr-x | 68/CH4/EX4.9/ex4_9.sce | 21 |
12 files changed, 240 insertions, 0 deletions
diff --git a/68/CH4/EX4.1/ex1.sce b/68/CH4/EX4.1/ex1.sce new file mode 100755 index 000000000..ee3ef1460 --- /dev/null +++ b/68/CH4/EX4.1/ex1.sce @@ -0,0 +1,28 @@ +// Example 4.1 : To determine operating point parameters
+L_min=0.4*10^-6; // (m)
+t_ox=8*10^-9; // (s)
+u_n=450*10^-4; // (A/V^2)
+V_t=0.7; // (V)
+e_ox=3.45*10^-11;
+
+// 4.1a
+C_ox=e_ox/t_ox;
+disp(C_ox,"C_ox (F/m^2)")
+k_n=u_n*C_ox;
+disp(k_n,"k_n (A/V^2)")
+
+// 4.1b
+// Operation in saturation region
+W=8*10^-6; // (m)
+L=0.8*10^-6; // (m)
+i_D=100*10^-6; // (A)
+V_GS=sqrt(2*L*i_D/(k_n*W)) +V_t;
+disp(V_GS,"V_GS (V)")
+V_DSmin=V_GS-V_t;
+disp(V_DSmin,"V_DSmin (V)")
+
+// 4.1c
+// MOSFET in triode region
+r_DS=1000; // (ohm)
+V_GS=1/(k_n*(W/L)*r_DS)+V_t;
+disp(V_GS,"V_GS (V)")
\ No newline at end of file diff --git a/68/CH4/EX4.10/ex10.sce b/68/CH4/EX4.10/ex10.sce new file mode 100755 index 000000000..ae042e7d2 --- /dev/null +++ b/68/CH4/EX4.10/ex10.sce @@ -0,0 +1,20 @@ +// Example 4.10 : Small signal analysis
+V_t=1.5; // (V)
+K=0.00025;//K= k_nW/L (A/V^2)
+V_A=50; // (V)
+I_D=1.06*10^-3; // (A)
+V_D=4.4; // (V)
+R_D=10000; // (ohm)
+R_L=10000; // (ohm)
+V_GS=V_D;
+g_m=K*(V_GS-V_t);
+r_o=V_A/I_D;
+A_v=-g_m*(R_L*R_D*r_o)/(R_D*R_L+R_D*r_o+R_L*r_o);
+disp(A_v,"Voltage gain (V/V)")
+R_G=10*10^6; //(ohm)
+// i_i=v_i*(1-A_v)/R_G
+R_in=R_G/(1-(A_v));
+disp(R_in,"Input resistance (ohm)")
+// v_DSmin=v_GSmin-V_t
+v_i=V_t/(1+(-A_v)); // - sign to make A_v positive
+disp(v_i," Largest allowable input signal (V)")
\ No newline at end of file diff --git a/68/CH4/EX4.11/ex4_11.sce b/68/CH4/EX4.11/ex4_11.sce new file mode 100755 index 000000000..fe6bc75a2 --- /dev/null +++ b/68/CH4/EX4.11/ex4_11.sce @@ -0,0 +1,33 @@ +// Example 4.11: To determine all parameters of transistor amplifier
+v_o=90; // (V)
+v_i=9; // (V)
+R_sig=100*10^3; // (ohm)
+R_L=10*10^3; // (ohm)
+v_sig=10; // (V)
+A_vo=v_o/v_i;
+disp(A_vo,"A_vo (V/V)")
+G_vo=v_o/A_vo;
+disp(G_vo,"G_vo (V/V)")
+R_i=G_vo*R_sig/(A_vo-G_vo)
+disp(R_i,"R_i")
+disp("assume R_L = 10 kilo ohm is connected")
+v_o=70; // (V)
+v_i=8; // (V)
+A_v=v_o/v_i;
+disp(A_v,"A_v (V/V)")
+G_v=v_o/A_vo;
+disp(G_v,"G_v (V/V)")
+R_o=R_L*(A_vo-A_v)/A_v;
+disp(R_o,"R_o (ohm)")
+R_out=R_L*(G_vo-G_v)/G_v;
+disp(R_out,"R_out (ohm)")
+R_in=(v_i*100)/(v_sig-v_i);
+disp(R_in,"R_in (ohm)")
+G_m=A_vo/R_o;
+disp(G_m,"G_m (mho)")
+A_i=A_v*R_in/R_L;
+disp(A_i,"A_i (V/V)")
+R_inL0=R_sig/((1+R_sig/R_i)*(R_out/R_o)-1); // R_in|R_L=0 (ohm)
+disp(R_inL0,"R_in at R_L=0")
+A_is=A_vo*R_inL0/R_o;
+disp(A_is,"A_is (A/A)")
\ No newline at end of file diff --git a/68/CH4/EX4.12/ex4_12.sce b/68/CH4/EX4.12/ex4_12.sce new file mode 100755 index 000000000..34a1833d9 --- /dev/null +++ b/68/CH4/EX4.12/ex4_12.sce @@ -0,0 +1,16 @@ +// Example 4.12 : Midband gain and upper 3dB frequency
+R_sig= 100*10^3; // (ohm)
+R_G=4.7*10^6; // (ohm)
+R_D=15*10^3; // (ohm)
+R_l=15*10^3; // (ohm)
+g_m=1*10^-3; // (mho)
+r_o=150*10^3; // (ohm)
+C_gs=1*10^-12; // (F)
+C_gd=0.4*10^-12; // (F)
+R_L= 1/(1/r_o + 1/R_D + 1/R_l)
+A_M=R_G/(R_G + R_sig)*g_m*R_L;
+disp(A_M,"midband gain A_M (V/V)")
+C_eq=(1+g_m*R_L)*C_gd;
+C_in=C_gs+C_eq;
+f_H=(R_G+R_sig)/(2*%pi*C_in*R_sig*R_G);
+disp(f_H,"f_H (Hz)")
\ No newline at end of file diff --git a/68/CH4/EX4.13/ex4_13.sce b/68/CH4/EX4.13/ex4_13.sce new file mode 100755 index 000000000..e64ae5690 --- /dev/null +++ b/68/CH4/EX4.13/ex4_13.sce @@ -0,0 +1,16 @@ +// Example 4.13 : Coupling capacitor values
+R_G=4.7*10^6; // (ohm)
+R_D=15*10^3; // (ohm)
+R_L=15*10^3; // (ohm)
+R_sig=100*10^3; // (ohm)
+g_m=1*10^-3; // (mho)
+f_L=100; // (Hz)
+C_S=g_m/(2*%pi*f_L)
+disp(C_S,"C_S (F)")
+f_P2=1/(2*%pi*C_S/g_m);
+f_P1=10; // (Hz)
+f_P2=10; // (Hz)
+C_C1=1/(2*%pi*(R_G+R_sig)*10)
+disp(C_C1,"C_C1 (F)")
+C_C2=1/(2*%pi*(R_D+R_L)*10)
+disp(C_C2,"C_C2 (F)")
\ No newline at end of file diff --git a/68/CH4/EX4.2/ex2.sce b/68/CH4/EX4.2/ex2.sce new file mode 100755 index 000000000..ef7ee335f --- /dev/null +++ b/68/CH4/EX4.2/ex2.sce @@ -0,0 +1,19 @@ +// Example 4.2: Design of given circuit to obtain I_D=0.4mA and V_D=0.5V
+// NMOS transistor is operating in saturation region
+I_D=0.4*10^-3; // (A)
+V_D=0.5; // (V)
+V_t=0.7; // (V)
+uC_n=100*10^-6; // (A/V^2)
+L=1*10^-6; // (m)
+W=32*10^-6; // (m)
+V_SS=-2.5; // (V)
+V_DD=2.5; // (V)
+V_OV=sqrt(I_D*2*L/(uC_n*W));
+V_GS=V_t+V_OV;
+disp(V_GS,"V_t (V)")
+V_S=-1.2; // (V)
+R_S=(V_S-V_SS)/I_D;
+disp(R_S,"R_S (ohm)")
+V_D=0.5; // (V)
+R_D=(V_DD-V_D)/I_D;
+disp(R_D,"R_D (ohm)")
\ No newline at end of file diff --git a/68/CH4/EX4.3/ex3.sce b/68/CH4/EX4.3/ex3.sce new file mode 100755 index 000000000..2eb0f9547 --- /dev/null +++ b/68/CH4/EX4.3/ex3.sce @@ -0,0 +1,15 @@ +// Example 4.3: Design of given circuit to obtain I_D=80uA
+// FET is operating in saturation region
+I_D=80*10^-6; // (A)
+V_t=0.6; // (V)
+uC_n=200*10^-6; // (A/V^2)
+L=0.8*10^-6; // (m)
+W=4*10^-6; // (m)
+V_DD=3; // (V)
+V_OV=sqrt(2*I_D/(uC_n*(W/L)));
+V_GS=V_t+V_OV;
+V_DS=V_GS;
+V_D=V_DS;
+disp(V_D,"V_D (V)")
+R=(V_DD-V_D)/I_D;
+disp(R,"R (ohm)")
\ No newline at end of file diff --git a/68/CH4/EX4.4/ex4.sce b/68/CH4/EX4.4/ex4.sce new file mode 100755 index 000000000..f67abfc3a --- /dev/null +++ b/68/CH4/EX4.4/ex4.sce @@ -0,0 +1,14 @@ +// Example 4.4 : Design of given circuit to obtain V_D=0.1V
+// MOSFET is operating in triode region
+V_D=0.1; // (V)
+V_DD=5; // (V)
+V_t=1; // (V)
+K=1*10^-3; // K=k'_n(W/L)
+V_GS=5; // (V)
+V_DS=0.1; // (V)
+I_D=K*((V_GS-V_t)*V_DS-(V_DS^2)/2);
+disp(I_D,"I_D (A)")
+R_D=(V_DD-V_D)/I_D;
+disp(R_D,"R_D (ohm)")
+r_DS=V_DS/I_D;
+disp(r_DS,"r_DS (ohm)")
\ No newline at end of file diff --git a/68/CH4/EX4.5/ex5.sce b/68/CH4/EX4.5/ex5.sce new file mode 100755 index 000000000..1f133da78 --- /dev/null +++ b/68/CH4/EX4.5/ex5.sce @@ -0,0 +1,21 @@ +// Example 4.5: To determine all node voltages and currents through all branches
+V_t=1; // (V)
+K=1*10^-3; // K=k'_n(W/L)
+V_DD=10; // (V)
+R_G1=10*10^6; // (ohm)
+R_G2=10*10^6; // (ohm)
+R_D=6*10^3; // (ohm)
+R_S=6*10^3; // (ohm)
+p=poly([8 -25 18],'I_D', 'coeff');
+I_D=roots(p);
+// I_D=0.89mA will result in transistor cut off hence we take the other root of the equation
+V_G=V_DD*R_G2/(R_G2+R_G1);
+I_D=I_D(1)*10^-3;
+disp(I_D,"I_D (A)")
+V_S=I_D*R_S;
+disp(V_S,"V_S (V)")
+V_GS=V_G-V_S;
+disp(V_GS,"V_GS (V)")
+V_D=V_DD-R_D*I_D;
+disp(V_D,"V_D (V)")
+// V_D>V_G-V_t the transistor is operating in saturation as initially assumed
\ No newline at end of file diff --git a/68/CH4/EX4.6/ex6.sce b/68/CH4/EX4.6/ex6.sce new file mode 100755 index 000000000..cd91485de --- /dev/null +++ b/68/CH4/EX4.6/ex6.sce @@ -0,0 +1,13 @@ +// Example 4.6; Design of given circuit to obtain I_D=0.5mA and V_D=3V
+// MOSFET is in saturation
+V_DD=5; // (V)
+V_D=3; // (V)
+I_D=0.5*10^-3; // (A)
+V_t=-1; // (V)
+K=1*10^-3; // K=k'_n(W/L)
+V_OV=sqrt(2*I_D/K);
+V_GS=V_t+(-V_OV)
+R_D=V_D/I_D;
+V_Dmax=V_D-V_t; // - sign as magnitude of V_t is considered
+R_D=V_Dmax/I_D;
+disp(R_D,"R_D (ohm)")
\ No newline at end of file diff --git a/68/CH4/EX4.7/ex4_7.sce b/68/CH4/EX4.7/ex4_7.sce new file mode 100755 index 000000000..f2bacf1b7 --- /dev/null +++ b/68/CH4/EX4.7/ex4_7.sce @@ -0,0 +1,24 @@ +// Example 4.7: To determine drain currents and output voltage
+K_n =1*10^-3; // K_n=k_n*W_n/L_n (A/V^2)
+K_p = 1*10^-3; // K_p=k_p*W_p/L_p (A/V^2)
+V_tn= 1; // (V)
+V_tp= -1; // (V)
+V_I=-2.5:2.5:2.5; // (V)
+V_DD=2.5; // (V)
+R=10;// (kilo ohm)
+// For V_I=0
+I_DP=(K_p*(V_DD-V_tn)^2)/2;
+I_DN=I_DP;
+disp(I_DP,I_DN,"I_DP (A) and I_DN (A) for V_I=0V")
+disp(0,"V_O for V_I =0V")
+// For V_I=2.5V
+// I_DN=K_N(V_GS-V_tn)V_DS
+// I_DN=v_O/R
+// Solving the two equations we get
+I_DN=0.244*10^-3; // (V)
+V_O=-2.44; // (V)
+disp(I_DN,V_O,"V_O and I_DN for V_I=2.5V")
+// For V_I=-2.5V Q_N is cut off
+I_DP=2.44*10^-3; // (A)
+V_O=2.44; // (V)
+disp(0,I_DP,V_O,"V_O(V), I_DP (A) and I_DN (A) for V_I=-2.5V")
\ No newline at end of file diff --git a/68/CH4/EX4.9/ex4_9.sce b/68/CH4/EX4.9/ex4_9.sce new file mode 100755 index 000000000..17032c142 --- /dev/null +++ b/68/CH4/EX4.9/ex4_9.sce @@ -0,0 +1,21 @@ +// Example 4.9 : Design of given circuit to obtain I_D=0.5mA
+I_d=0.5*10^-3; // (A)
+I_S=0.5*10^-3; // (A)
+V_t=1:0.5:1.5; // (V)
+K_n=1*10^-3; // K_n=k_n*W/L (A/V^2)
+V_DD=15; // (V)
+V_D=10; // (V)
+V_S=5; // (V)
+R_D=(V_DD-V_D)/I_d;
+R_S=V_S/I_S;
+V_OV=sqrt(I_d*2/K_n);
+V_GS=V_t+V_OV;
+V_G=V_S+V_GS;
+// V_t=1.5V
+// I_D=K(V_GS-V_t)^2/2
+// 7=V_GS+10I_D
+// solving above equations
+I_D=0.455*10^-3;
+deltaI_D=I_D-I_d; // Change in I_D (A)
+change=deltaI_D*100/I_d; // Change in %
+disp(change,"Change in I_D (%)")
\ No newline at end of file |