{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "CHAPTER 19 NEGATIVE FEEDBACK" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-1, Page 709" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "Vin=50 #input voltage(mV)\n", "Rf=3.9 #feedback path resistance Rf (KOhm)\n", "R1=0.1 #inverting input resistance R1(KOhm)\n", "AVOL=100000 #open loop voltage gain\n", "\n", "B=R1/(Rf+R1) #feedback fraction\n", "Av=B**-1 #closed loop voltage gain\n", "Err=100/(1+AVOL*B) #percent error (%)\n", "Av1=Av-((Av/100)*Err) #closed loop voltage gain1\n", "Av2=AVOL/(1+AVOL*B) #closed loop voltage gain2\n", "\n", "print 'closed loop voltage gain by approach 1 = ',round(Av1,2)\n", "print 'closed loop voltage gain by approach 2 = ',round(Av2,2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop voltage gain by approach 1 = 39.98\n", "closed loop voltage gain by approach 2 = 39.98\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-2, Page 713" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "Vin=50 #input voltage(mV)\n", "Rf=3.9*10**3 #feedback path resistance Rf (Ohm)\n", "R1=100 #inverting input resistance R1(Ohm)\n", "AVOL=100000 #open loop voltage gain\n", "B=0.025 #feedback fraction\n", "Rin=2*10**6 #open loop input resistance(Ohm)\n", "RCM=200*10**6 #common mode input resistance(Ohm)\n", "\n", "Zin_CL=(1+(AVOL*B))*Rin #closed loop input impedance(Ohm)\n", "Zin_CL1=RCM*Zin_CL/(RCM+Zin_CL) #closed loop input impedance(Ohm)\n", "\n", "print 'closed loop input impedance Zin(CL) = ',round((Zin_CL1/10**6),2),'MOhm'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop input impedance Zin(CL) = 192.31 MOhm\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-3, Page 714" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "Rout=75 #open loop output resistance(Ohm)\n", "AVOL=100000 #open loop voltage gain\n", "B=0.025 #feedback fraction\n", "\n", "Zout_CL=Rout/(1+AVOL*B) #closed loop input impedance(Ohm)\n", "\n", "print 'closed loop output impedance Zout(CL) = ',round(Zout_CL,2),'Ohm'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop output impedance Zout(CL) = 0.03 Ohm\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-4, Page 714" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "THD=7.5 #open loop total harmonic distortion (%)\n", "AVOL=100000 #open loop voltage gain\n", "B=0.025 #feedback fraction\n", "\n", "THD_CL=THD/(1+AVOL*B) #closed loop total harmonic distortion (%)\n", "\n", "print 'Closed loop total harmonic distortion THD(CL) = ',round(THD_CL,3),'%'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Closed loop total harmonic distortion THD(CL) = 0.003 %\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-5, Page 716" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "Iin=1 #input current(mA)\n", "Rf=5 #feedback path resistance Rf (KOhm)\n", "\n", "Vout=-(Iin*Rf) #Output voltage at 1KHz (Vpp) \n", "\n", "print 'Output ac voltage at 1KHz Vout = ',Vout,'Vpp'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output ac voltage at 1KHz Vout = -5 Vpp\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-6, Page 717" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "Rout=75.0 #open loop output resistance(Ohm)\n", "AVOL=100000 #open loop voltage gain\n", "Rf=5.0*10**3 #feedback path resistance(Ohm)\n", "\n", "Zin_CL=Rf/(1+AVOL) #closed loop input impedance(Ohm)\n", "Zout_CL=Rout/(1+AVOL) #closed loop input impedance(Ohm)\n", "\n", "print 'closed loop input impedance Zin(CL) = ',round(Zin_CL,2),'Ohm'\n", "print 'closed loop output impedance Zout(CL) = ',round(Zout_CL,5),'Ohm'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop input impedance Zin(CL) = 0.05 Ohm\n", "closed loop output impedance Zout(CL) = 0.00075 Ohm\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-7, Page 718" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "Vin=2 #input voltage(Vrms)\n", "RL1=2 #load resistance (KOhm)\n", "R1=1 #inverting input resistance R1(KOhm)\n", "RL2=4 #load resistance(KOhm)\n", "\n", "iout=Vin/R1 #output current (mA)\n", "PL1=(iout**2)*RL1 #load power for 2 Ohm (W) \n", "PL2=(iout**2)*RL2 #load power for 4 Ohm (W) \n", "\n", "print 'load power for 2 Ohm = ',PL1,'W'\n", "print 'load power for 4 Ohm = ',PL2,'W'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "load power for 2 Ohm = 8 W\n", "load power for 4 Ohm = 16 W\n" ] } ], "prompt_number": 26 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-8, Page 720" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "Iin=1.5*10**-3 #input current(mA)\n", "RL1=1 #load resistance (KOhm)\n", "R1=1 #inverting input resistance R1(KOhm)\n", "RL2=2 #load resistance (KOhm)\n", "Rf=1*10**3 #feedback path resistance(Ohm)\n", "\n", "Ai=math.ceil(1+(Rf/R1)) #current gain\n", "iout=Iin*Ai #output current (mA)\n", "PL1=(iout**2)*RL1 #load power for 1 Ohm (W) \n", "PL2=(iout**2)*RL2 #load power for 2 Ohm (W) \n", "\n", "print 'load power for 2 Ohm = ',round(PL1,2),'W'\n", "print 'load power for 4 Ohm = ',round(PL2,2),'W'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "load power for 2 Ohm = 2.25 W\n", "load power for 4 Ohm = 4.51 W\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-9, Page 723" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "AB=1000 #(1+AvolB) term \n", "f2_OL=160 #open loop bandwidth(Hz)\n", "\n", "f2_CL=f2_OL*AB/1000 #closed loop bandwidth(KHz)\n", "\n", "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop bandwidth f2(CL)= 160 KHZ\n" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-10, Page 723" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "AVOL=250000 #open loop voltage gain\n", "f2_OL=1.2 #open loop bandwidth(Hz)\n", "Av_CL=50 #closed loop voltage gain\n", "\n", "f2_CL=f2_OL*AVOL/Av_CL/1000 #closed loop bandwidth(KHz)\n", "\n", "print 'closed loop bandwidth for Av(CL) = 50, f2(CL)= ',f2_CL,'KHZ'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop bandwidth for Av(CL) = 50, f2(CL)= 6.0 KHZ\n" ] } ], "prompt_number": 32 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-11, Page 724" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "AVOL=50000 #open loop voltage gain\n", "f2_OL=14 #open loop bandwidth(Hz)\n", "\n", "f2_CL=f2_OL*(1+AVOL)/1000 #closed loop bandwidth(KHz)\n", "\n", "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop bandwidth f2(CL)= 700 KHZ\n" ] } ], "prompt_number": 35 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-12, Page 724" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "AB=2500 #(1+AvolB) term \n", "f2_OL=20 #open loop bandwidth(Hz)\n", "\n", "f2_CL=f2_OL*AB/1000 #closed loop bandwidth(KHz)\n", "\n", "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop bandwidth f2(CL)= 50 KHZ\n" ] } ], "prompt_number": 38 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 19-13, Page 724" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "Av_CL=10.0 #voltage gain\n", "Funity=1*10**6 #unity frequency (Hz) \n", "Sr=0.5 #slew rate (V/us)\n", "\n", "f2_CL=Funity/Av_CL/1000 #closed loop bandwidth(KHz)\n", "Vp_max=1000*Sr/(2*math.pi*f2_CL) #largest peak output voltage(V)\n", "\n", "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'\n", "print 'largest peak output voltage Vp(max)= ',round(Vp_max,3),'V'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "closed loop bandwidth f2(CL)= 100.0 KHZ\n", "largest peak output voltage Vp(max)= 0.796 V\n" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }