From df60071cf1d1c18822d34f943ab8f412a8946b69 Mon Sep 17 00:00:00 2001 From: hardythe1 Date: Wed, 3 Jun 2015 15:27:17 +0530 Subject: add books --- .../Chapter1.ipynb | 77 +++ .../Chapter10.ipynb | 451 ++++++++++++ .../Chapter12.ipynb | 108 +++ .../Chapter13.ipynb | 752 +++++++++++++++++++++ .../Chapter14.ipynb | 126 ++++ .../Chapter15.ipynb | 292 ++++++++ .../Chapter16.ipynb | 626 +++++++++++++++++ .../Chapter18.ipynb | 566 ++++++++++++++++ .../Chapter19.ipynb | 249 +++++++ .../Chapter2.ipynb | 362 ++++++++++ .../Chapter3.ipynb | 143 ++++ .../Chapter4.ipynb | 262 +++++++ .../Chapter5.ipynb | 477 +++++++++++++ .../Chapter6.ipynb | 690 +++++++++++++++++++ .../Chapter7.ipynb | 316 +++++++++ .../Chapter8.ipynb | 386 +++++++++++ .../Chapter9.ipynb | 567 ++++++++++++++++ .../screenshots/Chapter10.png | Bin 0 -> 186725 bytes .../screenshots/Chapter12.png | Bin 0 -> 254220 bytes .../screenshots/Chapter13.png | Bin 0 -> 278126 bytes 20 files changed, 6450 insertions(+) create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter1.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter10.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter12.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter13.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter14.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter15.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter16.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter18.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter19.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter2.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter3.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter4.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter5.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter6.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter7.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter8.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter9.ipynb create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter10.png create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter12.png create mode 100755 Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter13.png (limited to 'Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems') diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter1.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter1.ipynb new file mode 100755 index 00000000..e645b5e5 --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter10.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter10.ipynb new file mode 100755 index 00000000..63b119f4 --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter12.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter12.ipynb new file mode 100755 index 00000000..e66f53de --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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 , ro1/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__Analog_And_Digital_Circuits_and_Systems/Chapter13.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter13.ipynb new file mode 100755 index 00000000..700328fd --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter14.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter14.ipynb new file mode 100755 index 00000000..168416ec --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter14.ipynb @@ -0,0 +1,126 @@ +{ + "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", + "j=1\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-j*((4*Q*Q)-1)**0.5)\n", + "\n", + "#Results\n", + "print(\"The first pole is = %.2f rad/s \" %s1f)\n", + "s2f = s1*((n+1)/2)*(1+j*((4*Q*Q)-1)**0.5)\n", + "print(\"The second pole is = %.2f rad/s\" %s2f)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of n= 9.94 \n", + "The value of Q = 1.20 \n", + "The value of K = 0.42 \n", + "The first pole is = 29982570.54 rad/s \n", + "The second pole is = -80502570.54 rad/s\n" + ] + } + ], + "prompt_number": 5 + }, + { + "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": 6 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter15.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter15.ipynb new file mode 100755 index 00000000..0381de3d --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter16.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter16.ipynb new file mode 100755 index 00000000..d113c07e --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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": 1 + }, + { + "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": 2 + }, + { + "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": 3 + }, + { + "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 Vbe0 :\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": 6 + }, + { + "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 VbeIb2 , 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__Analog_And_Digital_Circuits_and_Systems/Chapter19.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter19.ipynb new file mode 100755 index 00000000..536b52a6 --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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": 1 + }, + { + "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": 2 + }, + { + "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": 3 + }, + { + "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": 4 + }, + { + "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": 5 + }, + { + "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": 6 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter2.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter2.ipynb new file mode 100755 index 00000000..290a59be --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter3.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter3.ipynb new file mode 100755 index 00000000..787f5d00 --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter4.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter4.ipynb new file mode 100755 index 00000000..353ad61d --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter5.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter5.ipynb new file mode 100755 index 00000000..982187ad --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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<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<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__Analog_And_Digital_Circuits_and_Systems/Chapter6.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter6.ipynb new file mode 100755 index 00000000..492e2c64 --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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": 12 + }, + { + "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": 13 + }, + { + "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": 14 + }, + { + "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": 15 + }, + { + "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": 16 + }, + { + "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": 17 + }, + { + "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 VbeVy :\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": 19 + }, + { + "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": 20 + }, + { + "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": 21 + }, + { + "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": 22 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter7.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter7.ipynb new file mode 100755 index 00000000..2f068312 --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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": 8 + }, + { + "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": 9 + }, + { + "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": 10 + }, + { + "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": 11 + }, + { + "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": 12 + }, + { + "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": 13 + }, + { + "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": 14 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter8.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter8.ipynb new file mode 100755 index 00000000..0297a5fd --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/Chapter9.ipynb b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/Chapter9.ipynb new file mode 100755 index 00000000..791b38fc --- /dev/null +++ b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/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__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter10.png b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter10.png new file mode 100755 index 00000000..0488a4ac Binary files /dev/null and b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter10.png differ diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter12.png b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter12.png new file mode 100755 index 00000000..f1ee4879 Binary files /dev/null and b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter12.png differ diff --git a/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter13.png b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter13.png new file mode 100755 index 00000000..b41c2bad Binary files /dev/null and b/Integrated_Electronics__Analog_And_Digital_Circuits_and_Systems/screenshots/Chapter13.png differ -- cgit