{ "metadata": { "name": "", "signature": "sha256:8a254c33be18374a78b4f00ca9688168896a7d9ddc01623f880056b5f9ba95d9" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter6: A/D, D/A Converters" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.1:pg-311" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Ex 6.1 \n", "n=8 #no. of bits\n", "V1=0 #V\n", "V2=5.12 #V\n", "Res=2**n #resolution\n", "print Res,\" =(a) Resolution\" \n", "delVo=(V2-V1)/Res*1000 #mV/bit\n", "print int(delVo),\" =(b) Output change per bit(mV/bit) \" \n", "VFS=V2*(1-1/2**n) #V\n", "print round(VFS,1),\" =(c) Full scale Output voltage(V) \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "256 =(a) Resolution\n", "20 =(b) Output change per bit(mV/bit) \n", "5.1 =(c) Full scale Output voltage(V) \n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.2:pg-312" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Ex 6.2\n", "import math\n", "step=10.3 #mV\n", "reading='101101111' #reading\n", "Vo=step*int(reading,2)/1000 #V\n", "print round(Vo,2),\" = Output voltage(V) \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3.78 = Output voltage(V) \n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.3:pg-312" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.3\n", "n=8.0 #no. of bits\n", "V=10 #volts\n", "LSB=V*1/2**n #V\n", "MSB=V*1/2**0 #V \n", "VFS=MSB-LSB #V\n", "print int(LSB*1000),\" = LSB(mV) \" \n", "print MSB,\" = MSB(V) \" \n", "print round(VFS,3),\" = VFS(V) \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "39 = LSB(mV) \n", "10 = MSB(V) \n", "9.961 = VFS(V) \n" ] } ], "prompt_number": 19 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.4:pg-312" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.4\n", "import math\n", " #(i)2-bit DAC\n", "n=2.0 #no. of bits\n", "V=10.0 #max Voltage\n", "step=V/2**n #V\n", "reading='10' #input in binary\n", "Vo=step*int(reading,2) #V\n", "print Vo,\" =(i) Output Voltage(V) \" \n", " #(ii)4-bit DAC\n", "n=4.0 #no. of bits\n", "step=V/2**n #V\n", "reading='0110' #input in binary\n", "Vo=step*int(reading,2) #V\n", "print Vo,\" =(ii) Output Voltage(V) \" \n", " #(i)8-bit DAC\n", "n=8.0 #no. of bits\n", "step=V/2**n #V\n", "reading='10111100' #input in binary\n", "Vo=step*int(reading,2) #V\n", "print round(Vo,2),\" =(iii) Output Voltage(V) \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5.0 =(i) Output Voltage(V) \n", "3.75 =(ii) Output Voltage(V) \n", "7.34 =(iii) Output Voltage(V) \n" ] } ], "prompt_number": 25 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.5:pg-313" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.5\n", "import math\n", "n=8.0 #no. of bits\n", "Res=20.0 #mV/bit(Resolution)\n", "reading='00010110' #input in binary\n", "Vo=Res*int(reading,2) #V\n", "print Vo/1000,\" =(a) Output Voltage(V) \" \n", "reading='10000000' #input in binary\n", "Vo=Res*int(reading,2) #V\n", "print Vo/1000,\" =(b) Output Voltage(V) \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.44 =(a) Output Voltage(V) \n", "2.56 =(b) Output Voltage(V) \n" ] } ], "prompt_number": 27 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.6:pg-313" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.6 \n", "n=12 #no. of bits\n", "Eoff=0.05 #% #maximum offset error\n", "Vref=10.24 #V\n", "Voffset=Eoff/100*Vref #V\n", "print int(Voffset*1000),\" =(a) Offset voltage(mV) \" \n", "delVo=Vref/2**n #V/bit\n", "Voff_dash=Voffset/delVo #in terms of LSB\n", "print int(Voff_dash),\" =(b) Offset voltage in terms of LSB \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5 =(a) Offset voltage(mV) \n", "2 =(b) Offset voltage in terms of LSB \n" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.7:pg-313" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.7 \n", "n=8 #no. of bits\n", "E=0.2 #% #maximum gain error\n", "Vref=5.1 #V\n", "V11=(100-E)*Vref/100 #V\n", "print V11,\" =Minimum output voltage(V) \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5.0898 =Minimum output voltage(V) \n" ] } ], "prompt_number": 30 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.8:pg-326" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.8\n", "n=8.0 #no. of bits\n", "V=10.0 #V maximum\n", "Vin=5.2 #V\n", "oneLSB=V/2**n #V\n", "print round(oneLSB*1000,1),\" =(a) Minimum voltage for 1 LSB in mV \" \n", "Vifs=round(V-oneLSB,3) #V\n", "\n", "print Vifs,\" =(b) For all ones input voltage should be (V) \" \n", "D=Vin/oneLSB #Digital output in decimal \n", "print int(D),\" =(c) Digital Output \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "39.1 =(a) Minimum voltage for 1 LSB in mV \n", "9.961 =(b) For all ones input voltage should be (V) \n", "133 =(c) Digital Output \n" ] } ], "prompt_number": 45 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex6.9:pg-326" ] }, { "cell_type": "code", "collapsed": false, "input": [ " #Ex 6.9\n", "n=8 #no. of bits\n", "f=1 #MHz(Clock frequency) \n", "TC=1/f*(n+1) #seconds\n", "print TC,\" = time in micro seconds \" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "9 = time in micro seconds \n" ] } ], "prompt_number": 52 } ], "metadata": {} } ] }