{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 4: Basic Applications of Operational Amplifiers" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.1, Page No. 104" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Output voltage of circuit shown in fig. 4.3\n", "\n", "import math\n", "#Variable declaration\n", "R1 = R2 = R3 = 1000.0 # input Resistors\n", "Rf = 1000.0 # feedback resistor\n", "Vin1 = 2 # input voltage 1\n", "Vin2 = 1 # input voltage 2\n", "Vin3 = 4 # input voltage 3\n", "\n", "#Calculations\n", "Vout = -((Rf*Vin1/R1)+(Rf*Vin2/R2)+(Rf*Vin3/R3))\n", "\n", "#Result\n", "print(\"Vout = %d V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = -7 V\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.2, Page No. 104" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Adder circuit design\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 100.0 # feedback resistor in k-ohm\n", "V1 = 1 # multiplication factor for input 1\n", "V2 = 10 # multiplication factor for input 2\n", "V3 = 100 # multiplication factor for input 3\n", "\n", "#Calculations\n", "R1 = Rf/V1\n", "R2 = Rf/V2\n", "R3 = Rf/V3\n", "\n", "#Result\n", "print(\"R1 = %d k-ohm\\nR2 = %d k-ohm\\nR3 = %d k-ohm\"%(R1,R2,R3))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 100 k-ohm\n", "R2 = 10 k-ohm\n", "R3 = 1 k-ohm\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.3, Page No. 104" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Determine output voltage\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 12.0 # feedback resistor in k-ohm\n", "Rs1 = 12.0 # input resistance 1\n", "Rs2 = 2.0 # input resistance 2\n", "Rs3 = 3.0 # input resistance 3\n", "Vi1 = 9 # corresponding input Voltage 1\n", "Vi2 = -3 # corresponding input Voltage 2\n", "Vi3 = -1 # corresponding input Voltage 3\n", "\n", "#Calculations\n", "Vout = -Rf*((Vi1/Rs1)+(Vi2/Rs2)+(Vi3/Rs3))\n", "\n", "#Result\n", "print(\"Vout = %.0f V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = 13 V\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.4, Page No. 105" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Summing amplifier design(refer fig. 4.4)\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 6 # Assume,feedback resistor in k-ohm\n", "V1 = 1 # multiplication factor for input 1\n", "V2 = 2 # multiplication factor for input 2\n", "V3 = -3 # multiplication factor for input 3\n", "\n", "#Calculations\n", "R1 = abs(Rf/V1)\n", "R2 = abs(Rf/V2)\n", "R3 = abs(Rf/V3)\n", "\n", "#Result\n", "print(\"R1 = %d k-ohm\\nR2 = %d k-ohm\\nR3 = %d k-ohm\"%(R1,R2,R3))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 6 k-ohm\n", "R2 = 3 k-ohm\n", "R3 = 2 k-ohm\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.5, Page No. 105" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Summing amplifier design(refer fig. 4.5)\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 40.0 # Assume,feedback resistor in k-ohm\n", "V1 = -2.0 # multiplication factor for input 1\n", "V2 = -3.0 # multiplication factor for input 2\n", "V3 = -4.0 # multiplication factor for input 3\n", "\n", "#Calculations\n", "R1 = abs(Rf/V1)\n", "R2 =abs(Rf/V2)\n", "R3 = abs(Rf/V3)\n", "\n", "#Result\n", "print(\"R1 = %d k-ohm\\nR2 = %.2f k-ohm\\nR3 = %d k-ohm\"%(R1,R2,R3))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 20 k-ohm\n", "R2 = 13.33 k-ohm\n", "R3 = 10 k-ohm\n" ] } ], "prompt_number": 22 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.6, Page No. 105" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Output Voltage(refer fig. 4.6)\n", "\n", "import math\n", "#Variable declaration\n", "V1 = 2.0 # V1 input\n", "V2 = -1.0 # V2 input\n", "R = 1.0 # Resistor R, assumed\n", "Rf = 2.0*R # feedback resistor\n", "\n", "#Calculations\n", "Vin1 = (R*R/(R+R))*V1/(R+(R*R/(R+R)))\n", "Vout1 = Vin1*(1+(Rf/R))\n", "Vin2 = (R*R/(R+R))*V2/(R+(R*R/(R+R)))\n", "Vout2 = Vin2*(1+(Rf/R))\n", "Vout = Vout1+Vout2\n", "\n", "#Result\n", "print(\"Output voltage, Vout = %d V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output voltage, Vout = 1 V\n" ] } ], "prompt_number": 28 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.7, Page No. 116" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Limiting frequency\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 10*10**3 # resistor R1\n", "Cf = 0.1*10**-6 # feedback capacitor\n", "\n", "#Calculation\n", "Rf = 10*R1\n", "f = 1/(2*math.pi*Rf*Cf)\n", "\n", "#Result\n", "print(\"Limiting frequency = %.2f Hz\"%(math.floor(f*100)/100))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Limiting frequency = 15.91 Hz\n" ] } ], "prompt_number": 32 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.8, Page No. 117" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Design of practical integrator circuit\n", "\n", "import math\n", "#Variable declaration\n", "A = 10.0 # DC gain of integrator\n", "f = 10.0*10**3 # frequency of input square wav\n", "#Calculations\n", "fa = f/10 # break frequency for proper integration\n", "R1 = 10.0*10**3 # selected\n", "Rf = A*R1\n", "Cf = 1/(2*math.pi*Rf*fa)\n", "Rcomp = R1*Rf/(R1+Rf)\n", "\n", "\n", "#Result\n", "print(\"R1 = %d k-ohm\\nRf = %d k-ohm\\nCf = %.4f = %.1f nF\\nRcomp = %.2f k-ohm\"%(R1/1000,Rf/1000,Cf*10**9,Cf*10**9,Rcomp/1000))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 10 k-ohm\n", "Rf = 100 k-ohm\n", "Cf = 1.5915 = 1.6 nF\n", "Rcomp = 9.09 k-ohm\n" ] } ], "prompt_number": 40 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.9, Page No.118" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# maximum change in output and minimum slew rate required\n", "\n", "import math\n", "#Variable declaration\n", "Vin = 5 # input voltage\n", "f = 1000.0 # input frequency\n", "R1 = 1000.0 # Resistor R1\n", "Cf = 0.1*10**-6 # feedback capacitor\n", "\n", "#Calculation\n", "Vout = Vin/(2*R1*f*Cf)\n", "S = 2*math.pi*f*Vin\n", "\n", "#Result\n", "print(\"Delta V = %d V.\\n\\nOutput may saturate at +/- 14V. But %d change means the output will alternate\"%(Vout,Vout))\n", "print(\"between +/- %.1f V. Hence output will not saturate and will be triangular in nature.\"%(Vout/2))\n", "print(\"\\nMinimum slew rate required is %f V/usec.\"%(S*10**-6))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Delta V = 25 V.\n", "\n", "Output may saturate at +/- 14V. But 25 change means the output will alternate\n", "between +/- 12.5 V. Hence output will not saturate and will be triangular in nature.\n", "\n", "Minimum slew rate required is 0.031416 V/usec.\n" ] } ], "prompt_number": 48 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.10, Page No. 118" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Practical integrator circuit\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 120*10**3 # Resistor R1\n", "Rf = 1.2*10**6 # feedback resistor\n", "Cf = 10*10**-9 # feedback capacitor\n", "V = 5 # input sine wave amplitude\n", "f = 10*10**3 # input sine wave frequency\n", "\n", "\n", "#Calculations\n", "#(ii)\n", "fa = 1/(2*math.pi*Rf*Cf)\n", "fs = 10*fa\n", "#(iii)\n", "A = Rf/R1\n", "A = 20*math.log10(A)\n", "#(iv)\n", "A2 = (Rf/R1)/math.sqrt(1+(f/fa)**2)\n", "Vout = V*A2\n", "\n", "#Result\n", "print(\"(i) Circuit diagram is shown in fig.4.27(a)\\n\\n(ii) fa = %.2f Hz\\t\\t Safe frequency = %.1f Hz\\n\\n(iii)DC gain = %d\"%(fa,fs,A))\n", "print(\"\\n(iv) Vout(peak) = %.0f mV\\n\\n(v) Rough nature of frequency response is shown in fig. 4.27(b)\"%(Vout*10**3))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(i) Circuit diagram is shown in fig.4.27(a)\n", "\n", "(ii) fa = 13.26 Hz\t\t Safe frequency = 132.6 Hz\n", "\n", "(iii)DC gain = 20\n", "\n", "(iv) Vout(peak) = 66 mV\n", "\n", "(v) Rough nature of frequency response is shown in fig. 4.27(b)\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.11, Page No. 119" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Output voltage\n", "\n", "import math\n", "#Variable declaration\n", "f = 2000.0 # frequency of input sin wave\n", "V = 10*10**-3 # amplitude of sin wave\n", "R = 50*10**3 # Resistor R\n", "C = 2*10**-6 # feedback capacitor\n", "\n", "#Calculations\n", "sf = -1/(R*C)\n", "Vout = (math.sqrt(2)*V*sf)*1000/(2*math.pi*f)\n", "\n", "#Result\n", "print(\"Vout(t) = %.4f*(cos%dt-1)\"%(-Vout,2*f))\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout(t) = 0.0113*(cos4000t-1)\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.12, Page No. 119" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Capacitor voltage and closed loop time constant\n", "\n", "import math\n", "Vin = 10.0 # input voltage\n", "R = 2.2*10**3 # Resistor\n", "T = 10**-3 # ON time of the pulse\n", "C = 10**-6 # Capacitance value\n", "\n", "#Calculations\n", "I = Vin/R\n", "V = I*T/C\n", "RC = R*C*10**5\n", "\n", "#Result\n", "print(\"I = %.3f mA\\nV = %.3f V\\nclosed-loop time constant = %.0f\"%(I*10**3,V,RC))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "I = 4.545 mA\n", "V = 4.545 V\n", "closed-loop time constant = 220\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.13, Page No. 120" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Lossyintegrator circuit\n", "\n", "import math\n", "#Variable declaration\n", "A = 20.0 # peak gain\n", "w = 10000 # w value when gain is 3dB down\n", "C = 0.01*10**-6 # feedback capacitance\n", "\n", "# Calculations\n", "Rf = 1/(C*w)\n", "R1 = Rf/10**(A/20.0)\n", "\n", "#Result\n", "print(\"Rf = %d k-ohm\\t\\tR1 = %d k-ohm\"%(Rf/1000,R1/1000))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Rf = 10 k-ohm\t\tR1 = 1 k-ohm\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.14, Page No. 120" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output voltage in case of circuit shown in fig. 4.30 with ideal op-amp\n", "\n", "import math\n", "#Variable declaration\n", "Vin = 5.0 # input voltage at inverting terminal\n", "V1 = 3.0 # input voltage at non-inverting terminal\n", "C = 0.2*10**-6 # feedback capacitor\n", "R = 40*10**3 # Resistor R\n", "t = 50*10**-3 # time delay\n", "\n", "#Calculations\n", "Vout = -((Vin-V1)*t/(R*C))+V1\n", "\n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from numpy import arange,sin,pi\n", "t = arange(0.0,5.0,0.01)\n", "t1 = arange(0.0,6.0,0.01)\n", "t2 = arange(0.0,5,0.01)\n", "t3 = arange(-9.5,0.0,0.01)\n", "\n", "plt.axis([0,5.5,-10.0,4.1])\n", "plt.plot(t1,t1*0/t1,'b')\n", "plt.plot(t,3-t*12.5/5.0,'b')\n", "plt.plot(t2,-t2*9.5/t2,'--')\n", "plt.plot(t3*5/t3,t3,'--')\n", "plt.title(\"Output Voltage\")\n", "plt.xlabel(\"Time(x 10^-2) \")\n", "plt.ylabel(\"Output Voltage in Volts\")\n", "\n", "#Result\n", "print(\"Vout = %.1f V\"%Vout)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = -9.5 V\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ngwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 92 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.15, Page No. 121" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Time when output will get saturated in fig. 4.33\n", "\n", "import math\n", "#Variable declaration\n", "R = 500.0*10**3 # Resistopr R\n", "C = 10.0*10**-6 # feedback capacitor\n", "V = -0.5 # V(t)\n", "Vo = 12.0 # Saturation Voltage \n", "#Calculations\n", "Vout = -V/(R*C)\n", "t = Vo/Vout\n", "\n", "#Result\n", "print(\"Time duration required for saturation of output voltage = %d seconds\"%t)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Time duration required for saturation of output voltage = 120 seconds\n" ] } ], "prompt_number": 48 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.16, Page No.122" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# expression using op-amp\n", "\n", "import math\n", "#Variable declaration\n", "Cf = 10.0*10**-6 # feedback capacitor, assumed value\n", "V1 = 1 # multiplication factor for input 1\n", "V2 = 2 # multiplication factor for input 2\n", "V3 = 5 # multiplication factor for input 3\n", "\n", "#Calculations\n", "R1 = 1/(Cf*V1)\n", "R2 = 1/(Cf*V2)\n", "R3 = 1/(Cf*V3)\n", "\n", "#Result\n", "print(\"R1 = %d k-ohm\\nR2 = %d k-ohm\\nR3 = %d k-ohm\\nCircuit will be ass show in fig. 4.35\"%(R1/1000,R2/1000,R3/1000))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 100 k-ohm\n", "R2 = 50 k-ohm\n", "R3 = 20 k-ohm\n", "Circuit will be ass show in fig. 4.35\n" ] } ], "prompt_number": 51 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.17, Page No. 129" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Practical differentiator\n", "\n", "import math\n", "#Variable declaration\n", "fmax = 150.0 # max frequency to be differentiate\n", "C1 = 1*10**-6 # Capacitor C1, we choose\n", "\n", "#Calculations\n", "fa =fmax\n", "Rf = 1/(2*math.pi*fa*C1)\n", "Rf = Rf/1000 # k-ohm\n", "Rf = math.floor(Rf*100)/100\n", "fb = 10*fa\n", "R1 = 1/(2*math.pi*fb*C1)\n", "R1 = math.floor(R1*10)/10\n", "Cf = R1*C1/(Rf*10**3)\n", "Rcomp = R1*Rf*10**3/(R1+Rf*10**3)\n", "\n", "#Result\n", "print(\"R1 = %.1f ohm\\nC1 = %d uF\\nRf = %.2f k-ohm\\nCf = %.1f uF\\nRcomp = %.2f ohm\"%(R1,C1*10**6,Rf,Cf*10**6,math.floor(Rcomp*100)/100))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 106.1 ohm\n", "C1 = 1 uF\n", "Rf = 1.06 k-ohm\n", "Cf = 0.1 uF\n", "Rcomp = 96.44 ohm\n" ] } ], "prompt_number": 68 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.18, Page No.130" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# op-amp differentiator\n", "\n", "import math\n", "#Variable declaration\n", "Vm = 10*10**-6 # peak value of sine wave\n", "fa = 2000.0 # maximum frequency\n", "R = 50*10**3 # Resistor R \n", "C = 2*10**-6 # Capacitor C\n", "\n", "\n", "#Calculations\n", "Vout = -R*C*Vm*2*math.pi*fa\n", "\n", "#Result\n", "print(\"Vout = %f*cos(%d*pi*t) micro-V\"%(Vout,2*fa))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = -0.012566*cos(4000*pi*t) micro-V\n" ] } ], "prompt_number": 73 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.19, Page No.130" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Differentiator design\n", "\n", "import math\n", "#Variable declaration\n", "V = 3.0 # input sine wave ampitude\n", "f = 200.0 # input sine wave frequency\n", "fa = 1000.0 # maximum input frequency\n", "\n", "#Calculations\n", "C = 0.1*10**-6 #Assumed value\n", "R = 1/(2*math.pi*fa*C)\n", "R_1 = math.floor(R/100)*100\n", "fb = 20*fa\n", "R_dash = 1/(2*math.pi*fb*C)\n", "R_dash_1 = 82*10**3 \n", "C_dash = R_1*C/R_dash_1\n", "Vout = -R_1*C*(V/2)*2*math.pi*f\n", "\n", "#Result\n", "print(\"R = %.2f k-ohm = %.1f k-ohm(say)\\nRom = %.1f k-ohm\\nVout = %.4fcos(%d*pi*t)\"%(R/1000,R_1/1000,R_1/1000,Vout,f*2))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R = 1.59 k-ohm = 1.5 k-ohm(say)\n", "Rom = 1.5 k-ohm\n", "Vout = -0.2827cos(400*pi*t)\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.20, Page No.142" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Instrumentation Amplifier (refer fig 4.64)\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 200.0 # Resistor R1\n", "R2 = 100.0 # Resistor R2\n", "Rf = 100.0*10**3 # Feedback Resistor Rf\n", "Rg_min = 100.0 # 100 ohm + 0 ohm\n", "Rg_max = 100.0*10**3+100 # 100 ohm + 100 k-ohm\n", "\n", "\n", "#Calculation\n", "Gain1 = (1+(2*Rf/Rg_min))*(R2/R1)\n", "Gain2 = (1+(2*Rf/Rg_max))*(R2/R1)\n", "\n", "#Result\n", "print(\"For all practical purposes, the gain can be varied from %.1f to %.1f\"%(Gain2, Gain1))\n", "#Answer for max gain is wrong in the book" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "For all practical purposes, the gain can be varied from 1.5 to 1000.5\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.21, Page No. 142" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Instrumentation Amplifier (refer fig 4.65)\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 100.0*10**3 # Resistor R1\n", "R2 = 100.0*10**3 # Resistor R2\n", "Rf = 470.0*10**3 # Feedback Resistor Rf\n", "Gain = 100.0 # Gain \n", "\n", "#Calculations\n", "Rg = 2*Rf/((Gain*(R1/R2))-1)\n", "\n", "#Result\n", "print(\" Rg = %.2f k-ohm\"%(Rg/1000))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Rg = 9.49 k-ohm\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.22, Page No. 144" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Transducer Resistance\n", "\n", "import math\n", "#Variable declaration\n", "R = 100.0 # reference resistance of the transducer\n", "alfa = 0.00392 # Alfa value\n", "T1 = 25 # Temperature Value 1\n", "T2 = 100 # Temperature Value 2\n", "\n", "#Calculations\n", "R_25 = R*(1+alfa*T1)\n", "R_100 = R*(1+alfa*T2)\n", "\n", "#Result\n", "print(\"It can be seen that Delta_R is %.1f ohm for a change at %d\u00b0C\"%(R_25-R,T1))\n", "print(\"while Delta_R is %.1f ohm for a change of %d\u00b0C.\"%(R_100-R,T2))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "It can be seen that Delta_R is 9.8 ohm for a change at 25\u00b0C\n", "while Delta_R is 39.2 ohm for a change of 100\u00b0C.\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.23, Page No." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# instrumentation amplifier design\n", "\n", "import math\n", "#Variable declaration\n", "P_min = 0 # minimum value of potentiometer\n", "P_max = 50*10**3 # maximum value of potentiometer\n", "G_min = 5.0 # minimum gain \n", "G_max = 200.0 # maximum gain\n", "\n", "#Calculations\n", "R3 = 1000.0 # assumed value\n", "R4 = 1000.0 # resistor in series with potentiometer\n", "x1 = (R4+P_min)/R3 \n", "x2 = (R4+P_max)/R3 \n", "y = ((G_min/x1)-1)/2 # R1/R2\n", "R2 =10*10**3 # assumed value\n", "R1 = R2*y\n", "\n", "#Result\n", "print(\"R1 = %.0f k-ohm\\nR2 = %.0f k-ohm\\nR3 = %.0f k-ohm\\nR4 = %.0f k-ohm\\n\"%(R1/1000,R2/1000,R3/1000,R4/1000))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 20 k-ohm\n", "R2 = 10 k-ohm\n", "R3 = 1 k-ohm\n", "R4 = 1 k-ohm\n", "\n" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.24, Page No. 147" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(\"Theoretical example\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Theoretical example\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.25, Page No. 147" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Gain of instrumentation Amplifier(refer fig. 4.73)\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 5.0 # Resistor Rf in k-ohm\n", "Rg = 1.0 # Resistor Rg in k-ohm\n", "R1 = 10.0 # Resistor R1 in k-ohm\n", "R2 = 20.0 # Resistor R2 in k-ohm\n", "\n", "#Calculations\n", "A = (1+(2*Rf/Rg))*(R2/R1)\n", "\n", "#Result\n", "print(\"A = %d\"%A)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "A = 22\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.26, Page No. 147" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output voltage of the circuit (refer fig. 4.74)\n", "\n", "import math\n", "#Variable declaration\n", "R_A1 = 1000.0 # terminal resistor for op-amp A1\n", "Rf_A1 = 5000.0 # feedback resistor for op-amp A1\n", "R_A2 = 1000.0 # terminal resistor for op-amp A2\n", "Rf_A2 = 2000.0 # feedback resistor for op-amp A2\n", "Rcom_A2= 2000.0 # Rcom resistor for op-amp A2\n", "V1 = 1.0 # input at terminal 1 of A1 in mV\n", "V2 = 5.0 # 5*sin(wt)-->input at terminal 2 of A1 in mV\n", "V3 = 5.0 # input at terminal 2 of A2\n", "\n", "#Calculations\n", "Vin_1 = V1*(-Rf_A1/R_A1)\n", "Vin_2 = V2*(-Rf_A1/R_A1)\n", "Vout = Vin_1*(-Rf_A2/R_A2)+(1+Rf_A2/R_A2)*(Rcom_A2/(R_A2+Rcom_A2))*V3\n", "Vout2 = Vin_2*(-Rf_A2/R_A2)\n", "\n", "#Result\n", "print(\"Vout = %d + %d*sin(wt) mV\"%(Vout,Vout2))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = 20 + 50*sin(wt) mV\n" ] } ], "prompt_number": 27 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.27, Page No. 148" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output voltage of the circuit (refer fig. 4.75)\n", "\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 10.0 # Resistor Rf in k-ohm\n", "Rg = 5.0 # Resistor Rg in k-ohm\n", "R1 = 1.0 # Resistor R1 in k-ohm\n", "R2 = 2.0 # Resistor R2 in k-ohm\n", "Vin2 = 2.0 # input at non-inverting terminal of A2 in mV\n", "Vin1 = 1.0 # input at non-inverting terminal of A1 in mV\n", "\n", "#Calculations\n", "A = (1+(2*Rf/Rg))*(R2/R1)\n", "Vout = A*(Vin2 - Vin1)\n", "#Result\n", "print(\"Vout = %d mV\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = 10 mV\n" ] } ], "prompt_number": 28 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.28, Page No.148" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Determining the value of Rg\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 15.0 # Resistor Rf in k-ohm\n", "R1 = 1.0 # Resistor R1 in k-ohm\n", "R2 = 2.0 # Resistor R2 in k-ohm\n", "Vin2 = 5.0*10**-3 # input at non-inverting terminal of A2 \n", "Vin1 = 2.0*10**-3 # input at non-inverting terminal of A1 \n", "Vout = 3 # output voltage\n", "\n", "#Calculations\n", "A = Vout/(Vin2-Vin1)\n", "Rg = 2*Rf/((A*R1/R2)-1)\n", "\n", "#Result\n", "print(\"Rg = %.2f ohm\"%(Rg*1000))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Rg = 60.12 ohm\n" ] } ], "prompt_number": 31 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.29, Page No.149" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(\"Theoretical example\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Theoretical example\n" ] } ], "prompt_number": 32 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.30, Page No.150" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(\"Theoretical example\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Theoretical example\n" ] } ], "prompt_number": 33 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.31, Page No. 151" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# 3 op-amp instrumentation amplifier design\n", "\n", "import math\n", "#Variable declaration\n", "g = 1.0 # minimum gain required\n", "G = 10000.0 # Maximum gain required\n", "pot = 100.0 # potentiometer max value\n", "#Calculations\n", "A2 = 1.0/5.0 # Assumed gain of second stage\n", "R1 = 100.0 # Resistor R1\n", "R2 = R1*A2\n", "x = ((G/A2)-1)/2 # Rf/Rgb\n", "y = ((1/A2)-1)/2\n", "Rgb = y*pot/(x-y)\n", "Rf = x*Rgb\n", "\n", "#Result\n", "print(\"R1 = %d k-ohm\\nR2 = %d k-ohm\\nRgb = %d ohm\\nRf = %d k-ohm\\n\"%(R1,R2,Rgb*1000,Rf))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "R1 = 100 k-ohm\n", "R2 = 20 k-ohm\n", "Rgb = 8 ohm\n", "Rf = 200 k-ohm\n", "\n" ] } ], "prompt_number": 42 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.32, Page No.168" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Value of the current flowing through the Resistor R(Refer fig. 4.106)\n", "import math\n", "#Variable declartion\n", "R2 = 1000.0 # Resistor in series with R\n", "Va = Vb = 5.0 # input voltage\n", "\n", "#Calculations\n", "I = Vb/R2\n", "\n", "#Result\n", "print(\"I = %d mA\"%(I*10**3))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "I = 5 mA\n" ] } ], "prompt_number": 43 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.33, Page No. 169" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot output waveform (refer fig 4.109)\n", "##########-------PLOT--------#############\n", "\n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from numpy import arange,sin,pi\n", "t = arange(0.0,1.0,0.01)\n", "t1 = arange(0.0,3.0,0.01)\n", "t2 = arange(0.0,1.0,0.01)\n", "t3 = arange(-0.5,0.0,0.01)\n", "t4 = arange(-1.0,0.0,0.01)\n", "t5 = arange(0.0,0.5,0.01)\n", "t6 = arange(1.0,2.0,0.01)\n", "\n", "plt.axis([0,2.0,-1.5,0.9])\n", "plt.plot(t1,t1*0/t1,'b')\n", "plt.plot(t,-t*1,'b')\n", "plt.plot(t2,-t2*1/t2,'--')\n", "plt.plot(t5,-t5*0.5/t5,'--')\n", "plt.plot(t3*0.5/t3,t3,'--')\n", "plt.plot(t4*1.0/t4,t4,'--')\n", "plt.plot(t6,-t6*1/t6,'b')\n", "plt.title(\"Output Voltage\")\n", "plt.xlabel(\"Time(ms)\")\n", "plt.ylabel(\"Vo(t)\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 65, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEZCAYAAABrUHmEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1clfX9x/H3hfBzooS3cS8sEUElwAfTeiwUp4i3pGvl\nTW1401aZ1bZfpa01cbPSlY9Vs5y6th5p3szKoFSylceWyVhJN79soU0UQZg34V03Al2/P06cQEAv\n5MB1zuH1fDzOQ88533Px4XjJm+t8r8/3MkzTNAUAgAV+dhcAAPAehAYAwDJCAwBgGaEBALCM0AAA\nWEZoAAAsIzQADzZz5kw98MADdpcBuBAa8DrPPPOMEhMT1bVrV4WFhWnu3Lk6efKk5dfHxMTojTfe\ncFs9F9peWVmZAgIC9J///KfRc1OmTNE999xzwW0bhiHDMCRJDodDUVFRrS8YaAVCA15l2bJlWrBg\ngZYtW6ZTp06poKBABw8eVEZGhqqrqy1twzAMubOn9ULbi4iI0KhRo7RmzZoGj584cULbtm3TzJkz\nL7p9+m/hUUzAS5w8edLs1q2buWnTpgaPnzlzxuzTp4/5l7/8xTRN08zOzjZ//etfu57fsWOHGRkZ\naZqmad50002mn5+f2aVLF7Nbt27mI488Yh44cMA0DMNctWqVGR4eboaFhZmPPvqo6/Ut3d751q1b\nZ/br16/BY08++aQ5ZMgQ0zRNc+/eveaIESPM7t27m4MGDTLz8vJc42bOnGk+8MAD5tmzZ83vfOc7\npp+fn9mtWzczKCjIPHLkiPnPf/7TvOqqq8zu3bubYWFh5rx588xz5865Xv/qq6+acXFxZnBwsDl3\n7lxz+PDh5p///GfX808//bSZkJBg9ujRw8zMzDQPHjxo8V8DHRVHGvAab7/9tr788kv98Ic/bPB4\n165dNX78eL322muSGn6kc741a9aob9++euWVV3T69GndfffdruccDof279+v7du3a+nSpXr99ddb\ntb06kydP1rFjx7Rr164Gr8vOzlZ1dbUmTZqksWPH6ujRo/rjH/+oG2+8UcXFxa6xpmkqMDBQ+fn5\nCg8P1+nTp3Xq1CmFhobK399fjz/+uI4fP67du3fr9ddf11NPPSVJOnbsmK6//notXbpUJ06c0IAB\nA7R7927X95Kbm6uHH35Ymzdv1rFjx5SWlqbp06df9N8BHRuhAa9x7Ngx9e7dW35+jXfb0NBQHT9+\n3HXfvISPdBYuXKguXbpo8ODBmjVrltavX9+q7dXp0qWLrr/+ej377LOSpH379mnPnj2aMWOGCgoK\ndPbsWS1YsED+/v4aOXKkJk6c2OBrX6iGIUOGaOjQofLz81N0dLR+9rOfaefOnZKkrVu3avDgwZo8\nebL8/Px05513KjQ01PXaP/3pT7rvvvs0YMAA+fn56b777tN7772n0tLSS/5e4fsIDXiN3r1769ix\nY/r6668bPXfkyBH17t27VduvP8nct29flZeXt2p79WVnZ2vTpk366quvtGbNGo0dO1a9e/dWeXl5\no8nt6Ohoy1+7uLhYEydOVFhYmIKDg3X//fe7wrO8vFyRkZENxte/f/DgQd11113q0aOHevTooV69\neklyTt4DzSE04DWuvvpqde7cWS+88EKDx8+cOaP8/HyNGjVKkvPjqs8//9z1fEVFRYPxzX3UdOjQ\noQZ/j4iIaNX26vv+97+vnj17Kjc3V88995yys7MlSeHh4SotLW1wFHHw4EHX166//aa+zm233aaB\nAwdq//79OnnypB588EFXqIaHh+vw4cOusaZpNrjft29frVq1Sp999pnrdvbsWV111VUX/X7QcREa\n8BrBwcFauHCh7rjjDr366quqrq5WSUmJbrjhBkVFRenHP/6xJCk5OVlbt27VZ599poqKCj322GMN\nthMSEqJPP/200fYXL16sL774Qh999JGeeeYZTZ06tVXbq88wDP3kJz/Rvffeq5MnT2rSpEmSpKuu\nukqBgYH6/e9/r+rqajkcDr3yyiuaNm2aJOcP+rpACQkJ0fHjx3Xq1CnXds+cOaOgoCAFBgbq3//+\nt1asWOF6bvz48frwww+Vm5urmpoaPfnkkw0C79Zbb9VDDz2kvXv3SpJOnjypTZs2XfD7ADh7Cl7n\n6aefNgcPHmx26dLFDAkJMW+99VazqqrK9fyXX35pTp061bzsssvMpKQk8w9/+IMZFRXlej43N9fs\n27ev2b17d3PZsmWus6dWr15thoeHm6GhoQ3Ogmrp9ppz4MAB08/Pz5w7d26Dxz/66CNzxIgRZnBw\nsDlo0CDzpZdecj1Xd/ZUndmzZ5u9evUye/ToYR45csR88803zfj4eLNbt25mWlqa+Zvf/MZMS0tz\njc/Pz29w9tTVV19trl271vX8mjVrzMTERPOyyy4zo6KizDlz5lj9Z0AHZZgmJ4GjYyspKdEVV1yh\n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\nS2hs2rRJgwYNUqdOnbRnz55mx8XExOjKK69USkqKhg4d2o4VAgCaYktoJCYmavPmzRo+fPgFxxmG\nIYfDoaKiIhUWFrZTdR2bw+GwuwSfwvvpXryf9rMlNOLj4xUXF2dprGmabVwN6uM/pXvxfroX76f9\nPHpOwzAMjR49WqmpqVq9erXd5QBAh+ffVhvOyMhQRUVFo8cfeughTZo0ydI2du3apbCwMB09elQZ\nGRmKj49XWlqau0sFAFhl2ig9Pd189913LY3NyckxH3300Saf69evnymJGzdu3Li14NavX78W/9xu\nsyMNq8xm5iw+//xz1dbWKigoSGfPntX27du1cOHCJsfu37+/LUsEAHzDljmNzZs3KyoqSgUFBZow\nYYLGjRsnSSovL9eECRMkSRUVFUpLS1NycrKGDRumiRMnasyYMXaUCwD4hmE296s+AADn8eizp+rL\nz89XfHy8+vfvr6VLlzY55s4771T//v2VlJSkoqKidq7Qu1zs/XQ4HAoODlZKSopSUlK0ePFiG6r0\nDrNnz1ZISIgSExObHcO+ad3F3k/2TetKS0s1cuRIDRo0SIMHD9YTTzzR5LgW7Z8tngWxQU1Njdmv\nXz/zwIED5rlz58ykpCRz7969DcZs2bLFHDdunGmapllQUGAOGzbMjlK9gpX3c8eOHeakSZNsqtC7\nvPnmm+aePXvMwYMHN/k8+2bLXOz9ZN+07siRI2ZRUZFpmqZ5+vRpMy4urtU/O73iSKOwsFCxsbGK\niYlRQECApk2bptzc3AZj8vLylJ2dLUkaNmyYqqqqVFlZaUe5Hs/K+yk1f5ICGkpLS1OPHj2afZ59\ns2Uu9n5K7JtWhYaGKjk5WZLUrVs3JSQkqLy8vMGYlu6fXhEaZWVlioqKct2PjIxUWVnZRcccPny4\n3Wr0JlbeT8Mw9PbbbyspKUnjx4/X3r1727tMn8G+6V7sm5empKRERUVFGjZsWIPHW7p/2n7KrRWG\nYVgad/5vH1Zf19FYeV+GDBmi0tJSBQYGatu2bZo8ebKKi4vboTrfxL7pPuybLXfmzBn96Ec/0uOP\nP65u3bo1er4l+6dXHGlERESotLTUdb+0tFSRkZEXHHP48GFFRES0W43exMr7GRQUpMDAQEnSuHHj\nVF1drRMnTrRrnb6CfdO92Ddbprq6Wtddd51uuukmTZ48udHzLd0/vSI0UlNTtW/fPpWUlOjcuXPa\nuHGjsrKyGozJysrSs88+K0kqKChQ9+7dFRISYke5Hs/K+1lZWen67aOwsFCmaapnz552lOv12Dfd\ni33TOtM0NWfOHA0cOFA///nPmxzT0v3TKz6e8vf31/Lly5WZmana2lrNmTNHCQkJWrlypSTplltu\n0fjx47V161bFxsaqa9eu+utf/2pz1Z7Lyvv5/PPPa8WKFfL391dgYKA2bNhgc9Wea/r06dq5c6eO\nHTumqKgoLVq0SNXV1ZLYNy/Fxd5P9k3rdu3apbVr17quSyQ51/87dOiQpEvbP2nuAwBY5hUfTwEA\nPAOhAQCwjNAAAFhGaAAALCM0AACWERoAAMsIDXR4x48fdy2zHRYWpsjISKWkpCgoKEjz5s1z29e5\n++675XA4Wr2dUaNG6fTp060vCLgE9GkA9SxatEhBQUH65S9/6dbtnj59WqNGjVJhYWGrt7V69Wqd\nPn3a7TUCVnCkAZyn7vcoh8OhSZMmSZJycnKUnZ2t4cOHKyYmRi+++KLuvvtuXXnllRo3bpxqamok\nSe+++67S09OVmpqqsWPHqqKiQpKUm5ur0aNHu75GTEyMfvWrXyklJUWpqanas2ePxowZo9jYWFdn\n/pEjRzR8+HClpKQoMTFRb731liTnsg90QcMuhAZg0YEDB7Rjxw7l5eXppptuUkZGhj744AN16dJF\nW7ZsUXV1te644w698MILeueddzRr1izdf//9kqS33npLqamprm0ZhqHo6GgVFRVp+PDhmjlzpjZv\n3qyCggItXLhQkrRu3TqNHTtWRUVF+uCDD1zXRQgJCdGxY8d09uzZ9n8T0OF5xdpTgN0Mw9C4cePU\nqVMnDR48WF9//bUyMzMlSYmJiSopKVFxcbE++ugj1xFFbW2twsPDJUmHDh1SWFhYg23WLRKZmJio\ns2fPqmvXruratas6d+6sU6dOaejQoZo9e7aqq6s1efJkJSUluV4bEhKi0tJSxcfHt8e3D7hwpAFY\n9D//8z+SJD8/PwUEBLge9/PzU01NjUzT1KBBg1RUVOQ6OsjPz3eN+/rrrxtsr3Pnzq7X1227/vbS\n0tL0j3/8QxEREZo5c6bWrFnjGmOaJtfkgC0IDcACK+eLDBgwQEePHlVBQYEk53UM6q4qFx0d7Zrf\nsLrtQ4cOqU+fPrr55pt18803a8+ePa7nKisrG10DBWgPhAZwnrrf4A3DaPLv9cfUvx8QEKDnn39e\n8+fPV3JyslJSUrR7925J0jXXXKN33nmnydc3t22Hw6Hk5GQNGTJEf/vb31zXQ6ioqFCvXr3UtWtX\nd37bgCU2WanbAAAAbElEQVSccgu0gzNnzmjkyJH617/+1eptrVq1SmfPntUvfvELN1QGtAxHGkA7\n6Natm0aOHKkdO3a0elsbN27UT3/6UzdUBbQcRxoAAMs40gAAWEZoAAAsIzQAAJYRGgAAywgNAIBl\nhAYAwLL/B1H2SzVu3JHjAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 65 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 3.34, Page No. 170" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(\"Theoretical example\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Theoretical example\n" ] } ], "prompt_number": 66 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 3.35, Page No. 170" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output of circuit in fig. 4.111\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 1.0 # Resistance to inverting terminal\n", "R2 = 2.0 # Resistance to non-inverting terminal\n", "Rf = 10.0 # Feedback resistance\n", "Rcom = 1.0 # Resistance Rcom\n", "V1 = 2.0 # input voltage at inverting terminal \n", "V2 = 5.0 # input voltage at non-inverting terminal \n", "\n", "#Calculations\n", "Vo1 = -Rf*V1/R1\n", "Vb = V2*Rcom/(R2+Rcom)\n", "Vo2 = (1+(Rf/R1))*Vb\n", "Vout = Vo1+Vo2\n", "\n", "#Result\n", "print(\"Vo = %.3f V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vo = -1.667 V\n" ] } ], "prompt_number": 67 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.36, Page No. 170" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Output voltage of circuit shown in fig. 4.114\n", "\n", "import math\n", "#Variable declaration\n", "Rf = 10.0 # Resistor Rf in k-ohm\n", "R1 = 5.0 # Resistor R1 in k-ohm\n", "R2 = 4.0 # Resistor R2 in k-ohm\n", "R3 = 2.0 # Resistor R3 in k-ohm\n", "V1 = 5.0 # input 1\n", "V2 = 2.0 # input 2\n", "V3 = 3.0 # input 3\n", "\n", "#Calculations\n", "Vout = -((Rf*V1/R1)+(Rf*V2/R2)+(Rf*V3/R3))\n", "\n", "#Result\n", "print(\"Vout = %d V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vout = -30 V\n" ] } ], "prompt_number": 69 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.37, Page No. 171" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output Voltage of circuit in fig. 4.116\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 2.0 # Resistance to inverting terminal\n", "R2 = 1.0 # Resistance to non-inverting terminal\n", "Rf = 4.0 # Feedback resistance\n", "Rcom = 1.0 # Resistance Rcom\n", "V1 = 2.0 # input voltage at non-inverting terminal \n", "V2 = 4.0 # input voltage at non-inverting terminal \n", "\n", "#Calculations\n", "Vb1 = V2*R2/(R2+Rcom)\n", "Vo1 = (1+(Rf/R1))*Vb1\n", "Vb2 = V1*R2/(R2+Rcom)\n", "Vo2 = (1+(Rf/R1))*Vb2\n", "Vout = Vo1+Vo2\n", "\n", "#Result\n", "print(\"Vo = %d V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vo = 9 V\n" ] } ], "prompt_number": 72 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.39, Page No. 171" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output of differential amplifier\n", "\n", "import math\n", "#Variable declaration\n", "V1 = 1.0*10**-3 # input voltage 1 \n", "V2 = 2.0*10**-3 # input voltage 2 \n", "Ad = 5000.0 # differential gain\n", "CMRR = 1000.0 # Common Mode Rejection Ratio\n", "\n", "#Calculations\n", "Ac = Ad/CMRR\n", "Vd = (V1-V2)\n", "Vc = (V1+V2)/2\n", "Vout = Ac*Vc+Ad*Vd\n", "\n", "#Result\n", "print(\"Vo = %.4f V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vo = -4.9925 V\n" ] } ], "prompt_number": 77 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "example 4.40, Page No. 172" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# output Voltage of circuit in fig. 4.116\n", "\n", "import math\n", "#Variable declaration\n", "R1 = 40.0 # Resistance to inverting terminal\n", "R2 = 25.0 # Resistance to inverting terminal\n", "Rf = 50.0 # Feedback resistance\n", "R3 = 10.0 # Resistance to non-inverting terminal\n", "R4 = 20.0 # Resistance to non-inverting terminal\n", "Rcom = 30.0 # Resistance Rcom\n", "V1 = 1.0 # input voltage at inverting terminal \n", "V2 = 2.0 # input voltage at inverting terminal \n", "V3 = 3.0 # input voltage at non-inverting terminal \n", "V4 = 4.0 # input voltage at non-inverting terminal \n", "\n", "#Calculations\n", "# (i)\n", "Vo1 = -(Rf/R1)*V1\n", "# (ii)\n", "Vo2 = -(Rf/R2)*V2\n", "# (iii)\n", "R1 = R1*R2/(R1+R2)\n", "Vb3 = V3*(Rcom*R4/(Rcom+R4))/(R3+(Rcom*R4/(Rcom+R4)))\n", "Vo3 = (1+(Rf/R1))*Vb3\n", "Vo3 = math.floor(Vo3*10**4)/10**4\n", "# (iv)\n", "Vb4 = V4*(Rcom*R3/(Rcom+R3))/(R4+(Rcom*R3/(Rcom+R3)))\n", "Vo4 = (1+(Rf/R1))*Vb4\n", "Vo4 = math.floor(Vo4*10**4)/10**4\n", "\n", "Vout = Vo1+Vo2+Vo3+Vo4\n", "\n", "#Result\n", "print(\"Vo = %.4f V\"%Vout)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Vo = 6.3408 V\n" ] } ], "prompt_number": 90 } ], "metadata": {} } ] }