From 64d949698432e05f2a372d9edc859c5b9df1f438 Mon Sep 17 00:00:00 2001 From: kinitrupti Date: Fri, 12 May 2017 18:40:35 +0530 Subject: Revised list of TBCs --- Electronic_Principles/Chapter_19.ipynb | 502 +++++++++++++++++++++++++++++++++ 1 file changed, 502 insertions(+) create mode 100755 Electronic_Principles/Chapter_19.ipynb (limited to 'Electronic_Principles/Chapter_19.ipynb') diff --git a/Electronic_Principles/Chapter_19.ipynb b/Electronic_Principles/Chapter_19.ipynb new file mode 100755 index 00000000..2cb36ac1 --- /dev/null +++ b/Electronic_Principles/Chapter_19.ipynb @@ -0,0 +1,502 @@ +{ + "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": {} + } + ] +} \ No newline at end of file -- cgit