From df60071cf1d1c18822d34f943ab8f412a8946b69 Mon Sep 17 00:00:00 2001 From: hardythe1 Date: Wed, 3 Jun 2015 15:27:17 +0530 Subject: add books --- Integrated_Circuits/Chapter1.ipynb | 706 ++++++++++++++++ Integrated_Circuits/Chapter2.ipynb | 228 ++++++ Integrated_Circuits/Chapter3.ipynb | 1204 ++++++++++++++++++++++++++++ Integrated_Circuits/Chapter4.ipynb | 77 ++ Integrated_Circuits/Chapter5.ipynb | 393 +++++++++ Integrated_Circuits/Chapter6.ipynb | 354 ++++++++ Integrated_Circuits/Chapter7.ipynb | 297 +++++++ Integrated_Circuits/screenshots/Ex2.1.png | Bin 0 -> 32249 bytes Integrated_Circuits/screenshots/Ex2.2.png | Bin 0 -> 18660 bytes Integrated_Circuits/screenshots/Ex5.12.png | Bin 0 -> 24276 bytes 10 files changed, 3259 insertions(+) create mode 100755 Integrated_Circuits/Chapter1.ipynb create mode 100755 Integrated_Circuits/Chapter2.ipynb create mode 100755 Integrated_Circuits/Chapter3.ipynb create mode 100755 Integrated_Circuits/Chapter4.ipynb create mode 100755 Integrated_Circuits/Chapter5.ipynb create mode 100755 Integrated_Circuits/Chapter6.ipynb create mode 100755 Integrated_Circuits/Chapter7.ipynb create mode 100755 Integrated_Circuits/screenshots/Ex2.1.png create mode 100755 Integrated_Circuits/screenshots/Ex2.2.png create mode 100755 Integrated_Circuits/screenshots/Ex5.12.png (limited to 'Integrated_Circuits') diff --git a/Integrated_Circuits/Chapter1.ipynb b/Integrated_Circuits/Chapter1.ipynb new file mode 100755 index 00000000..0141ff8d --- /dev/null +++ b/Integrated_Circuits/Chapter1.ipynb @@ -0,0 +1,706 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:862d4d2200cef4afafe4b0610190ff2ff686b747269183b5312528ef1b293d1a" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter01:Analog Integrated Circuit Design" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.1:Pg-10" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.1\n", + "import math\n", + "VDD=1.8;#V\n", + "IREF=50;#micro A\n", + "IO=IREF;#micro A\n", + "L=0.5;#micro m\n", + "W=5;#micro m\n", + "Vt=0.5;#V\n", + "Kn_dash=250;#micro A/V**2\n", + "VGS=math.sqrt(IO/(1/2.0*Kn_dash*(W/L)))+Vt;#V\n", + "print VGS,\" is the Value of VGS(V) \"\n", + "R=(VDD-VGS)/(IREF*10**-6);#ohm\n", + "print R/1000,\" is the Value of R(kohm) \"\n", + "VDS2=VGS-Vt;#V\n", + "VO=VDS2;#V\n", + "print VO,\" is the Lowest value of VO(V) \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.7 is the Value of VGS(V) \n", + "22.0 is the Value of R(kohm) \n", + "0.2 is the Lowest value of VO(V) \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.3:Pg-12" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.3\n", + "\n", + "VDD=1.8;#V\n", + "Vt=0.6;#V\n", + "mpCox=100;#a A/V**2\n", + "IREF=80;#micro A\n", + "VOmax=1.6;#V\n", + "VSG=VDD-VOmax+Vt;#V\n", + "VGS=-VSG;#V\n", + "VS=VDD;#V\n", + "VG=VGS+VS;#V\n", + "R=VG/(IREF*10**-6);#ohm\n", + "ID=IREF;#micro A\n", + "WbyL=2*ID*10**-6/(mpCox*10**-6)/(VGS+Vt)**2;#unitless\n", + "print VGS,\"= Value of VGS(V) \"\n", + "print VG,\"= Value of VG(V) \"\n", + "print R/1000,\"= Value of R(kohm) \"\n", + "print WbyL,\"= W/L ratio \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "-0.8 = Value of VGS(V) \n", + "1.0 = Value of VG(V) \n", + "12.5 = Value of R(kohm) \n", + "40.0 = W/L ratio \n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.4:Pg-19" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.4\n", + "\n", + "Beta=80;#unitless\n", + "print \"IREF=IC1+IC1/Beta+IO/Beta)\"\n", + "print \"IO/IREF=m implies IC1=IO/m as IC1=IREF\"\n", + "print \"IREF=IO*(1/m+1/m/Beta+1/Beta)\"\n", + "print \"IO/IREF=m/(1+1/Beta+m/Beta)\"\n", + "print \"IO/IREF=m*(1-5/100)\"#for large Beta\n", + "m=(1/(1-5.0/100)-1)*Beta-1;#Current transfer ratio\n", + "print round(m,2),\" is Largest current transfer ratio \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "IREF=IC1+IC1/Beta+IO/Beta)\n", + "IO/IREF=m implies IC1=IO/m as IC1=IREF\n", + "IREF=IO*(1/m+1/m/Beta+1/Beta)\n", + "IO/IREF=m/(1+1/Beta+m/Beta)\n", + "IO/IREF=m*(1-5/100)\n", + "3.21 is Largest current transfer ratio \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.7:pg-37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.7\n", + "\n", + "Beta=80;#untless\n", + "print \"g8=IC1+IC1/Beta+IO/Beta\"\n", + "print \"IO/IREF=m implies IC1=IO/m as IC1=IREF\"\n", + "print \"IREF=IO*(1/m+1/m/Beta+1/Beta\"\n", + "print \"IO/IREF=m/(1+1/Beta+m/Beta\"\n", + "print \"IO/IREF=m*(1-5/100)\"#for large Beta\n", + "m=(1/(1-5.0/100)-1)*Beta-1;#Current transfer ratio\n", + "print round(m,2),\"Largest current transfer ratio \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "g8=IC1+IC1/Beta+IO/Beta\n", + "IO/IREF=m implies IC1=IO/m as IC1=IREF\n", + "IREF=IO*(1/m+1/m/Beta+1/Beta\n", + "IO/IREF=m/(1+1/Beta+m/Beta\n", + "IO/IREF=m*(1-5/100)\n", + "3.21 Largest current transfer ratio \n" + ] + } + ], + "prompt_number": 63 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.9:Pg-39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.9\n", + "\n", + "\n", + "Beta=20.0;#unitless\n", + "IObyIREF=1/(1+2/Beta);#Current gain\n", + "print round(IObyIREF,2),\" is Current gain \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.91 is Current gain \n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.10:Pg-39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.10\n", + "\n", + "IREF=2;#mA\n", + "IO=IREF;#mA\n", + "VA2=90.0;#V\n", + "Vo1=1.0;#V\n", + "Vo2=10.0;#V\n", + "ro2=VA2/IO;#kohm\n", + "delVO=Vo2-Vo1;#V\n", + "delIO=delVO/ro2;#mA\n", + "Change=delIO/IO*100;#%\n", + "print Change,\" % is Change in Io \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "10.0 % is Change in Io \n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.11:Pg-40" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.11\n", + "\n", + "import math\n", + "VBE3=0.7;#V\n", + "VBE1=0.7;#V\n", + "IREF1=100.0;#micro A\n", + "IC1=IREF1;#micro A\n", + "IREF2=1.0;#mA\n", + "IC2=IREF2;#mA\n", + "Beta=200.0;#unitless\n", + "#IC2/IC1=(IS*exp(VBE2/VT))/(IS*exp(VBE1/VT))\n", + "VT=26.0;#mV\n", + "deltaVBE=VT*10**-3*math.log(IC2/IC1);#V(deltaVBE=VBE2-VBE1)\n", + "deltaVx=2*deltaVBE;#V\n", + "IO=IREF1/(1+2.0/(Beta**2+Beta));#micro A\n", + "delIO=IC1-IO;#micro A\n", + "Change=delIO/IO*100;#%\n", + "print round(Change,4),\" % is Change in Io\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.005 % is Change in Io\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.12:Pg-41" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.12\n", + "\n", + "Iout=8;#micro A\n", + "VBE=0.7;#V\n", + "VCC=20.0;#V\n", + "Beta=80.0;#unitless\n", + "IREF=Iout*(1+2/Beta);#micro A\n", + "print IREF,\" is Reference current in micro A : \"\n", + "R=(VCC-VBE)/(IREF);#Mohm\n", + "print round(R,2),\" is Resistance in Mohm \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "8.2 is Reference current in micro A : \n", + "2.35 is Resistance in Mohm \n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.13:Pg-42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.13\n", + "\n", + "Iout=1;#mA\n", + "VBE=0.7;#V\n", + "VCC=30.0;#V\n", + "Beta=100.0;#unitless\n", + "IREF=Iout*(1+2/Beta);#mA\n", + "print IREF,\" is Reference current in (mA) \"\n", + "R=(VCC-VBE)/(IREF);#kohm\n", + "print round(R,1),\"is Resistance in (kohm) \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "1.02 is Reference current in (mA) \n", + "28.7 is Resistance in (kohm) \n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.14:Pg-42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.14\n", + "\n", + "Iout=0.5;#mA\n", + "VBE=0.7;#V\n", + "VCC=5.0;#V\n", + "Beta=50.0;#unitless\n", + "IREF=Iout*(1+2/Beta);#mA\n", + "print IREF,\" is Reference current in (mA) \"\n", + "R=(VCC-VBE)/(IREF);#kohm\n", + "print round(R,3),\" is Resistance in (kohm) \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.52 is Reference current in (mA) \n", + "8.269 is Resistance in (kohm) \n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.15:Pg-43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.15\n", + "\n", + "Iout=8;#micro A\n", + "VBE=0.7;#V\n", + "VCC=20.0;#V\n", + "Beta=100.0;#unitless\n", + "IREF=Iout*(1+2/Beta/(Beta+1));#micro A\n", + "print round(IREF,2),\" is Reference current in (micro A) \"\n", + "R=(VCC-2*VBE)/(IREF);#Mohm\n", + "print round(R,2),\" is Resistance in (Mohm) \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "8.0 is Reference current in (micro A) \n", + "2.32 is Resistance in (Mohm) \n" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.16:Pg-45" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.16\n", + "\n", + "Beta=120;#unitless\n", + "VBE=0.7;#V\n", + "VCC=10.0;#V\n", + "R=5.6;#kohm\n", + "#IREF=IC1+I1;as Beta>>1\n", + "#I1=IC2+IB3;as Beta>>1\n", + "IREF=(VCC-VBE)/R;#mA\n", + "#IREF=IC*(2+1/Beta) or IREF=2*IC;as Beta>>1\n", + "IC=IREF/2;#mA\n", + "Iout=IC;#mA\n", + "print round(Iout,2),\"is Iout for the circuit in (mA) \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.83 is Iout for the circuit in (mA) \n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.17:Pg-45" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.17\n", + "import math\n", + "Iout=6;#micro A\n", + "IREF=1.2;#mA\n", + "VBE2=0.7;#V\n", + "VT=26.0;#mV\n", + "VCC=20.0;#V\n", + "Beta=120;#unitless\n", + "R=(VCC-VBE2)/IREF;#kohm\n", + "IC2=(IREF-Iout/Beta)/(1+1/Beta);#mA\n", + "RS=VT/Iout*math.log(IC2*1000/Iout);#kohm\n", + "print int(R),\"Kohm and \",round(RS,2),\"kohm are the Values of resistance R & Rs for widlar current source design\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "16 Kohm and 22.96 kohm are the Values of resistance R & Rs for widlar current source design\n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.18:Pg-47" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.18\n", + "\n", + "import math\n", + "IREF=1;#mA\n", + "IO2=20.0;#micro A\n", + "IO3=40.0;#micro A\n", + "VBE1=0.7;#V\n", + "VT=26;#mV\n", + "VCC=10;#V\n", + "VEE=-VCC;#V\n", + "R=(VCC-VBE1-VEE)/IREF;#kohm\n", + "RE2=VT*10**-3/(IO2*10**-6)*math.log((IREF*10**-3)/(IO2*10**-6));#ohm\n", + "RE2=RE2/1000;#kohm\n", + "RE3=VT*10**-3/(IO3*10**-6)*math.log((IREF*10**-3)/(IO3*10**-6));#ohm\n", + "RE3=RE3/1000;#kohm\n", + "print R,\", \",round(RE2,3),\"and \", round(RE3,2),\" are Values of resistance R, RE2 & RE3 for widlar current source design in kohm \"\n", + "VBE2=VBE1-RE2*IO2*10**-3;#V\n", + "VBE3=VBE1-RE3*IO3*10**-3;#V\n", + "\n", + "print round(VBE2,3),\"and\",round(VBE3,3),\" are Values of VBE2 & VBE3 in V \"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "19.3 , 5.086 and 2.09 are Values of resistance R, RE2 & RE3 for widlar current source design in kohm \n", + "0.598 and 0.616 are Values of VBE2 & VBE3 in V \n" + ] + } + ], + "prompt_number": 49 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.19:Pg-48" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.19\n", + "\n", + "Beta=100.0;#unitless\n", + "VBE=0.715;#V\n", + "VEE=10.0;#V\n", + "R=5.6;#kohm\n", + "IREF=(VEE-VBE)/R;#mA\n", + "IC1=IREF/(1+2/Beta);#mA\n", + "print round(IC1,2),\" is Collector current in each transistor is equal as all are identical. It in (mA) \"\n", + "IRC=3*IC1;#mA\n", + "print round(IRC,2),\"is Current through resistance Rc in (mA) \"\n", + " # the answer is slightly different in textbook due to approximation" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "1.63 is Collector current in each transistor is equal as all are identical. It in (mA) \n", + "4.88 is Current through resistance Rc in (mA) \n" + ] + } + ], + "prompt_number": 52 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.20:Pg-49" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.20\n", + "\n", + "Vout=5.0;#V\n", + "Beta=180.0;#unitless\n", + "VBE=0.7;#V\n", + "VEE=10.0;#V\n", + "Vout=5;#V\n", + "R1=22.0;#kohm\n", + "R2=2.2;#kohm\n", + "IREF=(VEE-VBE)/R1;#mA\n", + "IC=(IREF-VBE/R2)/(1+2/Beta);#mA\n", + "IC1=IC*1000;#micro A(as VBE1=VBE2 IC1=IC2)\n", + "IC2=IC*1000;#micro A\n", + "print round(IC2,2),\",\",round(IC1,2),\" are Current IC1 & IC2 in micro A \"\n", + "RC=(VEE-Vout)/(IC1*10**-3);#kohm\n", + "print round(RC,2),\"is Value of Rc in (kohm) \"\n", + "\n", + "#Answer is different in the textbook due to approximation\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "103.4 , 103.4 are Current IC1 & IC2 in micro A \n", + "48.36 is Value of Rc in (kohm) \n" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1.21:Pg-51" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 1.21\n", + "\n", + "AQ2byA1=0.5;\n", + "AQ3byA1=0.25;\n", + "AQ4byA1=0.125;\n", + "VBE=0.7;#V\n", + "VCC=15.0;#V\n", + "R=20.0;#kohm\n", + "IC1=(VCC-VBE)/R;#mA\n", + "IC2=IC1*AQ2byA1;#mA\n", + "IC3=IC1*AQ3byA1;#mA\n", + "IC4=IC1*AQ4byA1;#mA\n", + "print round(IC2,4),\",\",round(IC3,3),\"and\",round(IC4,3),\"are the Values of current IC2, IC3 & IC4 in (mA) \"\n", + "#Value of IC4 is displayed wrong in the textbook.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.3575 , 0.179 and 0.089 are the Values of current IC2, IC3 & IC4 in (mA) \n" + ] + } + ], + "prompt_number": 62 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Integrated_Circuits/Chapter2.ipynb b/Integrated_Circuits/Chapter2.ipynb new file mode 100755 index 00000000..b9dc8563 --- /dev/null +++ b/Integrated_Circuits/Chapter2.ipynb @@ -0,0 +1,228 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:cba451428c3d9c574800bbc1429b7e9efcd18af4b82f735faf4ac85b4ea52c65" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter02:The 741 IC OP-AMP" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2.1:Pg-80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 2.1\n", + "\n", + "# data from fig of Ex2.1\n", + "VCC=5.0;#V\n", + "IS=10**-14.0;#A\n", + "RS=39*1000.0;#ohm\n", + "VBE12=0.7;#V(Assumed)\n", + "VBE11=0.7;#V(Assumed)\n", + "VEE=-5;#V\n", + "IREF=(VCC-VBE12-VBE11-VEE)/RS*10**6;#micro A\n", + "print \"Estimated input reference current , IREF(micro A)\",round(IREF,2)\n", + "VT=25*10**-3;#V(Thermal Voltage)\n", + "VBE=VT*log(IREF*10**-6/IS);#V\n", + "IREF=(VCC-VBE-VBE-VEE)/RS*10**6;#micro A\n", + "print \"More precise value of reference current , IREF(micro A)\",round(IREF,2)\n", + "#Replacing Vcc by 15 V in the original design\n", + "VCC2=15.0;#V\n", + "VEE2=-15.0;#V\n", + "IREF=(VCC2-VBE-VBE-VEE2)/RS*10**6;#micro A\n", + "VBE=VT*log(IREF*10**-6/IS);#V\n", + "R5=(VCC-VBE-VBE-VEE)/(IREF*10**-6);#ohm\n", + "R5=round(R5/1000);#kohm\n", + "print \"Value of R5(kohm) : \",R5" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Estimated input reference current , IREF(micro A) 220.51\n", + "More precise value of reference current , IREF(micro A) 225.88\n", + "Value of R5(kohm) : 12.0\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2.2:Pg-81" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 2.2\n", + "import math\n", + "# data from fig of Ex2.2\n", + "IC10=20*10**-6;#A\n", + "IREF=0.5*10**-3;#A\n", + "IS=10**-14;#A\n", + "VT=25*10**-3;#V(Thermal Voltage)\n", + "R4=VT/IC10*math.log(IREF/IC10);#ohm\n", + "print \"For Widlar current source design, the value of R4(kohm) : \",round(R4/1000,2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For Widlar current source design, the value of R4(kohm) : 4.02\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2.3:Pg-82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 2.3\n", + "\n", + "import math\n", + "# given data\n", + "Gm1=10.0;#mA/V\n", + "Gm1=Gm1/1000;#A/V\n", + "Cc=50.0;#pF\n", + "Cc=Cc*10**-12;#F\n", + "Rt=10**8;#ohm(Shunting resistance with Cc)\n", + " # solution\n", + "Ao=Gm1*Rt;#unitless\n", + "fp=1/(2*math.pi*Rt*Cc);#Hz\n", + "ft=Gm1/(2*math.pi*Cc)/10**6;#MHz\n", + "print \"Frequency at which gain is maximum, fp in Hz\",round(fp,1)\n", + "print \"Unit gain frequency, ft(MHz)\",round(ft,1)\n", + "#Bode plot can not be plotted with the given data in the question by using python functions. \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Frequency at which gain is maximum, fp in Hz 31.8\n", + "Unit gain frequency, ft(MHz) 31.8\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2.4:Pg-83" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 2.4\n", + "\n", + "import math\n", + "# given data\n", + "SR=10.0/10**-6;#V/s\n", + "Vout=10.0;#V(magnitude of output voltage)\n", + "fm=SR/(2*math.pi*Vout)/1000;#kHz\n", + "print \"Full power bandwidth(kHz)\",round(fm,1)\n", + "VT=25.0/1000;#V(Thermal voltage)\n", + "ft=SR/(2*math.pi*4*VT)/10.0**6;#MHz\n", + "print \"Unity gain bandwidth(MHz)\",round(ft,1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Full power bandwidth(kHz) 159.2\n", + "Unity gain bandwidth(MHz) 15.9\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2.5:Pg-84" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Ex 2.5\n", + "\n", + "VCC=5;#V\n", + "VEE=-5;#V\n", + "VBE=0.6;#V\n", + "VCE23=0.6;#V\n", + "VCE_sat=0.2;#V\n", + "Vo_max=VCC-VCE_sat-VBE;#V\n", + "Vo_min=VEE+VCE_sat+VBE+VCE23;#V\n", + "print \"Maximum output voltage(V)\",round(Vo_max,2)\n", + "print \"Minimum output voltage(V)\",round(Vo_min,2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum output voltage(V) 4.2\n", + "Minimum output voltage(V) -3.6\n" + ] + } + ], + "prompt_number": 11 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/Integrated_Circuits/Chapter3.ipynb b/Integrated_Circuits/Chapter3.ipynb new file mode 100755 index 00000000..86432c8d --- /dev/null +++ b/Integrated_Circuits/Chapter3.ipynb @@ -0,0 +1,1204 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:f9ba841d51e943eb842cd7b286030046166ba358e1dbe882cc0bc48bab2a1a28" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter3: Linear Application of IC Op-Amps" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3.1:pg-95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "R1=2.2#kohm\n", + "G=-100 #Voltage gain\n", + "Rf=-G*R1#kohm\n", + "print \"Value of Rf: \",Rf ,\"kohm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Value of Rf: 220.0 kohm\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3.2:pg-95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "Vin=2.5 #mV\n", + "R1=2 #kohm\n", + "Rf=200 #kohm\n", + "G=-Rf/R1 #Gain\n", + "Vo=G*Vin/1000.0 #V\n", + "print \"Output Voltage Vo=\",Vo \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Output Voltage Vo= -0.25\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3.3:pg-96" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "G=-10 #Gain\n", + "Ri=100 #kohm input resistance \n", + "R1=Ri #kohm\n", + "R2=-G*R1 #kohm\n", + "print R1,\"is the Value of R1 in kohm \" \n", + "print int(R2/1000),\"the Value of R2 in Mohm \" \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "100 is the Value of R1 in kohm \n", + "1 the Value of R2 in Mohm \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3.4:pg-119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "#Given\n", + "FT1=1 #Filter Transmission\n", + "FT2=0.99 #Filter Transmission\n", + "FT3=0.9 #Filter Transmission\n", + "FT4=0.1 #Filter Transmission\n", + "A1= int(-20*math.log10(FT1)) #dB\n", + "A2= round(-20*math.log10(FT2),3) #dB\n", + "A3= round(-20*math.log10(FT3),3) #dB\n", + "A4= -20*math.log10(FT4) #dB\n", + "print \"For filter transmission=1, Attenuation(dB)=\", A1 \n", + "print \"For filter transmission=0.99, Attenuation(dB)=\",A2 \n", + "print \"For filter transmission=0.9, Attenuation(dB)=\",A3\n", + "print \"For filter transmission=0.1, Attenuation(dB)=\",A4 \n", + " #Answer in the book is wrong for 0.99 filter transmission.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For filter transmission=1, Attenuation(dB)= 0\n", + "For filter transmission=0.99, Attenuation(dB)= 0.087\n", + "For filter transmission=0.9, Attenuation(dB)= 0.915\n", + "For filter transmission=0.1, Attenuation(dB)= 20.0\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3.5:pg-119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "import math\n", + "fo=2 #kHz\n", + "Ap=10.0 #Band pass gain\n", + "C=0.1 #micro F(have to choose C, 0.01