summaryrefslogtreecommitdiff
path: root/Electronic_Principles/Chapter_19.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electronic_Principles/Chapter_19.ipynb')
-rwxr-xr-xElectronic_Principles/Chapter_19.ipynb502
1 files changed, 502 insertions, 0 deletions
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