diff options
author | hardythe1 | 2015-06-03 15:27:17 +0530 |
---|---|---|
committer | hardythe1 | 2015-06-03 15:27:17 +0530 |
commit | 47d7279a724246ef7aa0f5359cf417992ed04449 (patch) | |
tree | c613e5e4813d846d24d67f46507a6a69d1a42d87 /Integrated_Electronics | |
parent | 435840cef00c596d9e608f9eb2d96f522ea8505a (diff) | |
download | Python-Textbook-Companions-47d7279a724246ef7aa0f5359cf417992ed04449.tar.gz Python-Textbook-Companions-47d7279a724246ef7aa0f5359cf417992ed04449.tar.bz2 Python-Textbook-Companions-47d7279a724246ef7aa0f5359cf417992ed04449.zip |
add books
Diffstat (limited to 'Integrated_Electronics')
20 files changed, 6446 insertions, 0 deletions
diff --git a/Integrated_Electronics/Chapter1.ipynb b/Integrated_Electronics/Chapter1.ipynb new file mode 100755 index 00000000..e645b5e5 --- /dev/null +++ b/Integrated_Electronics/Chapter1.ipynb @@ -0,0 +1,77 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 01 : Energy Band in Solid"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.2, Page No 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "d=0.001 #distance between parallel plate in m\n",
+ "V=1000.0 #applied voltage\n",
+ "q=1.6*(10**-19) #charge on an electron\n",
+ "m = 9.1*(10**-31) #mass of electron in kg\n",
+ "#Time taken by electron to reach other side of parallel plate capacitor\n",
+ "E=V/d #Electric Field in V/m\n",
+ "#Formulae : s = u*t + (a*t^2)/2\n",
+ "\n",
+ "#Calculations\n",
+ "a = (q*E)/m #acceleration on electron in m/s^2\n",
+ "t = (2*d/a)**0.5 #time taken to reach the other side of plate\n",
+ "print(\"Time taken to reach other side = %.2f sec \" %t)\n",
+ "\n",
+ "#Magnitude of force exerted on electron\n",
+ "print('Since the potential is constant the force will be constant between the paltes of capacitor')\n",
+ "F=q*E #force\n",
+ "print(\"Force on electron = %.2f N \" %F)\n",
+ "#Velocity of electron at the other plate\n",
+ "#Formulae: v = u + a*t\n",
+ "v = a*t #velocity at the end of other plate\n",
+ "\n",
+ "#Results\n",
+ "print(\"V = %.2f m/sec \" %V)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time taken to reach other side = 0.00 sec \n",
+ "Since the potential is constant the force will be constant between the paltes of capacitor\n",
+ "Force on electron = 0.00 N \n",
+ "V = 1000.00 m/sec \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter10.ipynb b/Integrated_Electronics/Chapter10.ipynb new file mode 100755 index 00000000..63b119f4 --- /dev/null +++ b/Integrated_Electronics/Chapter10.ipynb @@ -0,0 +1,451 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Field Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1a, Page No 337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "VGG = -2.5 #v\n",
+ "Id = 3.0 #mA\n",
+ "Vds = 10.0 #v\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rd=Vds/Id\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rd is = %.2f kOhm \" %Rd)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rd is = 3.33 kOhm \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1b, Page No 337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "VGG = -2.5 #v\n",
+ "VDD = 20.0\n",
+ "Id = 2.0 #mA drain current\n",
+ "Vds = 2.5 #v\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rd=(VDD-Vds)/Id\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rd is = %.2f kOhm \" %Rd)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rd is = 8.75 kOhm \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2a, Page No 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "a=3*(10**-4) #in cm\n",
+ "Nd=10**15 #in electrons/cm^3\n",
+ "q=1.6*(10**-19) #in C\n",
+ "eo=8.85*(10**-12) #Permittivity of free space\n",
+ "e=12*eo #Relative Permittivity\n",
+ "\n",
+ "#Calculations\n",
+ "Vp=(q*Nd*a*a*10**6*10**-4)/(2*e) #in V\n",
+ "#a is in cm so 10^-4 is multiplied and Nd is in electrons/cm^3 so 10^6 is multiplied\n",
+ "\n",
+ "#Results\n",
+ "print(\"Pinch off Voltage = %.2f v \" %Vp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pinch off Voltage = 6.78 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2b, Page No 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "#Given Values\n",
+ "a=3.0*(10**-4) #in m\n",
+ "Nd=10.0**15 #in electrons/m**3\n",
+ "q=1.6*(10**-19) #in C\n",
+ "eo=8.85*(10**-12) #Permittivity of free space\n",
+ "e=12*eo #Relative Permittivity\n",
+ "\n",
+ "#Calculations\n",
+ "Vp=(q*Nd*a*a*10**6*10**-4)/(2*e)#in V\n",
+ "#a is in cm so 10**-4 is multiplied and Nd is in electrons/cm**3 so 10**6 is multiplied\n",
+ "Vgs= Vp/2\n",
+ "b=a*(1-((Vgs/Vp)**(0.5)))#in cm\n",
+ "\n",
+ "#Results\n",
+ "print(\"Channel Half Width = %.2f cm x 10^-4\" %(b*10**4))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Channel Half Width = 0.88 cm x 10^-4\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3a Page No 348"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "VG=0.5 #v\n",
+ "Rd=1.0 #Kohm\n",
+ "Vdd =3.3 #v\n",
+ "\n",
+ "#Calculations\n",
+ "# If VG=0.5vv hen Vgs-Vt = 0.5-1=-.05 which is less than zero and therfore the transistor will be off then\n",
+ "#ID=0\n",
+ "Id=0\n",
+ "Vd=Vdd\n",
+ "\n",
+ "#Results\n",
+ "print(\"The drain current = %.2f mA\" %(Id))\n",
+ "print(\"The drain Voltage = %.2f V\" %(Vd))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain current = 0.00 mA\n",
+ "The drain Voltage = 3.30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3b Page No 348"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vg=2.0 #v\n",
+ "Rd=1.0 #Kohm\n",
+ "Vdd =3.3 #v\n",
+ "Vt=1.0\n",
+ "\n",
+ "#Calculations\n",
+ "# If VG=2v hen Vgs-Vt = 2-1=-2 which is more than zero and therfore the transistor will be on then\n",
+ "Id=(1.0/2)*(Vg-Vt**2)\n",
+ "Vd=Vdd-(Rd*Id)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The drain current = %.2f mA\" %(Id))\n",
+ "print(\"The drain Voltage = %.2f V\" %(Vd))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain current = 0.50 mA\n",
+ "The drain Voltage = 2.80 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4a Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vgs= %.2f v \" %Vgs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vgs= -0.61 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4b, Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "\n",
+ "gmo=-(2*Idss/Vp)\n",
+ "\n",
+ "#Results\n",
+ "print(\"gmo= %.2f mA/V \" %gmo)\n",
+ "gm=gmo*(1-(Vgs/Vp))\n",
+ "print(\"gm= %.2f mA/V \" %gm)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "gmo= 1.65 mA/V \n",
+ "gm= 1.15 mA/V \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4c Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "\n",
+ "gmo=-(2*Idss/Vp)\n",
+ "gm=gmo*(1-(Vgs/Vp))\n",
+ "\n",
+ "Rs=-(Vgs/Ids)#in ohm\n",
+ "\n",
+ "#Results\n",
+ "print(\"Rs= %.2f K \" %Rs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rs= 0.76 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4d Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "gmo=-(2*Idss/Vp)\n",
+ "gm=gmo*(1-(Vgs/Vp))\n",
+ "Rs=-(Vgs/Ids)#in ohm\n",
+ "print('20dB corresponds to voltage gain of i0')\n",
+ "Av=10\n",
+ "Rd=Av/gm#in ohm\n",
+ "\n",
+ "#Results\n",
+ "print(\"Rd= %.2f ohm\" %Rd)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "20dB corresponds to voltage gain of i0\n",
+ "Rd= 8.70 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter12.ipynb b/Integrated_Electronics/Chapter12.ipynb new file mode 100755 index 00000000..e66f53de --- /dev/null +++ b/Integrated_Electronics/Chapter12.ipynb @@ -0,0 +1,108 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12 : MultiStage Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1a, Page No 433"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ry=1 #in K\n",
+ "Rg=1 #in M\n",
+ "Ri=1 #in K\n",
+ "hOE=1.0/40 #in K^-1\n",
+ "\n",
+ "#fL=1/(2*%pi*(ro+ri)*Cb)<=10\n",
+ "#Since ri=1M , ro<Ry=1K , then ro+ri=1M\n",
+ "\n",
+ "#Calculations\n",
+ "Cb=1/(2*math.pi*1*10)\n",
+ "\n",
+ "#Results\n",
+ "print(\"Minimum Value of coupling Capacitance for given FET = %.3f \" %Cb)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum Value of coupling Capacitance for given FET = 0.016 \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1b, Page No 433"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Ry=1#in K\n",
+ "Rg=1#in M\n",
+ "Ri=1#in K\n",
+ "hOE=1.0/40 #in K^-1\n",
+ "\n",
+ "#fL=1/(2*math.pi*(ro+ri)*Cb)<=10\n",
+ "\n",
+ "#Ro>1/hOE=40K ro=Rc=1K. Rb>Ri=1K then ri=1K\n",
+ "\n",
+ "#Calculations\n",
+ "ro=1000.0 #in ohm\n",
+ "ri=1000.0 #in ohm\n",
+ "Cb=1.0/(2*math.pi*10*(ro+ri))\n",
+ "\n",
+ "#Results\n",
+ "print(\"Coupling Capacitance for given transistor = %.2f v \" %(Cb*(10**6)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coupling Capacitance for given transistor = 7.96 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter13.ipynb b/Integrated_Electronics/Chapter13.ipynb new file mode 100755 index 00000000..700328fd --- /dev/null +++ b/Integrated_Electronics/Chapter13.ipynb @@ -0,0 +1,752 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13 : Feedback Amplifier"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1, Page No 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Rs=0 #in V\n",
+ "hfe=50.0 #in K\n",
+ "hie=1.1 #in K\n",
+ "hre=0 #in K\n",
+ "hoe=0 #in K\n",
+ "\n",
+ "print('We first calculate the effective load Rl1 at the first calculator')\n",
+ "r1=10 #in K\n",
+ "r2=47 #in K\n",
+ "r3=33.0 #in K\n",
+ "r4=1+0.1 #in K\n",
+ "\n",
+ "#Calculations\n",
+ "Rl1=(r1*r2*r3*r4)/((r1*r2*r3)+(r1*r2*r4)+(r1*r3*r4)+(r2*r3*r4))\n",
+ "print(\"Rl1= %.2f K \" %Rl1)\n",
+ "\n",
+ "print('Similarly for 2nd Transistor')\n",
+ "R1=0.1 #in K\n",
+ "R2=4.7 #in K\n",
+ "Rc1=R1+R2\n",
+ "Rc2=4.7 #in K\n",
+ "\n",
+ "Rl2=(Rc1*Rc2)/(Rc1+Rc2)\n",
+ "print(\"Rl2= %.2f K\" %Rl2)\n",
+ "\n",
+ "\n",
+ "Re=(R1*R2)/(R1+R2)\n",
+ "\n",
+ "print('Voltage Gain of Transistor Q1')\n",
+ "Av1 = -(hfe*Rl1)/(hie+((1+hfe)*Re))\n",
+ "print(\"Av1= %.2f v \" %Av1)\n",
+ "\n",
+ "print('Voltage Gain of Transistor Q2')\n",
+ "Av2=-(hfe*Rl2)/hie\n",
+ "print(\"Av2= %.2f v \" %Av2)\n",
+ "print('Voltage Gain of two transistors in cascade without feedback')\n",
+ "Av=Av1*Av2\n",
+ "print(\"Av= %.2f v \" %Av)\n",
+ "\n",
+ "B=R1/(R1+R2)#beta which is feedback\n",
+ "D=1+(B*Av)\n",
+ "\n",
+ "Avf=Av/D\n",
+ "print(\"Avf= %.2f v \" %Avf)\n",
+ "\n",
+ "print('Input resistance without external feedback')\n",
+ "Ri=hie+(1+hfe)*Re\n",
+ "print(\"Ri= %.2f K \" %Ri)\n",
+ "\n",
+ "Rif=Ri*D\n",
+ "\n",
+ "#Results\n",
+ "print(\"Rif= %.2f K \" %Rif)\n",
+ "Ro=Rl2\n",
+ "Rof=Ro/D*1000\n",
+ "print(\"Rof= %.2f ohm\" %Rof)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "We first calculate the effective load Rl1 at the first calculator\n",
+ "Rl1= 0.94 K \n",
+ "Similarly for 2nd Transistor\n",
+ "Rl2= 2.37 K\n",
+ "Voltage Gain of Transistor Q1\n",
+ "Av1= -7.74 v \n",
+ "Voltage Gain of Transistor Q2\n",
+ "Av2= -107.94 v \n",
+ "Voltage Gain of two transistors in cascade without feedback\n",
+ "Av= 835.02 v \n",
+ "Avf= 45.39 v \n",
+ "Input resistance without external feedback\n",
+ "Ri= 6.09 K \n",
+ "Rif= 112.10 K \n",
+ "Rof= 129.09 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2a, Page No 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Gmf=-1 #Transconductance in mA/V\n",
+ "D=50.0 #Desensivity\n",
+ "Avf=-4 #Voltage Gain\n",
+ "Rs=1.0 #in K\n",
+ "hfe=150.0\n",
+ "Vt=0.026 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "Gm=Gmf*D\n",
+ "print(\"Gm= %.2f mA/V \" %Gm)\n",
+ "\n",
+ "#B=-Re, D = 1+B*Gm = 1-B*Gm\n",
+ "Re=(1.0-D)/Gm #in K\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Re= %.2f K \" %Re)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gm= -50.00 mA/V \n",
+ "Re= 0.98 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2b Page No 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rc1=3#in K\n",
+ "Rc2=0.5#in K\n",
+ "Re=0.05#in K\n",
+ "Rs=1.2#in K\n",
+ "hfe=50.0\n",
+ "hie=1.1#in K\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "\n",
+ "R=Rs\n",
+ "\n",
+ "#Calculations\n",
+ "#Ai=-Ic2/Is=-(Ic2/Ib2)*(Ib2/Ic1)*(Ic1/Ib1)*(Ib1/Is)\n",
+ "# -Ic2/Ib2 =- hfe = -50\n",
+ "# Ic1/Ib1 = hfe\n",
+ "#Let Ib2/Ic1 = k\n",
+ "Ri2= hie+((1+hfe)*(Re*R/(Re+R)))\n",
+ "k=-Rc1/(Rc1+Ri2)\n",
+ "\n",
+ "r= Rs*(Rs+Re)/(Rs+R+Re)\n",
+ "#Let Ib1/Is = l\n",
+ "l=r/(r+hie)\n",
+ "\n",
+ "Ai=(-hfe)*(k)*(hfe)*(l)\n",
+ "\n",
+ "B=Re/(Re+R)#beta\n",
+ "D=1+(B*Ai)\n",
+ "\n",
+ "Aif=Ai/D\n",
+ "\n",
+ "Avf=(Aif*Rc2)/Rs\n",
+ "\n",
+ "#To find Rif\n",
+ "\n",
+ "Ri=(r*hie)/(r+hie)\n",
+ "Rif=Ri/D\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rif= %.2f ohm \" %(Rif*1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rif= 22.63 ohm \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2c, Page No 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Gmf=-1 #Transconductance in mA/V\n",
+ "D=50.0 #Desensivity\n",
+ "Avf=-4 #Voltage Gain\n",
+ "Rs=1.0 #in K\n",
+ "hfe=150.0 \n",
+ "Vt=0.026 #in V\n",
+ "Gm=Gmf*D\n",
+ "\n",
+ "#Calculations\n",
+ "#B=-Re, D = 1+B*Gm = 1-B*Gm\n",
+ "Re=(1-D)/Gm#in K\n",
+ "Rl=Avf/Gmf#in K\n",
+ "# Gm= -hfe/(Rs+hie+Re)\n",
+ "hie= -(hfe/Gm)-Rs-Re\n",
+ "Ri = Rs + hie +Re\n",
+ "Rif = Ri*D\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rif= %.2f K \" %Rif)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rif= 150.00 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2d Page No 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Gmf=-1 #Transconductance in mA/V\n",
+ "D=50.0 #Desensivity\n",
+ "Avf=-4 #Voltage Gain\n",
+ "Rs=1.0 #in K\n",
+ "hfe=150.0 \n",
+ "Vt=0.026 #in V\n",
+ "Gm=Gmf*D\n",
+ "\n",
+ "#Calculations\n",
+ "#B=-Re, D = 1+B*Gm = 1-B*Gm\n",
+ "Re=(1-D)/Gm#in K\n",
+ "Rl=Avf/Gmf#in K\n",
+ "\n",
+ "# Gm= -hfe/(Rs+hie+Re)\n",
+ "hie= -(hfe/Gm)-Rs-Re\n",
+ "Ri = Rs + hie +Re\n",
+ "Rif = Ri*D\n",
+ "Ic=(hfe*Vt)/hie\n",
+ "\n",
+ "#Results\n",
+ "print(\"Quiscent Collector Current = %.2f mA \" %Ic)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Quiscent Collector Current = 3.82 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3a Page No 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rc1=3#in K\n",
+ "Rc2=0.5#in K\n",
+ "Re=0.05#in K\n",
+ "Rs=1.2#in K\n",
+ "hfe=50.0\n",
+ "hie=1.1#in K\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "R=Rs\n",
+ "\n",
+ "#Calculations\n",
+ "#Ai=-Ic2/Is=-(Ic2/Ib2)*(Ib2/Ic1)*(Ic1/Ib1)*(Ib1/Is)\n",
+ "# -Ic2/Ib2 =- hfe = -50\n",
+ "# Ic1/Ib1 = hfe\n",
+ "#Let Ib2/Ic1 = k\n",
+ "Ri2= hie + ((1+hfe)*(Re*R/(Re+R)))\n",
+ "k=-Rc1/(Rc1+Ri2)\n",
+ "r= Rs*(Rs+Re)/(Rs+R+Re)\n",
+ "#Let Ib1/Is = l\n",
+ "l=r/(r+hie)\n",
+ "Ai=(-hfe)*(k)*(hfe)*(l)\n",
+ "\n",
+ "print(\"The value of Ai = %.2f \" %Ai)\n",
+ "\n",
+ "B=Re/(Re+R)#beta\n",
+ "D=1+(B*Ai)\n",
+ "\n",
+ "Aif=Ai/D\n",
+ "print(\"The value of Aif = %.2f v \" %Aif)\n",
+ "\n",
+ "Avf=(Aif*Rc2)/Rs\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Avf = %.2f v \" %Avf)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Ai = 409.55 \n",
+ "The value of Aif = 23.56 v \n",
+ "The value of Avf = 9.82 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3b, Page No 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Rc1=3.0 #in K\n",
+ "Rc2=0.5 #in K\n",
+ "Re=0.05 #in K\n",
+ "Rs=1.2 #in K\n",
+ "hfe=50.0 \n",
+ "hie=1.1 #in K\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "R=Rs\n",
+ "\n",
+ "#Calculations\n",
+ "#Ai=-Ic2/Is=-(Ic2/Ib2)*(Ib2/Ic1)*(Ic1/Ib1)*(Ib1/Is)\n",
+ "# -Ic2/Ib2 =- hfe = -50\n",
+ "# Ic1/Ib1 = hfe\n",
+ "#Let Ib2/Ic1 = k\n",
+ "Ri2= hie + ((1+hfe)*(Re*R/(Re+R)))\n",
+ "k=-Rc1/(Rc1+Ri2)\n",
+ "r= Rs*(Rs+Re)/(Rs+R+Re)\n",
+ "#Let Ib1/Is = l\n",
+ "l=r/(r+hie)\n",
+ "Ai=(-hfe)*(k)*(hfe)*(l)\n",
+ "B=Re/(Re+R)#beta\n",
+ "D=1+(B*Ai)\n",
+ "Aif=Ai/D\n",
+ "Avf=(Aif*Rc2)/Rs\n",
+ "\n",
+ "#To find Rif\n",
+ "Ri=(r*hie)/(r+hie)\n",
+ "Rif=Ri/D\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rif = %.2f ohm \" %(Rif*1000))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rif = 22.63 ohm \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3c Page No 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rc1=3.0 #in K\n",
+ "Rc2=0.5 #in K\n",
+ "Re=0.05 #in K\n",
+ "Rs=1.2 #in K\n",
+ "hfe=50.0 \n",
+ "hie=1.1 #in K\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "R=Rs\n",
+ "\n",
+ "#Calculations\n",
+ "#Ai=-Ic2/Is=-(Ic2/Ib2)*(Ib2/Ic1)*(Ic1/Ib1)*(Ib1/Is)\n",
+ "# -Ic2/Ib2 =- hfe = -50\n",
+ "# Ic1/Ib1 = hfe\n",
+ "#Let Ib2/Ic1 = k\n",
+ "Ri2= hie + ((1+hfe)*(Re*R/(Re+R)))\n",
+ "k=-Rc1/(Rc1+Ri2)\n",
+ "\n",
+ "r= Rs*(Rs+Re)/(Rs+R+Re)\n",
+ "#Let Ib1/Is = l\n",
+ "l=r/(r+hie)\n",
+ "\n",
+ "Ai=(-hfe)*(k)*(hfe)*(l)\n",
+ "\n",
+ "B=Re/(Re+R)#beta\n",
+ "D=1+(B*Ai)\n",
+ "\n",
+ "Aif=Ai/D\n",
+ "\n",
+ "Avf=(Aif*Rc2)/Rs\n",
+ "\n",
+ "Ri=(r*hie)/(r+hie)\n",
+ "Rif=Ri/D\n",
+ "\n",
+ "rif=(Rif*Rs)/(Rs-Rif)\n",
+ "\n",
+ "#Results\n",
+ "print(\"Resistance with feedback seen by voltage source is %.2f K \" %(rif+Rs))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance with feedback seen by voltage source is 1.22 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3d Page No 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Rc1=3.0 #in K\n",
+ "Rc2=0.5 #in K\n",
+ "Re=0.05 #in K\n",
+ "Rs=1.2 #in K\n",
+ "hfe=50.0\n",
+ "hie=1.1 #in K\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "R=Rs\n",
+ "\n",
+ "#Calculations\n",
+ "#Ai=-Ic2/Is=-(Ic2/Ib2)*(Ib2/Ic1)*(Ic1/Ib1)*(Ib1/Is)\n",
+ "# -Ic2/Ib2 =- hfe = -50\n",
+ "# Ic1/Ib1 = hfe\n",
+ "#Let Ib2/Ic1 = k\n",
+ "Ri2= hie + ((1+hfe)*(Re*R/(Re+R)))\n",
+ "k=-Rc1/(Rc1+Ri2)\n",
+ "r= Rs*(Rs+Re)/(Rs+R+Re)\n",
+ "#Let Ib1/Is = l\n",
+ "l=r/(r+hie)\n",
+ "Ai=(-hfe)*(k)*(hfe)*(l)\n",
+ "B=Re/(Re+R)#beta\n",
+ "D=1+(B*Ai)\n",
+ "\n",
+ "Aif=Ai/D\n",
+ "Avf=(Aif*Rc2)/Rs\n",
+ "Rof=(Avf*Rs)/Aif\n",
+ "\n",
+ "#Results\n",
+ "print(\"Output Resistance = %.2f K \" %Rof)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output Resistance = 0.50 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4a Page No 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rc=4#in K\n",
+ "r=40#in K\n",
+ "Rs=10#in K\n",
+ "hie=1.1#in K\n",
+ "hfe=50\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "\n",
+ "#Calculations\n",
+ "#Required Formulae\n",
+ "rc=(Rc*r)/(Rc+r)\n",
+ "R=(Rs*r)/(Rs+r)\n",
+ "Rm=-(hfe*rc*R)/(R+hie)\n",
+ "print(\"The value of Rm = %.2f K \" %Rm)\n",
+ "B=-1/r#in mA/V\n",
+ "D=1+(B*Rm)\n",
+ "Rmf=Rm/D\n",
+ "#Avf = Vo/Vs = Vo/(Is*Rs) = Rmf/Rs\n",
+ "Avf=Rmf/Rs\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Avf = %.2f v \" %Avf)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rm = -131.87 K \n",
+ "The value of Avf = -0.10 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4b , Page No 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Rc=4.0 #in K\n",
+ "r=40.0 #in K\n",
+ "Rs=10.0 #in K\n",
+ "hie=1.1 #in K\n",
+ "hfe=50.0\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "\n",
+ "#Calculations\n",
+ "#Required Formulae\n",
+ "rc=(Rc*r)/(Rc+r)\n",
+ "R=(Rs*r)/(Rs+r)\n",
+ "Rm=-(hfe*rc*R)/(R+hie)\n",
+ "B=-1.0/r#in mA/V\n",
+ "D=1+(B*Rm)\n",
+ "Rmf=Rm/D\n",
+ "#Avf = Vo/Vs = Vo/(Is*Rs) = Rmf/Rs\n",
+ "Avf=Rmf/Rs\n",
+ "Ri = (R*hie)/(R+hie)\n",
+ "Rif=Ri/D\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rif = %.2f v \" %Rif)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rif = 0.19 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4c, Page No 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Rc=4.0 #in K\n",
+ "r=40.0 #in K\n",
+ "Rs=10.0 #in K\n",
+ "hie=1.1 #in K\n",
+ "hfe=50.0\n",
+ "hre=0\n",
+ "hoe=0\n",
+ "\n",
+ "#Calculations\n",
+ "#Required Formulae\n",
+ "rc=(Rc*r)/(Rc+r)\n",
+ "R=(Rs*r)/(Rs+r)\n",
+ "Rm=-(hfe*rc*R)/(R+hie)\n",
+ "\n",
+ "print(\"The value of Rm = %.2f v \" %Rm)\n",
+ "B=-1/r#in mA/V\n",
+ "D=1+(B*Rm)\n",
+ "Rmf=Rm/D\n",
+ "#Avf = Vo/Vs = Vo/(Is*Rs) = Rmf/Rs\n",
+ "Avf=Rmf/Rs\n",
+ "Ri = (R*hie)/(R+hie)\n",
+ "Rif=Ri/D\n",
+ "\n",
+ "#If the input resistance looking to the right of Rs is rif then Rif=(rif*Rs)/(rif+Rs)\n",
+ "rif=(Rif*Rs)/(Rs-Rif)\n",
+ "\n",
+ "print(\"The impedence seen by the voltage source=Rif = %.2f K \" %(Rs+rif))\n",
+ "Ro=40.0 #in K\n",
+ "r=40.0 #in K\n",
+ "Rm = -(hfe*r*R)/(R+hie)\n",
+ "Rof=Ro/(1+(B*Rm))\n",
+ "#We are writting Rof' = rof\n",
+ "rof=(Rof*Rc)/(Rof+Rc)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of rof = %.2f K \" %rof)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rm = -159.84 v \n",
+ "The impedence seen by the voltage source=Rif = 10.20 K \n",
+ "The value of rof = 0.73 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter14.ipynb b/Integrated_Electronics/Chapter14.ipynb new file mode 100755 index 00000000..82f65bbb --- /dev/null +++ b/Integrated_Electronics/Chapter14.ipynb @@ -0,0 +1,122 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14 : Stability and Oscillators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1a, Page No 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "s1 = -46.2*(10**5)\n",
+ "s2 = -45.9*(10**6)\n",
+ "s3 = -11.4*(10**8)\n",
+ "s4 = -30.4*(10**8)\n",
+ "\n",
+ "#Calculations\n",
+ "#Zeros\n",
+ "s5 = 16.65*(10**9)\n",
+ "s6 = 15.4*(10**8)\n",
+ "s7 = -22.55*(10**8)\n",
+ "s = 6.28*(10**6)\n",
+ "B = 0.040\n",
+ "Ai = 410.0 #Gain\n",
+ "\n",
+ "n = s2/s1\n",
+ "print(\"The value of n= %.2f \" %n)\n",
+ "Q = (n*(1+(B*Ai)))**0.5/(n+1)\n",
+ "print(\"The value of Q = %.2f \" %Q)\n",
+ "k = 1.0/(2*Q)\n",
+ "print(\"The value of K = %.2f \" %K)\n",
+ "\n",
+ "s1f = s1*((n+1)/2)*(1-%i*((4*Q*Q)-1)**0.5)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The first pole is = %.2f \" %s1f)\n",
+ "s2f = s1*((n+1)/2)*(1+%i*((4*Q*Q)-1)**0.5)\n",
+ "print(\"The second pole is = %.2f \" %s2f)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "SyntaxError",
+ "evalue": "invalid syntax (<ipython-input-1-fb03b3d691c3>, line 24)",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;36m File \u001b[1;32m\"<ipython-input-1-fb03b3d691c3>\"\u001b[1;36m, line \u001b[1;32m24\u001b[0m\n\u001b[1;33m s1f = s1*((n+1)/2)*(1-%i*((4*Q*Q)-1)**0.5)\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2a, Page No 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Q=1.20\n",
+ "w1=45.9\n",
+ "w2=4.62\n",
+ "k=0.417\n",
+ "w0=Q*(w1+w2)\n",
+ "\n",
+ "#Calculations\n",
+ "fpeak=(w0/6.28)*math.sqrt(1.0-(2.0*(k**2.0)))\n",
+ "m=1.0/(2.0*k*(math.sqrt(1-(2.0*(k**2.0)))))\n",
+ "m2=20*math.log(m,10)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of fpeak = %.2f MHZ\" %fpeak)\n",
+ "print(\"The value of overshoot = %.2f dB\" %m)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of fpeak = 7.80 MHZ\n",
+ "The value of overshoot = 1.48 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter15.ipynb b/Integrated_Electronics/Chapter15.ipynb new file mode 100755 index 00000000..0381de3d --- /dev/null +++ b/Integrated_Electronics/Chapter15.ipynb @@ -0,0 +1,292 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 15 : Operational Amplifier"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1a, Page No 572"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "v11=50.0 #in microV\n",
+ "v21=-50.0 #in microV\n",
+ "#Second Set of Input Signal\n",
+ "v12=1050.0 #in microV\n",
+ "v22=950.0 #in microV\n",
+ "p=100.0 #Common Mode Rejection Ratio\n",
+ "\n",
+ "#Required Formulae\n",
+ "#vo = Ad*vd*(1+vc/p*vd) .... p = commom mode rejection ratio\n",
+ "#Ad will be same for both case, So let us write Vo = vo/Ad = Ad*(1+vc/p*vd)\n",
+ "\n",
+ "#Calculations\n",
+ "#First Set of Values\n",
+ "vd1=v11-v21#in microV\n",
+ "vc1=(v11+v21)/2#in microV\n",
+ "Vo1 = vd1*(1+vc1/(p*vd1))\n",
+ "\n",
+ "#Second Set of Values\n",
+ "vd2=v12-v22#in microV\n",
+ "vc2=(v12+v22)/2#in microV\n",
+ "Vo2 = vd2*(1+vc2/(p*vd2))\n",
+ "\n",
+ "#Results\n",
+ "print(\"Percentage difference in output signal = %.2f v \" %(100*(Vo2-Vo1)/Vo1))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage difference in output signal = 10.00 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1b, Page No 572"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "v11=50.0 #in microV\n",
+ "v21=-50.0 #in microV\n",
+ "#Second Set of Input Signal\n",
+ "v12=1050.0 #in microV\n",
+ "v22=950.0 #in microV\n",
+ "p=100.0 #Common Mode Rejection Ratio\n",
+ "\n",
+ "#Required Formulae\n",
+ "#vo = Ad*vd*(1+vc/p*vd) .... p = commom mode rejection ratio\n",
+ "#Ad will be same for both case, So let us write Vo = vo/Ad = Ad*(1+vc/p*vd)\n",
+ "\n",
+ "#Calculations\n",
+ "#First Set of Values\n",
+ "vd1=v11-v21#in microV\n",
+ "vc1=(v11+v21)/2#in microV\n",
+ "Vo1 = vd1*(1+vc1/(p*vd1))\n",
+ "\n",
+ "#Second Set of Values\n",
+ "vd2=v12-v22#in microV\n",
+ "vc2=(v12+v22)/2#in microV\n",
+ "Vo2 = vd2*(1+vc2/(p*vd2))\n",
+ "\n",
+ "\n",
+ "#Now we have to calculate the same thing with common mode rejection ratio = 10000\n",
+ "\n",
+ "p=10000#Common Mode Rejection Ratio\n",
+ "\n",
+ "#First Set of Values\n",
+ "vd1=v11-v21#in microV\n",
+ "vc1=(v11+v21)/2#in microV\n",
+ "Vo1 = vd1*(1+vc1/(p*vd1))\n",
+ "\n",
+ "#Second Set of Values\n",
+ "vd2=v12-v22#in microV\n",
+ "vc2=(v12+v22)/2#in microV\n",
+ "Vo2 = vd2*(1+vc2/(p*vd2))\n",
+ "\n",
+ "#Results\n",
+ "print(\"Percentage difference in output signal = %.2f v \" %(100*(Vo2-Vo1)/Vo1))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage difference in output signal = 0.10 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.2 Page No 576"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vbe1=0.7\n",
+ "Vce3=0.2\n",
+ "I3=5.0\n",
+ "R3=0.4\n",
+ "Vee=5\n",
+ "Vcc=5\n",
+ "Ic1=2.5\n",
+ "Rc=1.0\n",
+ "\n",
+ "#Calculations\n",
+ "Vcmmin=Vbe1+Vce3+(I3*R3)-Vee\n",
+ "Vcmmax=Vcc-(Ic1*Rc)+0.6\n",
+ "\n",
+ "#Results\n",
+ "print(\"The Vcm can vary from = %.2f v to \" %Vcmmin)\n",
+ "print(\"%.2f v \" %Vcmmax)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Vcm can vary from = -2.10 v to \n",
+ "3.10 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.3 Page No 583"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vbe2=0.7\n",
+ "Vce1=0.2\n",
+ "I1=0.99\n",
+ "R1=2.2\n",
+ "Vee=6\n",
+ "Vcc=6\n",
+ "Ic2=0.495\n",
+ "R2=7.75\n",
+ "Vbc2=0.6\n",
+ "\n",
+ "#Calculations\n",
+ "Vcmmin=Vbe2+Vce1+(I1*R1)-Vee\n",
+ "Vcmmax=Vcc-(Ic2*R2)+0.6\n",
+ "\n",
+ "#Results\n",
+ "print(\"The Vcm can vary from = %.2f v to \" %Vcmmin)\n",
+ "print(\"%.2f v \" %Vcmmax)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Vcm can vary from = -2.92 v to \n",
+ "2.76 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.4 Page No 596"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "f=32.0 #feedback in dB\n",
+ "#from the Bodes plot we get that Avo = 2510\n",
+ "Avo = 2510.0 #gain\n",
+ "print('The parameters are R , r (for Rdash), C (for Cdash)')\n",
+ "#Desensivity D = B*Rmo = Avo*(R/(R+r))\n",
+ "#20log10(D ) = f\n",
+ "\n",
+ "#Calculations\n",
+ "k = f - (20*math.log(Avo,10))\n",
+ "#Let (R+r)/R = l\n",
+ "l = 1.0/(10**(k/20))\n",
+ "#R/(R+r) = fp/fz\n",
+ "#For 45degree phase margin and 32dB of low frequency feedback we find by trial and error method from the graph\n",
+ "fz = 10#in MHz\n",
+ "fp = fz*l\n",
+ "#to determine c we can arbitrarily choose R\n",
+ "R = 1000.0 #in ohm\n",
+ "\n",
+ "#Results\n",
+ "print(\"R = %.2f ohm \" %R)\n",
+ "r = (l-1)*R\n",
+ "print(\"r = %.2f ohm \" %r)\n",
+ "C = 1/(2*math.pi*fz*r*10**-6)\n",
+ "print(\"C = %.2f pF \" %C)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The parameters are R , r (for Rdash), C (for Cdash)\n",
+ "R = 1000.00 ohm \n",
+ "r = 62048.35 ohm \n",
+ "C = 0.26 pF \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter16.ipynb b/Integrated_Electronics/Chapter16.ipynb new file mode 100755 index 00000000..eaac3205 --- /dev/null +++ b/Integrated_Electronics/Chapter16.ipynb @@ -0,0 +1,626 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 16 : Integrated Circuits as Analog System Building blocks"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.1, Page No 621"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#Caption:Fourth Order Butterworth Filter\n",
+ "#Given Data\n",
+ "fo=1.0\t\t#Cutoff Frequency in Hz\n",
+ "#For n = 4\n",
+ "k1=0.765\n",
+ "k2=1.848\n",
+ "Av1 = 3-k1\n",
+ "Av2 = 3-k2\n",
+ "\n",
+ "#Calculations\n",
+ "print('For a fourth order Buttworth filter we cacade 2 second order Buttworth filter with parameters R1 R2 R1d R2d R C')\n",
+ "#we arbitrarily choose\n",
+ "R1=10.0 \t#in K\n",
+ "print(\"The value of R1= %.2f K \" %R1)\n",
+ "#Av1=(R1+R1d)/R1\n",
+ "R1d=(Av1*R1)-R1\n",
+ "print(\"The value of R1d= %.2f K \" %R1d)\n",
+ "\n",
+ "R2 = 10.0 #in K\n",
+ "print(\"The value of R2= %.2f K \" %R2)\n",
+ "R2d=(Av2*R2)-R2\n",
+ "print(\"The value of R2d= %.2f K \" %R2d)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "#To satisfy fo = 1/(2*math.pi*r*c) = 1kHz\n",
+ "R=1#in K\n",
+ "C = 1/(2*math.pi*R*fo)\n",
+ "print(\"The value of R = %.2f K \" %R)\n",
+ "print(\"The value of C = %.2f microF \" %C)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For a fourth order Buttworth filter we cacade 2 second order Buttworth filter with parameters R1 R2 R1d R2d R C\n",
+ "The value of R1= 10.00 K \n",
+ "The value of R1d= 12.35 K \n",
+ "The value of R2= 10.00 K \n",
+ "The value of R2d= 1.52 K \n",
+ "The value of R = 1.00 K \n",
+ "The value of C = 0.16 microF \n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.2, Page No 626"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Ao=50.0 #Gain\n",
+ "fo=160.0 #center frequency\n",
+ "B=16.0 #Bandwidth in Hz\n",
+ "C1=0.1 #in microF\n",
+ "C2=0.1 #in microF\n",
+ "\n",
+ "#Required Formulae\n",
+ "\n",
+ "#Calculations\n",
+ "Q=fo/B\n",
+ "R1=(1000*Q)/(Ao*2*math.pi*fo*C1)\n",
+ "R3=(1000*Q)/((2*math.pi*fo)*(C1*C2/(C1+C2)))\n",
+ "#As C is in microFarad to compensate for it 1000 is multiplied\n",
+ "#Let r = R'\n",
+ "r=(10**6)/((2*math.pi*fo)**2*R3*C1*C2)\n",
+ "R2=(R1*r)/(R1-r)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of R1= %.2f K \" %R1)\n",
+ "print(\"The value of R3= %.2f K \" %R3)\n",
+ "print(\"The value of r= %.2f ohm \" %(r*10**3))\n",
+ "print(\"The value of R2= %.2f ohm \" %(R2*10**3))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R1= 1.99 K \n",
+ "The value of R3= 198.94 K \n",
+ "The value of r= 497.36 ohm \n",
+ "The value of R2= 663.15 ohm \n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.3 Page No 638"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Avo=-25.0\n",
+ "Vagc=20.0 #in V\n",
+ "Vcc=6.0 #in V\n",
+ "hfe=50.0 \n",
+ "rbb=50.0 #in ohm\n",
+ "Cs=5.0 #in pF\n",
+ "Cl=5.0 #in pF\n",
+ "Ie1=1.0 #in mA\n",
+ "ft=900.0 #in MHz\n",
+ "Vt=26.0 #in V\n",
+ "n=2.0 #eeta\n",
+ "#re2 = infinity\n",
+ "\n",
+ "#Calculations\n",
+ "#Since Vagc=0 , transistor Q2 is in cut off region and collector current of Q1 flows through Q3....So\n",
+ "Ie2=0\n",
+ "Ie3=1.0 #in mA\n",
+ "re3 = (n*Vt)/Ie3 #in ohm\n",
+ "print(\"The value of re3 = %.2f ohm \" %re3)\n",
+ "gm = (Ie1)/Vt #in ohm^-1\n",
+ "print(\"The value of gm = %.2f ohm^-1 \" %gm)\n",
+ "rbe=hfe/gm\n",
+ "print(\"The value of rbe = %.2f ohm \" %rbe)\n",
+ "Ce=gm/(2*math.pi*ft*10**-6)\n",
+ "print(\"The value of Ce = %.2f pF \" %Ce)\n",
+ "a3=1.0 #we make an assumption that alpha is one\n",
+ "s=0\n",
+ "#Av0 = -((a3*gm)/(re3*rbb))*(1/(((1/rbb)+(1/rbe)+(s*Ce))*((1/re3)+(s*Cs))*((1/Rl)+(s*(Cs+Cl)))))\n",
+ "#From here we can find Rl\n",
+ "k = -((a3*gm)/(re3*rbb))*(1/(((1/rbb)+(1/rbe)+(s*Ce))*((1/re3)+(s*Cs))))\n",
+ "Rl=Avo/k\n",
+ "print(\"The value of Rl = %.2f ohm \" %Rl)\n",
+ "#C is in picoFarad so to compensate the whole equation some constants are multiplied\n",
+ "f1 = 1.0/(2*math.pi*Rl*(Cs+Cl)*10**-6)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of f1 = %.2f MHz \" %f1)\n",
+ "f2 = 1.0/(2*math.pi*Ce*10**-6*((rbe*rbb)/(rbe+rbb)))\n",
+ "print(\"The value of f2 = %.2f MHz \" %f2)\n",
+ "f3 = 1.0/(2*math.pi*Cs*re3*10**-6)\n",
+ "print(\"The value of f3 = %.2f MHz \" %f3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of re3 = 52.00 ohm \n",
+ "The value of gm = 0.04 ohm^-1 \n",
+ "The value of rbe = 1300.00 ohm \n",
+ "The value of Ce = 6.80 pF \n",
+ "The value of Rl = 675.00 ohm \n",
+ "The value of f1 = 23.58 MHz \n",
+ "The value of f2 = 486.00 MHz \n",
+ "The value of f3 = 612.13 MHz \n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4a, Page No 656"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Vbb = 1.15 #in V\n",
+ "Vee=5.20 #in V\n",
+ "Vbe5=0.7 #in V\n",
+ "R=1.18 #in K\n",
+ "r=300.0 #in ohm\n",
+ "Vbecutin=0.5 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "#If all inputs are low then we assume that Q1,Q2 and Q3 are cutoff and Q4 is conducting\n",
+ "Ve=-Vbb-Vbe5#Voltage at Common Emitter in V\n",
+ "#Current I in 1.18K Resistor\n",
+ "I = (Ve+Vee)/R#in mA\n",
+ "I1=I\n",
+ "print(\"Current in 300 ohm resistance I= %.2f mA \" %I)\n",
+ "#Output Voltage at Y\n",
+ "vy = -(r*I/1000)-Vbe5 #I is in mA so 1000 is multiplied\n",
+ "Vbe = vy-Ve\n",
+ "print(\"The value of Vbe is %.2f v \" %Vbe)\n",
+ "if Vbe<Vbecutin :\n",
+ " print('Input transistors are non conducting as was assumed')\n",
+ " print('If atleast one input is high then it is assumed that curent in 1.18K resistance is switched to R and Q4 is cutoff')\n",
+ " print('Drop in 300 ohm resistance is zero.Since the base aand collector are tied together Q5 now behaves as a diode')\n",
+ " print('Across Q5')\n",
+ " v=0.7#voltage across Q5 in V\n",
+ " rQ5 = 1.5#in K\n",
+ " i = (Vee-v)/rQ5\n",
+ " v = 0.75#from the graph in V\n",
+ " print(\"The value of i is %.2f mA \" %i)\n",
+ " print(\"The value of V is %.2f v \" %v)\n",
+ " Ve = -v-Vbe5\n",
+ " Vbe4=-Vbb-Ve\n",
+ " print(\"The value of Vbe4 is %.2f v \" %Vbe4)\n",
+ "\n",
+ "#Results \n",
+ "print('The total output swing between two logic gates')\n",
+ "vo = -vy-v\n",
+ "print(\"The value of vo is %.2f v \" %vo)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in 300 ohm resistance I= 2.84 mA \n",
+ "The value of Vbe is 0.30 v \n",
+ "Input transistors are non conducting as was assumed\n",
+ "If atleast one input is high then it is assumed that curent in 1.18K resistance is switched to R and Q4 is cutoff\n",
+ "Drop in 300 ohm resistance is zero.Since the base aand collector are tied together Q5 now behaves as a diode\n",
+ "Across Q5\n",
+ "The value of i is 3.00 mA \n",
+ "The value of V is 0.75 v \n",
+ "The value of Vbe4 is 0.30 v \n",
+ "The total output swing between two logic gates\n",
+ "The value of vo is 0.80 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4b Page No 656"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vbb = 1.15 #in V\n",
+ "Vee=5.20 #in V\n",
+ "Vbe5=0.7 #in V\n",
+ "R=1.18 #in K\n",
+ "r=300 #in ohm\n",
+ "Vbecutin=0.5 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "#If all inputs are low then we assume that Q1,Q2 and Q3 are cutoff and Q4 is conducting\n",
+ "Ve=-Vbb-Vbe5 #Voltage at Common Emitter in V\n",
+ "#Current I in 1.18K Resistor\n",
+ "I = (Ve+Vee)/R#in mA\n",
+ "I1=I\n",
+ "#Output Voltage at Y\n",
+ "vy = -(r*I/1000)-Vbe5 #I is in mA so 1000 is multiplied\n",
+ "Vbe = vy-Ve\n",
+ "if Vbe<Vbecutin :\n",
+ " v=0.7 #voltage across Q5 in V\n",
+ " rQ5 = 1.5#in K\n",
+ " i = (Vee-v)/rQ5\n",
+ " v = 0.75 #from the graph in V\n",
+ " Ve = -v-Vbe5\n",
+ " Vbe4=-Vbb-Ve\n",
+ "\n",
+ "vo = -vy-v\n",
+ "\n",
+ "#Results\n",
+ "#Calculation of noise margin\n",
+ "vn = Vbecutin-Vbe4\n",
+ "print('Positive noise spike which will cause the gate to malfunction')\n",
+ "print(\"The value of vn is %.2f v \" %vn)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Positive noise spike which will cause the gate to malfunction\n",
+ "The value of vn is 0.20 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4c Page No 656"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#Verify that conducting transistor is in active region\n",
+ "#Given Data\n",
+ "Vbb = 1.15 #in V\n",
+ "Vee=5.20 #in V\n",
+ "Vbe5=0.7 #in V\n",
+ "R=1.18 #in K\n",
+ "r=300.0 #in ohm\n",
+ "Vbecutin=0.5 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "#If all inputs are low then we assume that Q1,Q2 and Q3 are cutoff and Q4 is conducting\n",
+ "Ve=-Vbb-Vbe5#Voltage at Common Emitter in V\n",
+ "#Current I in 1.18K Resistor\n",
+ "I = (Ve+Vee)/R #in mA\n",
+ "I1=I\n",
+ "#Output Voltage at Y\n",
+ "vy = -(r*I/1000)-Vbe5 #I is in mA so 1000 is multiplied\n",
+ "Vbe = vy-Ve\n",
+ "if Vbe<Vbecutin :\n",
+ " v=0.7 #voltage across Q5 in V\n",
+ " rQ5 = 1.5 #in K\n",
+ " i = (Vee-v)/rQ5\n",
+ " v = 0.75 #from the graph in V\n",
+ " Ve = -v-Vbe5\n",
+ " Vbe4=-Vbb-Ve\n",
+ " \n",
+ "vo = -vy-v\n",
+ "\n",
+ "Vb4 = Vbb\n",
+ "Vc4 = -(I*r)/1000 #in V\n",
+ "Vcb4 = Vc4+Vb4\n",
+ "print(\"The value of Vcb4 is %.2f v \" %Vcb4)\n",
+ "if Vcb4>0 :\n",
+ " print('For on npn transistor this represents a reverse bias and Q4 must be in active region')\n",
+ "\n",
+ "Vb1 = v\n",
+ "Vc1 = vy+Vbe5\n",
+ "Vcb1 = Vc1 + Vb1\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vc1 is %.2f v \" %Vc1)\n",
+ "print(\"The value of Vcb1 is %.2f v \" %Vcb1)\n",
+ "if Vcb1<0 :\n",
+ " print('For an npn transistor this represents a forward bias.... therefore Q1 is in saturation region')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vcb4 is 0.30 v \n",
+ "For on npn transistor this represents a reverse bias and Q4 must be in active region\n",
+ "The value of Vc1 is -0.85 v \n",
+ "The value of Vcb1 is -0.10 v \n",
+ "For an npn transistor this represents a forward bias.... therefore Q1 is in saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4d, Page No 656"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vbb = 1.15 #in V\n",
+ "Vee=5.20 #in V\n",
+ "Vbe5=0.7 #in V\n",
+ "R=1.18 #in K\n",
+ "r=300.0 #in ohm\n",
+ "Vbecutin=0.5 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#If all inputs are low then we assume that Q1,Q2 and Q3 are cutoff and Q4 is conducting\n",
+ "Ve=-Vbb-Vbe5#Voltage at Common Emitter in V\n",
+ "#Current I in 1.18K Resistor\n",
+ "I = (Ve+Vee)/R#in mA\n",
+ "I1=I\n",
+ "#Output Voltage at Y\n",
+ "vy = -(r*I/1000.0)-Vbe5#I is in mA so 1000 is multiplied\n",
+ "Vbe = vy-Ve\n",
+ "if Vbe<Vbecutin :\n",
+ " v=0.7#voltage across Q5 in V\n",
+ " rQ5 = 1.5#in K\n",
+ " i = (Vee-v)/rQ5\n",
+ " v = 0.75#from the graph in V\n",
+ " Ve = -v-Vbe5\n",
+ " Vbe4=-Vbb-Ve\n",
+ "\n",
+ "vo = -vy-v\n",
+ "\n",
+ "#Verify that conducting transistor is in active region\n",
+ "Vb4 = Vbb\n",
+ "Vc4 = -(I*r)/1000#in V\n",
+ "Vcb4 = Vc4+Vb4\n",
+ "Vb1 = v\n",
+ "Vc1 = vy+Vbe5\n",
+ "Vcb1 = Vc1 + Vb1\n",
+ "\n",
+ "Vbe1 = Vbe5\n",
+ "Ve = -(Vb1+Vbe1)\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print(\"The value of Ve is %.2f v \" %Ve)\n",
+ "I = (Ve + Vee)/R\n",
+ "I2=I\n",
+ "R = -Vc1/I\n",
+ "print(\"The value of R is %.2f ohm \" %R)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Ve is -1.45 v \n",
+ "The value of R is 0.27 ohm \n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4e Page No 656"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Vbb = 1.15#in V\n",
+ "Vee=5.20#in V\n",
+ "Vbe5=0.7#in V\n",
+ "R=1.18#in K\n",
+ "r=300.0 #in ohm\n",
+ "Vbecutin=0.5#in V\n",
+ "\n",
+ "#Calculations\n",
+ "#If all inputs are low then we assume that Q1,Q2 and Q3 are cutoff and Q4 is conducting\n",
+ "Ve=-Vbb-Vbe5#Voltage at Common Emitter in V\n",
+ "#Current I in 1.18K Resistor\n",
+ "I = (Ve+Vee)/R#in mA\n",
+ "I1=I\n",
+ "#Output Voltage at Y\n",
+ "vy = -(r*I/1000.0)-Vbe5#I is in mA so 1000 is multiplied\n",
+ "Vbe = vy-Ve\n",
+ "if Vbe<Vbecutin :\n",
+ " v=0.7#voltage across Q5 in V\n",
+ " rQ5 = 1.5#in K\n",
+ " i = (Vee-v)/rQ5\n",
+ " v = 0.75#from the graph in V\n",
+ " Ve = -v-Vbe5\n",
+ " Vbe4=-Vbb-Ve\n",
+ "\n",
+ "vo = -vy-v\n",
+ "\n",
+ "Vb4 = Vbb\n",
+ "Vc4 = -(I*r)/1000.0#in V\n",
+ "Vcb4 = Vc4+Vb4\n",
+ "Vb1 = v\n",
+ "Vc1 = vy+Vbe5\n",
+ "Vcb1 = Vc1 + Vb1\n",
+ "\n",
+ "Vbe1 = Vbe5\n",
+ "Ve = -(Vb1+Vbe1)\n",
+ "I = (Ve + Vee)/R\n",
+ "I2=I\n",
+ "\n",
+ "I =(I1+I2)/2.0\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of I is %.2f mA \" %I)\n",
+ "I2 = (Vee-v)/rQ5\n",
+ "I3 = (Vee+vy)/rQ5\n",
+ "I = I + I2 + I3\n",
+ "P = Vee*I\n",
+ "print(\"Power dissipated is %.2f mW \" %P)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I is 3.01 mA \n",
+ "Power dissipated is 43.72 mW \n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.5 Page No 668"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "#initialisation of variables\n",
+ "C=50.0 #nF\n",
+ "Ra=10.0 #kOhm\n",
+ "Vcc=5.0 #V\n",
+ "beta=20.0 \n",
+ "\n",
+ "#Calculations\n",
+ "T=1.1*Ra*C\n",
+ "Ib=(Vcc-0.7)/100\n",
+ "Ic=beta*Ib\n",
+ "dt=C*(Vcc/Ic)\n",
+ "\n",
+ "#Results\n",
+ "print(\"Another pulse can be generated at hte output after time period of = %.2f ns \" %dt)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Another pulse can be generated at hte output after time period of = 290.70 ns \n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter18.ipynb b/Integrated_Electronics/Chapter18.ipynb new file mode 100755 index 00000000..f9d407fd --- /dev/null +++ b/Integrated_Electronics/Chapter18.ipynb @@ -0,0 +1,566 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 18 : Power Circuits and Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.1a, Page No 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Vo=25.0 #in V\n",
+ "ro=10.0 #in ohm\n",
+ "\n",
+ "print('select a silicon reference diode')\n",
+ "print('two IN7555 diodes are provided')\n",
+ "Rz = 12.0 #in ohm\n",
+ "Vo=25.0 #output voltage in V\n",
+ "Vr = 7.5 + 7.5 #because two diodes are used\n",
+ "Iz = 20.0 #in mA\n",
+ "Ie2=10.0 #in mA\n",
+ "Ic2 = Ie2\n",
+ "Icmax=30.0 #in mA\n",
+ "Vcemax=45.0 #in V\n",
+ "hFE2=220.0 \n",
+ "hfe2=200.0 \n",
+ "hie2=800.0 #in ohm\n",
+ "Id=10.0 #in mA\n",
+ "Il = 1000.0 #in mA\n",
+ "Vi = 50.0 #in V\n",
+ "dVi = 10.0 #change in input voltage\n",
+ "dIl = 1.0 #change in load current\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For D1 and D2 operate\n",
+ "Iz = Id + Id\n",
+ "Rd = (Vo-Vr)/Id\n",
+ "print(\"The value of Rd is %.2f K \" %Rd)\n",
+ "Ib2 = (1000.0*Ic2)/hFE2\n",
+ "print(\"The value of Ib2 is %.2f microA \" %Ib2)\n",
+ "#Since we require I1>Ib2 , we select\n",
+ "I1=10*(10**-3)#in A\n",
+ "Vbe = 0.7#in V\n",
+ "V2 = Vbe + Vr\n",
+ "print(\"The value of V2 is %.2f v \" %V2)\n",
+ "R1 = (Vo-V2)/I1\n",
+ "R2 = V2/I1\n",
+ "print(\"The value of R1 is %.2f ohm \" %R1)\n",
+ "print(\"The value of R2 is %.2f ohm \" %R2)\n",
+ "#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required\n",
+ "print('We are selecting Texas Instruments 2N1722 silicon power transistor')\n",
+ "Ic1 = 1#in A\n",
+ "hFE1=125.0\n",
+ "hfe1=100.0\n",
+ "hie1=20.0\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "Ib1 =(1000*I1 + Il + Id)/hFE1\n",
+ "print(\"The current through resistor R3 is %.2f mA \" %(Ib1+Ic2))\n",
+ "I=Ib1 + Ic2\n",
+ "\n",
+ "R3 = (Vi - (Vbe + Vo))/I\n",
+ "print(\"The value of R3 is %.2f K \" %R3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "select a silicon reference diode\n",
+ "two IN7555 diodes are provided\n",
+ "The value of Rd is 1.00 K \n",
+ "The value of Ib2 is 45.45 microA \n",
+ "The value of V2 is 15.70 v \n",
+ "The value of R1 is 930.00 ohm \n",
+ "The value of R2 is 1570.00 ohm \n",
+ "We are selecting Texas Instruments 2N1722 silicon power transistor\n",
+ "The current through resistor R3 is 18.16 mA \n",
+ "The value of R3 is 1.34 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.1b, Page No 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vo=25.0 #in V\n",
+ "ro=10.0 #in ohm\n",
+ "\n",
+ "Rz = 12.0 #in ohm\n",
+ "Vo=25.0 #output voltage in V\n",
+ "Vr = 7.5 + 7.5#because two diodes are used\n",
+ "Iz = 20.0 #in mA\n",
+ "Ie2=10.0 #in mA\n",
+ "Ic2 = Ie2\n",
+ "Icmax=30.0 #in mA\n",
+ "Vcemax=45.0 #in V\n",
+ "hFE2=220.0 \n",
+ "hfe2=200.00 \n",
+ "hie2=800.0 #in ohm\n",
+ "Id=10.0 #in mA\n",
+ "Il = 1000.0 #in mA\n",
+ "Vi = 50.0 #in V\n",
+ "dVi = 10.0 #change in input voltage\n",
+ "dIl = 1.0 #change in load current\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For D1 and D2 operate\n",
+ "Iz = Id + Id\n",
+ "Rd = (Vo-Vr)/Id\n",
+ "Ib2 = (1000*Ic2)/hFE2\n",
+ "\n",
+ "#Since we require I1>Ib2 , we select\n",
+ "I1=10*(10**-3)#in A\n",
+ "Vbe = 0.7#in V\n",
+ "\n",
+ "V2 = Vbe + Vr\n",
+ "\n",
+ "R1 = (Vo-V2)/I1\n",
+ "R2 = V2/I1\n",
+ "\n",
+ "#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required\n",
+ "Ic1 = 1#in A\n",
+ "hFE1=125.0\n",
+ "hfe1=100.0\n",
+ "hie1=20.0 \n",
+ "\n",
+ "Ib1 =(1000.0*I1 + Il + Id)/hFE1\n",
+ "#The current through resistor R3\n",
+ "I=Ib1 + Ic2\n",
+ "\n",
+ "R3 = (Vi - (Vbe + Vo))/I\n",
+ "Gm = hfe2*(R2/(R2+R1))*(1/((R1*R2/(R1+R2))+hie2+(1+hfe2)*Rz)) \n",
+ "Sv = (10**-3)/(Gm*R3)\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print(\"The value of Sv is %.2f \" %Sv)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Sv is 0.02 \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.1c Page No 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vo=25.0 #in V\n",
+ "ro=10.0 #in ohm\n",
+ "Rz = 12.0 #in ohm\n",
+ "Vo=25.0 #output voltage in V\n",
+ "Vr = 7.5 + 7.5#because two diodes are used\n",
+ "Iz = 20.0 #in mA\n",
+ "Ie2=10.0 #in mA\n",
+ "Ic2 = Ie2\n",
+ "Icmax=30.0 #in mA\n",
+ "Vcemax=45.0 #in V\n",
+ "hFE2=220.0\n",
+ "hfe2=200.0\n",
+ "hie2=800.0 #in ohm\n",
+ "Id=10.0 #in mA\n",
+ "Il = 1000.0 #in mA\n",
+ "Vi = 50.0 #in V\n",
+ "dVi = 10.0 #change in input voltage\n",
+ "dIl = 1.0 #change in load current\n",
+ "\n",
+ "#Calculations\n",
+ "#For D1 and D2 operate\n",
+ "Iz = Id + Id\n",
+ "Rd = (Vo-Vr)/Id\n",
+ "\n",
+ "Ib2 = (1000.0*Ic2)/hFE2\n",
+ "\n",
+ "#Since we require I1>Ib2 , we select\n",
+ "I1=10*(10**-3)#in A\n",
+ "Vbe = 0.7#in V\n",
+ "\n",
+ "V2 = Vbe + Vr\n",
+ "\n",
+ "R1 = (Vo-V2)/I1\n",
+ "R2 = V2/I1\n",
+ "\n",
+ "#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required\n",
+ "Ic1 = 1#in A\n",
+ "hFE1=125.0\n",
+ "hfe1=100.0\n",
+ "hie1=20.0\n",
+ "\n",
+ "Ib1 =(1000*I1 + Il + Id)/hFE1\n",
+ "#The current through resistor R3 is\n",
+ "I=Ib1 + Ic2\n",
+ "\n",
+ "R3 = (Vi - (Vbe + Vo))/I\n",
+ "\n",
+ "Gm = hfe2*(R2/(R2+R1))*(1/((R1*R2/(R1+R2))+hie2+(1+hfe2)*Rz)) \n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Gm is %.2f \" %Gm)\n",
+ "Ro = (ro + (((1000*R3) + hie1)/(1+hfe1)))/(1 + (Gm*((1000*R3) + ro)))\n",
+ "print(\"The output impedence is = %.2f K \" %Ro)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Gm is 0.03 \n",
+ "The output impedence is = 0.51 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.1d, Page No 780"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vo=25.0 #in V\n",
+ "ro=10.0 #in ohm\n",
+ "\n",
+ "Rz = 12.0 #in ohm\n",
+ "Vo=25.0 #output voltage in V\n",
+ "Vr = 7.5 + 7.5#because two diodes are used\n",
+ "Iz = 20.0 #in mA\n",
+ "Ie2=10.0 #in mA\n",
+ "Ic2 = Ie2\n",
+ "Icmax=30.0 #in mA\n",
+ "Vcemax=45.0 #in V\n",
+ "hFE2=220.0 \n",
+ "hfe2=200.0 \n",
+ "hie2=800.0 #in ohm\n",
+ "Id=10.0 #in mA\n",
+ "Il = 1000.0 #in mA\n",
+ "Vi = 50.0 #in V\n",
+ "dVi = 10.0 #change in input voltage\n",
+ "dIl = 1.0 #change in load current\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For D1 and D2 operate\n",
+ "Iz = Id + Id\n",
+ "Rd = (Vo-Vr)/Id\n",
+ "\n",
+ "Ib2 = (1000.0*Ic2)/hFE2\n",
+ "\n",
+ "#Since we require I1>Ib2 , we select\n",
+ "I1=10.0*(10**-3)#in A\n",
+ "Vbe = 0.7#in V\n",
+ "\n",
+ "V2 = Vbe + Vr\n",
+ "\n",
+ "R1 = (Vo-V2)/I1\n",
+ "R2 = V2/I1\n",
+ "\n",
+ "#We are selecting Texas Instruments 2N1722 silicon power transistor, so following parameters are required\n",
+ "Ic1 = 1#in A\n",
+ "hFE1=125.0\n",
+ "hfe1=100.0\n",
+ "hie1=20.0\n",
+ "\n",
+ "Ib1 =(1000.0*I1 + Il + Id)/hFE1\n",
+ "#The current through resistor R3 is\n",
+ "I=Ib1 + Ic2\n",
+ "\n",
+ "R3 = (Vi - (Vbe + Vo))/I\n",
+ "\n",
+ "Gm = hfe2*(R2/(R2+R1))*(1/((R1*R2/(R1+R2))+hie2+(1+hfe2)*Rz)) \n",
+ "Sv = (10**-3)/(Gm*R3)\n",
+ "\n",
+ "Ro = (ro + (((1000*R3) + hie1)/(1+hfe1)))/(1 + (Gm*((1000*R3) + ro)))\n",
+ "\n",
+ "dVo = (Sv*dVi)+(Ro*dIl)\n",
+ "\n",
+ "#Results\n",
+ "print(\"Change in output voltage = %.2f v \" %dVo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in output voltage = 0.74 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.2a Page No 792"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy import integrate\n",
+ "#initialisation of variables\n",
+ "Vs=230.0 #in V\n",
+ "Rl=200.0 #in ohm\n",
+ "#Trigger is adjusted so that conduction starts after 60degree of start of cycle\n",
+ "#Instantaneous Current il = (230*2^0.5*sin(a))/200\n",
+ "\n",
+ "#Calculations\n",
+ "# to find rms value\n",
+ "xo = math.pi/3.0 #lower limit of integration\n",
+ "x1 = math.pi #upper limit of integration\n",
+ "def f(x):\n",
+ " return((230.0*(2.0**0.5)*math.sin(x))/200.0)**2.0\n",
+ "\n",
+ "\n",
+ "X = integrate.quad(f,xo,x1)\n",
+ "Irms = (X[0]/(2*math.pi))**0.5\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Irms is %.2f A \" %Irms)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Irms is 0.73 A \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.2b Page No 792"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy import integrate\n",
+ "#initialisation of variables\n",
+ "Vs=230.0 #in V\n",
+ "Rl=200.0 #in ohm\n",
+ "#Trigger is adjusted so that conduction starts after 60degree of start of cycle\n",
+ "#Instantaneous Current il = (230*2^0.5*sin(a))/200\n",
+ "#It is noted that between 0 to pi/3 SCR voltage equals line voltage and between pi/3 to pi it is zer and for the rest it is equal to line voltage\n",
+ "#Vl = 230*2^0.5*sin(x)\n",
+ "#To find instantaneous power\n",
+ "\n",
+ "x0=math.pi/3#lower limit of integral\n",
+ "x1=math.pi#upper limit of integral\n",
+ "def f(x):\n",
+ " return((230*230*2*(math.sin(x)**2))/200)\n",
+ "\n",
+ "X = integrate.quad(f,xo,x1)\n",
+ "P = X[0]/(2*3.14)\n",
+ "print(\"The value of P is %.2f W \" %P)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P is 106.45 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.2c Page No 792"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Vs=230.0 #in V\n",
+ "Rl=200.0 #in ohm\n",
+ "#Trigger is adjusted so that conduction starts after 60degree of start of cycle\n",
+ "#Instantaneous Current il = (230*2**0.5*sin(a))/200\n",
+ "\n",
+ "#To find Vrms\n",
+ "\n",
+ "#Calculations\n",
+ "#It is noted that between 0 to pi/3 SCR voltage equals line voltage and between pi/3 to pi it is zer and for the rest it is equal to line voltage\n",
+ "xo=0 #lower limit of first integral\n",
+ "x1=math.pi/3.0 #upper limit of first integral\n",
+ "x2=math.pi #lower limit of second integral\n",
+ "x3=2.0*(math.pi) #upper limit of second integral\n",
+ "\n",
+ "def f(x):\n",
+ " return((230*(2**0.5)*math.sin(x))**2)\n",
+ "\t\n",
+ "def g(x):\n",
+ " return((230*(2**0.5)*math.sin(x))**2)\n",
+ "\n",
+ "X1 = integrate.quad(f,xo,x1)\n",
+ "X2 = integrate.quad(g,x2,x3)\n",
+ "Vrms = ((X1[0]+X2[0])/(2*math.pi))**0.5\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vrms is %.2f v \" %Vrms)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vrms is 177.82 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.3, Page No 794"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#Caption:SCR Relaxation Oscillator Phase control Circuit\n",
+ "#Given Data\n",
+ "C=0.1#in microF\n",
+ "V=60.0 #in V\n",
+ "Vb=32.0 #in V\n",
+ "Vh=10.0 #holding voltage in V\n",
+ "Ih=100.0 #in microA\n",
+ "c=45.0 #conductance angle in degree\n",
+ "cd = 360.0 - c#angle in which capacitor will get charged\n",
+ "td = (cd/360.0)*(1.0/60)#in ms\n",
+ "\n",
+ "#Calculations\n",
+ "#if the anode voltage is positive,the SCR will fire when vc=32V\n",
+ "vc=32#in V\n",
+ "#let time constant = t = R*C\n",
+ "#vc-Vh = (V-Vh)(1-exp(-td/t))\n",
+ "t = -td/math.log(1-((vc-Vh)/(V-Vh)))\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print(\"The value of time constant = is %.2f sec \" %t)\n",
+ "R = t/C#Resistance in K\n",
+ "print(\"The value of R is %.2f K \" %(R*1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of time constant = is 0.03 sec \n",
+ "The value of R is 251.52 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter19.ipynb b/Integrated_Electronics/Chapter19.ipynb new file mode 100755 index 00000000..1812da22 --- /dev/null +++ b/Integrated_Electronics/Chapter19.ipynb @@ -0,0 +1,249 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 19 : Semiconductor-Device Physics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.1, Page No 808"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "sg=0.971*10**3 #g/cm^3 specific gravity\n",
+ "w=22.99*1.66*10**-27 # Weight of a sodium atom\n",
+ "\n",
+ "#Calculations\n",
+ "n=sg/w\n",
+ "Ef=3.64*10**-19*(n**(2.0/3))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of n is %.2f /m^3 x 10^28 \" %(n/10**28))\n",
+ "print(\"The value of Ef is %.2f eV\" %(Ef))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of n is 2.54 /m^3 x 10^28 \n",
+ "The value of Ef is 3.15 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.2, Page No 810"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "E=0.05 #eV\n",
+ "\n",
+ "#Calculations\n",
+ "NE=6.82*10**27*(E**(1.0/2))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of NE is %.2f X 10^27 /m^3 \" %(NE/10**27))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of NE is 1.52 X 10^27 /m^3 \n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.3, Page No 812"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "KE=0.26*1.6*10**-19 #j kinetic energy\n",
+ "m=9.18*10**-31\n",
+ "\n",
+ "#Calculations\n",
+ "Vav=math.sqrt((2.0*KE)/m)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vav is %.2f x 10^5\" %(Vav/10**5))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vav is 3.01 x 10^5\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.4, Page No 815"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "ni1=1.5*10**10 #cm^3\n",
+ "T2=873.0 #k\n",
+ "T1=300.0 #k\n",
+ "Eg0=1.0\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "ni2=math.sqrt((ni1**2)*(T2/T1)*math.exp((1.21/8.625*10**-5)*(-(1/T2)+(1/T1))))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of ni2 is %.2f x 10^17 cm^3\" %(ni2/10**10))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of ni2 is 2.56 x 10^17 cm^3\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.5, Page No 817"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "kT=0.026\n",
+ "Nc=2.89*10**19\n",
+ "Nd=10**16\n",
+ "\n",
+ "#Calculations\n",
+ "Ef=kT*(math.log((Nc/Nd),2))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Ef is %.2f eV\" %(Ef))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Ef is 0.30 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.6, Page No 830"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "I1=1.0 #mA\n",
+ "Vt=26.0 #mV\n",
+ "tP=10**-6\n",
+ "\n",
+ "#Calculations\n",
+ "g=(I1/Vt)\n",
+ "Cd=(g*tP)/2\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print(\"The value of Cd is %.2f nF\" %(Cd*10**9))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Cd is 19.23 nF\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter2.ipynb b/Integrated_Electronics/Chapter2.ipynb new file mode 100755 index 00000000..290a59be --- /dev/null +++ b/Integrated_Electronics/Chapter2.ipynb @@ -0,0 +1,362 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 02 : Transport Phenomena in Semiconductor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1, Page No 22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "n=10.0**20\n",
+ "q=1.6*10**-19\n",
+ "mn=800 #cm^3\n",
+ "delta=1 #V/cm\n",
+ "\n",
+ "#Calculations\n",
+ "J=n*q*mn*delta\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The electron current density is= %.2f X 10^4 atom/cm^2 \" %(J/(10**4)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron current density is= 1.28 X 10^4 atom/cm^2 \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2a, Page No 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "ni=10.0**10\n",
+ "Nd=10**12\n",
+ "\n",
+ "#Calculations\n",
+ "n=(Nd+(math.sqrt(Nd+4*ni**2)))\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The free electron is= %.3f X 10^12 cm^3 \" %(n/(10**12)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The free electron is= 1.020 X 10^12 cm^3 \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2b, Page No 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "ni=10.0**10\n",
+ "Nd=10**18\n",
+ "\n",
+ "#Calculations\n",
+ "n=(Nd+(math.sqrt(Nd+4*ni**2)))\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The free electron is= %.2f X 10^18 cm^3 \" %(n/(10**18)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The free electron is= 1.00 X 10^18 cm^3 \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3a, Page No 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Av=6.02*(10**23) #Avogadro No.\n",
+ "m=72.6 #Molar mass of germanium in gm/moles\n",
+ "d=5.32 #density in gm/cm^3\n",
+ "\n",
+ "#Calculations\n",
+ "conc = (Av/m)*d #Concentration of atom in germanium\n",
+ "\n",
+ "#Results\n",
+ "print(\"The concentration of germanium atom is= %.2f X 10^22 atom/cm^3 \" %(conc/(10**22)))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The concentration of germanium atom is= 4.41 X 10^22 atom/cm^3 \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3b, Page No 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Av=6.02*(10**23) #Avogadro No.\n",
+ "m=72.6 #Molar mass of germanium in gm/moles\n",
+ "d=5.32 #density in gm/cm^3\n",
+ "ni=2.5*(10**13) #in cm^-3\n",
+ "n=ni\n",
+ "p=ni #n=magnitude of free electrons, p=magnitude of holes, ni=magnitude of intrinsic concentration\n",
+ "\n",
+ "#Calculations\n",
+ "q=1.6*(10**-19) #Charge of an Electron\n",
+ "yn=3800.0 #in cm^2/V-s\n",
+ "yp=1800.0 #in cm^2/V-s\n",
+ "\n",
+ "#Required Formula\n",
+ "A=ni*q*(yn+yp) #Conductivity\n",
+ "print(\"Conductivity is = %.2f ohm-cm^-1 \" %A)\n",
+ "R =1.0/A #Resistivity\n",
+ "print(\"Resistivity is = %.2f ohm-cm \" %R)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductivity is = 0.02 ohm-cm^-1 \n",
+ "Resistivity is = 44.64 ohm-cm \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3c Page No 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "print('We know that n=p=ni where n is conc of free electron p is conc of holes and ni is conc of intrinsic carriers')\n",
+ "#Resistivity if 1 donor atom per 10^8 germanium atoms\n",
+ "Nd=4.41*(10**14) #in atoms/cm^3\n",
+ "ni=2.5*(10**13) #in cm^3\n",
+ "yn=3800.0 #in cm^2/V-s\n",
+ "\n",
+ "#Calculations\n",
+ "q=1.6*(10**-19)\n",
+ "n=Nd\n",
+ "p=(ni**2)/Nd\n",
+ "\n",
+ "print(\"The concentration of holes is= %.2f holes/cm^3 \" %p)\n",
+ "if n>p:\n",
+ " A=n*q*yn #Conductivity\n",
+ " print(\"The conductivity is = %.2f ohm-cm^-1 \" %A)\n",
+ " \n",
+ "R=1.0/A #Resistivity\n",
+ "\n",
+ "#Results\n",
+ "print(\"The resistivity is = %.2f ohm-cm \" %R)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "We know that n=p=ni where n is conc of free electron p is conc of holes and ni is conc of intrinsic carriers\n",
+ "The concentration of holes is= 1417233560090.70 holes/cm^3 \n",
+ "The conductivity is = 0.27 ohm-cm^-1 \n",
+ "The resistivity is = 3.73 ohm-cm \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3d, Page No 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "print('We know that n=p=ni where n is conc of free electron p is conc of holes and ni is conc of intrinsic carriers')\n",
+ "#Ratio of Conductivities\n",
+ "Nd=4.41*(10**14) #in atoms/cm^3\n",
+ "ni=2.5*(10**13) #in cm^3\n",
+ "yn=3800.0 #in cm^2/V-s\n",
+ "q=1.6*(10**-19)\n",
+ "\n",
+ "#Calculations\n",
+ "n=Nd\n",
+ "A=n*q*yn #Conductivity\n",
+ "\n",
+ "#If germanium atom were monovalent metal , ratio of conductivity to that of n-type semiconductor\n",
+ "\n",
+ "n=4.41*(10**22) #in electrons/cm^3\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print('If germanium atom were monovalent metal')\n",
+ "A1=n*q*yn\n",
+ "print(\"The coductivity of metal is= %.2f ohm=cm^-1 x 10^7 \" %(A1/10**7))\n",
+ "F=A1/A\n",
+ "print(\"The factor by which the coductivity of metal is higher than that of n type semiconductor is %.2f x 10^8 \" %(F/10**8))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "We know that n=p=ni where n is conc of free electron p is conc of holes and ni is conc of intrinsic carriers\n",
+ "If germanium atom were monovalent metal\n",
+ "The coductivity of metal is= 2.68 ohm=cm^-1 x 10^7 \n",
+ "The factor by which the coductivity of metal is higher than that of n type semiconductor is 1.00 x 10^8 \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4, Page No 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "g=5*10**21 #Generation rate\n",
+ "tp=2*10**-6 #hole lifetime\n",
+ "\n",
+ "#Calculations\n",
+ "p=g*tp\n",
+ "\n",
+ "#Required Formula\n",
+ "print(\"Hole density is = %.2f cm^3 10^16 \" %(p/10**16))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Hole density is = 1.00 cm^3 10^16 \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter3.ipynb b/Integrated_Electronics/Chapter3.ipynb new file mode 100755 index 00000000..787f5d00 --- /dev/null +++ b/Integrated_Electronics/Chapter3.ipynb @@ -0,0 +1,143 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 03 : Junction diode characteristics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1, Page No 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Na=10.0**19 #Cm^3\n",
+ "q=1.6*10**-19\n",
+ "Vj=0.94 #V\n",
+ "Nd=10.0**17\n",
+ "e=11.9*8.85*10**-14\n",
+ "A=9.6*10**-8\n",
+ "\n",
+ "#Calculations\n",
+ "W=math.sqrt(((2*e)/(q*Nd))*Vj)\n",
+ "Ct=e*A/(W*10**-4)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The transition capacitance is= %.2f fF \" %(Ct*10**11))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The transition capacitance is= 9.09 fF \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3, Page No 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "t=10 #ns lifetime of holes\n",
+ "I=0.1 #mA forward current\n",
+ "n=1\n",
+ "vt=0.026 #V\n",
+ "\n",
+ "#Calculations\n",
+ "Cd=(t*I)/(n*vt)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The defusion capicitance is= %.2f pF \" %Cd)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The defusion capicitance is= 38.46 pF \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4, Page No 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "V=10.0\n",
+ "Vb=6.0 # breakdown voltage\n",
+ "\n",
+ "vz1=0.1/(0.1+1)*10 #v\n",
+ "vz2=9.0/(9+1)*10 #v\n",
+ "\n",
+ "#Calculations\n",
+ "Ir=(V-Vb)/vz1\n",
+ "Il=Vb/vz2\n",
+ "Iz=Ir-Il\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Iz is= %.2f mA \" %(Iz))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Iz is= 3.73 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter4.ipynb b/Integrated_Electronics/Chapter4.ipynb new file mode 100755 index 00000000..353ad61d --- /dev/null +++ b/Integrated_Electronics/Chapter4.ipynb @@ -0,0 +1,262 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 04 : Diode Circuits"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3, Page No 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vr=0.6 #v\n",
+ "\n",
+ "#Calculations\n",
+ "i=(1-Vr)/2.01\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The current i is= %.2f mA \" %(i))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current i is= 0.20 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4, Page No 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vr=0.7 #v\n",
+ "\n",
+ "#Calculations\n",
+ "i2=((1-Vr)/300.0*10**3)\n",
+ "i1=3-i2\n",
+ "\n",
+ "#Results\n",
+ "print(\"The current i is= %.2f mA \" %(i1))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current i is= 2.00 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5, Page No 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Rl=9.0 # kohm\n",
+ "R=1.0 # kohm\n",
+ "Vr=1.0 #v\n",
+ "\n",
+ "#Calculations\n",
+ "v0=(Rl/(R+Rl))*Vr\n",
+ "\n",
+ "#Results\n",
+ "print(\"The output voltage is= %.2f V \" %(v0))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage is= 0.90 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7, Page No 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vs=1.0 #v\n",
+ "Rc=100.0 #ohm\n",
+ "RL=1000 #ohm\n",
+ "\n",
+ "#Calculations\n",
+ "Vcmin=Vs*(2+(Rc/RL))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The concentration of germanium atom is= %.2f X 10^22 atom/cm^3 \" %(Vcmin))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The concentration of germanium atom is= 2.10 X 10^22 atom/cm^3 \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8, Page No 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vrms=220.0 #v\n",
+ "Rf=10.0\n",
+ "Rl=500.0\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Im=(math.sqrt(2.0)*Vrms)/(Rf+Rl)\n",
+ "Idc=Im/math.pi\n",
+ "Irms=Im/2\n",
+ "Vdc=(-Im*Rl)/math.pi\n",
+ "pd=Vrms*Irms\n",
+ "reg=Rf/Rl*100\n",
+ "\n",
+ "\n",
+ "#Required Formula\n",
+ "print(\"Peak load current is = %.2f A \" %Im)\n",
+ "print(\"DC load current is = %.2f A \" %Idc)\n",
+ "print(\"RMS load current is = %.2f A \" %Irms)\n",
+ "print(\"The dc diode voltage is = %.2f V \" %Vdc)\n",
+ "print(\"The total input power to the curcuit is = %.2f A \" %pd)\n",
+ "print(\"percentage regulation will go from 0 percent to %.f percent \" %reg)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak load current is = 0.61 A \n",
+ "DC load current is = 0.19 A \n",
+ "RMS load current is = 0.31 A \n",
+ "The dc diode voltage is = -97.09 V \n",
+ "The total input power to the curcuit is = 67.11 A \n",
+ "percentage regulation will go from 0 percent to 2 percent \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 Page No 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "RL=100.0 #ohm\n",
+ "Rf=10.0 #ohm\n",
+ "Vm=5.0 #v\n",
+ "Vr=0.6 #v\n",
+ "\n",
+ "#Calculations\n",
+ "Vdc=2*(((Vm/math.pi)*(RL/(RL+Rf)))-Vr)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The dc output voltage is = %.2f v \" %Vdc)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is = 1.69 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter5.ipynb b/Integrated_Electronics/Chapter5.ipynb new file mode 100755 index 00000000..982187ad --- /dev/null +++ b/Integrated_Electronics/Chapter5.ipynb @@ -0,0 +1,477 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 05 : Transistor Characteristic"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1a, Page No 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "B=100.0 #Beta\n",
+ "Ico=20.0 #in nA \n",
+ "Rc=3.0\n",
+ "Rb=200.0\n",
+ "Vbb=5.0 #in V\n",
+ "Vcc=10 #in V\n",
+ "Vbe=0.7 #in Active region\n",
+ "\n",
+ "#Applying KVL to base circuit\n",
+ "\n",
+ "#Vbb+Rb*Ib+Vbe=0\n",
+ "\n",
+ "#Calculations\n",
+ "Ib=(Vbb-Vbe)/Rb #in mA\n",
+ "#Ico<<Ib\n",
+ "Ic=B*Ib #in mA\n",
+ "#To verify the Active region Assumption\n",
+ "#Vcc+Rc*Ic+Vcb+Vbe=0\n",
+ "\n",
+ "Vcb=(-Rc*Ic)+Vcc-Vbe #in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vcb = %.2f V \" %Vcb)\n",
+ "if Vcb>0 :\n",
+ " print('Positive value of Vcb represents reversed biased collector junction and Transistor in active region')\n",
+ "\n",
+ "\n",
+ "print(\"Current in transistor(Ic) is %.2f mA \" %Ic)\n",
+ "print(\"Current in transistor(Ib) is %.2f mA \" %Ib)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vcb = 2.85 V \n",
+ "Positive value of Vcb represents reversed biased collector junction and Transistor in active region\n",
+ "Current in transistor(Ic) is 2.15 mA \n",
+ "Current in transistor(Ib) is 0.02 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1b, Page No 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "B=100.0 #Beta\n",
+ "Ico=20.0 #in nA \n",
+ "Rc=3.0\n",
+ "Ico=20 #in nA\n",
+ "Rb=200.0\n",
+ "Re=2.0\n",
+ "Vbb=5.0 #in V\n",
+ "Vcc=10.0 #in V\n",
+ "Vbe=0.7 #in Active region\n",
+ "\n",
+ "#Ico<<Ib Assuming\n",
+ "#Itot=Ib+Ic=Ib+B*Ib=(B+1)*Ib\n",
+ "#Applying KVL to base circuit\n",
+ "#Vbb+Rb*Ib+Vbe+Re*Itot=0\n",
+ "\n",
+ "#Calculations\n",
+ "Ib=(Vbb-Vbe)/(Rb+(Re*(B+1))) #in mA\n",
+ "\n",
+ "Ic=B*Ib #in mA\n",
+ "\n",
+ "#Hence Ico<<Ib\n",
+ "#To verify the Active region Assumption\n",
+ "#Vcc+Rc*Ic+Vcb+Vbe=0\n",
+ "\n",
+ "Vcb=(-Rc*Ic)+Vcc-Vbe-(Re*(B+1)*Ib) #in V\n",
+ "\n",
+ "print(\"Vcb = %.2f V \" %Vcb)\n",
+ "\n",
+ "if Vcb>0 :\n",
+ " print('Positive value of Vcb represents reversed biased collector junction and Transistor in active region')\n",
+ "\n",
+ "#Results\n",
+ "print(\"Current in transistor(Ic) is %.2f mA \" %Ic)\n",
+ "print(\"Current in transistor(Ib) is %.2f mA \" %Ib)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vcb = 3.93 V \n",
+ "Positive value of Vcb represents reversed biased collector junction and Transistor in active region\n",
+ "Current in transistor(Ic) is 1.07 mA \n",
+ "Current in transistor(Ib) is 0.01 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 Page No 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rc=3.0\n",
+ "Rb=50.0 \n",
+ "Vbb=5.0 #in V\n",
+ "Vcc=10.0 #in V\n",
+ "Vce=0.2 #in V\n",
+ "Vbe=0.8 #in Active region\n",
+ "hFE=100.0 \n",
+ "\n",
+ "#Assuming transistor in saturated region\n",
+ "#Applying KVL to base circuit\n",
+ "#Vbb+Rb*Ib+Vbe=0\n",
+ "\n",
+ "#Calculations\n",
+ "Ib=(Vbb-Vbe)/Rb #in mA\n",
+ "\n",
+ "#Applying KVL to Collector circuit\n",
+ "#Vcc+Rc*Ic+Vce=0\n",
+ "\n",
+ "Ic=(Vcc-Vce)/Rc #in mA\n",
+ "\n",
+ "Ib_min=Ic/hFE\n",
+ "\n",
+ "print(\"Minimum Ib = %.2f mA \" %Ib_min)\n",
+ "\n",
+ "if Ib>Ib_min :\n",
+ " print('Transistor in saturated Region')\n",
+ "\n",
+ "#Results\n",
+ "print(\"Current in transistor(Ic) is %.2f mA \" %Ic)\n",
+ "print(\"Current in transistor(Ib) is %.2f mA \" %Ib)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum Ib = 0.03 mA \n",
+ "Transistor in saturated Region\n",
+ "Current in transistor(Ic) is 3.27 mA \n",
+ "Current in transistor(Ib) is 0.08 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3, Page No 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ib=0.01 #mA\n",
+ "Ic=100.0*Ib\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Vcb=5-Ic-0.7-(101*Ib)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vcb is= %.2f V \" %(Vcb))\n",
+ "print(\"Since Vcb is positive, the transistor is in the active region \")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vcb is= 2.29 V \n",
+ "Since Vcb is positive, the transistor is in the active region \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4, Page No 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ve= 4.0 #V\n",
+ "Ie=2 #mA\n",
+ "Vc=12-(2*2)\n",
+ "beta=19.0\n",
+ "\n",
+ "#Calculations\n",
+ "Rb=2*(1.0+beta)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vcb is= %.2f V \" %(Rb))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vcb is= 40.00 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5, Page No 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ve= 4.0 #V\n",
+ "Ie=2 #mA\n",
+ "Vc=12-(2*2)\n",
+ "beta=100.0\n",
+ "\n",
+ "#Calculations\n",
+ "Ib=(2.7-0.7)/beta\n",
+ "Ic=beta*Ib\n",
+ "Vc=(10.0-Ic)/2\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vcb is= %.2f V \" %(Vc))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vcb is= 4.00 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6, Page No 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ie1=1.0 #mA\n",
+ "Vc1=10.7*Ie1-10\n",
+ "Vbe2=0.7\n",
+ "\n",
+ "#Calculations\n",
+ "Ie2=(10+Vc1-Vbe2)/10.0\n",
+ "Vc2=10-Ie1\n",
+ "Vcb2=Vc2-Vbe2\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vcb is= %.2f V \" %(Vcb2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vcb is= 8.30 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7a, Page No 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "hfe=100\n",
+ "Ib=4.2/50 #mA\n",
+ "Ic=9.8/3\n",
+ "Ib=Ic/hfe\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Ib is= %.3f V \" %(Ib))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Ib is= 0.033 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9a, Page No 144"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ie1=1.0 #mA\n",
+ "Ic1=0.99 #mA\n",
+ "Vcb1=12-(5*Ic1)-5\n",
+ "Ve=5-0.7\n",
+ "Vbe2=2.5-Ve\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Vbe2 is= %.2f V \" %(Vbe2))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vbe2 is= -1.80 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9b, Page No 144"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Ie2=1.0 #mA\n",
+ "Ic2=0.99 #mA\n",
+ "Vcb2=12-(5*Ic2)-2.5\n",
+ "\n",
+ "#Calculations\n",
+ "Ve2=2.5-0.7\n",
+ "Vbe1=0-Ve\n",
+ "V0=12-(5*Ic2)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of V0 is= %.2f V \" %(V0))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V0 is= 7.05 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter6.ipynb b/Integrated_Electronics/Chapter6.ipynb new file mode 100755 index 00000000..487defd0 --- /dev/null +++ b/Integrated_Electronics/Chapter6.ipynb @@ -0,0 +1,690 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 06 : Digital Circuits"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1, Page No 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "R1=15.0 #in K\n",
+ "R2=100.0 #in K\n",
+ "#R1 and R2 are voltages at base which acts as potential divider\n",
+ "Rc=2.2 #voltage at collector in K\n",
+ "hfe=30.0\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#For vi=0\n",
+ "Vb = (R1/(R1+R2))*(-12) #Voltage at base in V\n",
+ "\n",
+ "print(\"Vb= %.2f V \" %Vb)\n",
+ "#A bias of 0V is required to cut off a silicon emitter junction transistor given in table\n",
+ "Vo = 0 #in V\n",
+ "print(\"Vo = %.2f V \" %Vo)\n",
+ "\n",
+ "#For vi=12\n",
+ "vi=12 #in V\n",
+ "#Few standard values for silicon transistor\n",
+ "Vbesat=0.8 #in V\n",
+ "Vcesat=0.2 #in V\n",
+ "\n",
+ "#Assumption: Q is in saturation region\n",
+ "Ic = (vi-Vcesat)/Rc #Collector Current\n",
+ "print(\"Ic=%.2f v \" %Ic)\n",
+ "Ibmin=(Ic/hfe) #Mininmum current at the base\n",
+ "print(\"Ibmin=%.2f mA\" %Ibmin)\n",
+ "I1=(vi-Vbesat)/R1 #Current in R1\n",
+ "I2=(Vbesat-(-12))/100 #Current in R2\n",
+ "Ib = I1-I2 #Base current\n",
+ "print(\"Ib = %.2f mA \" %Ib)\n",
+ "\n",
+ "#Results\n",
+ "if Ib>Ibmin :\n",
+ " print('Since Ib>Ibmin , The transistor is in saturation region and drop is Vcesat')\n",
+ " vo=Vcesat\n",
+ " print(\"vo = %.2f V \" %vo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vb= -1.57 V \n",
+ "Vo = 0.00 V \n",
+ "Ic=5.36 v \n",
+ "Ibmin=0.18 mA\n",
+ "Ib = 0.62 mA \n",
+ "Since Ib>Ibmin , The transistor is in saturation region and drop is Vcesat\n",
+ "vo = 0.20 V \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page No 167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "#Caption: To verify given equation\n",
+ "\n",
+ "print('NOTE: We will write A with a bar on its top as a ')\n",
+ "print('To verify')\n",
+ "print(' A + aB = A + B')\n",
+ "\n",
+ "print('We know that B + 1 = 1 and A1 = A')\n",
+ "print('A + aB = A(B+1) + aB = AB + A + aB =')\n",
+ "print('(A + a)B + A = B + A')\n",
+ "print('which is equal to RHS')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "NOTE: We will write A with a bar on its top as a \n",
+ "To verify\n",
+ " A + aB = A + B\n",
+ "We know that B + 1 = 1 and A1 = A\n",
+ "A + aB = A(B+1) + aB = AB + A + aB =\n",
+ "(A + a)B + A = B + A\n",
+ "which is equal to RHS\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3a Page No 167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "R=15.0 #in K\n",
+ "R1=15.0 #in K\n",
+ "R2=100.0 #in K\n",
+ "R3=2.2 #in K\n",
+ "V0=0 #in V\n",
+ "V1=12.0 #in V\n",
+ "Vcc=12.0 #in V\n",
+ "\n",
+ "#If input is at V0=0V\n",
+ "Vb = -Vcc*(R1/(R1+R2)) #The base voltage of the transistor\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"The base voltage of transistor Vb= %.2f v \" %Vb)\n",
+ "if Vb<0 :\n",
+ " print('Q is cutoff and Y is at 12V')\n",
+ " print('The result confirms the first three rows of truth table')\n",
+ "\n",
+ "\n",
+ "#If input is at V1 = 12V\n",
+ "#Assumption:All the diodes are reversed biased and transistor is in saturation\n",
+ "#If Q is in saturation\n",
+ "Vbe=0 #in V\n",
+ "Vp = V1*(R/(R+R1)) #voltage at point P in front of all diodes\n",
+ "print(\"All diodes are reversed biased by %.2f V \" %Vp)\n",
+ "Iq = (V1/(R+R1)-(V1/R2)) #The base current of Q\n",
+ "Ic=V1/R3 #Current in the collector junction\n",
+ "print(\"Ic= %.2f mA \" %Ic)\n",
+ "hFEmin = Ic/Iq\n",
+ "\n",
+ "#Results\n",
+ "print(\"hFEmin=%.2f \" %hFEmin)\n",
+ "print(\"When hFE > %.2f \" %hFEmin)\n",
+ "print('Under these condition the output is at ground and this satisfies the first three rows of truth table')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base voltage of transistor Vb= -1.57 v \n",
+ "Q is cutoff and Y is at 12V\n",
+ "The result confirms the first three rows of truth table\n",
+ "All diodes are reversed biased by 6.00 V \n",
+ "Ic= 5.45 mA \n",
+ "hFEmin=19.48 \n",
+ "When hFE > 19.48 \n",
+ "Under these condition the output is at ground and this satisfies the first three rows of truth table\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3b, Page No 167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "R=15.0 #in K\n",
+ "R1=15.0 #in K\n",
+ "R2=100.0 #in K\n",
+ "R3=2.2 #in K\n",
+ "V0=0 #in V\n",
+ "V1=12.0 #in V\n",
+ "Vcc=12.0 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "#If input is at V0=0V\n",
+ "Vb = -Vcc*(R1/(R1+R2)) #Base Current in V\n",
+ "\n",
+ "#Finding thevenin equivallent fom P to ground\n",
+ "Rd = 1.0 #in K\n",
+ "Vd=0.7 #in v\n",
+ "Vr=1.0 #in K\n",
+ "#Thevenin Equivallent Voltage and resistance from P to ground\n",
+ "v = (Vcc*(Rd/(Rd+R)))+(Vd*(R/(R+Rd)))\n",
+ "rs = Rd*(R/(R+Rd))\n",
+ "#Open Circuit Voltage at base of the transistor\n",
+ "Vb1 = (-Vcc*((R1+rs)/(R1+R2+rs))) + (v*(R2/(R1+R2+rs)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vb1 = %.2f v \" %Vb1)\n",
+ "\n",
+ "if Vb1>Vb :\n",
+ " print('The voltage is adequate to reverse bias Q')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vb1 = -0.44 v \n",
+ "The voltage is adequate to reverse bias Q\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3c Page No 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "R=15.0 #in K\n",
+ "R1=15.0 #in K\n",
+ "R2=100.0 #in K\n",
+ "R3=2.2 #in K\n",
+ "V0=0 #in V\n",
+ "V1=12.0 #in V\n",
+ "Vcc=12.0 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "#To find wether with given conditions NANAD gate is satisfied\n",
+ "#Finding thevenin equivallent from P to ground\n",
+ "Rd = 1 #in K\n",
+ "Vd=0.7 #in v\n",
+ "Vr=1.0 #in K\n",
+ "v = (Vcc*(Rd/(Rd+R)))+(Vd*(R/(R+Rd)))\n",
+ "rs = Rd*(R/(R+Rd))\n",
+ "\n",
+ "#If the inputs are high\n",
+ "\n",
+ "Vcesat = 0.2 #in V\n",
+ "Vb2 = (-Vcc*(R1/(R1+R2)) + ((Vd+Vcesat)*R2/(R1+R2)))\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vb2= %.2f V \" %Vb2)\n",
+ "print('It cuts off Q Y=1 ')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vb2= -0.78 V \n",
+ "It cuts off Q Y=1 \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 Page No 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "#Caption: To verify that AND-OR topology is equivallent to NAND-NAND system\n",
+ "\n",
+ "print('In digital electronics we have to come across situations where we need to use an inpout with a bar but here we will denote as')\n",
+ "print('X with a bar = Xb and X with two bars = Xbb')\n",
+ "\n",
+ "#Solution\n",
+ "print('We know that X =Xbb')\n",
+ "print('For AND OR logic the output of AND and simultaneously neglecting the input to following OR does not change the logic')\n",
+ "print('We have also neglected the output of the OR gate and at the same time have added an INVERTER so that logic is once again unaffected')\n",
+ "print('AN OR gate neglected at each terminal is an an AND circuit')\n",
+ "print('Since AND followed by an inverter is NAND ')\n",
+ "print('Hencee the NAND NAND is equivallent to AND OR')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In digital electronics we have to come across situations where we need to use an inpout with a bar but here we will denote as\n",
+ "X with a bar = Xb and X with two bars = Xbb\n",
+ "We know that X =Xbb\n",
+ "For AND OR logic the output of AND and simultaneously neglecting the input to following OR does not change the logic\n",
+ "We have also neglected the output of the OR gate and at the same time have added an INVERTER so that logic is once again unaffected\n",
+ "AN OR gate neglected at each terminal is an an AND circuit\n",
+ "Since AND followed by an inverter is NAND \n",
+ "Hencee the NAND NAND is equivallent to AND OR\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5a, Page No 179 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "#Caption:To find hFEmin\n",
+ "#Given Data\n",
+ "#For transistor\n",
+ "Vbesat=0.8#Vgamma of diode in V\n",
+ "Vy=0.5#in V\n",
+ "Vcesat=0.2#in V\n",
+ "R = 5#in K\n",
+ "Rc = 2.2#in K\n",
+ "\n",
+ "#For diode\n",
+ "Vyd=0.6#in V\n",
+ "Vdrop=0.7#in V\n",
+ "\n",
+ "#Calculations\n",
+ "#The logic levels are Vcesato=0.2V for 0 state\n",
+ "Vcesato=0.2#in V\n",
+ "#The logic levels are Vcc=5V for 1 state\n",
+ "Vcc=5#in V\n",
+ "print('If atleast one input is in 0 state')\n",
+ "Vp = Vcesato + Vy#Potential at point P\n",
+ "print(\"Vp= %.2f V \" %Vp)\n",
+ "#For diodes D1 and D2 to be conducting\n",
+ "v = 2*Vdrop\n",
+ "print('For diodes D1 and D2 to be conducting')\n",
+ "print(\"required voltage = %.2f V \" %v)\n",
+ "#These diodes cutoff\n",
+ "Vbe = 0\n",
+ "if Vbe<Vy :\n",
+ " print('Q is OFF')\n",
+ " print('Output rises to 5V and Y = 1')\n",
+ " print('This confirms first 3 rows of NAND truth table')\n",
+ "#if all inputs are at V(1)=5V , we shall assume all input diodes OFF and D1 and D2 conduct and Q is in saturation\n",
+ "print('When inputs are at 5V')\n",
+ "Vp = Vdrop + Vdrop + Vbesat\n",
+ "print('V',Vp,'Vp=')\n",
+ "print(\"Vp= %.2f V \" %Vp)\n",
+ "print(\"The voltage across all input diode = %.2f v \" %(Vcc-Vp))\n",
+ "#For finding hFEmin\n",
+ "I1 = (Vcc-Vp)/R\n",
+ "I2 = Vbesat/R\n",
+ "Ib = I1-I2\n",
+ "Ic = (Vcc-Vcesat)/Rc\n",
+ "hFEmin = Ic/Ib\n",
+ "\n",
+ "#Results\n",
+ "print(\"hFEmin= %.2f \" %hFEmin)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "If atleast one input is in 0 state\n",
+ "Vp= 0.70 V \n",
+ "For diodes D1 and D2 to be conducting\n",
+ "required voltage = 1.40 V \n",
+ "Q is OFF\n",
+ "Output rises to 5V and Y = 1\n",
+ "This confirms first 3 rows of NAND truth table\n",
+ "When inputs are at 5V\n",
+ "('V', 2.2, 'Vp=')\n",
+ "Vp= 2.20 V \n",
+ "The voltage across all input diode = 2.80 v \n",
+ "hFEmin= 5.45 \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5b Page No 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "#Caption:When atleast one input is at V(0) in NAND gate\n",
+ "#Given Data\n",
+ "#For transistor\n",
+ "Vbesat=0.8#in V\n",
+ "Vy=0.5#in V\n",
+ "Vcesat=0.2#in V\n",
+ "R = 5#in K\n",
+ "Rc = 2.2#in K\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#For diode\n",
+ "Vyd=0.6#Vgamma in V\n",
+ "Vdrop=0.7#in V\n",
+ "\n",
+ "#The logic levels are Vcesato=0.2V for 0 state\n",
+ "Vcesato=0.2#in V\n",
+ "\n",
+ "print('If atleast one input is in 0 state')\n",
+ "Vp = Vcesato + Vdrop #Voltage at point P\n",
+ "print(\"Vp= %.2f v \" %Vp)\n",
+ "Vbe = Vp-Vyd#Voltage at base emitter\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vbe = %.2f v \" %Vbe)\n",
+ "if Vbe<Vy :\n",
+ " print('Q is cutoff')\n",
+ "\n",
+ "if Vbe>Vy :\n",
+ " print('Q is ON')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "If atleast one input is in 0 state\n",
+ "Vp= 0.90 v \n",
+ "Vbe = 0.30 v \n",
+ "Q is cutoff\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5c Page No 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Vbesat=0.8#in V\n",
+ "Vy=0.5#in V\n",
+ "R = 5#in K\n",
+ "Rc = 2.2#in K\n",
+ "\n",
+ "#Calculations\n",
+ "#For diode\n",
+ "Vyd=0.6#in V\n",
+ "Vdrop=0.7#in V\n",
+ "\n",
+ "#Calculations\n",
+ "#The logic levels are Vcesato=0.2V for 0 state\n",
+ "Vcesato=0.2#in V\n",
+ "Vp = Vdrop + Vdrop + Vbesat#Voltage at point P\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vp= %.2f v \" %Vp)\n",
+ "print(\"Each diode is reversed biased by %.2f v \" %(Vcc-Vp))\n",
+ "print(\"A diode starts to conduct when it is forward bias by %.2f v \" %Vyd)\n",
+ "vn = (Vcc-Vp) + Vyd #Noise Spike which will cause the malfunction\n",
+ "print(\"A noise spike which will cause malfunction is %.2f v \" %vn)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vp= 2.20 v \n",
+ "Each diode is reversed biased by 2.80 v \n",
+ "A diode starts to conduct when it is forward bias by 0.60 v \n",
+ "A noise spike which will cause malfunction is 3.40 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5d Page No 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#For transistor\n",
+ "Vbesat=0.8#in V\n",
+ "Vy=0.5#in V\n",
+ "R = 5#in K\n",
+ "Rc = 2.2#in K\n",
+ "\n",
+ "#The logic levels are Vcesato=0.2V for 0 state\n",
+ "Vcesato=0.2#in V\n",
+ "#For diode\n",
+ "\n",
+ "#Calculations\n",
+ "Vyd=0.6#in V\n",
+ "Vdrop=0.7#in V\n",
+ "\n",
+ "Vp = Vcesato + Vdrop#Voltage at point P\n",
+ "print(\"Vp= %.2f v \" %Vp)\n",
+ "Vbe = Vy#Voltage at base emitter will be same as Vgamma\n",
+ "vp = Vbe + Vyd +Vyd#The level to which vp should increase\n",
+ "Vn = vp - Vp#Noise Margin\n",
+ "\n",
+ "#Results\n",
+ "print(\"Noise Margin = %.2f v \" %Vn)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vp= 0.90 v \n",
+ "Noise Margin = 0.80 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6, Page No 92"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "hFE=30\n",
+ "Vbe1active=0.7#in V\n",
+ "Vd2=0.7#in V\n",
+ "Vbe2sat=0.8#in V\n",
+ "Vcc=5#in V\n",
+ "R1=1.75#in K\n",
+ "R2=2#in K\n",
+ "R3=2.2#in K\n",
+ "R4=5#in K\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Vp = Vbe1active + Vd2 + Vbe2sat#Voltage at point P\n",
+ "#The current in 2K resistor is Ib1\n",
+ "#In active region\n",
+ "#Ic1=hFE*Ib1\n",
+ "#I1 = Ib1+Ic1=(1+hFE)*Ib1.... Now applying KVL between Vcc and Vp\n",
+ "#Vcc-Vp = R1*(1+hFE)*Ib1 + 2*Ib1\n",
+ "Ib1 = (Vcc-Vp)/(R1*(1+hFE)+2)#Base current in transistor 1\n",
+ "print(\"Ib1= %.2f mA \" %Ib1)\n",
+ "Ic1=hFE*Ib1#Collector Current in transistor 1\n",
+ "print(\"Ic1= %.2f mA \" %Ic1)\n",
+ "I1 = Ib1 + Ic1#in mA\n",
+ "I2=Vbe2sat/R4#in mA\n",
+ "Ib2 = I1-I2#Base Current in Transistor 2\n",
+ "#The unloaded current of Q2\n",
+ "Iq2=(Vcc-0.2)/R3\n",
+ "#For each gate which it drive ,Q2 must sink a standard load of\n",
+ "I=(Vcc-Vd2-0.2)/(R1+R2)\n",
+ "#To Calculate the FAN OUT\n",
+ "#The maximum current is hFE*Ib2\n",
+ "#hFE*Ib2 = (I*N) + Iq2\n",
+ "N=((hFE*Ib2)-Iq2)/I#FAN OUT\n",
+ "\n",
+ "#Results\n",
+ "print(\"N = %.2f v \" %N)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ib1= 0.05 mA \n",
+ "Ic1= 1.49 mA \n",
+ "N = 35.96 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter7.ipynb b/Integrated_Electronics/Chapter7.ipynb new file mode 100755 index 00000000..da5e0b6b --- /dev/null +++ b/Integrated_Electronics/Chapter7.ipynb @@ -0,0 +1,316 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 07 : Integrated Circuit Fabrication and Characteristic"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1, Page No 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "print('At distance equal to x=xi at which N = concentration n of doped silicon wafers , the net impurity density is zero. Thus xi is the distance at which junction is formed')\n",
+ "q = 1.6*(10**-19) #Charge of electron\n",
+ "yn=1300.0 #mobility of silicon\n",
+ "p = 0.5 #resistivity in ohm=cm\n",
+ "y=2.2\n",
+ "\n",
+ "#Calculations\n",
+ "t=2.0*3600 #in sec.\n",
+ "xi = 2.7*(10**-4) #Junction Depth in cm.\n",
+ "n = 1/(p*yn*q) #Concentration of doped silicon wafer\n",
+ "print(\"The concentration n = %.2f cm^-3 x 10^16\" %(n/10**16))\n",
+ "print('The junction is formed when N = n')\n",
+ "\n",
+ "#y = xi/(2*(D*t)^0.5)\n",
+ "D=((xi)**2/((2*y)**2*t)) #Diffusion Constant\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Diffusion Constant for Boron = %.2f cm^2/sec X 10^-13\" %(D*10**13))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "At distance equal to x=xi at which N = concentration n of doped silicon wafers , the net impurity density is zero. Thus xi is the distance at which junction is formed\n",
+ "The concentration n = 0.96 cm^-3 x 10^16\n",
+ "The junction is formed when N = n\n",
+ "The value of Diffusion Constant for Boron = 5.23 cm^2/sec X 10^-13\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2, Page No 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "d=5.2*10**-13 #from previous example\n",
+ "depth=1.7*10**-4\n",
+ "t=2*3600.0\n",
+ "c=2.5*10**17 # boron concentration cm^3\n",
+ "\n",
+ "#Calculations\n",
+ "y = depth/(2*(math.sqrt(d*t)))\n",
+ "q=(c*(math.sqrt(math.pi*4*10**-13*3420)))/(math.exp(-((depth**2)/(4*4*10**-13*3420))))\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Y is = %.2f \" %(y))\n",
+ "print(\"The value of Q is = %.2f cm2 X 10^15 \" %(q/10**15))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Y is = 1.39 \n",
+ "The value of Q is = 3.22 cm2 X 10^15 \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3, Page No 222"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "y=100.0*10**-4 #mm\n",
+ "h=500.0 #cm^2/V-s\n",
+ "p=10.0**16 #boron of concentration\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rs=1.0/(1.6*10**-19*h*p*y)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rs sheet resistance is = %.2f ohm/sqare\" %(Rs))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rs sheet resistance is = 125.00 ohm/sqare\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4, Page No 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rs=100.0 #ohm/square\n",
+ "l=50.0 #mm\n",
+ "w=10 #mm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "R=Rs*(l/w)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The resistance of defused resistor is = %.2f ohm\" %(R))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance of defused resistor is = 500.00 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5, Page No 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "A=100*10**-8 #mm^2\n",
+ "q=1.6*10**-19\n",
+ "Nd=10**16 #donor concentration /cm^3\n",
+ "e=11.9*8.85*10**-14\n",
+ "Vj=0.82 #v\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "C=A*math.sqrt((q*Nd*e)/(2*Vj))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The capacitance is = %.f fF\" %(C*10**15))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The capacitance is = 32 fF\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6, Page No 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "A=100*10*10**-8 #mm^2\n",
+ "q=1.6*10**-19\n",
+ "e=11.9*8.85*10**-14\n",
+ "Vj=0.98 #v\n",
+ "Mn=1300.0\n",
+ "pn=0.01\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Nd=1/(q*Mn*pn) #donor concentration /cm^3\n",
+ "C=A*math.sqrt((q*Nd*e)/(2*Vj))\n",
+ "\n",
+ "#Results\n",
+ "print(\"The capacitance is = %.f pF\" %(C*10**12))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The capacitance is = 2 pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7, Page No 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "e=3.9*8.85*10**-14\n",
+ "d=20*10**-8\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "C=(e/d)*(10**9/10**8)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The capacitance per unit area is = %.2f fF/mM^2\" %(C*10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The capacitance per unit area is = 17.26 fF/mM^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter8.ipynb b/Integrated_Electronics/Chapter8.ipynb new file mode 100755 index 00000000..0297a5fd --- /dev/null +++ b/Integrated_Electronics/Chapter8.ipynb @@ -0,0 +1,386 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 08 : The Transistor at Low Frequency"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2, Page No 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Rl=10.0 #in K\n",
+ "Rs=1.0 #in K\n",
+ "hie=1.1 #in K\n",
+ "hre=2.5*(10**-4) \n",
+ "hfe=50.0\n",
+ "hoe=25*(10**-3) #in K^-1\n",
+ "\n",
+ "#Calculations\n",
+ "Ai= -hfe/(1+(hoe*Rl)) #Current Gain or Current Amplification\n",
+ "print(\"Ai= %.2f \" %Ai)\n",
+ "\n",
+ "Ri = hie + (hre*Rl*Ai)\n",
+ "print(\"Ri= %.2f K\" %Ri)\n",
+ "\n",
+ "Av=(Ai*Rl)/Ri #Voltage Gain\n",
+ "print(\"Av= %.2f \" %Av)\n",
+ "\n",
+ "Avs=(Av*Ri)/(Ri+Rs) #Overall Voltage Gain taking source resistance into account\n",
+ "print(\"Avs= %.2f \" %Avs)\n",
+ "\n",
+ "Ais=(Ai*Rs)/(Ri+Rs) #Overall current gain taking source resistance into account\n",
+ "print(\"Ais= %.2f \" %Ais)\n",
+ "\n",
+ "#Results\n",
+ "Yo=hoe-((hfe*hre)/(hie+Rs)) #Admittance\n",
+ "print(\"Yo= %.2f K^-1 \" %Yo)\n",
+ "\n",
+ "Zo = 1.0/Yo #Impedence\n",
+ "print(\"Zo= %.2f K \" %Zo)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ai= -40.00 \n",
+ "Ri= 1.00 K\n",
+ "Av= -400.00 \n",
+ "Avs= -200.00 \n",
+ "Ais= -20.00 \n",
+ "Yo= 0.02 K^-1 \n",
+ "Zo= 52.50 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3, Page No 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "#Yo = I/Vo\n",
+ "#When current in a short circuit placed across the output terminals and V is the open circuit voltage\n",
+ "print('When current in a short circuit placed across the output terminals and V is the open circuit voltage')\n",
+ "print('I = -hf*I1=-(hf*Vs)/(Rs+hi)')\n",
+ "#Applying KVL\n",
+ "print('Vs = I1*(Rs+hi)+hr*V = -ho*V*(Rs+hi)/hf+hr*V')\n",
+ "print('or')\n",
+ "print('V = -(hf*Vs/(Rs+hi))/(ho-hf*hr(Rs+hi))')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When current in a short circuit placed across the output terminals and V is the open circuit voltage\n",
+ "I = -hf*I1=-(hf*Vs)/(Rs+hi)\n",
+ "Vs = I1*(Rs+hi)+hr*V = -ho*V*(Rs+hi)/hf+hr*V\n",
+ "or\n",
+ "V = -(hf*Vs/(Rs+hi))/(ho-hf*hr(Rs+hi))\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4 Page No 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "hie=1.1#in K\n",
+ "hre=2.5*(10^-4)\n",
+ "hfe=50\n",
+ "hoe=25*(10^-3)#in K^-1\n",
+ "r=200#in K\n",
+ "Rs=10#in K\n",
+ "Ri=1#in K\n",
+ "Rl=10#in K\n",
+ "\n",
+ "#Calculations\n",
+ "rl=(r*Rs)/(r+Rs)#in K\n",
+ "\n",
+ "Ai = -hfe/(1+(hoe*rl))#Current Gain\n",
+ "print(\"Ai = %.2f \" %Ai)\n",
+ "\n",
+ "Ri = hie + (hre*Ai*rl)\n",
+ "print(\"Ri = %.2f K\" %Ri)\n",
+ "\n",
+ "Av=(Ai*rl)/Ri#Voltage Gain\n",
+ "print(\"Av = %.2f \" %Av)\n",
+ "\n",
+ "k = r/(1-Av)\n",
+ "ri = (Ri*k)/(Ri+k)\n",
+ "print(\"ri = %.2f K\" %ri)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "Avs = Av*(ri/(ri+Rs))#Overall voltage Gain taking Source resistance into account\n",
+ "print(\"Avs = %.2f \" %Avs)\n",
+ "\n",
+ "ai = Avs*((ri+Rs)/Rl)\n",
+ "print(\"ai = -I2/I1 = %.2f \" %ai)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ai = 0.00 \n",
+ "Ri = 1.10 K\n",
+ "Av = 0.00 \n",
+ "ri = 1.09 K\n",
+ "Avs = 0.00 \n",
+ "ai = -I2/I1 = 0.00 \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5, Page No 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "hie = 2#in K\n",
+ "hfe = 50\n",
+ "hre = 6*(10^-4)\n",
+ "hoe = 25*(10^-3)#in K^-1\n",
+ "hic=2#in K\n",
+ "hfc=-51\n",
+ "hrc=1\n",
+ "hoc=25*(10^-3)#/in K^-1\n",
+ "Re2=5#in K\n",
+ "Rs=1#in K\n",
+ "Rc1=5#in K\n",
+ "\n",
+ "#The Second Stage\n",
+ "\n",
+ "#Calculations\n",
+ "Rl = Re2\n",
+ "Ai2 = -hfc/(1+(hoc*Re2))#Current Gain in @nd Transistor\n",
+ "print(\"Ai2 = %.2f \" %Ai2)\n",
+ "\n",
+ "Ri2 = hic + (hrc*Ai2*Re2)\n",
+ "print(\"Ri2 = %.2f K\" %Ri2)\n",
+ "\n",
+ "Av2 = (Ai2*Re2)/Ri2#Voltage Gain in 2nd Transistor\n",
+ "print(\"Av2 = %.2f \" %Av2)\n",
+ "\n",
+ "#The First Stage\n",
+ "\n",
+ "Rl1 = (Rc1*Ri2)/(Rc1+Ri2)\n",
+ "print(\"Rl1 = %.2f K\" %Rl1)\n",
+ "\n",
+ "\n",
+ "Ai1 = -hfe/(1+(hoe*Rl1))#Current Gain in 1st Transistor\n",
+ "print(\"Ai1 = %.2f \" %Ai1)\n",
+ "\n",
+ "Ri1 = hie + (hre*Ai1*Rl1)\n",
+ "print(\"Ri1 = %.2f K\" %Ri1)\n",
+ "\n",
+ "Av1 = (Ai1*Rl1)/Ri1#Voltage Gain in 1st Transistor\n",
+ "print(\"Av1 = %.2f \" %Av1)\n",
+ "\n",
+ "print('The output Admittance of Transistor')\n",
+ "Yo1 = hoe - ((hfe*hre)/(hie+Rs))\n",
+ "print(\"Yo= %.2f K^-1 \" %Yo)\n",
+ "\n",
+ "Ro1 = 1/Yo1\n",
+ "\n",
+ "#Output Impedence of First Stage\n",
+ "print('Output Impedence of First Stage')\n",
+ "ro1 = (Ro1*Rc1)/(Ro1+Rc1)\n",
+ "print(\"ro1= %.2f K \" %ro1)\n",
+ "rs2 = ro1\n",
+ "\n",
+ "Yo2 = hoc - ((hfc*hrc)/(hic+rs2))\n",
+ "print(\"Yo2= %.2f K^-1 \" %Yo2)\n",
+ "\n",
+ "A1 = (Ai2*Ai2*Rc1)/(Ri2+Rc1)#Overall Current gain\n",
+ "print(\"A1 = %.2f \" %A1)\n",
+ "\n",
+ "Av = Av2*Av1#Overall Voltage Gain\n",
+ "print(\"Voltage Gain Av = %.2f \" %Av)\n",
+ "print(Av,' = Av=')\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "Avs = (Av*Ri1)/(Ri1+Rs)#Overall Voltage gain with Source Impedence\n",
+ "print(\"Overall Voltage gain taking Source Impedence into account = Avs = %.2f \" %Avs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ai2 = -1.00 \n",
+ "Ri2 = -3.00 K\n",
+ "Av2 = 1.00 \n",
+ "Rl1 = -8.00 K\n",
+ "Ai1 = -1.00 \n",
+ "Ri1 = -478.00 K\n",
+ "Av1 = -1.00 \n",
+ "The output Admittance of Transistor\n",
+ "Yo= 0.02 K^-1 \n",
+ "Output Impedence of First Stage\n",
+ "ro1= 0.00 K \n",
+ "Yo2= -199.00 K^-1 \n",
+ "A1 = 2.00 \n",
+ "Voltage Gain Av = -1.00 \n",
+ "(-1, ' = Av=')\n",
+ "Overall Voltage gain taking Source Impedence into account = Avs = -2.00 \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.6 Page No 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "hie = 2#in K\n",
+ "hfe = 50\n",
+ "hre = 6*(10^-4)\n",
+ "hoe = 25*(10^-3)#in K^-1\n",
+ "hic=2#in K\n",
+ "hfc=-51\n",
+ "hrc=1\n",
+ "hoc=25*(10^-3)#/in K^-1\n",
+ "Re2=5#in K\n",
+ "Rs=5#in K\n",
+ "Rc1=5#in K\n",
+ "\n",
+ "#Calculations\n",
+ "#For the CC output Stage\n",
+ "print('For the CC output Stage')\n",
+ "Rl = Re2\n",
+ "Ai2 = 1+ hfe#Current gain in 2nd Transistor\n",
+ "print(\"Ai2= %.2f \" %Ai2)\n",
+ "Ri2 = hie+((1+hfe)*Rl)\n",
+ "print(\"Ri2= %.2f K\" %Ri2)\n",
+ "Av2=1-(hie/Ri2)#voltage gain in 2nd transistor\n",
+ "print(\"Av2= %.2f \" %Av2)\n",
+ "\n",
+ "#For the CE input Stage\n",
+ "print('For the CE input Stage')\n",
+ "\n",
+ "Ai1=-hfe#Current gain in 1st transistor\n",
+ "Ri1 = hie\n",
+ "print(\"Ai1= %.2f \" %Ai1)\n",
+ "Rl1=(Rc1*Ri2)/(Rc1+Ri2)\n",
+ "print(\"Rl1= %.2f K\" %Rl1)\n",
+ "Av1=(Ai1*Rl1)/Ri1#Voltage gain in 1st transistor\n",
+ "print(\"Av1= %.2f \" %Av1)\n",
+ "ro1=Rc1\n",
+ "Ro2 = (hie+Rs)/(1+hfe)\n",
+ "ro2=(Ro2*Rl)/(Ro2+Rl)\n",
+ "print(\"Effective Source Impedence = %.2f k\" %ro2)\n",
+ "\n",
+ "Av = Av1*Av2#Overall voltage gain\n",
+ "\n",
+ "#Results\n",
+ "print(\"Overall Voltage Gain= %.2f k\" %Av)\n",
+ "Ai = Ai1*Ai2*(Rc1/(Rc1+Ri2))#Overall current Gain\n",
+ "print(\"Overall Current Gain= %.2f k\" %Ai)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For the CC output Stage\n",
+ "Ai2= 51.00 \n",
+ "Ri2= 257.00 K\n",
+ "Av2= 1.00 \n",
+ "For the CE input Stage\n",
+ "Ai1= -50.00 \n",
+ "Rl1= 4.00 K\n",
+ "Av1= -100.00 \n",
+ "Effective Source Impedence = 0.00 k\n",
+ "Overall Voltage Gain= -100.00 k\n",
+ "Overall Current Gain= 0.00 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/Chapter9.ipynb b/Integrated_Electronics/Chapter9.ipynb new file mode 100755 index 00000000..791b38fc --- /dev/null +++ b/Integrated_Electronics/Chapter9.ipynb @@ -0,0 +1,567 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 09 : Transistor Biasing and Thermal Stabilization"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1, Page No 306"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vcc=22.5 #in V\n",
+ "Rc=5.6 #in K\n",
+ "Re=1.0 #in K\n",
+ "R2=10.0 #in K\n",
+ "R1=90.0 #in K\n",
+ "B=55.0 #beta\n",
+ "\n",
+ "#Calculations\n",
+ "V=(R2*Vcc)/(R2+R1) #Thevenin Equivallent Voltage\n",
+ "Rb=(R2*R1)/(R2+R1) #Thevenin Equivallent Resistance\n",
+ "\n",
+ "#For base current large compared to reverse saturation current ie Ib>>Ico it follows that Ic=B*Ib\n",
+ "#Applying KVL to the base circuit\n",
+ "#0.65-2.25+Ic+10*Ib=0\n",
+ "#We have -1.60+Ic+(10/55)*Ic=0\n",
+ "\n",
+ "Ic=1.60/(65.0/55);\n",
+ "Ib=Ic/55.0\n",
+ "\n",
+ "#Applying KVL to the collector circuit yields\n",
+ "#-22.5+6.6*Ic+Ib+Vce\n",
+ "\n",
+ "Vce = 22.5-(6.6*1.36)-0.025\n",
+ "\n",
+ "#Results\n",
+ "print(\"The equivallent Vbb = %.2f Volts \" %V)\n",
+ "print(\"The equivallent Rb is = %.2f ohm \" %Rb)\n",
+ "print(\"As B=55 we have Ic=55*Ib \")\n",
+ "print(\" Ic= %.2f milli amp \" %Ic)\n",
+ "print(\"Ib= %.2f micro amp \" %Ib)\n",
+ "print(\"Vce= %.2f Volts \" %Vce)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivallent Vbb = 2.25 Volts \n",
+ "The equivallent Rb is = 9.00 ohm \n",
+ "As B=55 we have Ic=55*Ib \n",
+ " Ic= 1.35 milli amp \n",
+ "Ib= 0.02 micro amp \n",
+ "Vce= 13.50 Volts \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2, Page No 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Rc=4.0 #in K\n",
+ "Vcc=20.0 #in V\n",
+ "Vce=10.0 #in V\n",
+ "Ic=2.0 #in mA\n",
+ "#Ic varies from 1.75 to 2.25 and B(beta) varies from 36 to 90\n",
+ "Re = (Vcc-Vce)/Ic - Rc\n",
+ "#S=delta Ic/delta B\n",
+ "Ic2=2.25 #in mA\n",
+ "Ic1=1.75 #in mA\n",
+ "B2=90.0\n",
+ "B1=36.0\n",
+ "\n",
+ "#Calculations\n",
+ "S=(Ic2-Ic1)/(B2-B1)\n",
+ "S2=(S*36*(1+90))/1.75\n",
+ "#S2=(1+B)*(1+(Rb/Re))/(1+B+(Rb/Re))\n",
+ "Rb=(S2-1)*(1+B2)*Re/(1+B2-S2);\n",
+ "Vbe=0.65 #in V\n",
+ "V = Vbe + ((Rb+Re*(1+B1))*Ic1/B1);\n",
+ "R1=Rb*Vcc/V\n",
+ "R2=R1*V/(Vcc-V)\n",
+ "\n",
+ "#Results\n",
+ "print(\"S2 = %.2f K \" %S2)\n",
+ "print(\"Re = is %.2f B2=90 \" %Re)\n",
+ "print(\"Rb= %.2f K \" %Rb)\n",
+ "print(\"V = %.2f Volts \" %V)\n",
+ "print(\"R1= %.2f K \" %R1)\n",
+ "print(\"R2= %.2f K \" %R2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "S2 = 17.33 K \n",
+ "Re = is 1.00 B2=90 \n",
+ "Rb= 20.18 K \n",
+ "V = 3.43 Volts \n",
+ "R1= 117.67 K \n",
+ "R2= 24.35 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3a Page No 316"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Re=4.7 #in K\n",
+ "Rb=7.75 #in K\n",
+ "B1=55.0 #/beta at 25degree C\n",
+ "Ic1=1.5 #in mA\n",
+ "Ico1=1.0\n",
+ "Vbe1=0.6 #in V\n",
+ "\n",
+ "#Part a\n",
+ "\n",
+ "Ico2=33000.0 #in nA\n",
+ "Vbe2=0.225 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "M1=1/(1+(Rb/(Re*B1))) #Stability Factor\n",
+ "B2=100.0 #at 175degree C\n",
+ "M2=1/(1+(Rb/(Re*B2))) #Stability Factor\n",
+ "\n",
+ "print(\"Stabitity Factor at 25deree C= %.2f \" %M1)\n",
+ "print(\"Stabitity Factor at 175deree C= %.2f \" %M2)\n",
+ "\n",
+ "if M2>M1 :\n",
+ " M1=1.0\n",
+ " M2=1.0\n",
+ "\n",
+ "\n",
+ "#Let k = (delta Ic)/(Ic1)\n",
+ "k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));\n",
+ "deltaIc=k*Ic1\n",
+ "print(\"Change in Collector Current at 175degree C is = %.2f mA\" %deltaIc)\n",
+ "\n",
+ "\n",
+ "#Given Data at -65degree C\n",
+ "Ico2=1.95*(10**-3)\n",
+ "B2=25.0\n",
+ "Vbe2=0.78\n",
+ "\n",
+ "M2=1/(1+(Rb/(Re*B2))) #Stability Factor\n",
+ "print(\"Stabitity Factor at -65deree C= %.2f \" %M2)\n",
+ " \n",
+ "#Let k = (delta Ic)/(Ic1)\n",
+ "k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1))\n",
+ "deltaIc=k*Ic1\n",
+ "\n",
+ "#Results\n",
+ "print(\"Change in Collector Current at -65degree C is = %.2f mA\" %deltaIc)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stabitity Factor at 25deree C= 0.97 \n",
+ "Stabitity Factor at 175deree C= 0.98 \n",
+ "Change in Collector Current at 175degree C is = 0.11 mA\n",
+ "Stabitity Factor at -65deree C= 0.94 \n",
+ "Change in Collector Current at -65degree C is = -0.12 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3b, Page No 317"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Re=4.7 #in K\n",
+ "Rb=7.75 #in K\n",
+ "B1=55.0 #/beta at 25degree C\n",
+ "Ic1=1.5 #in mA\n",
+ "Ico1=1.0\n",
+ "Vbe1=0.6 #in V\n",
+ "\n",
+ "\n",
+ "#Part a\n",
+ "\n",
+ "Ico2=33000.0 #in nA\n",
+ "Vbe2=0.225 #in V\n",
+ "\n",
+ "#Calculations\n",
+ "M1=1/(1+(Rb/(Re*B1))) #Stability Factor\n",
+ "#Given Data at -65degree C\n",
+ "Ico2=1.95*(10**-3)\n",
+ "B2=25.0 #at -65degree C\n",
+ "Vbe2=0.78\n",
+ "M2=1/(1+(Rb/(Re*B2))) #Stability Factor\n",
+ "\n",
+ "#Let k = (delta Ic)/(Ic1)\n",
+ "k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));\n",
+ "deltaIc=k*Ic1\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Given Data\n",
+ "Ico2=32.0 #in nA\n",
+ "Vbe2=0.10 #in V\n",
+ "M1=1/(1+(Rb/(Re*B1))) #Stability Factor\n",
+ "print(\"Stabitity Factor at 25deree C= %.2f \" %M1)\n",
+ "B2=90.0 #at 175degree C\n",
+ "M2=1/(1+(Rb/(Re*B2))) #Stability Factor\n",
+ "print(\"Stabitity Factor at 75deree C= %.2f \" %M2)\n",
+ "\n",
+ "if M2>M1 :\n",
+ " M1=1.0\n",
+ " M2=1.0\n",
+ "\n",
+ "#Let k = (delta Ic)/(Ic1)\n",
+ "k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));\n",
+ "deltaIc=k*Ic1\n",
+ "print(\"Change in Collector Current at 75degree C is = %.2f mA\" %deltaIc)\n",
+ "\n",
+ "#Given Data at -65degree C\n",
+ "Ico2=1.95*(10**-3)\n",
+ "B2=20.0\n",
+ "Vbe2=0.38\n",
+ "\n",
+ "M2=1/(1+(Rb/(Re*B2))) #Stability Factor\n",
+ "print(\"Stabitity Factor at -65deree C= %.2f \" %M2)\n",
+ " \n",
+ " \n",
+ "#Let k = (delta Ic)/(Ic1)\n",
+ "k=(1+(Rb/Re))*(M1*(Ico2-Ico1)*(10**-9)/Ic1*(10**-3))-(M1*(Vbe2-Vbe1)/(Ic1*Re))+(1+(Rb/Re))*(M2*(B2-B1)/(B2*B1));\n",
+ "deltaIc=k*Ic1\n",
+ "print(\"Change in Collector Current at -65degree C is = %.2f mA\" %deltaIc)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stabitity Factor at 25deree C= 0.97 \n",
+ "Stabitity Factor at 75deree C= 0.98 \n",
+ "Change in Collector Current at 75degree C is = 0.13 mA\n",
+ "Stabitity Factor at -65deree C= 0.92 \n",
+ "Change in Collector Current at -65degree C is = -0.07 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 Page No 319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "B1=150.0 #beta\n",
+ "Ico1=50.0 #in nA\n",
+ "\n",
+ "#Given Data at 65degree C\n",
+ "B2=1200.0 #beta\n",
+ "Ico2=3.0 #in micro A\n",
+ "\n",
+ "Vbe=0.65 #in mV\n",
+ "Vcc=20.0 #in V\n",
+ "M=1.0 \n",
+ "#Assumption: Each factor Ico,B, and Vbe cuses the same percentge change(5%)\n",
+ "\n",
+ "#Let Rb/Re=k\n",
+ "#(1+k)*((1200-150)/(1200*150))=0.05\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "k=((0.05)*((1200*150)/(1200-150)))-1\n",
+ "print(\"Rb/Re = %.2f \" %k)\n",
+ "#Let us check our assumption\n",
+ "\n",
+ "if M>(1.0/(1+(k/B1))) :\n",
+ " M=1.0\n",
+ "\n",
+ "#(1+(Rb/Re))*((Ico2-Ico1)/Ic1)=0.05 Since Ico2>>Ico1, we consider only Ico2\n",
+ "\n",
+ "Ic1=((1+k)*Ico2)/(0.05*1000)\n",
+ "print(\"Ic1= %.2f mA \" %Ic1)\n",
+ "\n",
+ "#Vbe changes 2.5mV/degree\n",
+ "DVbe=2.5*40\n",
+ "#Total increment\n",
+ "dVbe=2*DVbe*(10**-3)\n",
+ "\n",
+ "#Let l=(Ic1*Re)\n",
+ "l=dVbe/0.05\n",
+ "\n",
+ "Re=l/Ic1\n",
+ "print(\"Re= %.2f \" %Re)\n",
+ "Rb=k*Re\n",
+ "print(\"Rb= %.2f \" %Rb)\n",
+ "\n",
+ "B=(B1+B2)/2 #beta\n",
+ "V=((Ic1/B)*Rb)+(Vbe)+(((Ic1/B)+Ic1)*Re)\n",
+ "print(\"V= %.2f Volts\" %V)\n",
+ "R1=(Rb*Vcc)/V\n",
+ "R2=(R1*V)/(Vcc-V)\n",
+ "\n",
+ "#Results\n",
+ "print(\"R1= %.2f ohm\" %R1)\n",
+ "print(\"R2= %.2f ohm\" %R2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rb/Re = 7.55 \n",
+ "Ic1= 0.51 mA \n",
+ "Re= 7.80 \n",
+ "Rb= 58.87 \n",
+ "V= 4.70 Volts\n",
+ "R1= 250.47 ohm\n",
+ "R2= 76.96 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5 Page No 325"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "\n",
+ "Vcc=30.0 #in V\n",
+ "Rc=2.0 #in K\n",
+ "Re=4.7 #in K\n",
+ "Ic=1.5 #in mA\n",
+ "\n",
+ "#We know that dPc/dIc = Vcc - (2*Ic*(Rc+Re))\n",
+ "#Let D=dPc/dIc\n",
+ "\n",
+ "D = Vcc - (2*Ic*(Re+Rc))\n",
+ "\n",
+ "print('Ic increases by 0.131mA over a temprature range of 35 to 75 degree C')\n",
+ "print('theta<(A=(dPc/dIc)*(dIc/dTc))')\n",
+ "A=D*((0.131*(10^-3))/(75-25))\n",
+ "\n",
+ "#Results\n",
+ "print(\"theta< %.2f degreeC/W \" %(1.0/A))\n",
+ "print('The upper bound on theta is so high that transistor would not violate it and therefore circuit will be safe from thermal runaway')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ic increases by 0.131mA over a temprature range of 35 to 75 degree C\n",
+ "theta<(A=(dPc/dIc)*(dIc/dTc))\n",
+ "theta< -4.28 degreeC/W \n",
+ "The upper bound on theta is so high that transistor would not violate it and therefore circuit will be safe from thermal runaway\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6a, Page No 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "B=100.0 #beta\n",
+ "Ico=-5.0 #in mA\n",
+ "Ic=-1.0 #in mA\n",
+ "Vcc=40.0 \n",
+ "Re=5.0 #in ohm\n",
+ "Rc=10.0 #in ohm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Ic= BIb + (1+B)*Ico\n",
+ "#Ic=B(Ib+Ico)\n",
+ "Ib=-(Ic/B)+Ico\n",
+ "\n",
+ "print(\"Ib= %.2f mA \" %Ib)\n",
+ "#Neglecting Vbe\n",
+ "Rb=(5-Vcc)/(Ib*0.001)\n",
+ "print(\"Rb= %.2f ohm \" %Rb)\n",
+ "\n",
+ "Vce=Vcc-15\n",
+ "if Vce>(Vcc/2) :\n",
+ " S=(1+B)*(1+(Rb/Re))/(1+B+(Rb/Re))\n",
+ " print(\"Stability Factor is= %.2f \" %S)\n",
+ "\n",
+ "A=-(Vcc+(2*Ic*(Re+Rc)))*(S)*(0.007*Ico*0.01)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"theta< %.2f degreeC/W \" %(1.0/A))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ib= -4.99 mA \n",
+ "Rb= 7014.03 ohm \n",
+ "Stability Factor is= 94.28 \n",
+ "theta< 3.03 degreeC/W \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6b Page No 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#initialisation of variables\n",
+ "B=100.0 #beta\n",
+ "Ico=-5.0 #in mA\n",
+ "Ic=-1.0 #in mA\n",
+ "Vcc=40.0 \n",
+ "Re=5.0 #in ohm\n",
+ "Rc=10.0 #in ohm\n",
+ "\n",
+ "#Calculations\n",
+ "#Ic= BIb + (1+B)*Ico\n",
+ "#Ic=B(Ib+Ico)\n",
+ "Ib=-(Ic/B)+Ico\n",
+ "\n",
+ "#Neglecting Vbe\n",
+ "Rb=(5-Vcc)/(Ib*0.001)\n",
+ "\n",
+ "Vce=Vcc-15\n",
+ "if Vce>(Vcc/2) :\n",
+ " S=(1+B)*(1+(Rb/Re))/(1+B+(Rb/Re))\n",
+ " print(\"Stability Factor is= %.2f \" %S)\n",
+ "\n",
+ "A=-(Vcc+(2*Ic*(Re+Rc)))*(S)*(0.007*Ico*0.01)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"theta< %.2f degreeC/W \" %(1.0/A))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stability Factor is= 94.28 \n",
+ "theta< 3.03 degreeC/W \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Integrated_Electronics/screenshots/Chapter10.png b/Integrated_Electronics/screenshots/Chapter10.png Binary files differnew file mode 100755 index 00000000..0488a4ac --- /dev/null +++ b/Integrated_Electronics/screenshots/Chapter10.png diff --git a/Integrated_Electronics/screenshots/Chapter12.png b/Integrated_Electronics/screenshots/Chapter12.png Binary files differnew file mode 100755 index 00000000..f1ee4879 --- /dev/null +++ b/Integrated_Electronics/screenshots/Chapter12.png diff --git a/Integrated_Electronics/screenshots/Chapter13.png b/Integrated_Electronics/screenshots/Chapter13.png Binary files differnew file mode 100755 index 00000000..b41c2bad --- /dev/null +++ b/Integrated_Electronics/screenshots/Chapter13.png |