{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter - 8 : Operational Amplifiers (OPAMPs)" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.1\n", ": Page No 432 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "# Given data\n", "A_V = -100 \n", "R1 = 2.2 # in kohm\n", "R1 = R1*10**3 # in ohm\n", "R_f =-( A_V*R1) # in ohm\n", "R_f = R_f * 10**-3 # in kohm\n", "print \"The resistance value = %0.f k\u03a9\" %R_f" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The resistance value = 220 k\u03a9\n" ] } ], "prompt_number": 21 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.2\n", ": Page No 432" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 200 # in kohm \n", "R1 = 2 # in kohm\n", "A_V = - (R_f/R1) \n", "V_in = 2.5 # in mV\n", "V_in= V_in*10**-3 # in V\n", "V_o = (A_V * V_in) # in V\n", "print \"The output voltage = %0.2f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = -0.25 V\n" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.3\n", ": Page No 461" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "V1 = 2 # in V\n", "R_f = 500 # in kohm\n", "R_f = R_f*10**3 # in ohm\n", "R1 = 100 # in kohm\n", "R1 = R1 * 10**3 # in ohm\n", "V_o = (1+(R_f/R1))*V1 # in V\n", "print \"The output voltage = %0.f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = 12 V\n" ] } ], "prompt_number": 19 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.4\n", ": Page No 461" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 1 # in Mohm\n", "R_f = R_f * 10**6 # in ohm\n", "print \"Part (a)\"\n", "V1 = 1 # in V\n", "V2 = 2 # in V\n", "V3 = 3 # in V\n", "R1 = 500 # in kohm\n", "R1 = R1 * 10**3 # in ohm\n", "R2 = 1 # in Mohm\n", "R2 = R2 * 10**6 # in ohm\n", "R3 = 1 # in Mohm\n", "R3 = R3 * 10**6 # in ohm\n", "V_o = -(R_f) * ( (V1/R1)+(V2/R2)+(V3/R3) ) # in V\n", "print \"The output voltage = %0.f V\" %V_o\n", "\n", "print \"Part (b)\"\n", "V1 = -2 # in V\n", "V2 = 3 # in V\n", "V3 = 1 # in V\n", "R1 = 200 # in kohm\n", "R1 = R1 * 10**3 # in ohm\n", "R2 = 500 # in kohm\n", "R2 = R2 * 10**3 # in ohm\n", "R3 = 1 # in Mohm\n", "R3 = R3 * 10**6 # in ohm\n", "V_o = -(R_f) * ( (V1/R1)+(V2/R2)+(V3/R3) ) # in V\n", "print \"The output voltage = %0.f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Part (a)\n", "The output voltage = -7 V\n", "Part (b)\n", "The output voltage = 3 V\n" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.6\n", ": Page No 462" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 0 # in V\n", "R1 = 2 # in kohm\n", "R1 = R1 * 10**3 # in ohm\n", "A_vmin = (1+(R_f/R1)) \n", "print \"The minimum closed loop voltage gain = %0.f\" %A_vmin\n", "R_f1 = 100 # in kohm\n", "R_f1 = R_f1 * 10**3 # in ohm\n", "A_vmax = (1+(R_f1/R1)) \n", "print \"The maximum closed loop voltage gain = %0.f\" %A_vmax" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The minimum closed loop voltage gain = 1\n", "The maximum closed loop voltage gain = 51\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.7\n", ": Page No 463" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "V1 = 745 # in \u00b5V\n", "V1 = V1 * 10**-6 # in V\n", "V2 = 740 # in \u00b5V\n", "V2 = V2 * 10**-6 # in V\n", "Av = 5*10**5 \n", "CMRR = 80 # in dB\n", "# Formula CMRR in dB= 20*log(Av/Ac)\n", "Ac= Av/(10**(CMRR/20)) \n", "print \"The common mode gain = %0.2f\" %Ac\n", "V_o = Av*(V1-V2)+Ac*((V1+V2)/2) # in V\n", "print \"The output voltage = %0.2f V\" %V_o\n", "\n", "# Note: In the book the calculation of finding the value of common mode gain (i.e. Ac) is wrong, \n", "# so the answer in the book is wrong" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The common mode gain = 50.00\n", "The output voltage = 2.54 V\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.8\n", ": Page No 464" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 1 # in Mohm\n", "R_f = R_f * 10**6 # in ohm\n", "Ri= 1*10**6 # in ohm\n", "R1 = Ri # in ohm\n", "A_VF = -(R_f/R1) \n", "print \"The Voltage gain = %0.f\" %A_VF" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The Voltage gain = -1\n" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.10\n", ": Page No 465" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_F = 3 # in kohm\n", "R1 = 1 # in kohm\n", "V1 = 2 # in V\n", "V2 = 3 # in V\n", "V_o1 = (1+(R_F/R1))*V1 # in V\n", "V_o2 = (1+(R_F/R1))*V2 # in V\n", "V_o = V_o1+V_o2 # in V\n", "print \"The output voltage = %0.f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = 20 V\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.11\n", ": Page No 466" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_i = 10 # in k\u03a9 \n", "R_im = 20 # in k\u03a9\n", "R_f = 500 # in k\u03a9\n", "A_vmin = -(R_f/R_i) \n", "print \"Closed loop voltage gain corresponding to minimum resistance = %0.f\" %A_vmin\n", "A_vmax = -(R_f/R_im) \n", "print \"Closed loop voltage gain corresponding to maximum resistance = %0.f\" %A_vmax" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Closed loop voltage gain corresponding to minimum resistance = -50\n", "Closed loop voltage gain corresponding to maximum resistance = -25\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.12\n", ": Page No 467" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 200 # in kohm\n", "R1 = 20 # in kohm\n", "A_v = -(R_f/R1) \n", "V_i = 0.1 # in V\n", "V_im = 0.5 # in V\n", "V_omin = -10*V_i # in V\n", "print \"The minimum output voltage = %0.f V\" %V_omin\n", "V_omax = -10*V_im # in V\n", "print \"The maximum output voltage = %0.f V\" %V_omax\n", "print \"Output voltage ranges : from\",int(V_omin,),\"to\",int(V_omax)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The minimum output voltage = -1 V\n", "The maximum output voltage = -5 V\n", "Output voltage ranges : from -1 to -5\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.13\n", ": Page No 467" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "# Given data\n", "R = 133 # in kohm\n", "R = R *10**3 # in ohm\n", "C = 0.1 # in \u00b5F\n", "C = 0.1 * 10**-6 # in F\n", "Vi= 15 # in V\n", "plt.subplot(2,1,1)\n", "plt.plot([0,10],[1.5,1.5]) \n", "plt.ylabel(\"Vi in volts\")\n", "plt.xlabel(\"t\")\n", "plt.title(\"Input voltage\") \n", "t=np.arange(0,1,0.1)\n", "Vo= -1/(R*C)*t \n", "plt.subplot(2,1,2)\n", "plt.plot(t,Vo)\n", "plt.xlabel(\"t\") \n", "plt.ylabel(\"Vo in volts\") \n", "plt.title(\"Output voltage\")\n", "print \"\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.14\n", ": Page No 468" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "Rf = 250 # in kohm\n", "Vo= '-5*Va+3*Vb' # given expression\n", "# But output voltage of difference amplifier is \n", "# Vo= -Rf/R1*Va+(R2/(R1+R2))*(1+Rf/R1)*Vb (i)\n", "# By comparing (i) with given expression\n", "R1 = Rf/5 # in kohm\n", "print \"The value of R1 = %0.f k\u03a9\" %R1\n", "# (R2/(R1+R2))*(1+Rf/R1)= 3\n", "R2= 3*R1**2/(R1+Rf-3*R1) # in k\u03a9\n", "print \"The value of R2 = %0.f k\u03a9\" %R2\n", "\n", "# Note: There is calculation error to find the value of R2 in the book." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The value of R1 = 50 k\u03a9\n", "The value of R2 = 50 k\u03a9\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.15\n", ": Page No 469" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "V_i1 = 150 # in \u00b5V\n", "V_i2 = 140 # in \u00b5V\n", "V_d = V_i1-V_i2 # in \u00b5V\n", "V_C = (1/2)*(V_i1+V_i2) # in \u00b5V\n", "print \"Part (i)\"\n", "CMRR = 100 \n", "A_d = 4000 \n", "V_o = (A_d * V_d)*(1+(1/CMRR)*(V_C/V_d)) # in \u00b5V\n", "V_o = V_o * 10**-3 # in mV\n", "print \"The output voltage = %0.1f mV\" %V_o\n", "print \"Part(ii)\"\n", "CMRR = 10**5 \n", "V_o = (A_d * V_d)*(1+(1/CMRR)*(V_C/V_d)) # in \u00b5V\n", "V_o = V_o * 10**-3 # in mV\n", "print \"The output voltage = %0.3f mV\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Part (i)\n", "The output voltage = 45.8 mV\n", "Part(ii)\n", "The output voltage = 40.006 mV\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.16\n", ": Page No 470" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 470 # in k\u03a9\n", "R1 = 4.3 # in k\u03a9\n", "R2 = 33 # in k\u03a9\n", "R3 = R2 # in k\u03a9\n", "A1 = (1+R_f/R1) \n", "A2 = -(R_f/R2) \n", "A3 = -(R_f/R3) \n", "A = A1*A2*A3 \n", "V_i = 80 # in \u00b5V\n", "V_i= 80*10**-6 # in V\n", "V_o = A*V_i \n", "print \"The output voltage = %0.2f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = 1.79 V\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.18\n", ": Page No 472" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R4 = 300 # in k\u03a9\n", "R2 = 150 # in k\u03a9\n", "R3 = 10 # in k\u03a9\n", "R1 = 10 # in k\u03a9\n", "V1 = 1 # in V\n", "V2 = 2 # in V\n", "V_o = ( (1+(R4/R2))*((R3/(R1+R3))*V1)-((R4/R2)*V2) ) # in V\n", "print \"The output voltage = %0.1f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = -2.5 V\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.19\n", ": Page No 472" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "V_o = 2 # in V\n", "R_i = 20 # in k\u03a9\n", "R_f = 1 # in M\u03a9\n", "V_i = -((V_o*R_i)/R_f) # in mV\n", "print \"The input volatge = %0.f mV\" %V_i" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The input volatge = -40 mV\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.20\n", ": Page No 473" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 200 # in k\u03a9\n", "R_i = 30 # in k\u03a9\n", "V_i = 0.1 # in V\n", "V_im = 0.5 # in V\n", "Vo_min = -((R_f/R_i)*V_i) # in V\n", "print \"The minimum output voltage = %0.2f V\" %Vo_min\n", "Vo_max = -((R_f/R_i)*V_im) # in V\n", "print \"The minimum output voltage = %0.2f V\" %Vo_max\n", "print \"The output voltage range is : \",round(Vo_min,2),\"V to\",round(Vo_max,2),\"V\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The minimum output voltage = -0.67 V\n", "The minimum output voltage = -3.33 V\n", "The output voltage range is : -0.67 V to -3.33 V\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.21\n", ": Page No 473" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 360 # in kohm\n", "R_i = 12 # in kohm\n", "V1 = - 0.3 # in V\n", "V_o = (1+(R_f/R_i))*V1 # in V\n", "print \"The output voltage = %0.1f V\" %V_o\n", "V_o1 = 2.4 # in V\n", "V_i = V_o1/(1+(R_f/R_i)) # in V\n", "print \"The input voltage = %0.2f mV\" %(V_i*10**3)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = -9.3 V\n", "The input voltage = 77.42 mV\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.22\n", ": Page No 474" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = -68 # in kohm\n", "R1 = 33 # in kohm\n", "R2 = 22 # in kohm\n", "R3 = 12 # in kohm\n", "V1 = 0.2 # in V\n", "V2 = - 0.5 # in V\n", "V3 = 0.8 # in V\n", "V_o = ((R_f/R1)*V1) + ((R_f/R2)*V2) + ((R_f/R3)*V3) # in V\n", "print \"The output voltage = %0.3f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output voltage = -3.400 V\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.23\n", ": Page No 475" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Given data\n", "R_f = 1.8 # in kohm\n", "R_f = R_f * 10**3 # in ohm\n", "R1 = 180 # in ohm\n", "A_v = (R_f/R1) \n", "print \"Closed loop gain = %0.f\" %A_v\n", "F = 1 # in MHz\n", "F = F * 10**6 # in Hz\n", "f2 = F/A_v # in Hz\n", "print \"Closed loop bandwidth = %0.f Hz\" %f2\n", "V_in = 25 # in mV\n", "V_in = V_in * 10**-3 # in V\n", "V_o = A_v*V_in # in V\n", "print \"The output voltage = %0.2f V\" %V_o" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Closed loop gain = 10\n", "Closed loop bandwidth = 100000 Hz\n", "The output voltage = 0.25 V\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.24\n", ": Page No 475 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "# Given data\n", "R_f = 3 # in K ohm\n", "R_f = R_f * 10**3 # in ohm\n", "R1 = 150 # in ohm\n", "A_v = (R_f/R1) + 1 \n", "print \"Close loop gain for inverting amplifier = %0.f\" %A_v\n", "f = 1 # in MHz\n", "f = f * 10**6 # in Hz\n", "f2 = f/A_v # in Hz\n", "f2 = f2 * 10**-3 # in KHz\n", "print \"The closed loop bandwidth = %0.2f KHz\" %f2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Close loop gain for inverting amplifier = 21\n", "The closed loop bandwidth = 47.62 KHz\n" ] } ], "prompt_number": 1 } ], "metadata": {} } ] }