diff options
Diffstat (limited to 'OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb')
-rw-r--r-- | OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb | 876 |
1 files changed, 876 insertions, 0 deletions
diff --git a/OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb b/OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb new file mode 100644 index 00000000..e940a81c --- /dev/null +++ b/OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb @@ -0,0 +1,876 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Chapter 6: General Linear Applications" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.1" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Low-freq cutoff is 10.61 kHz\n", + "\n", + " High-freq cutoff is 90.91 kHz\n", + "\n", + " Bandwidth is 80.3 kHz\n" + ] + } + ], + "source": [ + "#Example 6.1\n", + "#In the circuit of figure 6-3(a) Rin=50 Ohm,Ci=0.1 uF,R1=100 Ohm, Rf=1 KOhm\n", + "#Rl=10 kOhm and supply voltages +15, -15 V.\n", + "#Determine the bandwidth of the amplifier.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "R1=100\n", + "Rf=1*10**3\n", + "Rin=50\n", + "Rl=10*10**3\n", + "Ci=0.1*10**-6 #Capacitance b/w 2 stages being coupled \n", + "RiF=R1 #ac input resistance of the second stage\n", + "Ro=Rin #ac output resistance of the 1st stage\n", + "UGB=10**6 #Unity gain bandwidth\n", + "\n", + "\n", + "#calculation\n", + "fl=1/(2*math.pi*Ci*(RiF+Ro)) #Low-freq cutoff\n", + "K=Rf/(R1+Rf)\n", + "Af=-Rf/R1 #closed loop voltage gain\n", + "fh=UGB*K/abs(Af) #High-freq cutoff\n", + "BW=fh-fl #Bandwidth\n", + "\n", + "#result\n", + "print \"\\n Low-freq cutoff is\",round(fl/10**3,2),\"kHz\"\n", + "print \"\\n High-freq cutoff is\",round(fh/10**3,2),\"kHz\"\n", + "print\"\\n Bandwidth is\",round(BW/10**3,2),\"kHz\" \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Low-freq cutoff is 31.8 kHz\n", + "High-freq cutoff is 90.91 kHz\n", + "Bandwidth is 90.88 kHz\n", + "The ideal maximum output voltage swing is 15 Volts\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.2\n", + "#For the noninverting amplifier of figure 6-4(c), Rin=50 Ohm,Ci=C1=0.1 uF\n", + "#R1=R2=R3=100 kOhm,Rf=1 MOhm,Vcc=15 V.Determine\n", + "#a)the bandwidth of the amplifier\n", + "#b)the maximum output voltage swing\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "R1=100*10**3\n", + "R2=100*10**3\n", + "R3=100*10**3\n", + "Rf=1*10**6\n", + "Rin=50\n", + "Ci=0.1*10**-6 #Capacitance b/w 2 stages being coupled\n", + "Ro=Rin #ac output resistance of the 1st stage\n", + "Vcc=15\n", + "UGB=10**6 #Unity gain bandwidth\n", + "Rif=R2*R3/(R2+R3) #since Ri*(1+A*B)>>R2 or R3\n", + "\n", + "#calculation\n", + "fl=1/(2*math.pi*Ci*(Rif+Ro)) #Low-freq cutoff\n", + "K=Rf/(R1+Rf)\n", + "Af=-Rf/R1 #closed loop voltage gain\n", + "fh=UGB*K/abs(Af) #High-freq cutoff\n", + "BW=fh-fl #Bandwidth\n", + "\n", + "#result\n", + "print \"Low-freq cutoff is\",round(fl,2),\"kHz\"\n", + "print \"High-freq cutoff is\",round(fh/10**3,2),\"kHz\"\n", + "print\"Bandwidth is\",round(BW/10**3,2),\"kHz\"\n", + "print \"The ideal maximum output voltage swing is\",Vcc,\"Volts\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.3" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Inductance is 9.9 mH\n", + "Figure of merit of the coil is 33.2\n", + "Parallel resistance of the tank circuit is 32.98 kHz\n", + "Feedback resistance is 1.03 kHz\n" + ] + } + ], + "source": [ + "#Example 6.3\n", + "#The circuit of figure 6-5(a) is to provide a gain of 10 at a peak frequency of\n", + "#16 kHz. Determine the value of all its components.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "fp=16*10**3 #Peak frequency\n", + "Af=10 #Gain at peak frequency\n", + "C=0.01*10**-6 #Assume\n", + "R=30 #Assume the value of internal resistance of the inductor\n", + "R1=100 #Assume the value of internal resisrance of the coil\n", + "\n", + "#calculation\n", + "L=1/(((2*math.pi*fp)**2)*10**-8) #Simplifying fp=1/(2*pi*sqrt(L*C))\n", + "Xl=2*math.pi*fp*L #Inductive reactance\n", + "Qcoil=Xl/R #Figure of merit of the coil\n", + "Rp=((Qcoil)**2)*R #Parallel resistance of the tank circuit\n", + "Rf=-Rp/(1-(Rp/(Af*R1))) #Simplifying Af=(Rf||Rp)/R1\n", + "\n", + "\n", + "#result\n", + "print \"Inductance is\",round(L*10**3,1),\"mH\"\n", + "print \"Figure of merit of the coil is\",round(Qcoil,1)\n", + "print \"Parallel resistance of the tank circuit is\",round(Rp/10**3,2),\"kHz\"\n", + "print \"Feedback resistance is\",round(Rf/10**3,2),\"kHz\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.4" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Output voltage is -2.0 Volts\n" + ] + } + ], + "source": [ + "#Example 6.4\n", + "#In the circuit of figure 6-6 Va=1V, Vb=2V, Vc=3V, Ra=Rb=Rc=3 kOhm,Rf=1 kOhm\n", + "#Supply voltages are 15V and -15V. Assuming that the opamp is initially nulled,\n", + "#determine the output voltage Vo\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Va=1 #Input voltage in Volts\n", + "Vb=2 #Input voltage in Volts\n", + "Vc=3 #Input voltage in Volts\n", + "Ra=3*10**3 #Resistance in ohms\n", + "Rb=3*10**3 #Resistance in ohms\n", + "Rc=3*10**3 #Resistance in ohms\n", + "Rf=1*10**3 #Resistance in ohms\n", + "\n", + "\n", + "#calculation\n", + "Vo=-((Rf/Ra)*Va+(Rf/Rb)*Vb+(Rf/Rc)*Vc) #Output voltage\n", + "\n", + "\n", + "#result\n", + "print \"Output voltage is\",Vo,\"Volts\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.5" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage at non-inverting terminal is 1.0 Volts\n", + "Output voltage is 3.0 Volts\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.5\n", + "#In the circuit of figure 6-7 Va=2V, Vb=-3V, Vc=4V, R=R1=1 kOhm,Rf=2 kOhm\n", + "#Supply voltages are 15V and -15V. Assuming that the opamp is initially nulled,\n", + "#determine the output voltage Vo and voltage V1 at the noninverting terminal.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Va=2 #Input voltage in volts\n", + "Vb=-3 #Input voltage in volts\n", + "Vc=4 #Input voltage in volts\n", + "R1=1*10**3 #Resistance in ohms \n", + "Rf=2*10**3 #Resistance in ohms\n", + "\n", + "\n", + "#calculation\n", + "V1=(Va+Vb+Vc)/3 #Voltage at non-inverting terminal\n", + "Vo=(1+Rf/R1)*V1 #Output voltage\n", + "\n", + "#result\n", + "print \"Voltage at non-inverting terminal is\",V1,\"Volts\"\n", + "print \"Output voltage is\",Vo,\"Volts\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.6" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Output voltage is 4 Volts\n" + ] + } + ], + "source": [ + "#Example 6.6\n", + "#In the circuit of figure 6-9 Va=2V, Vb=3V,Vc=4V,Vc=4V,Vd=5V,R=1 kOhm\n", + "#Supply voltages are 15V and -15V. Assuming that the opamp is initially nulled,\n", + "#Determine the output voltage Vo\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Va=2 #Input voltage in volts\n", + "Vb=3 #Input voltage in volts\n", + "Vc=4 #Input voltage in volts\n", + "Vd=5 #Input voltage in volts\n", + "R=1*10**3 #Resistance in ohms\n", + "\n", + "#calculation\n", + "Vo=-Va-Vb+Vc+Vd #Output voltage\n", + "\n", + "#result\n", + "print \"Output voltage is\",Vo,\"Volts\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.7" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Output voltage at 0 degree is 1.47 Volts\n", + "Output voltage at 100 degree is -4.41 Volts\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.7\n", + "#In the circuit of figure 6-12 R1=1 kOhm, Rf=4.7 kOhm, Ra=Rb=Rc=100 kOhm.\n", + "#Vdc=5V and Supply voltages are 15V and -15V.\n", + "#The transducer is a thermistor with the following specifications.\n", + "#Rt=100 kOhm at a reference temperature of 25 degree celcius, temperature\n", + "#coefficient of resistance =-1 kOhm/ degree celcius or 1%/degree celcius.\n", + "#Determine the output voltage Vo at o degree C and 100 degree C.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "R1=1*10**3 #Resistance in ohms\n", + "Rf=4.7*10**3 #Resistance in ohms\n", + "Ra=100*10**3 #Resistance in ohms\n", + "Rb=100*10**3 #Resistance in ohms\n", + "Rc=100*10**3 #Resistance in ohms\n", + "Vdc=5 #dc voltage in Volts\n", + "Rt=100*10**3 #Resistance of a thermistor\n", + "temp_coeff=1*10**3\n", + "R=Ra #Ra=Rb=Rc=R\n", + "\n", + "#calculation\n", + "delta_R=-temp_coeff*(0-25) #Change in resistance\n", + "Vo1=((Rf*delta_R)/(R1*4*R))*Vdc #Output voltage at degrees\n", + "delta_R=-temp_coeff*(100-25) #Change in resistance\n", + "Vo2=((Rf*delta_R)/(R1*4*R))*Vdc #Output voltage at 100 degrees\n", + "\n", + "#result\n", + "print \"Output voltage at 0 degree is\",round(Vo1,2),\"Volts\"\n", + "print \"Output voltage at 100 degree is\",round(Vo2,2),\"Volts\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.8" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Change in resistance is 0.1 ohm\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.8\n", + "#The circuit of Figure 6-12 is used as an analog weight scale with the following\n", + "#specifications. The gain of the differential instrumentation amplifier = -100.\n", + "#Assume that Vdc= +10 V and the opamp supply voltages = +/- 10 V. The unstrained\n", + "#resistance of each of the four elements of the strain gage is 100 ohm Vo= 1 V.\n", + "#When a certain weight is placed on the scale platform,the output voltage Vo=1 V.\n", + "#Assuming that the output is initially 0,determine the change in the resistance\n", + "#of each strain-gage element.\n", + "\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "A=-100 #Gain of the differential instrumentation amplifier\n", + "Ra=100\n", + "Rb=100\n", + "Rc=100\n", + "Vdc=10\n", + "Vo=1\n", + "R=Ra #Ra=Rb=Rc=R\n", + "\n", + "#calculation\n", + "delta_R=(Vo*R)/(Vdc*abs(A)) #Change in resistance\n", + "\n", + "#result\n", + "print \"Change in resistance is\",delta_R,\"ohm\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.9" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Feedback resisrance is 1.8 kOhm\n", + "Gain of the differential amplifier is 38.0\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.9\n", + "#The differential input and output amplifier of figure 6-14(a) is used as a\n", + "#pre-amplifier and requires a differential output of atleast 3.7 V. Determine\n", + "#the gain of the circuit if the differential input Vin=100 mV.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Vo=3.7 #differential output voltage in Volts\n", + "Vin=100*10**-3 #differential input voltage in Volts\n", + "R1=100 #Assume\n", + "Rf=0.5*((Vo*R1)/Vin-1) #Feedback resisrance\n", + "\n", + "#calculation\n", + "A=(1+2*Rf/R1) #Gain of the differential amplifier\n", + "\n", + "#result\n", + "print \"Feedback resisrance is\",round(Rf/10**3,1),\"kOhm\"\n", + "print \"Gain of the differential amplifier is\",round(A,0)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.10" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum input voltage is 1.1 Volts\n", + "Maximum input voltage is 7.48 Volts\n" + ] + } + ], + "source": [ + "#Example 6.10\n", + "#In the figure 6-17, for the indicated values of resistors, determine the full\n", + "#scale range for the input voltage.\n", + "\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "R1min=1*10**3\n", + "R1max=6.8*10**3\n", + "io=1*10**-3 #Meter current for full-wave rectification\n", + "\n", + "\n", + "#calculation\n", + "vin_min=1.1*R1min*io #Minimum input voltage\n", + "vin_max=1.1*R1max*io #Maximum input voltage\n", + "\n", + "#result\n", + "print \"Minimum input voltage is\",vin_min,\"Volts\"\n", + "print \"Maximum input voltage is\",vin_max,\"Volts\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.11" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current through diode is 5.0 mA\n", + "Voltage drop across diode is 0.7 Volts\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.11\n", + "#The circuit of figure 6-18,when the switch is in position 1, Vin=0.5 V and\n", + "#Vo=1.2 V. Determine the current through the diode and the voltage drop across\n", + "#it.Assume that the opamp is initially nulled.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Vin=0.5 #Input voltage\n", + "Vo=1.2 #Output voltage\n", + "R1=100 \n", + "\n", + "\n", + "#calculation\n", + "Io=Vin/R1 #Current through diode\n", + "Vd=Vo-Vin #Voltage drop across diode\n", + "\n", + "#result\n", + "print \"Current through diode is\",Io*10**3,\"mA\"\n", + "print \"Voltage drop across diode is\",Vd,\"Volts\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.12" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Load Current is 0.5 mA\n", + "Output voltage is 2 Volts\n" + ] + } + ], + "source": [ + "\n", + "#Example 6.12\n", + "#The circuit of figure 6-19,Vin=5 V, R=1 Kilo Ohm and V1=1 V. Find\n", + "#a) the load current.\n", + "#b) the output voltage Vo.\n", + "#Assume that the op-amp is initially nulled.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Vin=5 #Input voltage in Volts\n", + "V1=1 #Voltage in Volts\n", + "R1=10*10**3 #Resistance in ohms\n", + "\n", + "\n", + "#calculation\n", + "I1=Vin/R1 #Load current\n", + "Vo=2*V1 #Output voltage\n", + "\n", + "\n", + "#result\n", + "print \"Load Current is\",I1*10**3,\"mA\"\n", + "print \"Output voltage is\",Vo,\"Volts\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.13" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum output voltage is 0.0 Volts\n", + "Maximum output voltage is 5.38 Volts\n" + ] + } + ], + "source": [ + "#Example 6.13\n", + "#The circuit of figure 6-20, Vref=2V, R1=1 kilo Ohm. Rf=2.7 kilo Ohm. Assuming\n", + "#that the opamp is initially nulled, determine the range for the output voltage\n", + "#Vo.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "#Variable declaration\n", + "R1=1*10**3 #Resistance in ohms\n", + "Rf=2.7*10**3 #Resistance in ohms\n", + "Vref=2 #Voltage in Volts\n", + "Io=0 #Since all the binary inputs D0 to D7 are logic zero\n", + "\n", + "\n", + "#calculation\n", + "Vo_min=Io*Rf #Minimum output voltage\n", + "Io=(Vref/R1)*(1/2+1/4+1/8+1/16+1/32+1/64+1/128+1/256)\n", + "Vo_max=Io*Rf #Maximum output voltage\n", + "\n", + "#result\n", + "print \"Minimum output voltage is\",Vo_min,\"Volts\"\n", + "print \"Maximum output voltage is\",round(Vo_max,2),\"Volts\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.14" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum output voltage at darkness is -0.15 Volts\n", + "Maximum output voltage at illumination is -10.0 Volts\n" + ] + } + ], + "source": [ + "#Example 6.14\n", + "#The circuit of figure 6-21, Vdc=5 V and Rf=3 kilo Ohm. Determine the change in\n", + "#the output voltage if the photocell is exposed to light of 0.61 lux from a dark\n", + "#condition.Assume that the opamp is initially nulled.\n", + "\n", + "from __future__ import division #to perform decimal division\n", + "import math\n", + "\n", + "\n", + "#Variable declaration\n", + "Rf=3*10**3\n", + "Vdc=5\n", + "Rt1=100*10**3 #Resistance at darkness in ohms\n", + "Rt2=1.5*10**3 #Resistance at Illumination in ohms\n", + "\n", + "#calculation\n", + "Vomin=-(Vdc/Rt1)*Rf #Min output voltage at darkness\n", + "Vomax=-(Vdc/Rt2)*Rf #Max output voltage at Illumination\n", + "\n", + "#result\n", + "print \"Minimum output voltage at darkness is\",Vomin,\"Volts\"\n", + "print \"Maximum output voltage at illumination is\",round(Vomax,2),\"Volts\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Example 6.15" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAF0BJREFUeJzt3XuYXHV9x/H3QgJeuFrUoFxWEREFFVTY8ihMsJigAqX1\n2j5PC8iKN2yqQDC0TVKkgKL2qX20fZ6IeAO8UBQUqhGZ1SpgWRPdIKhE7jcNNyNYBdn+8TuTPZnM\n7s7Mzpnf75x5v55nnj1n5uyZ7/6Snd9+fr/fnAFJkiRJkiRJkiRJkiRJkiRJUsJuBV4duwipYavY\nBUhNjgMmgEeAe4BPADt28P23Aof3sJ5eny9vMrsBrAA+V9DzSG2xQ1BK3g+ck33dARgB9gRWA/Pb\nPMckMNTDmnp9PknSLHYANgJvaLr/qcCvgOOz/QuAM3OP14A7su3PAX8EHs3OdQowDDwBjAJ3AXcT\nOpyGTs/X7Ebgdbn9ecCvgZdm+0cDNwAPAlcDL8gdewshfSwGfg/8IXueNdnjxwM/BX4DrAfe3vTc\np2U/z53AidnP+dzssW2B84DbgHuBTwJPalG/JCVnMfAYrVPrBcCF2fangX/OPVZj6gUcpl5kG4YJ\nL5RfAJ4M7EfoYBpj952er9k/Ap/P7b+O0AEAPB/4bfZcWwOnAr8gdBrN514OfLbp3K8FnpNtH0oY\nRjsg219MGFLbN/u5Ps/mHcLHgK8COwHbAZcB/zLDzyE5ZKRk7AJsILyoNbsX+JPcfjdDOCuB3wHr\nCJ3AW+d4voYLCSmg8df3XwEXZdtvBr4OXEVIGucRXrwPaXGeoRZ1XEHoNAC+C3wLeFW2/ybgfEJC\n+R2hQ8mfaxR4H/AQoVM6G3hLpz+cBosdglKxgdAptPo/uWv2+Fzk/+q/HXjWHM/XsJ7wonw08BTg\nKKbSzK7ZczVMZnU8u81zHwlcC9xPGHJ6LVMd465s/jPdmdt+elbLePZ9DwJXEtpXmpYdglJxDWEc\n/S+b7t+OMDxyVbb/COHFrmFB0/GTtLZH0/Zdczxf3kWExHEMYcz/l9n9dxMmxRuGgN1zzz3T82wL\nXAJ8CHgGsDMhMTRSxD3ZuRry2xsIqeGF2fftTBg62qGNn0WSknAqYXhoEWFV0TDhRfB6plYZnUj4\ni3xnwov3tWz+l/I1hOGShmHCMNTnCMM1LwLuA/6sy/O1soAw8TwGnJy7vzGHcHhW/ynAzbSeQzgJ\n+B5TL/jbA48T5g6GCGnhEabmOxYTOpwXEDq0z7D5HMK/Al8kpAUIqeQ1s/wckpSUEwjvQ3iUqdUx\n+fchbAtcDDwMrAWWsPmwzNGElTUPEsbQhwkvlCcS/jK/h81XC3V6vul8m7BK6BlN9/85YZL5IcIq\no31zj+U7hKcROoQHCB0gwLsIbfAgYcL5QjafAD89+3nuBN6R/ZyN4ahtgbMIQ1oPE5LLe2aoX4pu\nMXATYeXF0si1qJqGCS+UVR8e3ZeQKKr+c6qitibE52FCnF7L5n89Sb0wTHU7hGMJSWBnwrLS/4pb\njsou5i/JQYQO4VbC+vOLCZNyUq+1MzFcRm8nzIfcTPgdemfcclR282Y/pDDPZstlcwdHqkXVdSsh\njVbRkbELULXETAhV/atNkkopZkK4iy3XUeffXMMuu+w1uWHD+r4WJUkVsB54XqffFDMhXA/sTZj0\n24bwNv/L8gds2LCe226b5IgjJnnZyyaZmJhkcjK92/Lly6PXYJ3WWdYarbP3N2Cvbl6UY3YIjxPW\nRX+TsEb6i4Q3CG1mjz3gm9+Ek06ChQvhrLPg8cf7XKkkDYDYS/GuBPYhRJuzpztoaAhGR2F8HMbG\nYGQE1q3rW42SNBBidwgdSTUt1Gq12CW0xTp7qwx1lqFGsM5UpP5JUJPZeNgWbr8dTjwRHngALrgA\n9tuvv4VJUqqGhoagi9f3UiWEvFTTgiSVVWkTQp5pQZKmDFxCyDMtSNLcVSIh5JkWJA26gU4IeaYF\nSepO5RJCnmlB0iAyIbRgWpCk9lU6IeSZFiQNChPCLEwLkjSzgUkIeaYFSVVmQuiAaUGStjSQCSHP\ntCCpakwIXTItSFIw8Akhz7QgqQpMCD1gWpA0yEwI0zAtSCorE0KPmRYkDZqYHcIbgRuAPwIHRqxj\nWn6Ws6RBErNDmACOBb4bsYa2mBYkDYKYHcJNwM8jPn9HTAuSqs45hA6ZFiRVVdEdwmrC0FDz7aiC\nn7dQpgVJVTSv4PMfMdcTrFixYtN2rVajVqvN9ZQ900gLq1aFtLBkCSxdCvOKblVJyqnX69Tr9Tmf\nJ4X3IVwNnAKMt3gs2vsQOuX7FiSloozvQzgWuAMYAb4BXBmxljlzbkFS2aWQEGZSmoSQZ1qQFFMZ\nE0JlmRYklZEJoWCmBUn9ZkJIlGlBUlmYEPrItCCpH0wIJWBakJQyE0IkpgVJRTEhlIxpQVJqTAgJ\nMC1I6iUTQomZFiSlwISQGNOCpLkyIVSEaUFSLCaEhJkWJHXDhFBBpgVJ/WRCKAnTgqR2mRAqzrQg\nqWgmhBIyLUiaiQlhgJgWJBXBhFBypgVJzUwIA8q0IKlXYiaEDwOvB/4ArAeOBx5uOsaE0AHTgiQo\nZ0L4FvAi4CXAz4EPRKylEkwLkuYiZoewGngi274O2C1iLZUxNASjozA+DmNjMDIC69bFrkpSGaQy\nh3ACcEXsIqrEtCCpU/MKPv9qYEGL+5cBl2fbZxDmES5sdYIVK1Zs2q7VatRqtZ4WWGWNtLBoUfh6\n6aXOLUhVVK/Xqdfrcz5P7GWnxwGjwKuB/2vxuJPKPTI5CatWwbJlsGQJLF0K84r+c0BSFN1OKsfs\nEBYDHwEOAzZMc4wdQo+5EkmqvjKuMvo4sB1hWGkN8ImItQwM5xYkTSf2kNFsTAgFMi1I1VTGhKDI\nTAuS8kwIAkwLUpWYEDQnpgVJJgRtwbQglZsJQT1jWpAGkwlBMzItSOVjQlAhTAvS4DAhqG2mBakc\nTAgqnGlBqjYTgrpiWpDSZUJQX5kWpOoxIWjOTAtSWkwIisa0IFWDCUE9ZVqQ4jMhKAmmBam8TAgq\njGlBisOEoOSYFqRyMSGoL0wLUv+YEJQ004KUvlgJ4UzgaGASuB84DrijxXEmhAoyLUjF6jYhxOoQ\ntgc2ZtsnAy8BTmxxnB1CRU1OwqpVsGwZLFkCS5fCvHmxq5KqoWxDRhtz29sBGyLVoUiGhmB0FMbH\nYWwMRkZg3brYVUmDLeYcwlnA7cDfAudErEMRObcgpaPIIaPVwIIW9y8DLs/tnw7sAxzf4tjJ5cuX\nb9qp1WrUarUelqiUOLcgdader1Ov1zftr1y5Eko0h5C3B3AF0OrX3zmEAePcgjR3ZZtD2Du3fQyw\nJlIdSoxzC1I8sTqEs4EJYC1QA94fqQ4lyrkFqf9SGDKaiUNGcm5B6lDZhoyktpkWpP4wIahUTAvS\n7EwIGgimBak4JgSVlmlBas2EoIFjWpB6y4SgSjAtSFOKTAjntnmfFI1pQZq7dnqQNcABTfdNAPv3\nvpwtmBDUMdOCBl0RCeGdhBf+fbKvjdutwE86rlDqE9OC1J2ZepAdgZ0Jl6Zemjt2I+FTzvrBhKA5\nMS1oEBX5iWl7Ej7qstntnT5ZF+wQNGdeQVWDpsgOYSK3/STgOcDPgBd1+mRdsENQz5gWNCiKXGW0\nf+62N3AQcG2nTyTF5tyCNLNu34ewjtYfaNNrJgQVwrSgKityyCj/WQVbAQcCTwMWdfpkXbBDUGGc\nW1BVFTlktD2wXXbbBvg64VPOpFLz09mkzXXSg+xIWG30m4JqacWEoL4wLahKihwyegVwPrBDtv8Q\n8Dbg+k6frAt2COor5xZUBUUOGZ0PvIvwfoQ9gXdn90mV40okDbJ2OoTHge/l9v8nu68X3g88QZik\nlpLg3IIGVTsdwhjwn0Atu30yu+/A7Nat3YEjgNvmcA6pMKYFDZp2xpjqtL50RcPCLp/7y8CZwNeA\nlwEPtDjGOQQlwbkFlUm3cwjtrKM4Afhl033PbXFfJ44B7sSrpqokGmlh1aqQFlyJpCpq57/zV9hy\naOjLhL/qZ7IaWNDi/jOADwCvyd03bU+2YsWKTdu1Wo1arTbL00rFaMwtLFoUvl56qWlBaajX69Tr\n9TmfZ6ZIsS/wQuDDwCnZsZOE5aen0v3F7fYDrgIezfZ3A+4iXCPpV03HOmSkJPm+BaWsiPchHAMc\nCxwFXJa7fyNwMfCDTp9sGrfgHIJKyrkFpajIN6b9KXBNpyfuwC+Bl2OHoJIyLSg1RXYIn27ab7xC\nn9Dpk3XBDkGlYVpQKop8p/I3CBe0+zph7H9H4JFOn0iqOt+3oLLr5vMQtgK+TxhKKpoJQaVkWlBM\nRSaEZs8Hnt7F90kDw7SgMmqnB/ktU/MGk8B9wOnAJUUVlWNCUOmZFtRvRU4qx2SHoEpwJZL6qegO\n4RjgUEJCGAMu7/SJumSHoEoxLagfipxDOAd4L3ADcGO2fXanTyTJuQWlrZ0eZAJ4KfDHbH9rYC2w\nf1FF5ZgQVFmmBRWlyIQwCeyU29+JmS+HLakNpgWlZqYe5BPAhYSLz50LXJ0dfxhhldHFhVdnQtCA\nMC2ol4qYVF4CvBl4FvBtwiebrQV+CNzbeYldsUPQwHAlknqlyFVGw8BbstuTCanhIuDnnT5ZF+wQ\nNHBMC5qrfr0P4QDCxe72J0wuF80OQQPJtKC5KHJSeR5wNCEZ/DdwE/AXnT6RpPY1Pp1tfBzGxmBk\nBNati12Vqm6mDuE1wPmETzMbJVztdC/C0NHXii9NkiuR1E8zRYrvEOYKLqH1h9f0g0NGUsa5BbXL\naxlJA8C5BbXDDkEaIKYFzaSfn4cgKTLnFlSEWB3CCuBOYE12WxypDqm0XImkXovVIUwCHyW8r+EA\nwnJWSV0wLahXYg4ZpT5/IZWGaUG9ELNDOBn4MfApNr+aqqQutUoLjz0WuyqVRZF/pa8GFrS4/wzg\nWuDX2f6ZwK7A21ocO7l8+fJNO7VajVqt1tsqpYpqrES6//6wEmn/fnyCiaKo1+vU6/VN+ytXroSS\nLjsdJnwkZ6v/ri47leag+X0Lp50G8+fHrkpFK9uy011z28cSPpVNUo+1mluY8LdN04jVIZwL/IQw\nh3AY8PeR6pAGQmNu4R3vgMMPd25BraUwZDQTh4ykHnNuofrKNmQkKRLTgqZjQpAGmGmhmkwIkjpm\nWlCeCUESYFqoEhOCpDkxLciEIGkLpoVyMyFI6hnTwmAyIUiakWmhfEwIkgphWhgcJgRJbTMtlIMJ\nQVLhTAvVZkKQ1BXTQrpMCJL6yrRQPSYESXNmWkiLCUFSNKaFajAhSOop00J8JgRJSTAtlJcJQVJh\nTAtxmBAkJce0UC4xO4STgRuBdcC5EeuQVKChIRgdhfFxGBuDkRGYmIhdlVqJ1SEsBI4GXgzsB5wX\nqQ5JfWJaSF+sOYQvAf8BfGeW45xDkCrIuYVilW0OYW/gUOBaoA68PFIdkiLIp4WFC+GDHzQtpGBe\ngedeDSxocf8Z2fPuDIwAryAkhue2OsmKFSs2bddqNWq1Wo/LlBRDY25h0aKQFi691LTQrXq9Tr1e\nn/N5Yg0ZXQmcA4xl+zcDBwP3Nx3nkJE0ACYnYdUqWLYMliyB006D+fNjV1VeZRsy+ipweLb9fGAb\ntuwMJA0IVyKlIVaHcD5hiGgCuAj4m0h1SEqIK5Hi8p3KkpLkSqTulW3ISJJmZFroPxOCpOSZFjpj\nQpBUWaaF/jAhSCoV08LsTAiSBoJpoTgmBEmlZVpozYQgaeCYFnrLhCCpEkwLU0wIkgaaaWHuTAiS\nKmfQ04IJQZIypoXumBAkVdogpgUTgiS1YFponwlB0sAYlLRgQpCkWZgWZmZCkDSQqpwWTAiS1AHT\nwpZMCJIGXtXSQtkSwsXAmux2S/ZVkqIwLQQpJITzgIeAD7Z4zIQgqa+qkBbKlhAahoA3ARdFrkOS\ngMFOC7E7hFcB9wHrI9chSZsMDcHoKIyPw9gYjIzAxETsqopXZIewGphocTsqd8xbgQsLrEGSujZo\naSHmHMI84E7gQODuaY6ZXL58+aadWq1GrVYrvjJJapLy3EK9Xqder2/aX7lyJXTx+h6zQ1gMLAUW\nznCMk8qSkjE5CatWwbJlsGQJnHYazJ8fu6otlXFS+c04mSypRKo+t5DCstOZmBAkJSnltNBtQrBD\nkKQ5SHFuoYxDRpJUelVaiWRCkKQeSSUtmBAkKbKypwUTgiQVIGZaMCFIUkLKmBZMCJJUsH6nBROC\nJCWqLGnBhCBJfdSPtGBCkKQSSDktmBAkKZKi0oIJQZJKJrW0YEKQpAT0Mi2YECSpxFJICyYESUrM\nXNOCCUGSKiJWWjAhSFLCukkLJgRJqqB+pgUTgiSVRLtpoWwJ4SDgh8Aa4H+BV0SqQ5JKo+i0EKtD\n+BDwj8ABwD9l+6VVr9djl9AW6+ytMtRZhhrBOjsxNASjozA+DmNjMDICExO9OXesDuEeYMdseyfg\nrkh19EQK/0naYZ29VYY6y1AjWGc3ikgLsTqE04GPALcDHwY+EKkOSSqtXqeFeb0rbQurgQUt7j8D\neG92uxR4I3A+cESBtUhSZTXSwqc+FdJCt2KtMvoNsEOuhoeYGkLKuxnYq19FSVJFrAeeF7uIdv0I\nOCzbfjVhpZEkaQC9HLgOWAtcQ1htJEmSJEnBYuAm4BfA0mmO+bfs8R8TL1HMVmcNeJjwhrs1wD/0\nrbIp5wP3ATOtNUihLWers0b8ttwduBq4AVhHWAjRSuz2bKfOGvHb80lMjQz8FDh7muNit2c7ddaI\n354NW2c1XD7N47HbsyNbEyaPh4H5hH+EfZuOeS1wRbZ9MHBtv4rLaafOGnBZX6va0qsI/+jTvdCm\n0JYwe5014rflAuCl2fZ2wM9I8/9mO3XWiN+eAE/Jvs4jtNUrmx5PoT1h9jprpNGeAO8DvkDrejpq\nzxQubncQ4YX2VuAx4GLgmKZjjgY+k21fR3gz2zP7VF9DO3VC/OtDfQ94cIbHU2hLmL1OiN+W9xI6\nfoDfAjcCz2o6JoX2bKdOiN+eAI9mX7ch/JH1QNPjKbQnzF4npNGeuxFe9FfRup6O2jOFDuHZwB25\n/Tuz+2Y7ZreC62rWTp2TwCGEaHYF8ML+lNaRFNqyHam15TAh0VzXdH9q7TlM6zpTac+tCJ3XfYRh\nrp82PZ5Ke85WZyrt+THgVOCJaR7vqD1T6BDavZxpc+/X78ugtvN8PyKM574E+Djw1UIr6l7stmxH\nSm25HfAV4O8If4E3S6U9Z6ozlfZ8gjC8tRtwKGHopVkK7TlbnSm05+uBXxHmD2ZKK223Zwodwl2E\nhm3YndCLzXTMbvT/+kft1LmRqah5JWGu4WnFl9aRFNqyHam05XzgEuDztP6lT6U9Z6szlfZseBj4\nBmEJel4q7dkwXZ0ptOchhCGhW4CLgMOBzzYdk1p7zmoe4V11w4TxutkmlUeIM9HUTp3PZKo3Pogw\n3xDDMO1NKsdqy4Zhpq8zhbYcIvyCfWyGY1Joz3bqTKE9dyGMYQM8Gfgu4Y2peSm0Zzt1ptCeeYfR\nepVRCu3ZsSMJKyNuZupCdydlt4Z/zx7/MXBgX6ubMlud7yYs+1sL/IDwD9BvFwF3A38gjB2eQJpt\nOVudKbTlKwlDB2uZWl54JOm1Zzt1ptCe+xOGWtYCPyGMfUN67dlOnSm0Z95hTK0ySq09JUmSJEmS\nJEmSJEmSJEmSJKnKdgTemW3vCnw5Yi2SpIiGmfmzJCRJA+JiwjVq1gBfYqpzOI5wjaBvEa4d8x7g\nFMI7Wq8Bds6O24twbZvrCZc82KdPdUuSemxPpjqB/PZxhE+deirhWjcPA2/PHvso4QqjAFcBz8u2\nD872pVKYF7sAKTFD02xDuC7+I9ntIaYuJjYBvJjQWRzC5vMO2xRTptR7dghS+36f234it/8E4Xdp\nK8KnwCX/ubVSKyl8HoKUko3A9h1+TyNJbCTML7whd/+Le1SXVDg7BGlz9wPfJwwDfYipT5eaZPNP\nmmrebuz/NfA2wmWR1xE+wESSJEmSJEmSJEmSJEmSJEmSJEmSJKl6/h8flz155YhO7wAAAABJRU5E\nrkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7f75432e8a90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "\n", + "#Example 6.15\n", + "#In the figure 6-23, R1Cf=1 second, and the input is a step(dc) voltage, as\n", + "#shown in figure 6-26(a). Determine the output voltage and sketch it.\n", + "#Assume that the opamp is initially nulled.\n", + "\n", + "%matplotlib inline\n", + "import math\n", + "import scipy\n", + "from matplotlib.pyplot import ylabel, xlabel, title, plot, show\n", + "import scipy.integrate\n", + "\n", + "\n", + "#Variable declaration\n", + "Vin=2 #Input voltage in Volts\n", + "VoO=0 #Output offset voltage\n", + "\n", + "\n", + "#calculation\n", + "\n", + "def integrnd(x) :\n", + " return 2\n", + "val1, err = scipy.integrate.quad(integrnd, 0, 1)\n", + "val2, err = scipy.integrate.quad(integrnd, 1, 2)\n", + "val3, err = scipy.integrate.quad(integrnd, 2, 3)\n", + "val4, err = scipy.integrate.quad(integrnd, 3, 4)\n", + "\n", + "a=-val1\n", + "b=a+-val2\n", + "c=b+-val3\n", + "d=c+-val4\n", + "\n", + "import matplotlib.pyplot as plt\n", + "x=[0,1,2,3,4]\n", + "y=[VoO,a,b,c,d]\n", + "plt.plot(x,y)\n", + "title('Output voltage')\n", + "xlabel('time')\n", + "ylabel('Voutput')\n", + "plt.show()\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |