summaryrefslogtreecommitdiff
path: root/2702/CH4
diff options
context:
space:
mode:
Diffstat (limited to '2702/CH4')
-rw-r--r--2702/CH4/EX4.1/Ex_4_1.sce37
-rw-r--r--2702/CH4/EX4.10/Ex_4_10.sce32
-rw-r--r--2702/CH4/EX4.11/Ex_4_11.sce35
-rw-r--r--2702/CH4/EX4.12/Ex_4_12.sce24
-rw-r--r--2702/CH4/EX4.13/Ex_4_13.sce36
-rw-r--r--2702/CH4/EX4.14/Ex_4_14.sce18
-rw-r--r--2702/CH4/EX4.15/Ex_4_15.sce22
-rw-r--r--2702/CH4/EX4.16/Ex_4_16.sce24
-rw-r--r--2702/CH4/EX4.2/Ex_4_2.sce65
-rw-r--r--2702/CH4/EX4.3/Ex_4_3.sce21
-rw-r--r--2702/CH4/EX4.4/Ex_4_4.sce27
-rw-r--r--2702/CH4/EX4.5/Ex_4_5.sce55
-rw-r--r--2702/CH4/EX4.6/Ex_4_6.sce25
-rw-r--r--2702/CH4/EX4.7/Ex_4_7.sce18
-rw-r--r--2702/CH4/EX4.8/Ex_4_8.sce11
-rw-r--r--2702/CH4/EX4.9/Ex_4_9.sce46
16 files changed, 496 insertions, 0 deletions
diff --git a/2702/CH4/EX4.1/Ex_4_1.sce b/2702/CH4/EX4.1/Ex_4_1.sce
new file mode 100644
index 000000000..7ad12062e
--- /dev/null
+++ b/2702/CH4/EX4.1/Ex_4_1.sce
@@ -0,0 +1,37 @@
+// Exa 4.1
+clc;
+clear;
+close;
+// Given data
+V_CC= 10;// in volt
+V_EE= -10;// in volt
+I= 1;// in mA
+I=I*10^-3;// in A
+R_C= 10;// in kohm
+R_C=R_C*10^3;// in kohm
+V_BE=0.7;// in volt
+
+i_C1= I/2;// in A
+i_C2= i_C1;// in A
+disp(i_C1*10^3,"Value of i_C1 in mA is : ")
+
+V_C1= V_CC-i_C1*R_C;// in V
+// For V_cm=0 volt
+V_E= -0.7;// in volt
+V_CE1= V_C1-V_E;// in volt
+disp(V_CE1,"For V_cm =0 , The alue of V_CE1 in volt is ")
+
+// For V_cm= -5 volt
+V_cm= -5;// in V
+V_B= V_cm;// in V
+// From V_BE= V_B-V_E
+V_E= V_B-V_BE;// in volt
+V_CE1= V_C1-V_E;// in volt
+disp(V_CE1,"For V_cm =-5V , The alue of V_CE1 in volt is ")
+
+// For V_cm= 5 volt
+V_cm= 5;// in V
+V_B= V_cm;// in V
+V_E= V_B-V_BE;// in volt
+V_CE1= V_C1-V_E;// in volt
+disp(V_CE1,"For V_cm =5V , The alue of V_CE1 in volt is ")
diff --git a/2702/CH4/EX4.10/Ex_4_10.sce b/2702/CH4/EX4.10/Ex_4_10.sce
new file mode 100644
index 000000000..405753249
--- /dev/null
+++ b/2702/CH4/EX4.10/Ex_4_10.sce
@@ -0,0 +1,32 @@
+// Exa 4.10
+clc;
+clear;
+close;
+// Given data
+delta_RDbyRD= 2/100;
+delta_WLbyWL= 2/100;
+delta_Vt= 2;//in mV
+delta_Vt= delta_Vt*10^-3;// in V
+//(From Exa 4.4)
+V_A= 20;// in V
+R_D= 5;// in kΩ
+R_D= R_D*10^3;// in Ω
+I= 0.8;// in mA
+I=I*10^-3;// in A
+i_D= I/2;// in A
+unCox= 0.2;// mA/V^2
+unCox= unCox*10^-3;// in A/V^2
+WbyL= 100;
+// Formula i_D= 1/2*unCox*WbyL*V_OV^2
+V_OV= sqrt(2*i_D/(unCox*WbyL));// in V
+V_OS1= V_OV/2*delta_RDbyRD;// in V
+
+// V_OS due to W/L ratio
+V_OS2= V_OV/2*delta_WLbyWL;// in V
+
+// V_OS due to threshold voltage
+V_OS3= delta_Vt;// in V
+// Total offset voltage
+V_OS= sqrt(V_OS1^2+V_OS2^2+V_OS3^2);// in V
+V_OS= V_OS*10^3;// in mV
+disp(V_OS,"Total offset voltage in mV is : ")
diff --git a/2702/CH4/EX4.11/Ex_4_11.sce b/2702/CH4/EX4.11/Ex_4_11.sce
new file mode 100644
index 000000000..a3a9c1bf7
--- /dev/null
+++ b/2702/CH4/EX4.11/Ex_4_11.sce
@@ -0,0 +1,35 @@
+// Exa 4.11
+clc;
+clear;
+close;
+// Given data
+WLn= 100;
+WLp= 200;
+unCox= 0.2;// mA/V^2
+unCox=unCox*10^-3;//in A/V^2
+RSS= 25;// in kΩ
+RSS= RSS*10^3;// in Ω
+I=0.8;// in mA
+I=I*10^-3;//in A
+V_A= 20;// in V
+i_D= I/2;// in A
+// Formula i_D= 1/2*unCox*WLn*V_OV^2
+V_OV= sqrt(2*i_D/(unCox*WLn));// in V
+gm= I/V_OV;// in A/V
+disp(gm*10^3,"Value of Gm in mA/V is : ")
+ro2= V_A/(I/2);// in ohm
+ro4= ro2;// in ohm
+Ro= ro2*ro4/(ro2+ro4);// in ohm
+disp(Ro*10^-3,"Value of Ro in kΩ is : ")
+Ad= gm*Ro;// in V/V
+disp(Ad,"Value of Ad in V/V is :")
+// Finding the value of gm3
+upCox= 0.1;// mA/V^2
+upCox=upCox*10^-3;//in A/V^2
+// Formula i_D= 1/2*upCox*WLp*V_OV^2
+V_OV= sqrt(2*i_D/(upCox*WLp));// in V
+gm3= I/V_OV;// in A/V
+Acm= 1/(2*gm3*RSS);//in V/V
+disp(abs(Acm),"Value of |Acm| in V/V is : ")
+CMRRindB= 20*log10(abs(Ad)/abs(Acm));//in dB
+disp(round(CMRRindB),"CMRR in dB is :")
diff --git a/2702/CH4/EX4.12/Ex_4_12.sce b/2702/CH4/EX4.12/Ex_4_12.sce
new file mode 100644
index 000000000..9fa83d293
--- /dev/null
+++ b/2702/CH4/EX4.12/Ex_4_12.sce
@@ -0,0 +1,24 @@
+// Exa 4.12
+clc;
+clear;
+close;
+// Given data
+I=0.8;// in mA
+I=I*10^-3;//in A
+V_A= 100;// in V
+Bita=160;
+VT=25;// in mV
+VT= VT*10^-3;//in V
+gm= (I/2)/VT;// in A/V
+Gm= gm;// Short circuit trnsconductance in mA/V
+disp(Gm*10^3,"The value of Gm in mA/V")
+ro2= V_A/(I/2);// in ohm
+ro4= ro2;// in ohm
+Ro= ro2*ro4/(ro2+ro4);// in ohm
+disp(Ro*10^-3,"The value of Ro in kΩ is :")
+Ad= Gm*Ro;// in V/V
+disp(Ad,"Value of Ad in V/V is :")
+r_pi= Bita/gm;//in Ω
+Rid= 2*r_pi;// in Ω
+disp(Rid*10^-3,"The value of Rid in kΩ is :")
+
diff --git a/2702/CH4/EX4.13/Ex_4_13.sce b/2702/CH4/EX4.13/Ex_4_13.sce
new file mode 100644
index 000000000..0ca64a9f5
--- /dev/null
+++ b/2702/CH4/EX4.13/Ex_4_13.sce
@@ -0,0 +1,36 @@
+// Exa 4.13
+clc;
+clear;
+close;
+// Given data
+Vtp= -0.8;// in V
+KpWL= 3.5;// in mA/V^2
+I=0.7;// in mA
+I=I*10^-3;// in A
+R_D= 2;// in kΩ
+R_D=R_D*10^3;// in Ω
+KpWL=KpWL*10^-3;//in A/V^2
+v_G1= 0;// in V
+v_G2=v_G1;// in V
+VSS= 2.5;// in V
+VDD=VSS;// in V
+VCS= 0.5;// in V
+// Part (a)
+V_OV= -sqrt(I/KpWL);// in V
+disp(V_OV,"The value of V_OV in volts is : ")
+V_GS= V_OV+Vtp;// in V
+disp(V_GS,"The value of V_GS in volts is : ")
+V_G= 0;// as gate is connected ground
+v_S1= V_G-V_GS;// in V
+v_S2= v_S1;// in V
+disp(v_S1,"The value of V_S in volts is : ")
+v_D1= I/2*R_D-VDD;// in V
+v_D2=v_D1;// in V
+disp(v_D1,"The value of v_D1 in V is : ")
+disp(v_D2,"The value of v_D2 in V is : ")
+
+// Part (b)
+V_CMmin= I*R_D/2-VDD+Vtp;// in V
+V_CMmax= VSS-VCS+Vtp+V_OV;// in V
+disp(V_CMmin,"The value of V_CMmin in volt is : ")
+disp(V_CMmax,"The value of V_CMmax in volt is : ")
diff --git a/2702/CH4/EX4.14/Ex_4_14.sce b/2702/CH4/EX4.14/Ex_4_14.sce
new file mode 100644
index 000000000..0eb9c80e1
--- /dev/null
+++ b/2702/CH4/EX4.14/Ex_4_14.sce
@@ -0,0 +1,18 @@
+// Exa 4.14
+clc;
+clear;
+close;
+// Given data
+V_OV= 0.2;// in V
+gm=1;// in mA/V
+gm=gm*10^-3;// in A/V
+Vt=0.8;// in V
+unCox= 90;// in µA/V^2
+unCox=unCox*10^-6;// in A/V^2
+// gm= I/V_OV
+I= gm*V_OV;// in A
+disp(I*10^3,"Bias current in mA is : ")
+I_D= I/2;// in A
+// Formula I_D= 1/2*unCox*WLn*V_OV^2
+WbyL= 2*I_D/(unCox*V_OV^2);
+disp(WbyL,"W/L ratio is : ")
diff --git a/2702/CH4/EX4.15/Ex_4_15.sce b/2702/CH4/EX4.15/Ex_4_15.sce
new file mode 100644
index 000000000..04ebd4c51
--- /dev/null
+++ b/2702/CH4/EX4.15/Ex_4_15.sce
@@ -0,0 +1,22 @@
+// Exa 4.15
+clc;
+clear;
+close;
+// Given data
+I=0.5;// in mA
+I=I*10^-3;// in A
+WbyL= 50;
+unCox= 250;// in µA/V^2
+unCox=unCox*10^-6;// in A/V^2
+V_A= 10;// in V
+R_D= 4;//in kΩ
+R_D= R_D*10^3;//in Ω
+V_OV= sqrt(I/(WbyL*unCox));//in V
+disp(V_OV,"The value of V_OV in V is : ")
+gm= I/V_OV;// in A/V
+disp(gm*10^3,"The value of gm in mA/V is ")
+I_D=I/2;// in A
+ro= V_A/I_D;// in Ω
+disp(ro*10^-3,"The value of ro in kΩ is : ")
+Ad= gm*(R_D*ro/(R_D+ro));// in V/V
+disp(Ad,"The value of Ad in V/V is : ")
diff --git a/2702/CH4/EX4.16/Ex_4_16.sce b/2702/CH4/EX4.16/Ex_4_16.sce
new file mode 100644
index 000000000..e81df5fca
--- /dev/null
+++ b/2702/CH4/EX4.16/Ex_4_16.sce
@@ -0,0 +1,24 @@
+// Exa 4.16
+clc;
+clear;
+close;
+// Given data
+I=1;// in mA
+I=I*10^-3;// in A
+i_C=1;// in mA
+i_C=i_C*10^-3;// in A
+V_CC= 5;// in V
+V_CM= -2;// in V
+V_BE= 0.7;// in V
+R_C= 3;// in kΩ
+R_C= R_C*10^3;// in Ω
+Alpha=1;
+Bita=100;
+V_B= 1;// in V
+i_C1= Alpha*I;// in A
+i_C2=0;
+v_E= V_B-V_BE;// in V
+disp(v_E,"Emitters voltage in volts is : ")
+v_C1= V_CC-i_C1*R_C;// in V
+v_C2= V_CC-i_C2*R_C;// in V
+disp("Output voltage is "+string(v_C1)+" V and "+string(v_C2)+" V")
diff --git a/2702/CH4/EX4.2/Ex_4_2.sce b/2702/CH4/EX4.2/Ex_4_2.sce
new file mode 100644
index 000000000..63485c064
--- /dev/null
+++ b/2702/CH4/EX4.2/Ex_4_2.sce
@@ -0,0 +1,65 @@
+// Exa 4.2
+clc;
+clear;
+close;
+// Given data
+V_DD= 1.5;// in V
+V_SS= V_DD;// in V
+KnWL= 4;// in mA/V^2
+KnWL=KnWL*10^-3;// in A/V^2
+Vt= 0.5;// in V
+I=0.4;// in mA
+I=I*10^-3;//in A
+R_D= 2.5;// in kΩ
+R_D= R_D*10^3;// in Ω
+
+// Part (a)
+disp("Part (a)")
+V_OV= sqrt(I/KnWL);// in V
+V_GS= V_OV+Vt;// in V
+disp(V_OV,"Value of V_OV in volt is : ")
+disp(V_GS,"Value of V_GS in volt is : ")
+
+// Part (b)
+disp("Part (b)")
+V_CM= 0;// in volt
+V_S= -V_GS;// in volt
+disp(V_S,"Value of V_S in volt is :")
+I=0.4;// in mA
+i_D1= I/2;// in mA
+disp(i_D1,"Value of i_D1 in mA is :")
+i_D1=i_D1*10^-3;// in A
+V_D1= V_DD-i_D1*R_D;// in V
+V_D2=V_D1;// in V
+disp(V_D1,"Value of V_D1 in volt is ")
+disp(V_D2,"Value of V_D2 in volt is ")
+
+
+// Part (c)
+disp("Part (c)")
+V_CM=1;// in V
+V_GS= 0.82;// in V
+V_G= 1;// in V
+V_S= V_G-V_GS;// in V
+disp(V_S,"Value of V_S in volt is :")
+i_D1= I/2;// in mA
+disp(i_D1,"Value of i_D1 in mA is :")
+i_D1=i_D1*10^-3;// in A
+V_D1= V_DD-i_D1*R_D;// in V
+V_D2=V_D1;// in V
+disp(V_D1,"Value of V_D1 in volt is ")
+disp(V_D2,"Value of V_D2 in volt is ")
+
+// Part (d)
+disp("Part (d)")
+V_CM_max= Vt+V_DD-i_D1*R_D
+disp(V_CM_max,"Highest value of V_CM in volt is :")
+
+// Part (e)
+V_S= 0.4;// in V
+disp("Part (e)")
+V_CM_min= -V_SS+V_S+Vt+V_OV;// in V
+disp(V_CM_min,"Lowest value of V_CM in volt is")
+V_Smin= V_CM_min-V_GS;// in volt
+disp(V_Smin,"Lowest value of V_S in volt is")
+
diff --git a/2702/CH4/EX4.3/Ex_4_3.sce b/2702/CH4/EX4.3/Ex_4_3.sce
new file mode 100644
index 000000000..2e63dbb2d
--- /dev/null
+++ b/2702/CH4/EX4.3/Ex_4_3.sce
@@ -0,0 +1,21 @@
+// Exa 4.3
+clc;
+clear;
+close;
+format('v',5)
+// Given data
+I= 0.4;// in mA
+unCox= 0.2;// in mA/V^2
+i_D= I/2;// in mA
+V_OV1= 0.2;// in V
+V_OV2= 0.3;// in V
+V_OV3= 0.4;// in V
+WbyL1= 2*i_D/(unCox*V_OV1^2);
+gm1= I/V_OV1;// in mA/V
+WbyL2= 2*i_D/(unCox*V_OV2^2);
+gm2= I/V_OV2;// in mA/V
+WbyL3= 2*i_D/(unCox*V_OV3^2);
+gm3= I/V_OV3;// in mA/V
+disp("Vov (in V) "+string(V_OV1)+" "+string(V_OV2)+" "+string(V_OV3))
+disp("W/L "+string(WbyL1)+" "+string(WbyL2)+" "+string(WbyL3))
+disp("gm(in mA/V) "+string(gm1)+" "+string(gm2)+" "+string(gm3))
diff --git a/2702/CH4/EX4.4/Ex_4_4.sce b/2702/CH4/EX4.4/Ex_4_4.sce
new file mode 100644
index 000000000..76eea855a
--- /dev/null
+++ b/2702/CH4/EX4.4/Ex_4_4.sce
@@ -0,0 +1,27 @@
+// Exa 4.4
+clc;
+clear;
+close;
+// Given data
+format('v',11)
+V_A= 20;// in V
+R_D= 5;// in kΩ
+R_D= R_D*10^3;// in Ω
+I= 0.8;// in mA
+I=I*10^-3;// in A
+i_D= I/2;// in A
+unCox= 0.2;// mA/V^2
+unCox= unCox*10^-3;// in A/V^2
+WbyL= 100;
+// Formula i_D= 1/2*unCox*WbyL*V_OV^2
+V_OV= sqrt(2*i_D/(unCox*WbyL));// in V
+disp(V_OV,"The value of V_OV in volts is : ")
+gm= I/V_OV;// in A/V;
+disp(gm*10^3,"The value of gm in mA/V is : ")
+r_o= V_A/i_D;// in Ω
+disp(r_o*10^-3,"The value of r_o in kΩ is : ")
+// Ad= v_o/v_id = gm*(R_D || r_o)
+Ad= gm*(R_D*r_o/(R_D+r_o)) ;// in V/V
+disp(Ad,"Differential gain in V/V is : ")
+
+
diff --git a/2702/CH4/EX4.5/Ex_4_5.sce b/2702/CH4/EX4.5/Ex_4_5.sce
new file mode 100644
index 000000000..746e2c1b0
--- /dev/null
+++ b/2702/CH4/EX4.5/Ex_4_5.sce
@@ -0,0 +1,55 @@
+// Exa 4.5
+clc;
+clear;
+close;
+// Given data
+R_D= 5;// in kΩ
+R_D= R_D*10^3;// in Ω
+R_SS= 25;// in kΩ
+R_SS= R_SS*10^3;// in Ω
+I= 0.8;// in mA
+I=I*10^-3;// in A
+i_D= I/2;// in A
+unCox= 0.2;// mA/V^2
+unCox= unCox*10^-3;// in A/V^2
+WbyL= 100;
+// Formula i_D= 1/2*unCox*WbyL*V_OV^2
+V_OV= sqrt(2*i_D/(unCox*WbyL));// in V
+gm= i_D/V_OV;// in A/V;
+
+// Part (a)
+Ad= 1/2*gm*R_D;// in V/V
+disp(Ad,"Differential gain in V/V is : ")
+Acm= -R_D/(2*R_SS);// in V/V
+disp(Acm,"Common mode gain in V/V is ")
+CMRR= abs(Ad)/abs(Acm);
+CMRRindB= round(20*log10(CMRR));// in dB
+disp(CMRRindB,"Common mode rejection ratio in dB is : ")
+
+
+// Part (b)
+disp("Part (b) when output is taken differentially")
+Ad= gm*R_D;// in V/V
+disp(Ad,"Differential gain in V/V is : ")
+Acm= 0;
+disp(Acm,"Common mode gain in V/V is ")
+// CMRRindB= 20*log10(Ad/Acm) = infinite ;// in dB
+disp("Common mode rejection ratio in dB is : ")
+disp("infinite");
+
+// Part (c)
+disp("Part (c) when output is taken differentially but the drain resistance have a 1% mismatch.")
+Ad= gm*R_D;// in V/V
+disp(Ad,"Differential gain in V/V is : ")
+// delta_R_D= 1% of R_D
+delta_R_D= R_D*1/100;// in Ω
+Acm= R_D/(2*R_SS)*delta_R_D/R_D;// in V/V
+disp(Acm,"Common mode gain in V/V is ")
+CMRRindB= 20*log10(abs(Ad)/abs(Acm));// in dB
+disp(CMRRindB,"Common mode rejection ratio in dB is : ")
+
+// Note: In the book, there is putting wrong value of Ad (20 at place of 10) to evaluate the value of CMRR in dB in part(c) , So the answer of CMRR in dB of Part (c) is wrong
+
+
+
+
diff --git a/2702/CH4/EX4.6/Ex_4_6.sce b/2702/CH4/EX4.6/Ex_4_6.sce
new file mode 100644
index 000000000..520778701
--- /dev/null
+++ b/2702/CH4/EX4.6/Ex_4_6.sce
@@ -0,0 +1,25 @@
+// Exa 4.6
+clc;
+clear;
+close;
+// Given data (From Exa 4.4)
+R_D= 5;// in kΩ
+R_D= R_D*10^3;// in Ω
+R_SS= 25;// in kΩ
+R_SS= R_SS*10^3;// in Ω
+I= 0.8;// in mA
+I=I*10^-3;// in A
+i_D= I/2;// in A
+unCox= 0.2;// mA/V^2
+unCox= unCox*10^-3;// in A/V^2
+WbyL= 100;
+// Formula i_D= 1/2*unCox*WbyL*V_OV^2
+V_OV= sqrt(2*i_D/(unCox*WbyL));// in V
+gm= i_D/V_OV;// in A/V;
+// gm mismatch have a negligible effect on Ad
+Ad= gm*R_D;// in V/V(approx)
+// delta_gm= 1% of gm
+delta_gm = gm*1/100;// in A/V
+Acm= R_D/(2*R_SS)*delta_gm/gm;
+CMRRindB= 20*log10(Ad/Acm);
+disp(CMRRindB,"CMRR in dB is : ")
diff --git a/2702/CH4/EX4.7/Ex_4_7.sce b/2702/CH4/EX4.7/Ex_4_7.sce
new file mode 100644
index 000000000..2af582cf9
--- /dev/null
+++ b/2702/CH4/EX4.7/Ex_4_7.sce
@@ -0,0 +1,18 @@
+// Exa 4.7
+clc;
+clear;
+close;
+// Given data
+V_CM= 0;
+V_BE= -0.7;// in volt
+v_E= V_CM-V_BE;// in volt
+disp(v_E,"Value of v_E in volts is : ")
+
+I_E= (5-0.7)/10^3;// in A
+v_B1= 0.5;// in V
+v_B2= 0;// in V
+// Due to Q1 is off; therefore
+v_C1= -5;// in V
+v_C2= I_E*10^3-5;// in V
+disp(v_C1,"Value of v_C1 in volts is : ")
+disp(v_C2,"Value of v_C2 in volts is : ")
diff --git a/2702/CH4/EX4.8/Ex_4_8.sce b/2702/CH4/EX4.8/Ex_4_8.sce
new file mode 100644
index 000000000..42afd444d
--- /dev/null
+++ b/2702/CH4/EX4.8/Ex_4_8.sce
@@ -0,0 +1,11 @@
+// Exa 4.8
+clc;
+clear;
+close;
+// Given data
+iE1_by_I= 0.99; // as it is given that iE1= 0.99 *I
+VT= 0.025;// in volt
+// Formula iE1= I/(1+%e^(-vid/VT))
+// %e^(-vid/VT)= 1/iE1_by_I-1
+vid= log( 1/iE1_by_I-1)*(-VT);// in volt
+disp(round(vid*10^3),"Input differential signal in mVis : ")
diff --git a/2702/CH4/EX4.9/Ex_4_9.sce b/2702/CH4/EX4.9/Ex_4_9.sce
new file mode 100644
index 000000000..d36a4a156
--- /dev/null
+++ b/2702/CH4/EX4.9/Ex_4_9.sce
@@ -0,0 +1,46 @@
+// Exa 4.9
+clc;
+clear;
+close;
+// Given data
+Bita= 100;
+
+// Part (a)
+RE= 150;// in Ω
+VT= 25;// in mV
+VT= VT*10^-3;// in V
+IE= 0.5;// in mA
+IE=IE*10^-3;// in A
+re1= VT/IE;//in Ω
+R_id= 2*(Bita+1)*(re1+RE);// in Ω
+R_id= round(R_id*10^-3);// in kΩ
+disp(R_id,"The input differential resistance in kΩ is :")
+
+// Part (b)
+RC=10;//in kΩ
+RC=RC*10^3;//in Ω
+Rsig= 5+5;// in kΩ
+VoltageGain1= R_id/(Rsig+R_id);//voltage gain from the signal source to the base of Q1 and Q2 in V/V
+VoltageGain2= 2*RC/(2*(re1+RE));// voltage gain from the bases to the output in V/V
+Ad= VoltageGain1*VoltageGain2;//in V/V
+disp(Ad,"The overall differential voltage gain in V/V is ");
+
+// Part (c)
+delta_RC= 0.02*RC;
+R_EE= 200;//in kΩ
+R_EE=R_EE*10^3;//in Ω
+Acm= RC/(2*R_EE)*delta_RC/RC;//in V/V
+disp(Acm,"Common mode gain in V/V is :")
+
+// Part (d)
+CMRRindB= 20*log10(Ad/Acm);// in dB
+disp(CMRRindB,"CMRR in dB is : ")
+
+// Part (e)
+V_A= 100;// in V
+r_o= V_A/(IE);// in Ω
+// Ricm= (Bita+1)*(R_EE || r_o/2)
+Ricm= (Bita+1)*(R_EE*(r_o/2)/(R_EE+(r_o/2)));
+disp(Ricm*10^-6,"Input common mode resistance in MΩ is : ")
+
+