From 6e3407ba85ae84e1cee1ae0c972fd32c5504d827 Mon Sep 17 00:00:00 2001 From: tslee Date: Thu, 27 Nov 2014 17:17:59 +0530 Subject: added books --- .../C14_1.ipynb | 509 +++++++++++++++++++++ 1 file changed, 509 insertions(+) create mode 100644 Operational_Amplifiers_and_Linear_Integrated_Circuit/C14_1.ipynb (limited to 'Operational_Amplifiers_and_Linear_Integrated_Circuit/C14_1.ipynb') diff --git a/Operational_Amplifiers_and_Linear_Integrated_Circuit/C14_1.ipynb b/Operational_Amplifiers_and_Linear_Integrated_Circuit/C14_1.ipynb new file mode 100644 index 00000000..5eaa01c3 --- /dev/null +++ b/Operational_Amplifiers_and_Linear_Integrated_Circuit/C14_1.ipynb @@ -0,0 +1,509 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 14:Digital to analog Converters" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.1 Page no 403" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "n=8 #An 8-bit DAC wire\n", + "V1=0 #Voltage range\n", + "V2=5.12\n", + "\n", + "#Calculation\n", + "R=2**n\n", + "dvo=V2/R\n", + "Vfs=V2*(1-1/R)\n", + "\n", + "#Result\n", + "print\"(a)The resolution is\",R\n", + "print\"(b)The output change per bit is\",dvo*1000,\"mV/bit\"\n", + "print\"(c)the ideal full scale output voltage is\",Vfs,\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)The resolution is 256\n", + "(b)The output change per bit is 20.0 mV/bit\n", + "(c)the ideal full scale output voltage is 5.12 V\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.2 Page no 404" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "Res=20 #mV/bit\n", + "#From the given code 00010110 and 10000000\n", + "#The binary weighted code for unipolar operation\n", + "b7=0\n", + "b6=0\n", + "b5=0\n", + "b4=1\n", + "b3=0\n", + "b2=1\n", + "b1=1\n", + "b0=0\n", + "#For part (b)\n", + "b7_=1\n", + "b6_=0\n", + "b5_=0\n", + "b4_=0\n", + "b3_=0\n", + "b2_=0\n", + "b1_=0\n", + "b0_=0\n", + "\n", + "#Calculation\n", + "D=b7*2**7+b6*2**6+b5*2**5+b4*2**4+b3*2**3+b2*2**2+b1*2**1+b0*2**0\n", + "Vo=D*Res*10**-3\n", + "D_=b7_*2**7+b6_*2**6+b5_*2**5+b4_*2**4+b3_*2**3+b2_*2**2+b1_*2**1+b0_*2**0\n", + "Vo_=D_*Res*10**-3\n", + "\n", + "#Resul\n", + "print\"(a)The output voltage is\",Vo,\"V\"\n", + "print\"(b)The output voltage is\",Vo_,\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)The output voltage is 0.44 V\n", + "(b)The output voltage is 2.56 V\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.3 Page no 404" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "#From Example 14.1\n", + "n=8 #An 8-bit DAC wire\n", + "V1=0 #Voltage range\n", + "V2=5.12\n", + "\n", + "#Calculation\n", + "dvo=2*V2/2**n \n", + "\n", + "#Result\n", + "print\"The full scale output voltage range\",dvo*1000,\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The full scale output voltage range 40.0 V\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.4 Page no 405" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "Vref=10.24 #V, input ref voltage\n", + "p=0.05 #Percentage error\n", + "n=12 #12 bit unipolar DAC\n", + "\n", + "#Calculation\n", + "Voff=0.05/100*Vref\n", + "dvo=Vref/(2**n)\n", + "a=Voff/dvo\n", + "\n", + "#REsult\n", + "print\"The offset voltage is\",Voff*1000,\"mV\"\n", + "print\"Interms of least significant bit(s) it is\",dvo*1000,\"mV/bit\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The offset voltage is 5.12 mV\n", + "Interms of least significant bit(s) it is 2.5 mV/bit\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.5 Page no 407" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "n=8.0 #8-bit DAC\n", + "error=0.2 #percent\n", + "Vref=5.12 #V\n", + "Vos=0\n", + "\n", + "#Calculation\n", + "V11=(((-error/100.0))+1)*(Vref)+Vos\n", + "\n", + "#REsult\n", + "print\"The minimum output voltage is\",round(V11,1),\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum output voltage is 5.1 V\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.6 Page no 411" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "n=4.0 #4 bit resistance ladder\n", + "R=10.0 #kohm\n", + "Vref=10.0 #V\n", + "\n", + "#Calculation\n", + "Res=Vref/(2**n*R*10**3)\n", + "\n", + "#From dicimal value of binary 1111\n", + "D=15\n", + "Iout=Res*D\n", + "\n", + "#Result\n", + "print\"The resolution of 1 LSB is\",Res*10**6,\"microA\"\n", + "print\"output current is\",Iout*1000,\"microA\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The resolution of 1 LSB is 62.5 microA\n", + "output current is 0.9375 microA\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.7 Page no 412" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "Io=62.5 #microA, from ex. 14.6\n", + "Rf=10 #kohm , from fig.14.7\n", + "Vref=10 #V, reference voltage\n", + "R=Rf\n", + "n=4 #no of bits\n", + "\n", + "#Calculation\n", + "VR=Io*Rf*10**-3\n", + "D=15 #For a digital input of 1111\n", + "Vo=-VR*D\n", + "\n", + "#REsult\n", + "print\"The voltage resolution of 1 LSB is\",VR,\"V\"\n", + "print\"When digital input is 1111 , Vo is\",Vo,\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The voltage resolution of 1 LSB is 0.625 V\n", + "When digital input is 1111 , Vo is -9.375 V\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.8 Page no 416" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "Vref=10.0 #V, from fig. 14.8. reference voltage\n", + "Rref=5.0 #kohm\n", + "n=8.0 #no of bits\n", + "\n", + "#Calculation\n", + "Iref=Vref/Rref\n", + "I=Vref/(Rref*2**n)\n", + "\n", + "#Result\n", + "print\"The ladder input current is\",Iref,\"mA\"\n", + "print\"Current value of 1 LSB is\",round(I*1000,3),\"microA\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The ladder input current is 2.0 mA\n", + "Current value of 1 LSB is 7.813 microA\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.9 Page no 417" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "I=7.812 #Current resolution from ex 14.8\n", + "\n", + "\n", + "#Calculation\n", + "Ifs=I*10**-3*255 #From eq. 14-15(a)\n", + "#The value of D for part (a),(b),(c)\n", + "D1=1 #for digital input 00000001\n", + "D2=128\t\t#for digital input 10000000\n", + "D3=255\t\t#for digital input 11111111\n", + "Iout1=I*D1\n", + "Iout2=I*D2\n", + "Iout3=I*D3\n", + "Iout_1=Ifs-Iout1*10**-3\n", + "Iout_2=Ifs-Iout2*10**-3\n", + "Iout_3=Ifs-Iout3*10**-3\n", + "\n", + "#Result\n", + "print\"(a) The Iout is\",Iout1,\"mA and Iout_ is\",round(Iout_1,3),\"mA\"\n", + "print\"(b) The Iout is\",Iout2,\"mA and Iout_ is\",round(Iout_2,3),\"mA\"\n", + "print\"(c) The Iout is\",Iout3,\"mA and Iout_ is\",Iout_3,\"mA\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a) The Iout is 7.812 mA and Iout_ is 1.984 mA\n", + "(b) The Iout is 999.936 mA and Iout_ is 0.992 mA\n", + "(c) The Iout is 1992.06 mA and Iout_ is 0.0 mA\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.10 Page no 417" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "#From fig 14.8 (a)\n", + "Vref=10 #V\n", + "Rf=5\t\t#kohm\n", + "Rref=5.0\t\t#kohm\n", + "n=8\t\t#\n", + "\n", + "#Calculation\n", + "VR=Vref*Rf/(Rref*2**n)\n", + "D1=1\t\t#Value of D for 00000001\n", + "D2=255\t\t#Value of D for 11111111\n", + "Vo1=VR*1000*D1\n", + "Vo2=VR*1000*D2\n", + "\n", + "#Result\n", + "print\"(a) Vo is \",round(Vo1,0),\"V\"\n", + "print\"(b) Vo is \",round(Vo2/1000,3),\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a) Vo is 39.0 V\n", + "(b) Vo is 9.961 V\n" + ] + } + ], + "prompt_number": 43 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 14.11 Page no 418" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given\n", + "#From fig 14.9(a)\n", + "I=8 #microA, value of 1 LSB\n", + "Rf=5\t\t# kohm\n", + "\n", + "#Calculation\n", + "#from eq 14-15(a)\n", + "Ifs=I*10**-3*255\n", + "D1=0 \t\t#Value of D for 00000000\n", + "Iout1=I*D1\n", + "Iout_1=Ifs-Iout1\n", + "Vo1=(Iout1-Iout_1)*Rf\n", + "\n", + "D2=127 #From digital value(b)\n", + "Iout2=I*D2\n", + "Iout_2=Ifs-Iout2/1000.0\n", + "Vo2=(Iout2/1000.0-Iout_2)*Rf\n", + "\n", + "D3=128 \t\t#Value of D for 00000000\n", + "Iout3=I*D3\n", + "Iout_3=Ifs-Iout3/1000.0\n", + "Vo3=(Iout3/1000.0-Iout_3)*Rf\n", + "\n", + "D4=255 \t\t#Value of D for 00000000\n", + "Iout4=I*D4\n", + "Iout_4=Ifs-Iout4/1000\n", + "Vo4=(Iout4/1000-Iout_4)*Rf\n", + "\n", + "#Result\n", + "print\"(a)Vo is \",Vo1,\"V . (b)Vo is \",round(Vo2,3),\"V. (c)Vo is \",Vo3,\"V .(d)Vo is \",round(Vo4,0),\"V\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " 2.04\n", + "(a)Vo is -10.2 V . (b)Vo is -0.04 V. (c)Vo is 0.04 V .(d)Vo is 10.0 V\n" + ] + } + ], + "prompt_number": 35 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file -- cgit