diff options
Diffstat (limited to 'Linear_Integrated_Circuits/Chapter_3.ipynb')
-rw-r--r-- | Linear_Integrated_Circuits/Chapter_3.ipynb | 1284 |
1 files changed, 1284 insertions, 0 deletions
diff --git a/Linear_Integrated_Circuits/Chapter_3.ipynb b/Linear_Integrated_Circuits/Chapter_3.ipynb new file mode 100644 index 00000000..92c89180 --- /dev/null +++ b/Linear_Integrated_Circuits/Chapter_3.ipynb @@ -0,0 +1,1284 @@ +{ + "metadata": { + "name": "ch_3" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 3: Operational Amplifier Characteristics<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.1, Page No: 107<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''input stage with bias circuit'''", + "", + "#Variable Declaration:", + "Vp=15.0 #Volatge in volt", + "Vm=-15.0 #Voltage in volt", + "R5=40.0*10**3 #Resistance in ohm", + "Vbe11=0.7 #Voltage in volt", + "Vbe12=Vbe11 #Voltage in volt", + "", + "#Calculations:", + "Iref= (Vp-Vbe12-Vbe11-Vm)/R5 #Calculating reference current", + "", + "Iref=Iref*10**3 #Calculating reference current", + "", + "#Results:", + "print(\"Iref= %.3f mA\"%Iref)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Iref= 0.715 mA" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.2, Page No: 107<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''gain stage of op-amp'''", + "", + "#Variable Declaration:", + "Iref= 0.715*10**-3 #reference current in ampere", + "Ic13b= 0.75*Iref #Current in ampere", + "Ic17=Ic13b #Current in ampere", + "Ie17=Ic13b #Current in ampere", + "Beta=150.0 #Gain", + "Vbe17=0.7 #Vbe volatge in volt", + "R9=50.0*10**3 #Resistance in ohm", + "R8=100.0 #Resistance in ohm", + "", + "#Calculations:", + "Ic16= (Ic17/Beta) + (Ie17*R8 + Vbe17)/R9 #Calculating current", + "Ic16=Ic16*1000000.0/1.232 #Calculating current", + "", + "#Results:", + "print(\"\\nIc16= %.1f uA\"%Ic16)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "Ic16= 15.1 uA" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.3, Page No:108<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''output stage of op-amp'''", + "", + "#Variable Declaration:", + "import math", + "Iref=0.000715 #Reference current in ampere", + "Vbe19=0.7 #Vbe voltage in volt", + "Is18=10**-14 #Current in ampere", + "Is19=10**-14 #Current in ampere", + "R10=50000.0 #Resistance in ohm", + "", + "Is14=2.0*10**-14 #Current in ampere", + "Is20=2.0*10**-14 #Current in ampere", + "Vbe=0.7 #Voltge Vbe in volt", + "Vbe19=0.612 #Voltage Vbe in volt", + "Beta=200.0 #Gain", + "Vbe18=0.549 #Volatge vbe in volt", + "", + "#Calculations:", + "Ic13a=0.25*Iref #Calculating Current ", + "", + "Ir10=Vbe19/R10 #Calculating current", + "Ic19=Ic13a-Ir10 #Calculating current", + "", + "Ib19=Ic19/Beta #Calculating current", + "Ic18=Ir10+Ib19 #Calculating current", + " ", + "Vbb=Vbe18+Vbe19 #calculating voltage", + "", + "Ic14=Is20*math.exp(Vbb/2*0.026) #Calculating current", + "Ic14=Ic14*10**15/0.2042 #Calculating current", + "", + "#Results:", + "print('Vbb= %.3f V'%Vbb)", + "print('\\nIc14= %.2f uA'%Ic14)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vbb= 1.161 V", + "", + "Ic14= 99.43 uA" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example no. 3.4, Page No: 115<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''average bias current'''", + "", + "#Variable Declaration:", + "Ib1=400.0*10**-9 #Current in ampere", + "Ib2=300.0*10**-9 #Current in ampere", + "", + "#Calculations:", + "Ib=(Ib1+Ib2)/2.0 #Calculating current", + "Ios=Ib1-Ib2 #Calculating current", + "Ib=Ib*10**9 #Calculating current", + "Ios=Ios*10**9 #Calculating current", + "", + "#Results:", + "print('Ib= %.1f nA'%Ib)", + "print('\\nIos= %.1f nA'%Ios)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Ib= 350.0 nA", + "", + "Ios= 100.0 nA" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.5, Page No: 115<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''maximum output offset voltage'''", + "", + "#Variable Declaration:", + "Ios=400.0*10**-9 #Current in ampere", + "Rf=100.0*10**3 #Resistance in ohm ", + "R1=1.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "Vo=Rf*Ios #Calculating output voltage", + "Vo=Vo*1000.0 #Calculating output voltage ", + "", + "#Results:", + "print('Vo= %.1f mV'%Vo)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vo= 40.0 mV" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.6, Page No: 117<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''bias current compensation'''", + "", + "#Variable Declaration:", + "Rf=10.0*10**3 #Resistance in ohm", + "R1=2.0*10**3 #Resistance in ohm", + "Vos=5.0*10**-3 #Voltage in volt", + "Ios=50.0*10**-9 #Input offset current in ampere", + "Ib=200.0*10**-9 #Input bias current in ampere", + "Ta=25.0 #Temperature in degree celsius", + "#Calculations:", + "# without compensating resistor", + "Vot=(1+Rf/R1)*Vos + Rf*Ib #Calculating output offset voltage", + "Vot=Vot*1000 #Calculating output offset voltage", + "print('Vot= %.1f mV'%Vot)", + "", + "", + "# with compensating resistor", + "Vot=(1+Rf/R1)*Vos + Rf*Ios #Calculating output offset voltage", + "Vot=Vot*1000 #Calculating output offset voltage", + "print('\\nVot= %.1f mV'%Vot)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vot= 32.0 mV", + "", + "Vot= 30.5 mV" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.7, Page No:119<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''op-amp drift specification'''", + "", + "#Part A", + "#Variable Declaration:", + "Vos=1.5*10**-3 #Voltage in volt", + "Rf=1.0*10**6 #feedback resistance in ohm", + "R1=100.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "Vo=Vos*(1+Rf/R1) #Calculating output voltage", + "Vo=Vo*1000.0 #Calculating output voltage", + "", + "#Result:", + "print('Vo= %.1f mV'%Vo)", + "", + "#Part B", + "#Variable Declaration:", + "Iosch= 10.0*10**-9 #Ios current in ampere", + "", + "#Calculations:", + "Vosch=Iosch*Rf #Calculating output voltage", + "Vosch=Vosch*1000.0 #Calculating output voltage", + "", + "#Results:", + "print('\\nChange in Vo= %.1f mV'%Vosch)", + "print('\\n Worst case drift is 26.5 mV or -26.5 mV')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vo= 16.5 mV", + "", + "Change in Vo= 10.0 mV", + "", + " Worst case drift is 26.5 mV or -26.5 mV" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No.3.8, Page No: 125<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''frequency response'''", + "f=1000.0 # frequency in hertz", + "#from graph", + "gain_db=60.0 # Gain in db", + "gain=1000.0 #Gain", + "", + "#Result:", + "print('Gain= %d'%gain)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Gain= 1000" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.9, Page No: 126<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''unity gain bandwidth'''", + "", + "#Variable Declaration:", + "riset=0.7*10**-6 #rise time in microsecond", + "", + "#Calculations:", + "bw=0.35/riset #Finding unity gain bandwidth", + "bw=bw/1000.0 #Finding unity gain bandwidth", + "", + "#Results:", + "print('Bandwidth= %d kHz'%bw)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bandwidth= 500 kHz" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Page No. 3.10, Page No: 126<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''open loop dc voltage gain'''", + "", + "#Variavle Declaration:", + "ugb=1.5*10**6 #Unity gain bandwidth in hertz", + "f1=2.0*10**3 #Signal frequency in hertz", + "", + "#Calculations:", + "A0=ugb/f1 #Calculating open loop DC voltage gain", + "", + "#Results:", + "print('Openloop Dc Voltage gain= %d '%A0)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Openloop Dc Voltage gain= 750 " + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.11, Page No: 134<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''time taken to change output'''", + "", + "#Variable Declaration:", + "Voch=10.0 #Change of voltage in volt", + "slew=0.5 #Slew rate in volt per microsecond", + "", + "#Calculations:", + "time=Voch/slew #Calculating time taken for output to change by 10V ", + "", + "#Results:", + "print('Time= %d us'%time)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Time= 20 us" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.12, Page No: 135<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''undistorted sine wave'''", + "", + "import math", + "#Part A", + "#Variable Declaration:", + "slew=0.5 #Slew rate in volt per microsecond", + "Vm=12.0 #Voltage in volt", + "", + "#calculations:", + "fmax=slew/(2.0*math.pi*Vm) #calculating frequency of maximum undistorted wave", + "fmax=fmax*1000.0 #Calculating frequency of maximum undistorted wave", + "", + "#Results:", + "print('Fmax= %.1f kHz'%fmax)", + "", + "# Part B", + "#Variable Declarations:", + "Vm1=2.0 #Voltage in volt", + "", + "#Calculations:", + "fmax1=slew/(2.0*math.pi*Vm1) #calculating frequency of maximum undistorted wave", + "fmax1=fmax1*1000.0 #calculating frequency of maximum undistorted wave", + "", + "#Results:", + "print('\\nFmax1= %.1f kHz'%fmax1)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Fmax= 6.6 kHz", + "", + "Fmax1= 39.8 kHz" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.13, Page No: 135<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''max input signal for undistorted output'''", + "", + "#Variable Declaration:", + "import math", + "slew=0.5 #Slew rate in volt per microsecond", + "f=10.0*10**3 #frequency in hertz", + "", + "#Calculations:", + "Vmmax=slew/(2*math.pi*f) #Calculating maximum peak to peak voltage", + "Vmmax=Vmmax*10**6 #Calculating maximum peak to peak voltage", + "", + "#Results:", + "print('Vm(max)= %.2f V'%Vmmax)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vm(max)= 7.96 V" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.14, Page No: 135<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''amplify square wave with rise time'''", + "", + "#Variable Declaration:", + "slew=0.5 #Slew rate in volt per microsecond", + "riset=4.0 #Rise time in microsecond", + "", + "print('\\nVo is greater than 1V')", + "Vswing=(0.9-0.1)*5.0 #Voltage swing in volt", + "", + "#Calculations:", + "slewreq=Vswing/riset #Calculating required slew rate", + "", + "#Results:", + "print('\\nSlew Rate Required= %d V/us'%slewreq)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "Vo is greater than 1V", + "", + "Slew Rate Required= 1 V/us" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.15, Page No: 135<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''effect of output voltage change on slew rate'''", + "", + "#Variable Declaration:", + "Vch=20.0 #Change in voltage in volt", + "time=4.0 #Time in microseconds", + "", + "#Calculations:", + "slew=Vch/time #Calculating slew rate ", + "", + "#Results:", + "print('\\nSlew Rate = %d V/us'%slew)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "Slew Rate = 5 V/us" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.16, Page No: 136<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''max input frequency for undistorted output'''", + "", + "#Variable Declaration:", + "import math", + "A=50.0 #Gain", + "slew=0.5 #Slew rate in volt per microsecond", + "Vid=20.0*10**-3 #Voltage difference in volt", + " ", + "#Calculations:", + "Vm=A*Vid #Calculating maximum voltage ", + "", + "fmax=(slew*10**6)/(2*math.pi*Vm) #calculating frequency of maximum undistorted wave ", + "fmax=fmax/1000.0 #calculating frequency of maximum undistorted wave", + "", + "#Results:", + "print('Fmax= %.1f kHz'%fmax)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Fmax= 79.6 kHz" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.17, Page No: 136<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''max input voltage for undistorted output'''", + "", + "#Variable Declaration:", + "import math", + "slew=0.5 #Slew rate in volt per microsecond", + "f=4.0*10**4 #frequency in hertz", + "", + "#Calculations:", + "Vm=(slew*10**6)/(2*math.pi*f) #Calculating Vm", + "Vmpp=2.0*Vm/10.0 #Calculating maximum peak to peak input signal that can be applied", + "", + "#Results:", + "print('Vpeak= %.2f V'%Vm)", + "print('\\nVoltage peak-to-peak= %.3f V'%Vmpp)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vpeak= 1.99 V", + "", + "Voltage peak-to-peak= 0.398 V" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.18, Page No: 138<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''noise gain of circuit'''", + "", + "#Variable Declaration:", + "Rf=10.0*10**3 #Resistance in ohm", + "R1=100.0 #Resistance in ohm", + "Vni=1*10**-6 #input rms noise voltage in volt", + "", + "#Calculations: ", + "Kn=1+Rf/R1 #Calculating noise gain", + "Vno=Vni*(1+Rf/R1) #Calculating output voltage", + "Vno=Vno*10**6 #Calculating output voltage", + "", + "#Results:", + "print('Output noise voltage= %d uV (rms)'%Vno)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Output noise voltage= 101 uV (rms)" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No: 3.19, Page No: 142<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''closed loop voltage gain'''", + "", + "#Variable Deeclaration:", + "Rf=10.0*10**3 #Feedback resistance in ohm", + "R1=1.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "Av=-Rf/R1 #Calculating gain", + "", + "#Results:", + "print('Closed loop voltage gain= %d'%Av)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Closed loop voltage gain= -10" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.20, Page No: 147<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''closed loop voltage gain and beta'''", + "", + "#Variable Declaration:", + "Rf=10.0*10**3 #Feedback resistance in ohm", + "R1=1.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "Av=1+ Rf/R1 #Calculating gain", + "", + "Beta=R1/(Rf+R1) #Calculating feedback factor", + "", + "#Results:", + "print('Closed loop voltage gain= %d'%Av)", + "print('\\nFeedback factor= %.3f'%Beta)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Closed loop voltage gain= 11", + "", + "Feedback factor= 0.091" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.21, Page No:147<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''non-inverting amplifier circuit'''", + "", + "#Variable Declaration:", + "R1=10.0*10**3 #Resistance in ohm", + "R2=1.0*10**3 #Resistance in ohm", + "R3=1.0*10**3 #Resistance in ohm", + "Rf=50.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "I=1/(R2+R3) #Calculating current ", + "Vi1=I*R2 #Calculating input voltage", + "Vo=Vi1*(1+ Rf/R1) #Calculating output voltage ", + "", + "#Result:", + "print('Vout= %d V'%Vo)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vout= 3 V" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No: 3.22, Page No: 147<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''non-inverting amplifier with IL'''", + "", + "#Variable Declration:", + "Vi=0.6 #volatge in volt ", + "Vi1=0.6 #volatge in volt", + "Vi2=0.6 #volatge in volt", + "R1=10.0*10**3 #Resistance in ohm", + "Rf=20.0*10**3 #Resistance in ohm", + "RL=2.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "I1=Vi/R1 #Calculating current", + "I1=I1*1000.0 #Calculating current", + "Av=1+Rf/R1 #Calculating gain", + "Vo=Av*Vi #Calculating output voltage", + "IL=Vo/RL #Calculating load current", + "IL=IL*1000 #Calculating load current", + "", + "#By Kirchhoff's current law", + "Io=I1+IL #Calculating output current", + "", + "#Results:", + "print('\\nIo=%.2f mA'%Io)", + "print('Av=%d'%Av)", + "print('\\nVo=%.1f V'%Vo)", + "print('\\nI1=%.1f mA'%IL)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Av=3", + "", + "Vo=1.8 V", + "", + "I1=0.9 mA", + "", + "Io=0.96 mA" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.23,Page No:151 <h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''capacitor coupled voltage follower'''", + "", + "#Variable Declaration:", + "import math", + "fL=50.0 #Frequency in hertz", + "RL=3.3*10**3 #Resistance in ohm", + "Ibmax=500.0*10**-9 #Current in ampere", + "R1max=140.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "C1=1/(2*math.pi*fL*R1max/10) #Calculating value of capacitor", + "C1=C1*10**6 #Calculating value of capacitor", + "", + "C2=1/(2*math.pi*fL*RL) #Calculating value of capacitor", + "C2=C2*10**6 #Calculating value of capacitor", + "", + "#Results:", + "print('C1=%.3f uF'%C1)", + "print('\\nC2=%.2f uF'%C2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "C1=0.227 uF", + "", + "C2=0.96 uF" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.24, Page NO: 153<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "''' high impedence capacitor coupled voltage follower'''", + "", + "#Variable Declaration:", + "import math", + "", + "Vbe=0.6 #Voltage Vbe in volt", + "Ibmax=500.0*10**-9 #Current in ampere", + "fL=50.0 #frequency in hertz", + "RL=3.3*10**3 #Resistance in ohm", + "Mmin=50000.0", + "", + "#Calculations:", + "R1max=0.1*Vbe/Ibmax #Calculating maximum value of the resistance R1", + "R1=R1max/2.0 #Calculating value of R1", + "R2=R1 #Value of R2 is equal to R1", + "", + "C3=1/(2*math.pi*fL*RL) #Calculaing value of capacitance", + "C3=C3*10**6 #Calculaing value of capacitance", + "", + "C2=1/(2*math.pi*fL*R2/10) #Calculaing value of capacitance", + "C2=C2*10**6 #Calculaing value of capacitance", + "", + "", + "Zinmin=(1+Mmin)*56.0*10**3 #Calculating minimum input impedance", + "Zinmin=Zinmin/10**6 #Calculating minimum input impedance", + "", + "#Results:", + "print('\\nC3=%.2f uF'%C3)", + "print('\\nC2=%.2f uF'%C2)", + "# answer in textbook is wrong", + "print('\\nZin(min)= %d Mohm'%Zinmin)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "C3=0.96 uF", + "", + "C2=0.53 uF", + "", + "Zin(min)= 2800 Mohm" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.25, Page No: 156<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''high impedence capacitor coupled non-inverting amplifier'''", + "", + "#Variable Declaration:", + "import math", + "Vo=3.0 #output voltage in volt", + "Vi=10.0*10**-3 #Input voltage in volt", + "R2=1.0*10**6 #Resistance in ohm", + "Av=300.0 #Gain", + "fL=100.0 #Frequency in hertz", + "RL=15.0*10**3 #Resistance in ohm", + "", + "#Calculations:", + "R3=R2/(Av-1) #Calculating value of resistance ", + "", + "R1=R2-R3 #Calculating value of resistance", + "C2=1/(2*math.pi*fL*R3) #Calculatinf value of capacitance", + "C2=C2*10**6 #Calculating value of capacitance", + " ", + "C3=1/(2*math.pi*fL*RL/10) #Calculating value of capacitance", + "C3=C3*10**6 #Calculating value of capacitance", + "", + "#Results:", + "print('\\nC2= %.2f uF'%C2)", + "print('\\nC3= %.2f uF'%C3)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "C2= 0.48 uF", + "", + "C3= 1.06 uF" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.26, Page NO: 159<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''capacitor coupled inverting amplifier'''", + "", + "#Variable Declaration:", + "import math", + "fL=20.0 #frequency in hertz", + "fH=2000.0 #frequency in hertz", + "RL=300.0 #Resistance in ohm", + "R1=1.5*10**3 #Resistance in ohm", + "R2=56*10**3 #Resistance in ohm", + "", + "#Calculations:", + "C1=1/(2*math.pi*fL*R1/10) #Calculating value of capacitance", + "", + "C1=C1*10**6 #Calculating value of capacitance", + "", + "C2=1/(2*math.pi*fL*RL) #Calculating value of capacitance", + "C2=C2*10**6 #Calculating value of capacitance", + "", + "Cf=1/(2*math.pi*fH*R2) #Calculating value of capacitance", + "Cf=Cf*10**12 #Calculating value of capacitance", + "", + "", + "#Results:", + "print('\\nC1= %d uF'%C1)", + "print('\\nC2= %.1f uF'%C2)", + "print('\\nCf= %d pF'%Cf)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "C1= 53 uF", + "", + "C2= 26.5 uF", + "", + "Cf= 1421 pF" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.27, Page No: 162<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''capacitor coupled non-inverting amplifier'''", + "", + "#Variable Declaration:", + "import math", + "Ibmax=500.0*10**-9 #Current in ampere", + "Vcc=24.0 #Volatge Vcc in volt", + "I2=50.0*10**-6 #Current in ampere", + "Vo=6.0 #Output voltage in volt", + "Av=100.0 #Gain", + "fL=100.0 #Frequency in hertz", + "RL=5.6*10**3 #Resistance in hertz", + "", + "#Calculations:", + "I2=100.0*Ibmax #Calculating current", + "R1=Vcc/(2.0*I2) #Calculating resistance", + "R2=R1 #value of R2 is equal to R1", + "Vi=Vo/Av #Calculating input voltage", + "", + "I4=100.0*Ibmax #Calculating current", + "R4=Vi/I4 #Calculating value of resistance", + "", + "R3=118.8*10**3 #Calculating value of resistance", + "R1pR2=(R1+R2)/4.0 #Calculating parellel combination of R1 and R2", + "", + "C1=1/(2*math.pi*fL*R1pR2/10.0) #Calculating value of capacitance", + "C1=C1*10**6 #Calculating value of capacitance", + " ", + "C2=1/(2*math.pi*fL*RL/10.0) #Calculating value of capacitance", + "C2=C2*10**6 #Calculating value of capacitance", + "", + "C3=1/(2*math.pi*fL*R4) #Calculating value of capacitance", + "C3=C3*10**6 #Calculating value of capacitance", + "", + "#Results:", + "print('\\nC1= %.3f uF'%C1)", + "print('\\nC2= %.3f uF'%C2)", + "print('\\nC3= %.3f uF'%C3)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "C2= 2.842 uF", + "", + "C1= 0.133 uF", + "", + "C3= 1.326 uF" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No. 3.28, Page No:166<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''common mode gain Acm'''", + "", + "#Variable Declaration:", + "cmrr=10**5 #Common mode rejection ratio", + "Adm=10**5 #Differential gain", + "", + "#Calculations:", + "Acm=Adm/cmrr #Calculating common mode gain", + "", + "#Results:", + "print('Common mode gain Acm= %d'%Acm)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Common mode gain Acm= 1" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example No: 3.29, Page NO: 168<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''differential amplifier with two op-amp'''", + "", + "#Variable Declaration:", + "R1=560.0 #Resistance value in ohm", + "R3=560.0 #Resistance value in ohm", + "Rf=5.6*10**3 #Resistance value in ohm", + "", + "R2=Rf #Value of R2 is equal to Rf", + "Vo1=-2.0 #Volatage in volt ", + "Ri=2.0*10**6 #Resistance value in ohm", + "Vo2=-1.0 #Voltage in volt", + "", + "#Calculations:", + "# Part 1", + "Ad=1+Rf/R1 #Calculating differential gain", + "", + "# Part 2", + "A=200000.0 #Gain", + "Ri1=Ri*(1+ (A*R2)/(R2+R3)) #Calculating resistance value", + "Ri1=Ri1/10**9 #Calculating resistance value", + "", + "Ri2=Ri*(1+ (A*R1)/(R1+Rf)) #Calculating resistance value ", + "Ri2=Ri2/10**9 #Calculating resistance value", + " ", + "# Part 3", + "Vid=Vo2-Vo1 #Calculating differential voltage", + "Vo=(1+Rf/R1)*Vid #Calculating output voltage", + "Vo=Vo", + "", + "#Results:", + "print('\\nAd= %d'%Ad)", + "print('\\nRi1=%.1f Gohm'%Ri1)", + "print('\\nRi2=%.2f Gohm'%Ri2)", + "print('\\nVo=%d V'%Vo)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "Ad= 11", + "", + "Ri1=363.6 Gohm", + "", + "Ri2=36.37 Gohm", + "", + "Vo=11 V" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": true, + "input": [], + "language": "python", + "outputs": [] + } + ] + } + ] +}
\ No newline at end of file |