summaryrefslogtreecommitdiff
path: root/Integrated_Circuits_by_Dr._Sanjay_Sharma
diff options
context:
space:
mode:
Diffstat (limited to 'Integrated_Circuits_by_Dr._Sanjay_Sharma')
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_1.ipynb0
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_2.ipynb0
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_3.ipynb237
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_02_1.ipynb293
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_03_1.ipynb478
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_04_1.ipynb1178
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_05_1.ipynb1090
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_06_1.ipynb103
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_08_1.ipynb212
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_10_1.ipynb337
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_12_1.ipynb428
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_13_1.ipynb787
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/Ch_14_1.ipynb103
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/README.txt10
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap1_1.pngbin0 -> 39990 bytes
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap4_1.pngbin0 -> 40104 bytes
-rwxr-xr-xIntegrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap5_1.pngbin0 -> 50594 bytes
17 files changed, 5256 insertions, 0 deletions
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_1.ipynb
new file mode 100755
index 00000000..e69de29b
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_1.ipynb
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_2.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_2.ipynb
new file mode 100755
index 00000000..e69de29b
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_2.ipynb
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_3.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_3.ipynb
new file mode 100755
index 00000000..fcb27dd5
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_01_3.ipynb
@@ -0,0 +1,237 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Chapter : 1 - Analog Integrated Circuit Design : An Overview"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example - 1.1 : Page No - 35\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V_EE = 10 # in V\n",
+ "R2 = 2.4 # in k ohm\n",
+ "R1 = 2.4 # in k ohm\n",
+ "R3 = 1 # in k ohm\n",
+ "V_BE3 = 0.7 # in V\n",
+ "I = (V_EE - ((R2*V_EE)/(R1+R2)) - V_BE3)/R3 # in mA\n",
+ "print \"The constant current = %0.1f mA\" %I"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The constant current = 4.3 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example - 1.2 : Page No - 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "#Given data\n",
+ "V_CC = 50 # in V\n",
+ "V_BE2 = 0.7 # in V\n",
+ "R = 50 # in k ohm\n",
+ "R = 50 * 10**3 # in ohm\n",
+ "I_C1 = 10 # in \u00b5A\n",
+ "I_C1 =I_C1 * 10**-6 # in A\n",
+ "V_T = 26 # in mV\n",
+ "V_T = V_T * 10**-3 # in V\n",
+ "I_C2 = (V_CC - V_BE2)/R # in A\n",
+ "R_E = (V_T*log(I_C2/I_C1))/I_C1 # in ohm\n",
+ "R_E = R_E * 10**-3 # in k ohm\n",
+ "print \"The value of R_E = %0.3f k\u03a9\" %R_E"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_E = 11.937 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example - 1.3 : Page No - 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "V = 10 # in V\n",
+ "V_BE = 0.715 # in V\n",
+ "V_R = 0-(V_BE - V) # in V\n",
+ "R = 5.6 # in k ohm\n",
+ "I_R = V_R/R # in mA\n",
+ "bita = 100 \n",
+ "I_C = I_R * (bita/(1+bita)) # in mA\n",
+ "print \"For transistor Q1, the collector current = %0.4f mA\" %I_C\n",
+ "I_C2 = I_R # in mA\n",
+ "print \"For transistor Q2, the collector current = %0.3f mA\" %I_C2\n",
+ "I_C3 = I_R # in mA\n",
+ "print \"For transistor Q3, the collector current = %0.3f mA \" %I_C3\n",
+ "I_C4 = I_R # in mA\n",
+ "print \"For transistor Q4, the collector current = %0.3f mA \" %I_C4"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For transistor Q1, the collector current = 1.6416 mA\n",
+ "For transistor Q2, the collector current = 1.658 mA\n",
+ "For transistor Q3, the collector current = 1.658 mA \n",
+ "For transistor Q4, the collector current = 1.658 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example - 1.4 : Page No - 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V = 10 # in V\n",
+ "V_BE = 0.715 # in V\n",
+ "R = 5.6 # in k ohm\n",
+ "I = (V-V_BE)/(R) # in mA\n",
+ "bita = 100 \n",
+ "I_C1 = (bita/(4+bita))*I # in mA\n",
+ "print \"For transistor Q1, the collector current = %0.4f mA\" %I_C1\n",
+ "I_C2 = I_C1 # in mA\n",
+ "print \"For transistor Q2, the collector current = %0.4f mA\" %I_C2\n",
+ "I_C3 = I_C1 # in mA\n",
+ "print \"For transistor Q3, the collector current = %0.4f mA\" %I_C3\n",
+ "I_C4 = I_C1 # in mA\n",
+ "print \"For transistor Q4, the collector current = %0.4f mA\" %I_C4"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For transistor Q1, the collector current = 1.5943 mA\n",
+ "For transistor Q2, the collector current = 1.5943 mA\n",
+ "For transistor Q3, the collector current = 1.5943 mA\n",
+ "For transistor Q4, the collector current = 1.5943 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example - 1.5 : Page No - 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "#Given data\n",
+ "I_D1 = 100 # in \u00b5A\n",
+ "k_n = 200 # in \u00b5A/V**2\n",
+ "W = 10 # in \u00b5m\n",
+ "l = 1 # in \u00b5m\n",
+ "V_A = 20 # in V\n",
+ "V_ov = sqrt((I_D1*2)/(k_n*(W/l))) # in V\n",
+ "V_t = 0.7 # in V\n",
+ "V_GS = V_t + V_ov # in V\n",
+ "V_GS = round(V_GS) # in V\n",
+ "V_DD = 3 # in V\n",
+ "I_REF = 100 # in \u00b5A\n",
+ "I_REF = I_REF * 10**-3 # in mA\n",
+ "R = (V_DD - V_GS)/I_REF # in k ohm\n",
+ "print \"The value of R = %0.f k\u03a9\" %R \n",
+ "V_ov_min = V_ov # in volt\n",
+ "print \"The lowest possible value of V_o = %0.1f V\" %V_ov_min \n",
+ "r_o2 = V_A/I_D1 # in M ohm\n",
+ "print \"The output resistance % 0.1f M\u03a9\" %r_o2 \n",
+ "V_O = V_GS # in V\n",
+ "del_Io = V_O/r_o2 # in \u00b5A\n",
+ "print \"The change in output current del_Io = %0.f \u00b5A\" %del_Io "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R = 20 k\u03a9\n",
+ "The lowest possible value of V_o = 0.3 V\n",
+ "The output resistance 0.2 M\u03a9\n",
+ "The change in output current del_Io = 5 \u00b5A\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_02_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_02_1.ipynb
new file mode 100755
index 00000000..72b71ee5
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_02_1.ipynb
@@ -0,0 +1,293 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 2 - The 741 IC Op-Amp"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2 : Page No - 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "I_b1 = 18 # in \u00b5A\n",
+ "I_b2 = 22 # in \u00b5A\n",
+ "I_b = (I_b1+I_b2)/2 # in \u00b5A\n",
+ "print \"Input bias current %0.f \u00b5A\" %I_b \n",
+ "I_ios = abs(I_b1-I_b2) # in \u00b5A\n",
+ "print \"Input offset current = %0.f \u00b5A\" %I_ios"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input bias current 20 \u00b5A\n",
+ "Input offset current = 4 \u00b5A\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4 : Page No - 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import pi\n",
+ "#Given data\n",
+ "I_CQ = 10 # in \u00b5A\n",
+ "I_CQ= I_CQ*10**-6 # in A\n",
+ "I = I_CQ # in A\n",
+ "C_C = 33 # in pF\n",
+ "C_C=C_C*10**-12 # in F\n",
+ "C = C_C # in F\n",
+ "S = I/C # in V/sec\n",
+ "print \"The slew rate = %0.3f V/\u00b5-sec\" %(S*10**-6) \n",
+ "V_m = 12 # in V\n",
+ "f_m = S/(2*pi*V_m) # in Hz\n",
+ "f_m = f_m * 10**-3 # in kHz\n",
+ "print \"Maximum possible frequency = %0.3f kHz\" %f_m "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The slew rate = 0.303 V/\u00b5-sec\n",
+ "Maximum possible frequency = 4.019 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.5 : Page No - 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "CMRR = 100 \n",
+ "V1 = 300 # in \u00b5V\n",
+ "V2 = 240 # in \u00b5V\n",
+ "V_id = V1-V2 # in \u00b5V\n",
+ "V_cm = (V1+V2)/2 # in \u00b5V\n",
+ "A_id = 5000 \n",
+ "A_cm = A_id/CMRR \n",
+ "V_out = (A_id*V_id) + (A_cm*V_cm) # in \u00b5V\n",
+ "V_out = V_out * 10**-3 # in mV\n",
+ "print \"Part (i)\"\n",
+ "print \"The output Voltage = %0.1f mV\" %V_out \n",
+ "print \"\\nPart (ii)\"\n",
+ "CMRR = 10**5 \n",
+ "A_cm = A_id/CMRR \n",
+ "V_out = (A_id*V_id) + (A_cm*V_cm) # in \u00b5V\n",
+ "V_out = V_out* 10**-3 # in mV\n",
+ "print \"The output voltage = %0.f mV\" %V_out "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part (i)\n",
+ "The output Voltage = 313.5 mV\n",
+ "\n",
+ "Part (ii)\n",
+ "The output voltage = 300 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6 : Page No - 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import log10\n",
+ "#Given data\n",
+ "R1 = 1 # in k ohm\n",
+ "R2 = 100 # in k ohm\n",
+ "A_id = R2/R1 # in k ohm\n",
+ "Epsilon = 1 - (90/R2) \n",
+ "A_cm = (R2*Epsilon)/(R1+R2)\n",
+ "CMMR = A_id/A_cm \n",
+ "CMRR = 20*log10(CMMR) # in dB\n",
+ "print \"The value of CMRR = %0.f dB\" %CMRR "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of CMRR = 60 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6 Again : Page No - 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "gm1= 1/5.26 # in mA/V\n",
+ "gm1= gm1*10**-3 # in A/v\n",
+ "I= 9.5 # in \u00b5A\n",
+ "I=I*10**-6 # in A\n",
+ "del_I= 5.5*10**-3*I # in A\n",
+ "V_OS= del_I/gm1 # in V\n",
+ "print \"The offset voltage = %0.1f mV\" %(V_OS*10**3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The offset voltage = 0.3 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.17 : Page No - 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V = 10 # in V\n",
+ "R1 = 1 # in k ohm\n",
+ "R1=R1*10**3 # in ohm\n",
+ "R2 = 9 # in k ohm\n",
+ "R2= R2*10**3 # in ohm\n",
+ "I_out = 20 # in mA\n",
+ "I_out=I_out*10**-3 # in A\n",
+ "R_L = V/( I_out-(V/(R1+R2)) ) # in ohm\n",
+ "print \"The lowest value of R_L = %0.f ohm\" %R_L "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lowest value of R_L = 500 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.18 : Page No - 93\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "I_CQ = 10 # in \u00b5A\n",
+ "I_CQ= I_CQ*10**-6 # in A\n",
+ "I = I_CQ # in A\n",
+ "C_C = 33 # in pF\n",
+ "C_C=C_C*10**-12 # in F\n",
+ "C = C_C # in F\n",
+ "S = I/C # in V/sec\n",
+ "print \"The slew rate = %0.3f V/\u00b5-sec\" %(S*10**-6 )\n",
+ "V_m = 12 # in V\n",
+ "f_m = S/(2*pi*V_m) # in Hz\n",
+ "f_m = f_m * 10**-3 # in kHz\n",
+ "print \"Maximum possible frequency = %0.3f kHz\" %f_m "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The slew rate = 0.303 V/\u00b5-sec\n",
+ "Maximum possible frequency = 4.019 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_03_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_03_1.ipynb
new file mode 100755
index 00000000..c582fb8a
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_03_1.ipynb
@@ -0,0 +1,478 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 3 - Op-amp with Negative Feedback"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 : Page No - 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A = 2*10**5 \n",
+ "R_F = 4.7*10**3 # in ohm\n",
+ "R1 = 470 # in ohm\n",
+ "K = R_F/(R1+R_F) \n",
+ "B = R1/(R1+R_F) \n",
+ "A_F = -(A*R_F)/(R1+R_F+(R1*A)) \n",
+ "print \"The closed loop voltage gain = %0.f\" %A_F \n",
+ "R_in = 2 # in M ohm\n",
+ "R_in = R_in * 10**6 # in ohm\n",
+ "R_inf = R1 + ( (R_F*R_in)/(R_F+R_in + (A*R_in)) ) # in ohm\n",
+ "print \"Input resistance = %0.3f \u03a9\" %R_inf \n",
+ "R_o = 75 # in ohm\n",
+ "R_of = R_o/(1+(A*B)) # in ohm\n",
+ "R_of = R_of * 10**3 # in m\u03a9\n",
+ "print \"Output Resistance = %0.2f m\u03a9\" %R_of \n",
+ "f_o = 5 # Hz\n",
+ "f_f = f_o*(1+(A*B)) # in Hz\n",
+ "f_f = f_f *10**-3 # in kHz\n",
+ "print \"Band width with feedback = %0.3f kHz\" %f_f \n",
+ "\n",
+ "# Note: In the book, the unit of output resistant is wrong it will be m\u03a9 (not M\u03a9)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The closed loop voltage gain = -10\n",
+ "Input resistance = 470.023 \u03a9\n",
+ "Output Resistance = 4.12 m\u03a9\n",
+ "Band width with feedback = 90.914 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 : Page No - 116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "A_F = -30 \n",
+ "R_F = 1 # in M ohm\n",
+ "R1 = -(R_F/A_F) # in Mohm\n",
+ "R_i = R1 # in Mohm\n",
+ "print \"Input resistance = %0.2f k\u03a9\" %(R_i*10**3) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance = 33.33 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 : Page No - 120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A_F = 61 \n",
+ "R1 = 1 # in k ohm\n",
+ "R1 = R1 * 10**3 # in ohm\n",
+ "R_F = (A_F-1)*R1 # in ohm\n",
+ "R_F = R_F * 10**-3 # k ohm\n",
+ "print \"The value of feedback resistance = %0.f k\u03a9\" %R_F "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of feedback resistance = 60 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 : Page No - 120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A = 2*10**5 \n",
+ "R1 = 1 # in k ohm\n",
+ "R1 = R1 *10**3 # in ohm\n",
+ "R_F = 10 # in k ohm\n",
+ "R_F = R_F * 10**3 # in ohm\n",
+ "B = R1/(R1+R_F) \n",
+ "R_i = 2 # in M ohm\n",
+ "R_i = R_i * 10**6 # in ohm\n",
+ "R_o = 75 # in ohm\n",
+ "A_F = A/(1+(A*B)) \n",
+ "print \"The closed loop gain = %0.3f\" %A_F \n",
+ "R_if = R_i * (1+(A*B)) # in ohm\n",
+ "print \"Input resistance = %0.2f G\u03a9\" %(R_if*10**-9) \n",
+ "R_of = R_o/(1+(A*B)) # in ohm\n",
+ "R_of = R_of * 10**3 # in m\u03a9\n",
+ "print \"The output resistance = %0.2f m\u03a9\" %R_of \n",
+ "f_o = 5 # in Hz\n",
+ "f_f = f_o*(1+(A*B)) # in Hz\n",
+ "f_f = f_f * 10**-3 # in kHz ... correction....\n",
+ "print \"Bandwidth with feedback = %0.2f kHz\" %f_f "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The closed loop gain = 10.999\n",
+ "Input resistance = 36.37 G\u03a9\n",
+ "The output resistance = 4.12 m\u03a9\n",
+ "Bandwidth with feedback = 90.91 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 : Page No - 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A =2*10**5 \n",
+ "R_i = 2 # in M ohm\n",
+ "R1 = 1 # in ohm \n",
+ "R_o= 75 # in ohm\n",
+ "R_F = 1 # in ohm\n",
+ "B = R1/(R1+R_F) \n",
+ "A_F = -1 \n",
+ "print \"The voltage gain = %0.f\" %A_F \n",
+ "R_if = 330 # in ohm\n",
+ "print \"Input resistance = %0.f \u03a9\" %R_if \n",
+ "R_of = R_o/(A/2) # in ohm\n",
+ "print \"Output resistance = %0.5f \u03a9\" %R_of \n",
+ "f_o = 5 # in Hz\n",
+ "f_F = (A/2)*f_o # in Hz\n",
+ "f_F = f_F * 10**-6 # in MHz\n",
+ "print \"The bandwidth = %0.1f MHz\" %f_F "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain = -1\n",
+ "Input resistance = 330 \u03a9\n",
+ "Output resistance = 0.00075 \u03a9\n",
+ "The bandwidth = 0.5 MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7 : Page No - 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A = 2*10**5 \n",
+ "R_i = 2 #in M ohm\n",
+ "R_i = 2*10**6 # in ohm\n",
+ "R_o = 75 #in ohm\n",
+ "f_o = 5 # in Hz\n",
+ "V_CC = 15 # in V\n",
+ "V_EE = -15 # in V\n",
+ "R1 = 1 # in k ohm\n",
+ "R1 = R1 * 10**3 # in ohm\n",
+ "R_F = 10 # in k ohm\n",
+ "R_F = R_F * 10**3 # in ohm\n",
+ "OVS= 13 # output voltage swing in V in \u00b1\n",
+ "B = R1/(R1+R_F) \n",
+ "A_B = A*B \n",
+ "A_B1 = 1+(A*B) \n",
+ "A_F = (1+(R_F/R1)) \n",
+ "print \"Part (i) For non-inverting amplifier :-\"\n",
+ "print \"The value of A_F = %0.f\" %A_F \n",
+ "R_iF = R_i * (A_B1) # in ohm\n",
+ "print \"The value of R_iF = %0.4f G\u03a9\" %(R_iF*10**-9) \n",
+ "R_OF = R_o/(A_B1) # in ohm\n",
+ "print \"The value of R_OF = %0.5f ohm\" %R_OF \n",
+ "f_F = f_o*A_B1 # in Hz\n",
+ "f_F =f_F * 10**-3 # in kHz\n",
+ "print \"The value of f_F = %0.2f kHz\" %f_F \n",
+ "V_ooT= OVS/(1+A*B) # in V\n",
+ "print \"The value of VooT = \u00b1\",round(V_ooT,6),\"volts = \u00b1\",round(V_ooT*10**3,3),\" mV\"\n",
+ "\n",
+ "print \"\\nPart (ii) For inverting amplifier\"\n",
+ "R_F = 4.7 # in k ohm\n",
+ "R_F = R_F* 10**3 # in ohm\n",
+ "R_1 = 470 # in ohm\n",
+ "A_F = -(R_F)/R_1 \n",
+ "print \"The value of A_F = %0.f\" %A_F \n",
+ "R_iF = R_1# in ohm\n",
+ "print \"The value of R_iF = %0.f \u03a9\" %R_iF \n",
+ "R_OF = R_o/(A_B1) # in ohm\n",
+ "print \"The value of R_OF = %0.5f \u03a9\" %R_OF \n",
+ "f_F = f_o*A_B1 # in Hz\n",
+ "f_F =f_F * 10**-3 # in kHz\n",
+ "print \"The value of f_F = %0.2f kHz\" %f_F \n",
+ "V_ooT = OVS/A_B1 # in mV\n",
+ "print \"The value of VooT = \u00b1\",round(V_ooT*10**3,3),\" mV\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part (i) For non-inverting amplifier :-\n",
+ "The value of A_F = 11\n",
+ "The value of R_iF = 36.3656 G\u03a9\n",
+ "The value of R_OF = 0.00412 ohm\n",
+ "The value of f_F = 90.91 kHz\n",
+ "The value of VooT = \u00b1 0.000715 volts = \u00b1 0.715 mV\n",
+ "\n",
+ "Part (ii) For inverting amplifier\n",
+ "The value of A_F = -10\n",
+ "The value of R_iF = 470 \u03a9\n",
+ "The value of R_OF = 0.00412 \u03a9\n",
+ "The value of f_F = 90.91 kHz\n",
+ "The value of VooT = \u00b1 0.715 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.8 : Page No - 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R1 = 5 # in k ohm\n",
+ "R_F = 500 # in k ohm\n",
+ "V_in = 0.1 # in V\n",
+ "A_F = -(R_F/R1) \n",
+ "print \"Voltage gain = %0.f\" %A_F \n",
+ "R_i = R1 # in k ohm\n",
+ "print \"The Input resistance = %0.f k\u03a9\" %R_i \n",
+ "R_o = 0 # in ohm\n",
+ "print \"Output resistance = %0.f \u03a9\" %R_o \n",
+ "V_out = A_F*V_in # in V\n",
+ "print \"Output voltage = %0.f V\" %V_out \n",
+ "I_in = V_in/(R1*10**3) # in A\n",
+ "I_in = I_in * 10**3 # in mA\n",
+ "print \"Input current = %0.2f mA\" %I_in "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain = -100\n",
+ "The Input resistance = 5 k\u03a9\n",
+ "Output resistance = 0 \u03a9\n",
+ "Output voltage = -10 V\n",
+ "Input current = 0.02 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9 : Page No - 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R_F = 1 # in M ohm\n",
+ "R_in = 1 # in M ohm\n",
+ "V_in = 1 # in V (assumed)\n",
+ "V_out = -(R_F/R_in)*V_in \n",
+ "A_v = V_out/V_in \n",
+ "print \"The value of A_v = %0.f\" %A_v \n",
+ "I_in = 1 # in A\n",
+ "I_out = I_in # in A\n",
+ "A_in = I_out/I_in \n",
+ "print \"The value of A_in = %0.f\" %A_in \n",
+ "A_P = abs(A_v*A_in) \n",
+ "print \"The value of A_P = %0.f\" %A_P"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of A_v = -1\n",
+ "The value of A_in = 1\n",
+ "The value of A_P = 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10 : Page No - 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R_F = 1 # in M ohm\n",
+ "R_F = R_F * 10**6 # in ohm\n",
+ "Av= -30 \n",
+ "R1 = R_F/abs(Av) # in ohm\n",
+ "R1 = R1 * 10**-3 # in k ohm\n",
+ "print \"The value of R_F = %0.f M\u03a9 \" %(R_F*10**-6)\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_F = 1 M\u03a9 \n",
+ "The value of R1 = 33 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11 : Page No - 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A_v = -8 \n",
+ "V_in= -1 # in V\n",
+ "I1 = 15 # in \u00b5A\n",
+ "I1 = I1 * 10**-6 # in A\n",
+ "R1 = -(V_in)/I1 # in ohm\n",
+ "R1 = R1 * 10**-3 # in k ohm\n",
+ "print \"Minimum value of R1 = %0.2f k\u03a9 (standard value 68 k\u03a9)\" %R1 \n",
+ "R1= 68 # kohm (Use standard value)\n",
+ "R_F = -(A_v)*R1 # in k ohm\n",
+ "print \"The minimum value of R_F = %0.f k\u03a9\" %R_F \n",
+ "\n",
+ "# Note: There is calculation error in the book to find the value of R_F so the answer in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of R1 = 66.67 k\u03a9 (standard value 68 k\u03a9)\n",
+ "The minimum value of R_F = 544 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_04_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_04_1.ipynb
new file mode 100755
index 00000000..8d01f358
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_04_1.ipynb
@@ -0,0 +1,1178 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 4 - Linear Applications of IC Op-Amps"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1 : Page No - 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R1= 1 # in k\u03a9\n",
+ "R2= 1 # in k\u03a9\n",
+ "R3= 1 # in k\u03a9\n",
+ "RF= 1 # in k\u03a9\n",
+ "Vin1= 2 # in volt\n",
+ "Vin2= 1 # in volt\n",
+ "Vin3= 4 # in volt\n",
+ "Vout= -(RF/R1*Vin1+RF/R2*Vin2+RF/R3*Vin3)\n",
+ "print \"The output voltage = %0.f volts\" %Vout\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage = -7 volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2 : Page No - 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "RF= 100 # in k\u03a9\n",
+ "Vout= '-(V1+10*V2+100*V3)' # Given data data expression\n",
+ "# Vout= -(RF/R1*V1+RF/R2*V2+RF/R3*V3)\n",
+ "# Comparing the Vout with the Given data data expression\n",
+ "R1= RF # in k\u03a9\n",
+ "R2= RF/10 # in k\u03a9\n",
+ "R3= RF/100 # in k\u03a9\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1 \n",
+ "print \"The value of R2 = %0.f k\u03a9\" %R2 \n",
+ "print \"The value of R3 = %0.f k\u03a9\" %R3 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 100 k\u03a9\n",
+ "The value of R2 = 10 k\u03a9\n",
+ "The value of R3 = 1 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 : Page No - 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R1= 12 # in k\u03a9\n",
+ "R2= 2 # in k\u03a9\n",
+ "R3= 3 # in k\u03a9\n",
+ "RF= 12 # in k\u03a9\n",
+ "V1= 9 # in volt\n",
+ "V2= -3 # in volt\n",
+ "V3= -1 # in volt\n",
+ "Vout= -(RF/R1*V1+RF/R2*V2+RF/R3*V3)\n",
+ "print \"The output voltage = %0.f volts\" %Vout"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage = 13 volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4 : Page No - 132"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "RF= 6 # in k\u03a9\n",
+ "Vout= '-V1+2*V2-3*V3' # Given data data expression or\n",
+ "Vout= '-(V1-2*V2+3*V3)' \n",
+ "# Vout= -(RF/R1*V1+RF/R2*V2+RF/R3*V3)\n",
+ "# Comparing the Vout with the Given data data expression\n",
+ "R1= RF # in k\u03a9\n",
+ "R2= RF/2 # in k\u03a9\n",
+ "R3= RF/3 # in k\u03a9\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1 \n",
+ "print \"The value of R2 = %0.f k\u03a9\" %R2 \n",
+ "print \"The value of R3 = %0.f k\u03a9\" %R3 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 6 k\u03a9\n",
+ "The value of R2 = 3 k\u03a9\n",
+ "The value of R3 = 2 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 : Page No - 132"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data \n",
+ "R3= 10 # in k\u03a9\n",
+ "Vout= '-2*V1+3*V2+4*V3' # Given data data expression or\n",
+ "Vout= '-(2*V1-3*V2-4*V3)' \n",
+ "# Vout= -(RF/R1*V1+RF/R2*V2+RF/R3*V3)\n",
+ "# Comparing the Vout with the Given data data expression, we get\n",
+ "RF= 4*R3 # in k\u03a9\n",
+ "R2= RF/3 # in k\u03a9\n",
+ "R1= RF/2 # in k\u03a9\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %RF\n",
+ "print \"The value of R2 = %0.2f k\u03a9\" %R2 \n",
+ "print \"The value of R3 = %0.f k\u03a9\" %R1 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 40 k\u03a9\n",
+ "The value of R2 = 13.33 k\u03a9\n",
+ "The value of R3 = 20 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6 : Page No - 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "V1= 2 # in V\n",
+ "V2= -1 # in V\n",
+ "R=10 # assuming value in k\u03a9\n",
+ "R1=R # in k\u03a9\n",
+ "R2= R # in k\u03a9\n",
+ "R3= R # in k\u03a9\n",
+ "R4= R # in k\u03a9\n",
+ "RF= 2*R # in k\u03a9\n",
+ "Vin1= V1*(R1*R2/(R1+R2))/(R1+(R2*R3/(R2+R3))) # in V\n",
+ "Vout1= Vin1*(1+RF/R1) # in V\n",
+ "Vin2= V2*(R3*R4/(R3+R4))/(R2+(R3*R4/(R3+R4))) # in V\n",
+ "Vout2= Vin2*(1+RF/R2) # in V\n",
+ "Vout= Vout1+Vout2 # in V\n",
+ "print \"The output voltage = %0.f volts\" %Vout\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage = 1 volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7 : Page No - 143"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import pi \n",
+ "#Given data \n",
+ "R1= 10 # in k\u03a9\n",
+ "CF= 0.1 # in micro F\n",
+ "CF= CF*10**-6 # in F\n",
+ "RF= 10*R1 # in k\u03a9\n",
+ "RF= RF*10**3 # in \u03a9\n",
+ "fa= 1/(2*pi*RF*CF) # in Hz\n",
+ "print \"Limiting frequency = %0.2f Hz\" %fa"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Limiting frequency = 15.92 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8 : Page No - 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "f=10 # in kHz\n",
+ "f=f*10**3 # in Hz\n",
+ "dcGain= 10 \n",
+ "fa= f/10 # in Hz\n",
+ "R1= 10 # in k\u03a9\n",
+ "# Formula dcGain= RF/R1\n",
+ "RF= R1*dcGain # in k\u03a9\n",
+ "RF=RF*10**3 # in \u03a9\n",
+ "R1= R1*10**3 # in \u03a9\n",
+ "# Formula fa= 1/(2*pi*RF*CF)\n",
+ "CF= 1/(2*pi*RF*fa) # in F\n",
+ "CF=CF*10**10 # in nF\n",
+ "Rcomp= R1*RF/(R1+RF) # in \u03a9\n",
+ "print \"The value of CF = %0.f nF\" %CF\n",
+ "print \"The value of Rcomp = %0.2f k\u03a9\" %(Rcomp*10**-3) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of CF = 16 nF\n",
+ "The value of Rcomp = 9.09 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 : Page No - 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "Vin=5 # in V\n",
+ "R1= 1 # in k\u03a9\n",
+ "R1= R1*10**3 # in \u03a9\n",
+ "CF= 0.1 # in \u00b5F\n",
+ "CF= CF*10**-6 # in F\n",
+ "f= 1 # in kHz\n",
+ "f= f *10**3 # in Hz\n",
+ "T= 1/f # in sec\n",
+ "delta_Vout= Vin*T/(2*R1*CF) # in V\n",
+ "print \"The maximum change in output voltage = %0.f volts\" %delta_Vout\n",
+ "S= 2*pi*f*Vin # in V/sec\n",
+ "print \"The minimum slew rate required = %0.5f V/micro-sec\" %(S*10**-6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum change in output voltage = 25 volts\n",
+ "The minimum slew rate required = 0.03142 V/micro-sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.10 : Page No - 146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10, sqrt\n",
+ "#Given data \n",
+ "R_F = 1.2 # in M ohm\n",
+ "R_F = R_F * 10**6 # in ohm\n",
+ "C_F = 10 # in nF\n",
+ "C_F = C_F * 10**-9 # in F\n",
+ "f_a = 1/(2*pi*R_F*C_F) # in Hz\n",
+ "print \"The safe frequency = %0.2f Hz\" %f_a \n",
+ "R1 = 120 # in k ohm\n",
+ "R1 = R1 * 10**3 # in ohm\n",
+ "A = R_F/R1 \n",
+ "AindB= 20*log10(A) # in dB\n",
+ "print \"The d.c gain = %0.f dB\" %AindB \n",
+ "f = 10 # in kHz\n",
+ "f = f * 10**3 # in Hz\n",
+ "A = (R_F/R1)/(sqrt( 1+ ((f/f_a)**2) )) \n",
+ "V_in_peak = 5 # in V\n",
+ "V_out_peak = V_in_peak*A # in V\n",
+ "print \"The peak of output voltage = %0.f mV\" %(V_out_peak*10**3) \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The safe frequency = 13.26 Hz\n",
+ "The d.c gain = 20 dB\n",
+ "The peak of output voltage = 66 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11 : Page No - 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "Vrms= 10 # in mV\n",
+ "f= 2*10**3 # in kHz\n",
+ "C= 2*10**-6 # in F\n",
+ "R= 50*10**3 # in ohm\n",
+ "SF= -1/(C*R) # scale factor\n",
+ "#Vout= -1/(R*C)*sqrt(2)*Vrms*integrate('sind(2*pi*f*t)','t',0,t) # in mV\n",
+ "#Vout= 1/(R*C)*sqrt(2)*Vrms/(2*pi*f)*(cos(4000*t)-1) # in mV\n",
+ "V= 1/(R*C)*sqrt(2)*Vrms/(2*pi*f) # (assumed)\n",
+ "print \"Output voltage in mV is : \",round(V,4),\"*(cos(4000 *t)-1) mV\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage in mV is : 0.0113 *(cos(4000 *t)-1) mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12 : Page No - 147"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "Vin=10 # in V\n",
+ "R= 2.2 # in k\u03a9\n",
+ "R= R*10**3 # in \u03a9\n",
+ "T= 1 # in ms\n",
+ "T= T*10**-3 # in sec\n",
+ "C= 1 # in \u00b5F\n",
+ "C= C*10**-6 # in F\n",
+ "gain= 10**5 # differential voltage gain\n",
+ "I= Vin/R # in A\n",
+ "V= I*T/C # in V\n",
+ "print \"The capacitor voltage at the end of the pulse = %0.3f volts\" %V\n",
+ "RC_desh= R*C*gain # in sec\n",
+ "print \"The closed loop time constant = %0.f sec\" %RC_desh"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The capacitor voltage at the end of the pulse = 4.545 volts\n",
+ "The closed loop time constant = 220 sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.13 : Page No - 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "omega= 10000 # in rad/sec\n",
+ "GaindB= 20 # peak gain in dB\n",
+ "Gain= 10**(GaindB/20) \n",
+ "C= 0.01 # in \u00b5F\n",
+ "C= C*10**-6 # in F\n",
+ "# Formula omega= 1/(C*RF)\n",
+ "RF= 1/(C*omega) # in \u03a9\n",
+ "R1= RF/Gain # in \u03a9\n",
+ "print \"The value of RF = %0.f k\u03a9\" %(RF*10**-3)\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %(R1*10**-3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of RF = 10 k\u03a9\n",
+ "The value of R1 = 1 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.14 : Page No - 148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from scipy.integrate import quad\n",
+ "from sympy import symbols\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib.pylab import plot, show, ylim, xlim, text, subplot\n",
+ "a= symbols('a')\n",
+ "# Given data\n",
+ "R= 40 # in k\u03a9\n",
+ "R= R*10**3 # in \u03a9\n",
+ "C= 0.2 # in \u00b5F\n",
+ "C= C*10**-6 # in F\n",
+ "Vin= 5 # in V\n",
+ "V1= 3 # in V\n",
+ "t= 50 # in ms\n",
+ "Vout= 3 # in V\n",
+ "# Evaluation the integration\n",
+ "def integrand(x):\n",
+ " return (Vin-V1)\n",
+ "a=1\n",
+ "ans, err = quad(integrand, 0, 50)\n",
+ "# Output voltage when swith is open\n",
+ "vout= -1/(R*C)*ans*10**-3+Vout #in V\n",
+ "plt.plot([0,t],[Vout,vout]) \n",
+ "plt.title('Output voltage') \n",
+ "plt.xlabel('Time in milliseconds')\n",
+ "plt.ylabel('Output voltage in volts')\n",
+ "plt.show()\n",
+ "print \"The value of Vout = %0.1f\" %vout\n",
+ "print \"Plot for output voltage shown in figure\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fa9a122c250>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vout = -9.5\n",
+ "Plot for output voltage shown in figure\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15 : Page No - 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from scipy.integrate import quad\n",
+ "import numpy as np\n",
+ "# Given data\n",
+ "R= 500 # in k\u03a9\n",
+ "R= R*10**3 # in \u03a9\n",
+ "C= 10 # in \u00b5F\n",
+ "C= C*10**-6 # in F\n",
+ "vout= 12 # in V\n",
+ "v= -0.5 # in V\n",
+ "# given output equation : vout= -1/RC * integrate[v(t) * dt + A] \n",
+ "# Evaluation the integration\n",
+ "def integrand(t):\n",
+ " return -t\n",
+ "ans, err = quad(integrand, 0, 1)\n",
+ "vout_by_t= -1/(R*C)*ans #in V/sec\n",
+ "# Time required for saturation of output voltage\n",
+ "t= vout/vout_by_t # in sec\n",
+ "print \"The time duration required for saturation of output voltage = %0.f seconds\" %t"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time duration required for saturation of output voltage = 120 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.16 : Page No - 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "C_F = 10 # in \u00b5F\n",
+ "C_F = C_F * 10**-6 # in F\n",
+ "R1 = 1/C_F # in ohm\n",
+ "R1 = R1 * 10**-3 # in k ohm\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1 \n",
+ "R2 = 1/(C_F*2) # in ohm\n",
+ "R2 = R2 * 10**-3 # in k ohm\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R2 \n",
+ "R3 = 1/(C_F*5) # in ohm\n",
+ "R3 = R3 * 10**-3 # in k ohm\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R3 \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 100 k\u03a9\n",
+ "The value of R1 = 50 k\u03a9\n",
+ "The value of R1 = 20 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.17 : Page No - 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "f_max = 150 # in Hz\n",
+ "f_a = f_max # in Hz\n",
+ "print \"The value of f_a = %0.f Hz\" %f_a\n",
+ "C1 = 1 # in \u00b5F\n",
+ "C1 = C1 * 10**-6 # in F\n",
+ "R_F = 1/(2*pi*f_a*C1) # in ohm\n",
+ "print \"The value of R_F = %0.2f k\u03a9\" %(R_F*10**-3) \n",
+ "f_b = 10*f_a # in Hz\n",
+ "R1 = 1/(2*pi*f_b*C1) # in ohm\n",
+ "C_F = (R1*C1)/R_F # in F\n",
+ "print \"The value of C_F = %0.1f \u00b5F\" %(C_F*10**6) \n",
+ "R_comp = (R1*R_F)/(R1+(R_F)) # in ohm\n",
+ "print \"The value of R_comp = %0.2f \u03a9\" %R_comp"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of f_a = 150 Hz\n",
+ "The value of R_F = 1.06 k\u03a9\n",
+ "The value of C_F = 0.1 \u00b5F\n",
+ "The value of R_comp = 96.46 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.18 : Page No - 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from sympy import symbols, sin\n",
+ "t , pi = symbols('t pi')\n",
+ "#Given data \n",
+ "Vmax= 10 # in \u00b5V\n",
+ "f= 2*10**3 # in kHz\n",
+ "#Vin= Vmax*sin(2*pi*f*t) # in \u00b5V\n",
+ "Vin = (Vmax*sin(2*pi*f*t)) # in mV\n",
+ "#print \"The input voltage is \"+string(Vmax)+\"*sin (\"+string(2*f)+\"pi*t) \"\n",
+ "print \" The input voltage = \",Vin,\"\u00b5V\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The input voltage = 10*sin(4000*pi*t) \u00b5V\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.19 : Page No - 159"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "%matplotlib inline\n",
+ "from sympy import symbols, simplify, sin\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "# Given data\n",
+ "fa= 1 # in kHz\n",
+ "fa=fa*10**3 # in Hz\n",
+ "Vp=1.5 # in volt\n",
+ "f= 200 # in Hz\n",
+ "C=0.1 # in micro F\n",
+ "C=C*10**-6 # in F\n",
+ "R= 1/(2*np.pi*fa*C) # in ohm\n",
+ "R=R*10**-3 # in k ohm\n",
+ "R=np.floor(R*10)/10 # in k ohm\n",
+ "fb= 20*fa # in Hz\n",
+ "R_desh= 1/(2*np.pi*fb*C) # in ohm\n",
+ "# Let\n",
+ "R_desh= 82 # in ohm\n",
+ "R_OM= R # in k ohm\n",
+ "print \"Value of R_OM = %0.1f k ohm\" %R_OM\n",
+ "CR= C*R \n",
+ "# Vin= Vp*sin(omega*t)= 1.5*sin(400*t)\n",
+ "# v_out= -CR*diff(v_in) = -0.2827 Cos(400*pi*t)# in micro volt\n",
+ "print \"Output Voltage = -0.2827 Cos(400*pi*t)\" \n",
+ "t = np.arange(0, .015, 1.0/44100)\n",
+ "v_out=-0.2827*np.sin(400*np.pi*t+np.pi/2)# in micro volt\n",
+ "plot(t,v_out) \n",
+ "plt.title('Output Voltage Waveform')\n",
+ "plt.xlabel('Time in ms')\n",
+ "plt.ylabel('Vout in Volts') \n",
+ "print \"Output Voltage waveform is shown in figure.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R_OM = 1.5 k ohm\n",
+ "Output Voltage = -0.2827 Cos(400*pi*t)\n",
+ "Output Voltage waveform is shown in figure."
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fa9a376bb90>"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.20 : Page No - 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data \n",
+ "R2 = 100 # in ohm\n",
+ "R1 = 200 # in ohm\n",
+ "R_F = 100 # in k ohm\n",
+ "R_F = R_F * 10**3 # in ohm\n",
+ "R_G = 100 # in ohm\n",
+ "Gain_max = ( 1+((2*R_F)/R_G) ) * (R2/R1) \n",
+ "R = 100 # in k ohm\n",
+ "R_G1 = 0.01+R # in k ohm\n",
+ "R_G1 = R_G1 * 10**3 # in ohm\n",
+ "Gain_min = ( 1+((2*R_F)/R_G1) ) * (R2/R1) \n",
+ "print \"The gain can be varied from \",round(Gain_min,1),\" to \",round(Gain_max,1)\n",
+ "\n",
+ "#Note : In the book the value of maximum gain is not accurate "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The gain can be varied from 1.5 to 1000.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.21 : Page No - 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R1 = 100 # in k ohm\n",
+ "R2 = 100 # in k ohm\n",
+ "R_F = 470 # in k ohm\n",
+ "Gain = 100 \n",
+ "R_G = (2*R_F)/(Gain-1) # in ohm\n",
+ "print \"The value of R_G = %0.2f ohm\" %R_G"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_G = 9.49 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.22 : Page No - 174"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R = 100 # in ohm\n",
+ "T = 25 # in degree C\n",
+ "alpha = 0.00392 \n",
+ "R1 = R*(1+(alpha*T)) # in ohm\n",
+ "expression= 'R_T= Ro*[1+alpha*T]' \n",
+ "print \"The expression for the resistance at T\u00b0C : R_T= Ro*[1+alpha*T]\"\n",
+ "print \"The transducer resistance at 25\u00b0C = %0.1f \u03a9\" %R1 \n",
+ "T = 100 # in degree C\n",
+ "R2 = R*(1+(alpha*T)) # in ohm\n",
+ "print \"The transducer resistance at 100\u00b0C = %0.1f \u03a9\" %R2 \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The expression for the resistance at T\u00b0C : R_T= Ro*[1+alpha*T]\n",
+ "The transducer resistance at 25\u00b0C = 109.8 \u03a9\n",
+ "The transducer resistance at 100\u00b0C = 139.2 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.23 : Page No - 176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R3 = 1 # in k ohm\n",
+ "R4 = 1 # in k ohm\n",
+ "R_min = R4/R3 \n",
+ "R_4 = 50 # in k ohm\n",
+ "R_max = (R_4+R4)/R3 \n",
+ "R2 = 10 # in k ohm\n",
+ "A_F = 5 \n",
+ "R1 = (((A_F/R_min)-1)*R2)/2 # in k ohm\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1 \n",
+ "print \"The value of R2 = %0.f k\u03a9\" %R2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 20 k\u03a9\n",
+ "The value of R2 = 10 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.24 : Page No - 177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R1= 100 # in k\u03a9\n",
+ "R2=200 # in k\u03a9\n",
+ "R3= 20 # in k\u03a9\n",
+ "R4=40 # in k\u03a9\n",
+ "#Vout= [1+R2/R1]*[R4/(R3+R4)]*Vin1-R2/R1*Vin2\n",
+ "A=(1+R2/R1)*(R4/(R3+R4)) # (assumed)\n",
+ "print \"Output voltage =\",int(A),\"*(Vin1-Vin2)\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage = 2 *(Vin1-Vin2)\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.25 : Page No - 177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R_F = 5 # in k ohm\n",
+ "R_G = 1 # in k ohm\n",
+ "R1 = 10 # in k ohm\n",
+ "R2 = 20 # in k ohm\n",
+ "A = (1 + ((2*R_F)/R_G))*(R2/R1) \n",
+ "print \"The gain of instrumentaion amplifier = %0.f\" %A"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The gain of instrumentaion amplifier = 22\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.27 : Page No - 178\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "R_F = 10 # in k ohm\n",
+ "R_G = 5 # in k ohm\n",
+ "R1 = 1 # in k ohm\n",
+ "R2 = 2 # in k ohm\n",
+ "A = (1+ ((2*R_F)/R_G))*(R2/R1) \n",
+ "V_in2 = 2 # in mV\n",
+ "V_in1 = 1 # in mV\n",
+ "V_out = A*(V_in2-V_in1) # in mV\n",
+ "print \"The output voltage = %0.f mV\" %V_out"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage = 10 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.28 : Page No - 178\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data \n",
+ "V_out = 3 # in V\n",
+ "V_in2 = 5 # in mV\n",
+ "V_in1 = 2 # in mV\n",
+ "V1 = V_in2-V_in1 # in mV\n",
+ "V1 = V1 * 10**-3 # in V\n",
+ "A = V_out/V1 \n",
+ "R_F = 15 # in k ohm\n",
+ "R1 = 1 # in k ohm\n",
+ "R2 = 2 # in k ohm\n",
+ "R = R2/R1 # in k ohm\n",
+ "R_G = (2*R_F)/((A/R)-1) #in k ohm\n",
+ "R_G = R_G * 10**3 # in ohm\n",
+ "print \"The value of R_G = %0.2f \u03a9\" %R_G"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_G = 60.12 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.31 : Page No - 182\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "A=10000 \n",
+ "R1= 100 # in k\u03a9\n",
+ "A2= 1/5 # (assumed value)\n",
+ "R2= R1/A2 # in k\u03a9\n",
+ "# A= A1*A2 and A1= 1+2*RF/R_GB\n",
+ "RFbyR_GB= (A/A2-1)/2 \n",
+ "# [1+2*RF/RG]*A2= 1 and RG= RGB+100 k\u03a9\n",
+ "R_G= (1-1/A2)/2*100/((1/A2-1)/2-RFbyR_GB) # in k\u03a9\n",
+ "R_F= RFbyR_GB*R_G # in k\u03a9\n",
+ "print \"The value of R_G = %0.f \u03a9\" %(R_G*10**3)\n",
+ "print \"The value of R_F = %0.f k\u03a9\" %R_F\n",
+ "print \"This is the base resistance required in series with the pot of 100 k\u03a9\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_G = 8 \u03a9\n",
+ "The value of R_F = 200 k\u03a9\n",
+ "This is the base resistance required in series with the pot of 100 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_05_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_05_1.ipynb
new file mode 100755
index 00000000..12505d05
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_05_1.ipynb
@@ -0,0 +1,1090 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 5 - Filters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1 : Page No - 204\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import pi\n",
+ "#Given data\n",
+ "R = 10 # in k ohm\n",
+ "R = R * 10**3 # in ohm\n",
+ "C = 0.001 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f_c = 1/(2*pi*R*C) # Hz\n",
+ "f_c = f_c * 10**-3 # in kHz\n",
+ "print \"Cutoff frequency = %0.3f kHz\" %f_c \n",
+ "R_F = 100 # in k ohm\n",
+ "R1 = 10 # in k ohm\n",
+ "A_F = 1+(R_F/R1) \n",
+ "print \"The passband voltage gain = %0.f\" %A_F "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cutoff frequency = 15.915 kHz\n",
+ "The passband voltage gain = 11\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 : Page No - 204\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R1 = 10 # in k ohm\n",
+ "R_F = R1 # in k ohm\n",
+ "print \"The value of R_F = %0.f k\u03a9\" %R_F\n",
+ "C = 0.001 # in \u00b5F\n",
+ "C = C *10**-6 # in F\n",
+ "f_c = 10 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "R = 1/(2*pi*f_c*C) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "print \"The value of R = %0.1f k\u03a9\" %R"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_F = 10 k\u03a9\n",
+ "The value of R = 15.9 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3 : Page No - 204\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_c = 2 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R = 1/(2*pi*f_c*C) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "R = 8.2 # in k ohm(Practical value)\n",
+ "A_F = 2.5 \n",
+ "R1 = (A_F*R)/1.5 # in k ohm\n",
+ "R_F = 1.5*R1 # in k ohm\n",
+ "print \"The value of R1 = %0.2f k\u03a9 (standard value 15 kohm)\" %R1\n",
+ "print \"The value of R_F = %0.f k\u03a9\" %R_F"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 13.67 k\u03a9 (standard value 15 kohm)\n",
+ "The value of R_F = 20 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4 : Page No - 208\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_c = 1 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "C = 0.005*10**-6 # in F\n",
+ "R3 = 1/(2*pi*f_c*C) # in ohm\n",
+ "R3 = R3 * 10**-3 # in k ohm\n",
+ "R2 = R3 # in k ohm\n",
+ "R1 = 33 # in k ohm (standard value)\n",
+ "R_F = 0.586*R1 # in k ohm\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1\n",
+ "print \"The value of R2 = R3 = %0.2f k\u03a9\" %R3\n",
+ "print \"The value of R_F = %0.3f k\u03a9\" %R_F\n",
+ "print \"The value of C2 = C3 = %0.3f \u00b5F\" %(C*10**6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 33 k\u03a9\n",
+ "The value of R2 = R3 = 31.83 k\u03a9\n",
+ "The value of R_F = 19.338 k\u03a9\n",
+ "The value of C2 = C3 = 0.005 \u00b5F\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 : Page No - 208\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "R1 = 12 # in k ohm\n",
+ "R_F = 7 # in k ohm\n",
+ "R2 = 33 # in k ohm\n",
+ "R3 = R2 # in k ohm\n",
+ "R = R2 # in k ohm\n",
+ "R = R * 10**3 # in ohm\n",
+ "C1 = 0.002 # in \u00b5F\n",
+ "C1 = C1 * 10**-6 # in F\n",
+ "C2 = C1 # in F\n",
+ "C = C1 # in F\n",
+ "f_c = 1/(2*pi*R*C) # in Hz\n",
+ "f_c = f_c * 10**-3 # in kHz\n",
+ "print \"Cut off frequency = %0.3f kHz\" %f_c \n",
+ "A_F = 1+(R_F/R1) \n",
+ "print \"Pass band voltage gain = %0.3f\" %A_F\n",
+ "\n",
+ "#Note : The unit of cut off frequency in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency = 2.411 kHz\n",
+ "Pass band voltage gain = 1.583\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 : Page No - 209\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_c = 2 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "C2 = 0.033 # in \u00b5F\n",
+ "C2 = C2 * 10**-6 # in F\n",
+ "C3 = C2 # in F\n",
+ "C = C2 # in F\n",
+ "R2 = 1/(2*pi*f_c*C) # in ohm\n",
+ "R2 = R2 * 10**-3 # in k ohm\n",
+ "R3=R2 # in kohm\n",
+ "print \"The value of R2 = R3 = %0.1f k\u03a9\" %R2 \n",
+ "#R_F= 0.586*R1\n",
+ "R1= 2*R2*(1+0.586)/0.586 # in k ohm\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1\n",
+ "R1= 15 # in k ohm\n",
+ "R_F = 0.586 * R1 # in k ohm\n",
+ "print \"The value of R_F = %0.2f k\u03a9\" %R_F\n",
+ "print \"R_F may be taken as a pot of 10 k\u03a9\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R2 = R3 = 2.4 k\u03a9\n",
+ "The value of R1 = 13 k\u03a9\n",
+ "The value of R_F = 8.79 k\u03a9\n",
+ "R_F may be taken as a pot of 10 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7 : Page No - 209\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Given data\n",
+ "f_c = 1 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "C2 = 0.0047 # in \u00b5F\n",
+ "C2 = C2 * 10**-6 # in F\n",
+ "C3 = C2 # in F\n",
+ "C = C2 # in F\n",
+ "R2 = 1/(2*pi*f_c*C) # in ohm\n",
+ "R2 = R2 * 10**-3 # in k ohm\n",
+ "R3= R2 # in kohm\n",
+ "# Let\n",
+ "R1=30 # in kohm\n",
+ "R_F= R1*0.586 # in kohm\n",
+ "print \"The value of R2 = R3 = %0.f k\u03a9\" %math.floor(R2)\n",
+ "print \"The value of C2 = C3 = %0.4f micro F\" %(C3*10**6)\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1\n",
+ "print \"The value of R_F = %0.f k\u03a9\" %R_F\n",
+ "print \"The standard value of R_F is 20 k\u03a9\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R2 = R3 = 33 k\u03a9\n",
+ "The value of C2 = C3 = 0.0047 micro F\n",
+ "The value of R1 = 30 k\u03a9\n",
+ "The value of R_F = 18 k\u03a9\n",
+ "The standard value of R_F is 20 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 : Page No - 215\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "#Given data\n",
+ "f_c = 1.5 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "alpha = sqrt(2) \n",
+ "R_F = (2-alpha) # in ohm\n",
+ "print \"The value of R_F = %0.3f \u03a9\" %R_F \n",
+ "R_i = 1 # in ohm\n",
+ "A_F = 1+(R_F/R_i) \n",
+ "print \"The pass band gain = %0.3f\" %A_F \n",
+ "Omega_c = 2*pi*f_c # in rad/sec\n",
+ "C = 1 # in F\n",
+ "R = 1/Omega_c # in ohm\n",
+ "R = R * 10**7 # in ohm\n",
+ "R=R*10**-3 # in kohm\n",
+ "R1 = R # in k ohm\n",
+ "R2=R1 # in kohm\n",
+ "print \"The value of R1 = R2 = %0.3f k\u03a9\" %R1 \n",
+ "C = C/10**7 # in \u00b5F\n",
+ "C = C * 10**9 # in nF\n",
+ "C1=C # in nF\n",
+ "C2= C1 # in nF\n",
+ "print \"The value of C1 = C2 = %0.f nF\" %C1 \n",
+ "\n",
+ "#Note: The unit of R1 and R2 is wrong in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_F = 0.586 \u03a9\n",
+ "The pass band gain = 1.586\n",
+ "The value of R1 = R2 = 1.061 k\u03a9\n",
+ "The value of C1 = C2 = 100 nF\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 : Page No - 216\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "alpha = 1.414 \n",
+ "f_c = 1.5 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "C1 = 2/alpha # in F\n",
+ "C2 = alpha/2 # in F\n",
+ "R1 = 1 # in ohm\n",
+ "R2 = R1 # in ohm \n",
+ "R_F = 2 # in ohm\n",
+ "Omega_c = 2*pi*f_c # in rad/sec\n",
+ "R = 1/Omega_c # in ohm\n",
+ "R = R * 10**7 # in ohm\n",
+ "R1 = R # in ohm\n",
+ "R2= R1 # in ohm\n",
+ "R_F = 2*R # in ohm\n",
+ "C1 = C1/10**7 # in F\n",
+ "C2 = C2/10**7 # in F\n",
+ "print \"The value of R1 = R2 = %0.3f kohm\" %(R1*10**-3) \n",
+ "print \"The value of C1 = %0.1f nF\" %(C1*10**9) \n",
+ "print \"The value of C2 = %0.1f nF\" %(C2*10**9) \n",
+ "print \"The value of R_F = %0.3f kohm\" %(R_F*10**-3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = R2 = 1.061 kohm\n",
+ "The value of C1 = 141.4 nF\n",
+ "The value of C2 = 70.7 nF\n",
+ "The value of R_F = 2.122 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.12 : Page No - 220\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import log10\n",
+ "#Given data\n",
+ "f_c = 10 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "omega_c= 2*pi*f_c # in rad/sec\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C= C*10**-6 # in F\n",
+ "Ri= 10*10**3 # in \u03a9\n",
+ "n=2 \n",
+ "Q= 1/1.414 \n",
+ "R= 1/(2*pi*f_c*C) # in \u03a9\n",
+ "Af= 3-1/Q \n",
+ "Rf= (Af-1)*Ri # in \u03a9\n",
+ "print \"The value of C = %0.2f \u00b5F\" %(C*10**6)\n",
+ "print \"The value of R = %0.3f k\u03a9\" %(R*10**-3)\n",
+ "print \"The value of Rf = %0.2f k\u03a9\" %(Rf*10**-3)\n",
+ "print \"Frequency versus gain magnitude shown in following table:\"\n",
+ "print \"-----------------------------------------------------------------------------------------\"\n",
+ "print \"| Frequency in Hz Gain Magnitude in dB |H(s)| |\"\n",
+ "print \"-----------------------------------------------------------------------------------------\"\n",
+ "f= 1000 # in Hz\n",
+ "omega= 2*pi*f # in rad/sec\n",
+ "HsdB= 20*log10(Af/sqrt(1+(omega/omega_c)**4))\n",
+ "print \"| \",int(f),\" \",int(HsdB),\" |\"\n",
+ "f= 2000 # in Hz\n",
+ "omega= 2*pi*f # in rad/sec\n",
+ "HsdB= 20*log10(Af/sqrt(1+(omega/omega_c)**4))\n",
+ "print \"| \",int(f),\" \",round(HsdB,3),\" |\"\n",
+ "f= 5000 # in Hz\n",
+ "omega= 2*pi*f # in rad/sec\n",
+ "HsdB= 20*log10(Af/sqrt(1+(omega/omega_c)**4))\n",
+ "print \"| \",int(f),\" \",round(HsdB,2),\" |\"\n",
+ "f= 10000 # in Hz\n",
+ "omega= 2*pi*f # in rad/sec\n",
+ "HsdB= 20*log10(Af/sqrt(1+(omega/omega_c)**4))\n",
+ "print \"| \",int(f),\" \",int(round(HsdB,2)),\" |\"\n",
+ "f= 50000 # in Hz\n",
+ "omega= 2*pi*f # in rad/sec\n",
+ "HsdB= 20*log10(Af/sqrt(1+(omega/omega_c)**4))\n",
+ "print \"| \",int(f),\" \",round(HsdB,2),\" |\"\n",
+ "f= 100000 # in Hz\n",
+ "omega= 2*pi*f # in rad/sec\n",
+ "HsdB= 20*log10(Af/sqrt(1+(omega/omega_c)**4))\n",
+ "print \"| \",int(f),\" \",round(HsdB,2),\" |\"\n",
+ "print \"-----------------------------------------------------------------------------------------\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of C = 0.01 \u00b5F\n",
+ "The value of R = 1.592 k\u03a9\n",
+ "The value of Rf = 5.86 k\u03a9\n",
+ "Frequency versus gain magnitude shown in following table:\n",
+ "-----------------------------------------------------------------------------------------\n",
+ "| Frequency in Hz Gain Magnitude in dB |H(s)| |\n",
+ "-----------------------------------------------------------------------------------------\n",
+ "| 1000 4 |\n",
+ "| 2000 3.999 |\n",
+ "| 5000 3.74 |\n",
+ "| 10000 1 |\n",
+ "| 50000 -23.96 |\n",
+ "| 100000 -35.99 |\n",
+ "-----------------------------------------------------------------------------------------\n"
+ ]
+ }
+ ],
+ "prompt_number": 95
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.13 : Page No - 221\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_c = 1 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "C = 0.1 # in \u00b5F\n",
+ "print \"The value of C = %0.1f \u00b5F\" %C \n",
+ "C = C * 10**-6 # in F\n",
+ "R = 1/(2*pi*f_c*C) # in ohm\n",
+ "print \"The value of R = %0.3f k\u03a9\" %(R*10**-3) \n",
+ "Q1 = 1/0.765 \n",
+ "alpha1 = 1/Q1 \n",
+ "Q2 = 1/1.848 \n",
+ "alpha2 = 1/Q2 \n",
+ "A_F1 = 3-alpha1 \n",
+ "A_F2 = 3-alpha2 \n",
+ "R_i =10*10**3 # in ohm\n",
+ "R_F = (A_F1-1)*R_i # in ohm\n",
+ "print \"For first stage the value of R_F = %0.2f k\u03a9\" %(R_F*10**-3) \n",
+ "R_i = 100*10**3 # ohm\n",
+ "R_F = (A_F2-1)*R_i # in ohm\n",
+ "print \"For second stage the value of R_F = %0.1f k\u03a9\" %(R_F*10**-3) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of C = 0.1 \u00b5F\n",
+ "The value of R = 1.592 k\u03a9\n",
+ "For first stage the value of R_F = 12.35 k\u03a9\n",
+ "For second stage the value of R_F = 15.2 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 97
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.14 : Page No - 225\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_c = 10 # in kHz\n",
+ "f_c = f_c *10**3 # in Hz\n",
+ "C = 0.0047 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R = 1/(2*pi*f_c*C) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "print \"The value of R = %0.3f k\u03a9\" %R"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R = 3.386 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.15 : Page No - 225\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R = 15 # in k ohm\n",
+ "R = R *10**3 # in ohm\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f_c = 1/(2*pi*R*C) # in Hz\n",
+ "f_c= round(f_c) \n",
+ "print \"Cut off frequency = %0.f Hz\" %f_c \n",
+ "Omega_c = 2*pi*f_c # in rad/sec\n",
+ "print \"The value of omega_c = %0.3f k rad/sec\" %(Omega_c*10**-3) \n",
+ "\n",
+ "# Note: There is calculation error to find the value of omega_c. So the answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency = 1061 Hz\n",
+ "The value of omega_c = 6.666 k rad/sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 103
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.16 printed as 5.13 : Page No - 226\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R1 = 27 # in k ohm\n",
+ "R1 = R1 * 10**3 # in ohm\n",
+ "R2 = R1 # in ohm\n",
+ "R3 = R2 # in ohm\n",
+ "R = R1 # in ohm\n",
+ "R_L = 10 # in k ohm\n",
+ "R_F = 16 # in k ohm\n",
+ "C2 = 0.005 # in \u00b5F\n",
+ "C2 = C2 * 10**-6 # in F\n",
+ "C3 = C2 # in F\n",
+ "C = C3 # in F\n",
+ "f_c = 1/(2*pi*R*C) # in Hz\n",
+ "f_c = f_c * 10**-3 # in kHz\n",
+ "R1= R1*10**-3 # in kohm\n",
+ "print \"Cut off frequency = %0.2f kHz\" %f_c \n",
+ "A_F = 1+(R_F/R1) \n",
+ "print \"Voltage gain = %0.3f\" %A_F"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut off frequency = 1.18 kHz\n",
+ "Voltage gain = 1.593\n"
+ ]
+ }
+ ],
+ "prompt_number": 105
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.17 : Page No - 229\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "alpha = 1.732 \n",
+ "k_f = 1.274 \n",
+ "C1 = 1 # in F\n",
+ "C2 = C1 # in F\n",
+ "R1 = alpha/2 # in ohm\n",
+ "R2 = 2/alpha # in ohm\n",
+ "R_F = R2 # in ohm\n",
+ "f_3dB = 2 # in kHz\n",
+ "f_3dB = f_3dB * 10**3 # in Hz\n",
+ "f_c = f_3dB/k_f # in Hz\n",
+ "Omega_c = 2*pi*f_c # in rad/sec\n",
+ "R1 = R1/Omega_c # in ohm\n",
+ "R1 = R1 * 10**8 # in ohm\n",
+ "R2 = R2/Omega_c # in ohm\n",
+ "R2 = R2 * 10**8 # in ohm\n",
+ "R_F = R2 # in ohm\n",
+ "C1 = C1/10**8 # in F\n",
+ "print \"The value of R1 = %0.4f k\u03a9\" %(R1*10**-3)\n",
+ "print \"The value of R2 = R_F = %0.3f k\u03a9\" %(R2*10**-3)\n",
+ "print \"The value of C1 = C2 = %0.f nF\" %(C1*10**9)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 8.7797 k\u03a9\n",
+ "The value of R2 = R_F = 11.707 k\u03a9\n",
+ "The value of C1 = C2 = 10 nF\n"
+ ]
+ }
+ ],
+ "prompt_number": 107
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.18 printed as 5.15 : Page No - 232\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "#Given data\n",
+ "Cdesh = 0.01 # in \u00b5F\n",
+ "Cdesh= Cdesh* 10**-6 # in F\n",
+ "f_H = 1 # in kHz\n",
+ "f_H = f_H * 10**3 # in Hz\n",
+ "Rdesh= 1/(2*pi*f_H*Cdesh) # in ohm\n",
+ "A_F2 = 2 \n",
+ "R1desh = 10*10**3 # in ohm\n",
+ "Rdesh_F= R1desh # in ohm\n",
+ "print \"(i) Low-pass Filter Components : \"\n",
+ "print \"The value of R1' = %0.f k\u03a9\" %(R1desh*10**-3) \n",
+ "print \"The value of R' = %0.1f k\u03a9\" %(Rdesh*10**-3) \n",
+ "print \"The value of R'F = %0.f k\u03a9\" %(Rdesh_F*10**-3) \n",
+ "print \"The value of C = %0.2f \u00b5F\" %(Cdesh*10**6) \n",
+ "C = 0.05 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f_L = 100 # in Hz\n",
+ "R = 1/(2*pi*f_L*C) # in ohm\n",
+ "A_F1 = 2 \n",
+ "R1 = 10*10**3 # in ohm\n",
+ "R_F = R1 # in ohm\n",
+ "print \"\\n(ii) High pass Filter Components\"\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %(R1*10**-3) \n",
+ "print \"The value of R = %0.3f k\u03a9\" %(R*10**-3) \n",
+ "print \"The value of R_F = %0.f k\u03a9\" %(R_F*10**-3) \n",
+ "print \"The value of C = %0.2f \u00b5F\" %(C*10**6) \n",
+ "Q = sqrt(f_H*f_L)/(f_H-f_L) \n",
+ "print \"The quality factor = %0.3f\" %Q \n",
+ "\n",
+ "# Note : In High pass filter components, the value of R is calculated 31.83 k\u03a9 but at last it is writter as 3.183 k\u03a9 \n",
+ "# so the answer of R in High pass filter components is wrong.\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Low-pass Filter Components : \n",
+ "The value of R1' = 10 k\u03a9\n",
+ "The value of R' = 15.9 k\u03a9\n",
+ "The value of R'F = 10 k\u03a9\n",
+ "The value of C = 0.01 \u00b5F\n",
+ "\n",
+ "(ii) High pass Filter Components\n",
+ "The value of R1 = 10 k\u03a9\n",
+ "The value of R = 31.831 k\u03a9\n",
+ "The value of R_F = 10 k\u03a9\n",
+ "The value of C = 0.05 \u00b5F\n",
+ "The quality factor = 0.351\n"
+ ]
+ }
+ ],
+ "prompt_number": 111
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.19 : Page No - 234\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_c = 2 # in kHz\n",
+ "f_c = f_c * 10**3 # in Hz\n",
+ "A_F = 10 \n",
+ "Q = 4 \n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R1 = Q/(2*pi*f_c*C*A_F) # in ohm \n",
+ "R1 = R1 * 10**-3 # in k ohm\n",
+ "print \"The value of R1 =\",round(R1,3),\"k\u03a9 (standard value 3.3 k\u03a9)\" \n",
+ "R2 = Q/(2*pi*f_c*C*(2*Q**2-A_F)) # in ohm\n",
+ "R2 = R2 * 10**-3 # in k ohm\n",
+ "print \"The value of R2 =\",round(R2,3),\"k\u03a9 (standard value 1.5 k\u03a9)\" \n",
+ "R3 = Q/(pi*f_c*C) # in ohm\n",
+ "R3 = R3 * 10**-3 # in k ohm\n",
+ "print \"The value of R3 =\", round(R3,2),\"k\u03a9 (standard value 63 k\u03a9)\" \n",
+ "f_c1 = 1 # in kHz\n",
+ "Rdesh2 = R2*(((f_c*10**-3)/f_c1)**2) # in k ohm\n",
+ "print \"The value of R'2 =\", round(Rdesh2,3),\"k\u03a9 (standard value 5.8 k\u03a9)\" \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 3.183 k\u03a9 (standard value 3.3 k\u03a9)\n",
+ "The value of R2 = 1.447 k\u03a9 (standard value 1.5 k\u03a9)\n",
+ "The value of R3 = 63.66 k\u03a9 (standard value 63 k\u03a9)\n",
+ "The value of R'2 = 5.787 k\u03a9 (standard value 5.8 k\u03a9)\n"
+ ]
+ }
+ ],
+ "prompt_number": 113
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.20 Printed as 5.17 : Page No - 236\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_H = 100 # in Hz\n",
+ "f_L = 2 # in kHz\n",
+ "f_L = f_L * 10**3 # in Hz\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R = 1/(2*pi*f_L*C) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "A_F = 2 \n",
+ "R1 = 10 # in k ohm\n",
+ "# A_F= 1+R_F/R1 or\n",
+ "R_F= (A_F-1)*R1 # in k ohm\n",
+ "print \"(i) High-pass Section Components : \"\n",
+ "print \"The value of C = %0.2f \u00b5F\" %(C*10**6)\n",
+ "print \"The value of R = %0.2f k\u03a9\" %R \n",
+ "print \"The value of R_F = R1 = %0.f k\u03a9\" %R_F \n",
+ "Cdesh = 0.1 # in \u00b5F\n",
+ "Cdesh= Cdesh* 10**-6 # in F\n",
+ "Rdesh = 1/(2*pi*f_H*Cdesh) # in ohm\n",
+ "Rdesh= Rdesh * 10**-3 # in k ohm\n",
+ "Rdesh1 = 10 # in k ohm\n",
+ "Rdesh_F= Rdesh1 # in k ohm\n",
+ "print \"\\n(ii) Low-pass Section components : \"\n",
+ "print \"The value of C' = %0.1f \u00b5F\" %(Cdesh*10**6)\n",
+ "print \"The value of R' = %0.3f k\u03a9\" %Rdesh \n",
+ "print \"The value of R'F = R'1 = %0.f k\u03a9\" %Rdesh_F \n",
+ "R2 = 10 # in k ohm\n",
+ "R3 = R2 # in k ohm\n",
+ "R4 = R2 # in k ohm\n",
+ "R_OM = (R2*R3*R4)/(R2*R3+R3*R4+R4*R2) # in k ohm\n",
+ "print \"\\n(iii) Summing Amplifier component\"\n",
+ "print \"The value of R_OM = %0.1f k\u03a9\" %R_OM \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) High-pass Section Components : \n",
+ "The value of C = 0.01 \u00b5F\n",
+ "The value of R = 7.96 k\u03a9\n",
+ "The value of R_F = R1 = 10 k\u03a9\n",
+ "\n",
+ "(ii) Low-pass Section components : \n",
+ "The value of C' = 0.1 \u00b5F\n",
+ "The value of R' = 15.915 k\u03a9\n",
+ "The value of R'F = R'1 = 10 k\u03a9\n",
+ "\n",
+ "(iii) Summing Amplifier component\n",
+ "The value of R_OM = 3.3 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 117
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.21 : Page No - 238\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_N = 50 # in Hz\n",
+ "C = 0.47 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R = 1/(2*pi*f_N*C) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "print \"The value of Resistance = %0.3f kohm\" %R"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Resistance = 6.773 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 119
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.22 : Page No - 240\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import atan\n",
+ "#Given data\n",
+ "R = 10 # in k ohm\n",
+ "R = R * 10**3 # in ohm\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f = 2 # in kHz\n",
+ "f = f * 10**3 # in Hz\n",
+ "Phi = -2*atan(2*pi*R*C*f)*180/pi # in degree\n",
+ "print \"The phase shift = %0.2f degree\" %Phi"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The phase shift = -102.98 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 140
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.23 : Page No - 241\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f_L = 200 # in Hz\n",
+ "f_H = 1 # in kHz\n",
+ "f_H = f_H * 10**3 # in Hz\n",
+ "f_c = sqrt(f_H*f_L) # in Hz\n",
+ "print \"The center frequency = %0.1f Hz\" %f_c \n",
+ "Q = f_c/(f_H-f_L) \n",
+ "print \"Quality factor = %0.3f\" %Q"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The center frequency = 447.2 Hz\n",
+ "Quality factor = 0.559\n"
+ ]
+ }
+ ],
+ "prompt_number": 142
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.24 : Page No - 241\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f1 = 5 # in kHz\n",
+ "f1 = f1 * 10**3 # in Hz\n",
+ "f2 = 15 # in kHz\n",
+ "f2 = f2 * 10**3 # in Hz\n",
+ "Cdesh = 0.01 # in \u00b5F\n",
+ "Cdesh= Cdesh * 10**-6 # in F\n",
+ "Rdesh = 1/(2*pi*f2*Cdesh) # in ohm\n",
+ "A_F1 = 1.414 \n",
+ "A_F2 = A_F1 \n",
+ "Rdesh1 = 10 # in k ohm\n",
+ "Rdesh_F = (A_F1-1)*Rdesh1 # in k ohm\n",
+ "print \"(i) Low pass Filter components : \"\n",
+ "print \"The value of R'1 = %0.f k\u03a9\" %Rdesh1\n",
+ "print \"The value of R' = %0.3f k\u03a9\" %(Rdesh*10**-3)\n",
+ "print \"The value of R'F = %0.2f k\u03a9\" %Rdesh_F\n",
+ "print \"The value of C' = %0.2f \u00b5F\" %(Cdesh*10**6) \n",
+ "C = 0.05 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R = 1/(2*pi*f1*C) #in ohm\n",
+ "R1 = 10 # in k ohm\n",
+ "R_F = (A_F1-1)*R1 # in k ohm\n",
+ "print \"\\n(ii) High pass Filter components : \"\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %R1\n",
+ "print \"The value of R = %0.2f \u03a9\" %R \n",
+ "print \"The value of R_F = %0.2f k\u03a9\" %R_F \n",
+ "print \"The value of C = %0.2f \u00b5F\" %(C*10**6) \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Low pass Filter components : \n",
+ "The value of R'1 = 10 k\u03a9\n",
+ "The value of R' = 1.061 k\u03a9\n",
+ "The value of R'F = 4.14 k\u03a9\n",
+ "The value of C' = 0.01 \u00b5F\n",
+ "\n",
+ "(ii) High pass Filter components : \n",
+ "The value of R1 = 10 k\u03a9\n",
+ "The value of R = 636.62 \u03a9\n",
+ "The value of R_F = 4.14 k\u03a9\n",
+ "The value of C = 0.05 \u00b5F\n"
+ ]
+ }
+ ],
+ "prompt_number": 146
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_06_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_06_1.ipynb
new file mode 100755
index 00000000..2a99912c
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_06_1.ipynb
@@ -0,0 +1,103 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 6 - Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 : Page No - 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import pi\n",
+ "#Given data\n",
+ "R3 = 6 # in k ohm\n",
+ "R4 = 2 # in k ohm\n",
+ "A = 1+(R3/R4) \n",
+ "if A>3 :\n",
+ " print \"The circuit will work as the oscillator\"\n",
+ "R = 5.1 # in k ohm\n",
+ "R = R * 10**3 # in ohm\n",
+ "C = 0.001 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f = 1/(2*pi*R*C) # in Hz\n",
+ "f = f * 10**-3 # in kHz\n",
+ "print \"The frequency of oscillations = %0.4f kHz\" %f"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The circuit will work as the oscillator\n",
+ "The frequency of oscillations = 31.2069 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 : Page No - 272\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 0.05 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f = 1 # in kHz\n",
+ "f = f * 10**3 # in Hz\n",
+ "R = 1/(2*pi*f*C) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "print \"The value of R1 = R2 = %0.3f k\u03a9\" %R \n",
+ "R4 = 10 # in k ohm\n",
+ "print \"The value of R3 = %0.f k\u03a9\" %R4 \n",
+ "R3 = 2*R4 # in k ohm\n",
+ "print \"The value of R4 = %0.f k\u03a9\" %R3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = R2 = 3.183 k\u03a9\n",
+ "The value of R3 = 10 k\u03a9\n",
+ "The value of R4 = 20 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_08_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_08_1.ipynb
new file mode 100755
index 00000000..65492a55
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_08_1.ipynb
@@ -0,0 +1,212 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 8 - CMOS Realization Of Inverters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2 : Page No - 333\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from sympy import symbols, solve, N\n",
+ "x= symbols('x')\n",
+ "#Given data\n",
+ "NMH= 1 # in V\n",
+ "VIH= 2 # in V\n",
+ "VTon= 0.5 # in V\n",
+ "VOL= 0.2 # in V\n",
+ "VDD= 3 # in V\n",
+ "KP= 30*10**-6 # in A/V**2\n",
+ "PD= 100*10**-6 # power dissipation in W\n",
+ "# Formula VIH= VTon +2*sqrt(2*VDD/(3*kn*RL))-1/(kn*RL) (i)\n",
+ "# Let x= 1/(kn*RL), putting the values in (i), we get\n",
+ "# x**2-5*x+2.25=0\n",
+ "expr = x**2-5*x+2.25\n",
+ "x , x1= solve(expr, x)\n",
+ "# Formula PD= VDD*(VDD-VOL)/(2*RL)\n",
+ "RL= VDD*(VDD-VOL)/(2*PD) # in \u03a9\n",
+ "print \"The value of RL = %0.1e \u03a9\" %RL\n",
+ "kn= 1/(x*RL) # in A/V**2\n",
+ "# Formula kn= KP*(W/L)\n",
+ "WbyL= kn/KP \n",
+ "print \"The value of (W/L)n = %0.2f\" %WbyL"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of RL = 4.2e+04 \u03a9\n",
+ "The value of (W/L)n = 1.59\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4 : Page No - 335\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "unCox= 40 # in \u00b5A/V**2\n",
+ "upCox= 20 # in \u00b5A/V**2\n",
+ "Ln= 0.5 # in \u00b5m\n",
+ "Lp= 0.5 # in \u00b5m\n",
+ "Wn= 2.0 # in \u00b5m\n",
+ "Wp= unCox*Wn/upCox # in \u00b5m\n",
+ "print \"The value of Wp = %0.f \u00b5m\" %Wp"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Wp = 4 \u00b5m\n"
+ ]
+ }
+ ],
+ "prompt_number": 84
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5 : Page No - 337\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from sympy import symbols, solve, N\n",
+ "VOUT= symbols('VOUT')\n",
+ "# Given data\n",
+ "VTO= 0.43 # in V\n",
+ "VDD= 2.5 # in V\n",
+ "g=0.4 # value of gamma\n",
+ "W1= 0.375 \n",
+ "L1=0.25 \n",
+ "W2= 0.75 \n",
+ "L2=0.25 \n",
+ "#VDD-VOUT-VT= VDD-VOUT-(VTO+g*(sqrt(0.6+VOUT)-sqrt(0.6)))=0\n",
+ "#VOUT**2+VOUT*(2*A-g**2)+(A-0.6*g**2)=0, where\n",
+ "A=VTO-VDD-g*sqrt(0.6) # assumed\n",
+ "B= (2*A-g**2) # assumed\n",
+ "C=(A**2-0.6*g**2) #assumed\n",
+ " #VOUT= [1 B C] \n",
+ " #VOUT= roots(VOUT) # in V\n",
+ " #VOUT= VOUT(2) # in V\n",
+ "\n",
+ "\n",
+ "expr = VOUT**2+VOUT*(2*A-g**2+4.556)+(A-0.6*g**2)\n",
+ "VOUT= solve(expr, VOUT)\n",
+ "VOH= round(VOUT[1],4) # in V\n",
+ "print \"The value of VOH = %0.3f volts\" %VOH\n",
+ "Vout=(W1+3*L2)-(VDD-VTO)*(W2*L1/(W1*L2)-1)+ (VDD)/(VDD-VTO)\n",
+ "VOL= Vout # in V\n",
+ "print \"The value of VOL = %0.3f volts\" %VOL\n",
+ "Vth= (VDD+VTO-L1)/(VDD*VTO)*(1-W1*L2/(W2*L1))+(L1*L2/VDD)\n",
+ "print \"The value of Vth for circuit A = %0.3f volts\" %Vth\n",
+ "W4= 0.365 \n",
+ "L4=0.25 \n",
+ "W3= 0.75 \n",
+ "L3=0.15 \n",
+ "Vth=(L3*L4/VDD)+(VDD/(W3*L4*VDD))-(VDD)/(1-W4*L3/(W3*L4))-2*W4\n",
+ "print \"The value of Vth for circuit B = %0.3f volts\" %Vth\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of VOH = 1.766 volts\n",
+ "The value of VOL = 0.263 volts\n",
+ "The value of Vth for circuit A = 1.272 volts\n",
+ "The value of Vth for circuit B = 1.087 volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 85
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.6 : Page No - 338\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from sympy import symbols, solve, N\n",
+ "Vx= symbols('Vx')\n",
+ "\n",
+ "#Given data\n",
+ "VTO= 0.43 # in V\n",
+ "VDD= 2.5 # in V\n",
+ "g=0.5 # value of gamma\n",
+ "#VDD-Vx-VT= VDD-Vx-(VTO+g*(sqrt(0.6+Vx)-sqrt(0.6)))=0\n",
+ "#Vx**2+Vx*(2*A-g**2)+(A-0.6*g**2)=0, where\n",
+ "A=VTO-VDD-g*sqrt(0.6) # assumed\n",
+ "B= (2*A-g**2) # assumed\n",
+ "C=(A**2-0.6*g**2) #assumed\n",
+ "expr = Vx**2+Vx*(2*A-g**2+5)+(A-0.6*g**2)\n",
+ "err, Vx= solve(expr , Vx)\n",
+ "print \"The value of Vx =\",round(Vx,4),\"volts\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vx = 1.6991 volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 86
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_10_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_10_1.ipynb
new file mode 100755
index 00000000..e738fc3b
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_10_1.ipynb
@@ -0,0 +1,337 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 10 - Non-linear Applications of IC Op-amps"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1 : Page No - 383\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "V_CC = 15 # in V\n",
+ "V_sat = V_CC # in V\n",
+ "R1 = 120 # in ohm\n",
+ "R2 = 51 # in k ohm\n",
+ "R2 = R2 * 10**3 # in ohm\n",
+ "V_in = 1 # in V\n",
+ "V_UT = (V_sat*R1)/(R1+R2) #in V\n",
+ "print \"When supply voltage is +15V then threshold voltage = %0.1f mV\" %(V_UT*10**3) \n",
+ "V_ULT = ((-V_sat)*R1)/(R1+R2) # in V\n",
+ "V_ULT = V_ULT # in V\n",
+ "print \"When supply voltage is -15V then threshold voltage = %0.1f mV\" %(V_ULT*10**3) \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When supply voltage is +15V then threshold voltage = 35.2 mV\n",
+ "When supply voltage is -15V then threshold voltage = -35.2 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2 : Page No - 383\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "V_sat = 12 # in V\n",
+ "V_H = 6 # in V\n",
+ "R1 = 10 # in k ohm\n",
+ "R1 = R1 * 10**3 # in ohm\n",
+ "# Formula V_H= R1/(R1+R2)*(V_sat-(-V_sat)) and Let\n",
+ "V = V_H/(V_sat-(-V_sat)) # in V (assumed)\n",
+ "R2= (R1-V*R1)/V\n",
+ "print \"The value of R1 = %0.f k\u03a9\" %(R1*10**-3) \n",
+ "print \"The value of R2 = %0.f k\u03a9\" %(R2*10**-3) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1 = 10 k\u03a9\n",
+ "The value of R2 = 30 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3 : Page No - 384\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import pi\n",
+ "from math import asin\n",
+ "#Given data\n",
+ "V_P = 5 # in V\n",
+ "V_LT = -1.5 # in V\n",
+ "V_H = 2 # in V\n",
+ "f = 1 # in kHz\n",
+ "f = f * 10**3 # in Hz\n",
+ "V_UT = V_H-V_LT # in V\n",
+ "V_m = V_P/2 # in V\n",
+ "# Formula V_LT= V_m*sind(theta)\n",
+ "theta= asin(-V_LT/V_m) *180/pi\n",
+ "T = 1/f # in sec\n",
+ "theta1 = theta+180 # in degree\n",
+ "T1 = (T*theta1)/360 # in sec\n",
+ "T2 = T-T1 # in sec\n",
+ "print \"The value of T1 = %0.3f ms\" %(T1*10**3)\n",
+ "print \"The value of T2 = %0.3f ms\" %(T2*10**3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of T1 = 0.602 ms\n",
+ "The value of T2 = 0.398 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4 : Page No - 384\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V_H = 10 # in V\n",
+ "V_L = -10 # in V\n",
+ "I_max = 100 # in \u00b5A\n",
+ "I_max = I_max * 10**-6 # in A\n",
+ "V_HV = 0.1 # in V\n",
+ "V_sat = 10 # in V\n",
+ "R2 = 1 # in k ohm\n",
+ "R1 = 199 # in k ohm\n",
+ "R = (R1*R2)/(R1+R2) # in k ohm\n",
+ "print \"The resistance = %0.f \u03a9\" %(R*10**3) \n",
+ "\n",
+ "# Note: The unit of the answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance = 995 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.6 : Page No - 386\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V_sat = 12 # in V\n",
+ "R1 = 1 # in k ohm\n",
+ "R2 = 3 # in k ohm\n",
+ "V_LT = ((-V_sat)*R1)/R2 # in V\n",
+ "print \"The value of V_LT = %0.f V\" %V_LT \n",
+ "V_UT = (-(-V_sat) * R1)/R2 # in V\n",
+ "print \"The value of V_UT = %0.f V\" %V_UT \n",
+ "V_H = (R1/R2)*(V_sat - (-V_sat)) # in V\n",
+ "print \"The value of V_H = %0.f V\" %V_H"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_LT = -4 V\n",
+ "The value of V_UT = 4 V\n",
+ "The value of V_H = 8 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.7 : Page No - 387\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R1 = 80 # in k ohm\n",
+ "R2 = 20 # in k ohm\n",
+ "V_sat = 12.5 # in V\n",
+ "V_UT = (R2/(R1+R2))*V_sat # in V\n",
+ "print \"Upper threshold voltage = %0.1f V\" %V_UT \n",
+ "V_LT = (R2/(R1+R2))*(-V_sat) # in V\n",
+ "print \"Lower threshold voltage = %0.1f V\" %V_LT \n",
+ "V_HV = (R2/(R1+R2))*(2*V_sat) # in V\n",
+ "print \"The hysteresis voltage = %0.f V\" %V_HV"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Upper threshold voltage = 2.5 V\n",
+ "Lower threshold voltage = -2.5 V\n",
+ "The hysteresis voltage = 5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10 : Page No - 409\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "#Given data\n",
+ "R1 = 86 # in k ohm\n",
+ "V_sat = 15 # in V\n",
+ "R2 = 100 # in k ohm\n",
+ "V_UT = (R1/(R1+R2))*V_sat # in V\n",
+ "print \"The value of V_UT = %0.2f V\" %V_UT \n",
+ "V_LT = (R1/(R1+R2))*(-V_sat) # in V\n",
+ "print \"The value of V_LT = %0.2f V\" %V_LT \n",
+ "R_F = 100 # in k ohm\n",
+ "R_F= R_F*10**3 # in ohm\n",
+ "C = 0.1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f_o = 1/(2*R_F*C*log( (V_sat-V_LT)/(V_sat-V_UT) )) # in Hz\n",
+ "print \"Frequency of oscillation = %0.f Hz\" %f_o"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_UT = 6.94 V\n",
+ "The value of V_LT = -6.94 V\n",
+ "Frequency of oscillation = 50 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.12 : Page No - 421\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "del_Vin = 5 # in V\n",
+ "FRR = 80 # in dB\n",
+ "# Formula FRR= 20*log10(del_Vin/del_Vout)\n",
+ "del_Vout=del_Vin/(10**(FRR/20)) # in V\n",
+ "print \"Change in output voltage = %0.1f mV\" %(del_Vout*10**3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in output voltage = 0.5 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_12_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_12_1.ipynb
new file mode 100755
index 00000000..bd78b4da
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_12_1.ipynb
@@ -0,0 +1,428 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 12 - D/A and A/D Converters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 : Page No - 444\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "n = 8 \n",
+ "Resolution = 2**n \n",
+ "print \"Part (ii) : The resolution = %0.f\" %Resolution \n",
+ "print \"That is, the output voltage can have\",int(Resolution),\"different values including zero\"\n",
+ "V_OFS = 2.55 # in V\n",
+ "Resolution= V_OFS/(2**n - 1)*10**3 \n",
+ "print \"\\nPart (i) : The resolution =\",int(round(Resolution)),\" mV/1LSB\"\n",
+ "print \"That is, an input change of 1 LSB causes the output to change by \",round(Resolution),\" mV\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part (ii) : The resolution = 256\n",
+ "That is, the output voltage can have 256 different values including zero\n",
+ "\n",
+ "Part (i) : The resolution = 10 mV/1LSB\n",
+ "That is, an input change of 1 LSB causes the output to change by 10.0 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2 : Page No - 444\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "n = 4 \n",
+ "V_OFS = 15 # in V\n",
+ "digital_input = '0110' # in binary\n",
+ "D= int(digital_input , 2) \n",
+ "Resolution = V_OFS/((2**n)-1) # in V/LSB\n",
+ "V_out = Resolution*D # in V\n",
+ "print \"Final output voltage = %0.f V\" %V_out"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Final output voltage = 6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 : Page No - 445\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "n = 8 \n",
+ "Resolution = 20 # in mV/LSB\n",
+ "digital_input= '10000000' # in binary\n",
+ "D= int(digital_input , 2) # in decimal\n",
+ "Resolution=Resolution*10**-3 # in V/LSB\n",
+ "V_OFS = Resolution * ((2**n)-1) # in V\n",
+ "print \"The value of V_OFS = %0.1f V\" %V_OFS \n",
+ "V_out = Resolution*D # in V\n",
+ "print \"The value of V_out = %0.2f V\" %V_out "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_OFS = 5.1 V\n",
+ "The value of V_out = 2.56 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4 : Page No - 445\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "n = 4 \n",
+ "V_OFS = 5 # in V\n",
+ "digital_input= '1000' # in binary\n",
+ "D= int(digital_input , 2) # in decimal\n",
+ "Resolution = V_OFS/((2**n)-1) \n",
+ "V_out = Resolution * D # in V\n",
+ "print \"When input is 1000 then, the output = %0.4f V\" %V_out \n",
+ "# When\n",
+ "digital_input= '1111' # in binary\n",
+ "D= int(digital_input , 2) # in decimal\n",
+ "V_out= Resolution * D # in V\n",
+ "print \"When input is 1111 then , the output =%0.f V\" %V_out"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When input is 1000 then, the output = 2.6667 V\n",
+ "When input is 1111 then , the output =5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 : Page No - 445\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "n=12 \n",
+ "digital_input= '010101101101' # in binary\n",
+ "D= int(digital_input , 2) # in decimal\n",
+ "step_size= 8 # in mV\n",
+ "step_size=step_size*10**-3 # in V\n",
+ "VoFS= step_size*(2**n-1) # in V\n",
+ "print \"The full scale output voltage = %0.2f V\" %VoFS\n",
+ "Per_resolution= step_size/VoFS*100 # in %\n",
+ "print \"Percentage resolution is = %0.5f\" %Per_resolution\n",
+ "Vout= step_size*D # in V\n",
+ "print \"The output voltage in V %0.3f\" %Vout"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The full scale output voltage = 32.76 V\n",
+ "Percentage resolution is = 0.02442\n",
+ "The output voltage in V 11.112\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 : Page No - 450\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V_R = 10 # in V\n",
+ "n = 4 \n",
+ "Resolution = 0.5 # in V\n",
+ "R_F = 10 # in k ohm\n",
+ "R = (1/2**n)*(V_R/Resolution)*R_F # in k ohm\n",
+ "print \"The value of resistor = %0.1f k\u03a9\" %R "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of resistor = 12.5 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7 : Page No - 456\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V_i = 5.1 # in V\n",
+ "n = 8 \n",
+ "Re = 2**n \n",
+ "Resolution = V_i/(2**n-1) # in V/LSB\n",
+ "print \"The Resolution = %0.f mV/LSB\" %(Resolution*10**3) \n",
+ "\n",
+ "# When\n",
+ "V_i = 1.28 # in V\n",
+ "D = int(round(V_i/Resolution) )\n",
+ "D_in_binary= bin(D) # in binary\n",
+ "print \"The digital output = \",D_in_binary"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Resolution = 20 mV/LSB\n",
+ "The digital output = 0b1000000\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 : Page No - 457\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "V_i = 4.095 #input voltage in V\n",
+ "n = 12 \n",
+ "Q_E = V_i/( ((2**n)-1)*2 ) # in V\n",
+ "Q_E = Q_E * 10**3 # in mV\n",
+ "print \"The quantizing error = %0.1f mV\" %Q_E"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The quantizing error = 0.5 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9 : Page No - 460\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "print \"Part (i)\"\n",
+ "V_i = 100 # in mV\n",
+ "V_R = 100 # in mV\n",
+ "t1 = 83.33 # in ms\n",
+ "t2 = (V_i/V_R)*t1 # in ms\n",
+ "print \"The value of t2 = %0.2f ms\" %t2 \n",
+ "print \"Part (ii)\"\n",
+ "Vi = 200 # in mV\n",
+ "t_2 = (Vi/V_R)*t1 # in ms\n",
+ "print \"The value of t_2 = %0.1f ms\" %t_2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part (i)\n",
+ "The value of t2 = 83.33 ms\n",
+ "Part (ii)\n",
+ "The value of t_2 = 166.7 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 : Page No - 460\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C_F = 12 #clock frequency in kHz\n",
+ "C_F = C_F * 10**3 # in Hz\n",
+ "V_i = 100 # in mV\n",
+ "V_R = 100 # in mV\n",
+ "t1 = 83.33*10**-3 # in sec\n",
+ "D = C_F * t1*(V_i/V_R) # in counts\n",
+ "print \"The Digital output is : \",int(round(D,1)),\" counts\" \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Digital output is : 1000 counts\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12 : Page No - 463\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import pi\n",
+ "#Given data\n",
+ "n = 8 \n",
+ "T_C = 9 #in \u00b5sec\n",
+ "T_C = T_C * 10**-6 # in sec\n",
+ "f_max = 1/(2*pi*T_C*(2**n)) # in Hz\n",
+ "print \"Maximum frequency = %0.2f Hz\" %f_max"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum frequency = 69.08 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_13_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_13_1.ipynb
new file mode 100755
index 00000000..a51e7673
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_13_1.ipynb
@@ -0,0 +1,787 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 13 - Integrated Circuit Timer"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1 : Page No - 496\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C *10**-6 # in F\n",
+ "R_A = 2 # in k ohm\n",
+ "R_A = R_A * 10**3 # in ohm\n",
+ "R_B = 100 # in k ohm\n",
+ "R_B = R_B * 10**3 # in ohm\n",
+ "T_HIGH = 0.693*(R_A+R_B)*C # in s\n",
+ "T_HIGH = T_HIGH # in sec\n",
+ "T_LOW = 0.693*R_B*C # in s\n",
+ "T_LOW = T_LOW # in sec\n",
+ "T = T_HIGH + T_LOW # in sec\n",
+ "f = 1/T # in Hz\n",
+ "print \"The value of frequency = %0.1f Hz\" %f \n",
+ "D = (T_HIGH/T)*100 # in %\n",
+ "print \"Duty cycle = %0.1f %%\" %D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of frequency = 714.4 Hz\n",
+ "Duty cycle = 50.5 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 : Page No - 497\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R_A = 4.7 # in k ohm\n",
+ "R_A = R_A * 10**3 # in ohm\n",
+ "R_B = 1 # in k ohm\n",
+ "R_B = R_B * 10**3 # in ohm\n",
+ "T_on = 0.693*(R_A+R_B)*C # in s\n",
+ "T_on = T_on # in sec\n",
+ "print \"Positive pulse width = %0.2f ms\" %(T_on * 10**3) \n",
+ "T_off = 0.693*R_B*C # in s\n",
+ "T_off = T_off # in ms\n",
+ "print \"Negative pulse width = %0.3f ms\" %(T_off * 10**3) \n",
+ "f = 1.4/((R_A+2*R_B)*C) # in Hz\n",
+ "print \"Free running frequency = %0.2f Hz\" %f \n",
+ "D = ((R_A+R_B)/(R_A+(2*R_B)))*100 # in %\n",
+ "print \"The duty cycle = %0.f %%\" %D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Positive pulse width = 3.95 ms\n",
+ "Negative pulse width = 0.693 ms\n",
+ "Free running frequency = 208.96 Hz\n",
+ "The duty cycle = 85 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 : Page No - 497\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f = 1 # in kHz\n",
+ "f = f * 10**3 # in Hz\n",
+ "R_A = 1.44/(2*f*C) # in ohm\n",
+ "R_A = R_A * 10**-3 # in k ohm\n",
+ "R_B= R_A # in kohm\n",
+ "print \"The value of both the resistors required = %0.f k\u03a9 (standard value 68 kohm)\" %R_A"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of both the resistors required = 72 k\u03a9 (standard value 68 kohm)\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 : Page No - 497\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f = 700 # in Hz\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "a = 1.44 \n",
+ "R_A = a/(2*f*C) # in ohm\n",
+ "R_A = R_A * 10**-3 # in k ohm\n",
+ "R_B =R_A # in k ohm\n",
+ "print \"The the value of C = %0.2f \u00b5F\" %(C*10**6)\n",
+ "print \"The value of both the resistors = %0.f k\u03a9\" %R_A \n",
+ "print \"(Standard value of resistor is 100 k\u03a9)\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The the value of C = 0.01 \u00b5F\n",
+ "The value of both the resistors = 103 k\u03a9\n",
+ "(Standard value of resistor is 100 k\u03a9)\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 : Page No - 498\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C *10**-6 # in F\n",
+ "R_A = 2 # in k ohm\n",
+ "R_A = R_A * 10**3 # in ohm\n",
+ "R_B = 100 # in k ohm\n",
+ "R_B = R_B * 10**3 # in ohm\n",
+ "T_HIGH = 0.693*(R_A+R_B)*C # in s\n",
+ "T_HIGH = T_HIGH # in sec\n",
+ "T_LOW = 0.693*R_B*C # in s\n",
+ "T_LOW = T_LOW # in sec\n",
+ "T = T_HIGH + T_LOW # in sec\n",
+ "f = 1/T # in Hz\n",
+ "print \"The value fo frequency = %0.1f Hz\" %f \n",
+ "D = (T_HIGH/T)*100 # in %\n",
+ "print \"Duty cycle = %0.1f %%\" %D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value fo frequency = 714.4 Hz\n",
+ "Duty cycle = 50.5 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 : Page No - 498\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R_A = 4.7 # in k ohm\n",
+ "R_A = R_A * 10**3 # in ohm\n",
+ "R_B = 1 # in k ohm\n",
+ "R_B = R_B * 10**3 # in ohm\n",
+ "T_on = 0.693*(R_A+R_B)*C # in s\n",
+ "T_on = T_on # in sec\n",
+ "print \"Positive pulse width = %0.2f ms\" %(T_on * 10**3) \n",
+ "T_off = 0.693*R_B*C # in s\n",
+ "T_off = T_off # in ms\n",
+ "print \"Negative pulse width = %0.3f ms\" %(T_off * 10**3) \n",
+ "f = 1.4/((R_A+2*R_B)*C) # in Hz\n",
+ "print \"Free running frequency = %0.2f Hz\" %(f) \n",
+ "D = ((R_A+R_B)/(R_A+(2*R_B)))*100 # in %\n",
+ "print \"The duty cycle = %0.f %%\" %D"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Positive pulse width = 3.95 ms\n",
+ "Negative pulse width = 0.693 ms\n",
+ "Free running frequency = 208.96 Hz\n",
+ "The duty cycle = 85 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 : Page No - 498\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f = 1 # in kHz\n",
+ "f = f* 10**3 # in Hz\n",
+ "a = 1.44 \n",
+ "R_A = a/(2*f*C) # in ohm\n",
+ "R_A = R_A * 10**-3 # in k ohm\n",
+ "R_B = R_A # in k ohm\n",
+ "print \"The value of both the resistors required = %0.f k\u03a9 (standard value 68 kohm)\" %R_A"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of both the resistors required = 72 k\u03a9 (standard value 68 kohm)\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8 : Page No - 499\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f = 700 # in Hz\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "a = 1.44 \n",
+ "R_A = a/(2*f*C) # in ohm\n",
+ "R_A = R_A * 10**-3 # in k ohm\n",
+ "R_B =R_A # in k ohm\n",
+ "print \"The the value of C = %0.2f \u00b5F\" %(C*10**6)\n",
+ "print \"The value of both the resistors = %0.f k\u03a9\" %R_A \n",
+ "print \"(Standard value of resistor is 100 k\u03a9)\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The the value of C = 0.01 \u00b5F\n",
+ "The value of both the resistors = 103 k\u03a9\n",
+ "(Standard value of resistor is 100 k\u03a9)\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9 : Page No - 499\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f = 800 # in Hz\n",
+ "C = 0.01 # in \u00b5F\n",
+ "C =C * 10**-6 # in F\n",
+ "R_A = 1.44/(5*f*C) # in ohm\n",
+ "R_A = R_A * 10**-3 # in k ohm\n",
+ "print \"The value of R_A = %0.f k\u03a9\" %R_A \n",
+ "R_B = 2*R_A # in k ohm\n",
+ "print \"The value of R_B = %0.f k\u03a9\" %R_B "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_A = 36 k\u03a9\n",
+ "The value of R_B = 72 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.10 : Page No - 501\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 10 # in \u00b5F\n",
+ "C = C*10**-6 # in F\n",
+ "T_ON = 5 # in sec\n",
+ "R = T_ON/(1.1*C) # in ohm\n",
+ "print \"The resistor value = %0.1f ohm\" %R"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistor value = 454545.5 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.11 : Page No - 501\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 10 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "T_off = 1 # in sec\n",
+ "#Formula T_off= 0.693*R2*C\n",
+ "R2 = T_off/(0.693*C) # in ohm\n",
+ "print \"The value of R2 = %0.f \u03a9\" %R2 \n",
+ "T_on = 3 # in sec\n",
+ "# Formula T_on= 0.693*(R1+R2)*C\n",
+ "R1 =T_on/(C*0.693)-R2 # in ohm\n",
+ "print \"The value of R1 = %0.f \u03a9\" %R1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R2 = 144300 \u03a9\n",
+ "The value of R1 = 288600 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.12 : Page No - 502\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "#Given data\n",
+ "C = 0.22 # in \u00b5F\n",
+ "C=C*10**-6 # in F\n",
+ "T_on = 10 # in ms\n",
+ "T_on = T_on * 10**-3 # in s\n",
+ "V_CC = 15 # in V\n",
+ "V_BE = 0.7 # in V\n",
+ "V_EC = 0.2 # in V\n",
+ "V_LED= 1.4 # in V\n",
+ "I_LED= 20*10**-3 # in A\n",
+ "R = T_on/(C*1.1) # in ohm\n",
+ "R = R *10**-3 # in k ohm\n",
+ "print \"Values for first circuit : \"\n",
+ "print \"The value of R = %0.1f k\u03a9\" %R \n",
+ "V_o = V_CC-(2*V_BE) - V_EC # in V\n",
+ "print \"The output voltage = %0.1f V\" %V_o \n",
+ "R_LED = (V_o - V_LED)/(I_LED) # in ohm \n",
+ "print \"The value of R_LED = %0.f \u03a9\" %R_LED\n",
+ "# Part (ii)\n",
+ "f= 1*10**3 # in Hz\n",
+ "C=0.01*10**-6 # in F\n",
+ "D= 95/100 # duty cycle\n",
+ "# Formula f= 1.44/((R1+2*R2)*C)\n",
+ "# R1+2*R2= 1.44/(f*C) (i)\n",
+ "# D= (R1+R2)/(R1+2*R2) or\n",
+ "# R2= (1-D)/(2*D-1)*R1 (ii)\n",
+ "# From eq (i) and (ii)\n",
+ "R1= 1.44/(f*C*(1+2*((1-D)/(2*D-1)))) # in ohm\n",
+ "R2= (1-D)/(2*D-1)*R1 # in ohm\n",
+ "print \"\\nValues for second circuit : \"\n",
+ "print \"The value of R1 = %0.1f k\u03a9\" %(R1*10**-3) \n",
+ "print \"The value of R2 = %0.2f k\u03a9\" %(R2*10**-3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Values for first circuit : \n",
+ "The value of R = 41.3 k\u03a9\n",
+ "The output voltage = 13.4 V\n",
+ "The value of R_LED = 600 \u03a9\n",
+ "\n",
+ "Values for second circuit : \n",
+ "The value of R1 = 129.6 k\u03a9\n",
+ "The value of R2 = 7.20 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13 : Page No - 503\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "T = 5 # in msec\n",
+ "T = T * 10**-3 # in sec\n",
+ "C = 0.1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R = T/(C*1.1) # in ohm\n",
+ "R = R * 10**-3 # in k ohm\n",
+ "print \"The resistor = %0.2f k\u03a9\" %R"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistor = 45.45 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.14 : Page No - 503\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f = 1 # in kHz\n",
+ "f = f * 10**3 # in Hz\n",
+ "T = 1/f # in s\n",
+ "T = T * 10**3 # in msec\n",
+ "T_d = T/2 # in msec\n",
+ "T_d = T_d * 10**-3 # in sec\n",
+ "C = 0.1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "R2 = T_d/(0.69*C) # in ohm\n",
+ "R2 = R2 * 10**-3 # in k ohm\n",
+ "print \"The value of C = %0.1f \u00b5F\" %(C*10**6)\n",
+ "print \"The value of R2 = %0.2f k\u03a9\" %R2 \n",
+ "print \"The value of R1 will be 100 \u03a9 +10 k\u03a9 pot\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of C = 0.1 \u00b5F\n",
+ "The value of R2 = 7.25 k\u03a9\n",
+ "The value of R1 will be 100 \u03a9 +10 k\u03a9 pot\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.15 : Page No - 504\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f = 800 # in Hz\n",
+ "D = 0.6 \n",
+ "C = 0.1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "# Formula f= 1.44/((R_A+2*R_B)*C)\n",
+ "# R_A+2*R_B= 1.44/(f*C) (i)\n",
+ "# D= (R_A+R_B)/(R_A+2*R_B) or\n",
+ "# R_B= (1-D)/(2*D-1)*R_A (ii)\n",
+ "# From eq (i) and (ii)\n",
+ "R_A= 1.44/(f*C*(1+2*((1-D)/(2*D-1)))) # in ohm\n",
+ "R_B= (1-D)/(2*D-1)*R_A # in ohm\n",
+ "print \"The value of R_A = %0.1f k\u03a9\" %(R_A*10**-3) \n",
+ "print \"The value of R_B = %0.1f k\u03a9\" %(R_B*10**-3) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_A = 3.6 k\u03a9\n",
+ "The value of R_B = 7.2 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.16 : Page No - 504\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "f = 700 # in Hz\n",
+ "D = 0.5 \n",
+ "C = 0.1 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "# Formula f= 1.44/((R_A+2*R_B)*C)\n",
+ "# R_A+2*R_B= 1.44/(f*C) (i)\n",
+ "# D= (R_A+R_B)/(R_A+2*R_B) or\n",
+ "# R_A+R_B=D*1.44/(f*C)\n",
+ "# From eq (i) and (ii)\n",
+ "R_B=round(1.44/(f*C))*(1-D) \n",
+ "R_A= round(D*1.44/(f*C))-R_B \n",
+ "#R_A= 1.44/(f*C*(1+2*((1-D)/(2*D-1)))) # in ohm\n",
+ "#R_B= (1-D)/(2*D-1)*R_A # in ohm\n",
+ "print \"The value of R_A = %0.f \u03a9\" %round(R_A)\n",
+ "print \"The value of R_B = %0.3f k\u03a9\" %(R_B*10**-3) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_A = 1 \u03a9\n",
+ "The value of R_B = 10.286 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.17 : Page No - 507\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "R_A = 20 # in k ohm\n",
+ "R_A = R_A * 10**3 # in ohm\n",
+ "C = 0.1 # in \u00b5F\n",
+ "C = C*10**-6 # in F\n",
+ "pulse_width = 1.1*R_A*C # in s\n",
+ "print \"The output pulse width = %0.f ms\" %(pulse_width*10**3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output pulse width = 2 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.18 : Page No - 507\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from sympy import symbols, solve\n",
+ "T= symbols('T')\n",
+ "#Given data\n",
+ "n=4 \n",
+ "# t_p= X*T, where\n",
+ "X= (0.2+(n-1)) # (assumed)\n",
+ "t_p= X*T\n",
+ "print \"The relation between t_p and T is :\"\n",
+ "print \"t_p = \",t_p\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The relation between t_p and T is :\n",
+ "t_p = 3.2*T\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.19 : Page No - 507\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given data\n",
+ "C = 0.02 # in \u00b5F\n",
+ "C = C * 10**-6 # in F\n",
+ "f=2*10**3 #frequency in Hz\n",
+ "T = 1/f # in sec\n",
+ "n = 5 \n",
+ "t_p = (0.2+(n-1))*T # in sec\n",
+ "R_A = t_p/(1.1*C) # in ohm\n",
+ "print \"The value of R_A = %0.2f k\u03a9 (standard value 100 kohm)\" %(R_A*10**-3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_A = 95.45 k\u03a9 (standard value 100 kohm)\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_14_1.ipynb b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_14_1.ipynb
new file mode 100755
index 00000000..1b036c13
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/Ch_14_1.ipynb
@@ -0,0 +1,103 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter : 14 - Phase-Locked Loops (PLL)"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 : Page No - 525\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from numpy import sqrt, pi\n",
+ "#Given data\n",
+ "R_T = 10 # in k ohm\n",
+ "R_T = R_T * 10**3 # in ohm\n",
+ "C_T = 0.005 # in \u00b5F\n",
+ "C_T = C_T * 10**-6 # in F\n",
+ "C=10*10**-6 # in F\n",
+ "f_out = 0.25/(R_T*C_T) # in Hz\n",
+ "print \"Free Running frequency =\",int(f_out*10**-3),\"kHz\" \n",
+ "# Part (ii)\n",
+ "V=20 # in V\n",
+ "f_L= 8*f_out/V # in Hz\n",
+ "print \"Lock range in kHz = \u00b1\",int(f_L*10**-3),\"kHz\"\n",
+ "# Part (iii)\n",
+ "f_C= sqrt(f_L/(2*pi*3.6*10**3*C)) # in Hz\n",
+ "print \"Capture range = \u00b1\",int(f_C),\"Hz\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Free Running frequency = 5 kHz\n",
+ "Lock range in kHz = \u00b1 2 kHz\n",
+ "Capture range = \u00b1 94 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2 : Page No - 532\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "#Given data\n",
+ "f_out_max = 200 # in kHz\n",
+ "f_out_min = 4 # in Hz\n",
+ "f_CLK = 2.2*f_out_max # in kHz\n",
+ "print \"Frequency of reference oscillation = %0.f kHz\" %f_CLK \n",
+ "f_CLK= f_CLK*10**3 # in Hz\n",
+ "# Formula f_out_min= f_CLK/2**n\n",
+ "n=log(f_CLK/f_out_min)/log(2) \n",
+ "print \"The number of bits required in the phase accumulator = %0.f\" %round(n)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of reference oscillation = 440 kHz\n",
+ "The number of bits required in the phase accumulator = 17\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/README.txt b/Integrated_Circuits_by_Dr._Sanjay_Sharma/README.txt
new file mode 100755
index 00000000..7f431794
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Daud Ibrahir Saifi
+Course: btech
+College/Institute/Organization: Techword
+Department/Designation: IT
+Book Title: Integrated Circuits
+Author: Dr. Sanjay Sharma
+Publisher: S. K. Kataria & Sons, Delhi
+Year of publication: 2010
+Isbn: 978-93-5014-058-1
+Edition: 3 \ No newline at end of file
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap1_1.png b/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap1_1.png
new file mode 100755
index 00000000..cb53c9e2
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap1_1.png
Binary files differ
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap4_1.png b/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap4_1.png
new file mode 100755
index 00000000..f62bb213
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap4_1.png
Binary files differ
diff --git a/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap5_1.png b/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap5_1.png
new file mode 100755
index 00000000..4f12027a
--- /dev/null
+++ b/Integrated_Circuits_by_Dr._Sanjay_Sharma/screenshots/snap5_1.png
Binary files differ