summaryrefslogtreecommitdiff
path: root/OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb')
-rw-r--r--OpAmps_And_Linear_Integrated_Circuits_by_Gayakwad/Chapter6.ipynb876
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": "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\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
+}