{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 3 - Analog to Digital Converters & Digital Voltmeters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1 - pg 3_5" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resolution (mV/LSB) = 20.0\n", "digital output voltage (LSBs) = 64.0\n", "Binary equivalent of 64 is 0b1000000\n" ] } ], "source": [ "#Chapter-3,Example3_1,pg 3_5\n", "#calculate the Resolution and digital output voltage\n", "#given\n", "n=8\n", "Vifs=5.1\n", "Vi=1.28\n", "#calculations\n", "Res1=2**n\n", "Res2=Vifs/((2**n)-1)\n", "Res=Res2*1000#in mv/LSB\n", "D=Vi/Res2\n", "strin=bin(64)\n", "#results\n", "print\"Resolution (mV/LSB) = \",Res\n", "print\"digital output voltage (LSBs) = \",D\n", "print\"Binary equivalent of 64 is\",strin" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2 - pg 3_6" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "quantisation error (mV) = 0.5\n" ] } ], "source": [ "#Chapter-3,Example3_2,pg 3_6\n", "#calculate the quantisation error\n", "#given\n", "Vifs=4.095\n", "n=12.\n", "#calculations\n", "Qe=Vifs/(((2**n)-1)*2)\n", "#results\n", "print\"quantisation error (mV) = \",round(Qe*1000.,1)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 3 - pg 3_10" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "In case 1, t2 (ms) = 83.33\n", "In case 2, t2 (ms) = 166.66\n" ] } ], "source": [ "#Chapter-3,Example3_3,pg 3_10\n", "#calculate the value of t2 in both cases\n", "#given\n", "V1=100.*10**-3\n", "Vr=100.*10**-3\n", "t1=83.33\n", "Vi=200.*10**-3#input voltage\n", "#calculations\n", "t2=(V1/Vr)*t1\n", "t22=(Vi/Vr)*t1\n", "#results\n", "print\"In case 1, t2 (ms) = \",t2\n", "print\"In case 2, t2 (ms) = \",t22\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 4 - pg 3_10" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "digital output (counts) = 1000.0\n" ] } ], "source": [ "#Chapter-3,Example3_4,pg 3_10\n", "#calculate the digital output\n", "#given\n", "fclk=12.*10**3#clock frequency\n", "t1=83.33*10**-3\n", "V1=100.*10**-3\n", "Vr=100.*10**-3\n", "#calculations\n", "D=fclk*t1*(V1/Vr)\n", "#results\n", "print\"digital output (counts) = \",round(D,0)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 5 - pg 3_13" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "conversion time (musec) = 9.0\n" ] } ], "source": [ "#Chapter-3,Example3_5,pg 3_13\n", "#calculate the conversion time\n", "#given\n", "F=1*10**6\n", "n=8\n", "#calculations\n", "T=1./F\n", "Tc=T*(n+1)\n", "#results\n", "print\"conversion time (musec) = \",Tc*10**6\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 6 - pg 3_15" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "maximum input frequency (Hz) = 69.08\n" ] } ], "source": [ "#Chapter-3,Example3_6,pg 3_15\n", "#calculate the maximum input frequency\n", "import math\n", "#given\n", "Tc=9*10**-6\n", "n=8\n", "#calculations\n", "fmax=1./(2*math.pi*Tc*(2**n))\n", "#results\n", "print\"maximum input frequency (Hz) = \",round(fmax,2)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 7 - pg 3_37" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "least diffrence in readings for 50V range (V) = 0.05\n" ] } ], "source": [ "#Chapter-3,Example3_7,pg 3_37\n", "#calculate the least difference in readings\n", "#given\n", "n=3.#3 full digits\n", "#calculations\n", "R=1./(10**n)\n", "#for 1V range\n", "Res1=1*R\n", "#for 50V range\n", "Res2=50*R\n", "#results\n", "print\"least diffrence in readings for 50V range (V) = \",Res2\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 8 - pg 3_38" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "error when reading is 5V (V) = 0.035\n", "percent error when reading is 0.1V (percent) = 10.5\n" ] } ], "source": [ "#Chapter-3,Example3_8,pg 3_38\n", "#calculate the percent error \n", "#given\n", "n=3.\n", "#calculations and results\n", "R=1./(10**n)\n", "#for 10V range\n", "R=R*10.\n", "err1=R#1-digit error\n", "#reading is 5V\n", "err=(0.5/100)*5#error due to reading\n", "errt=err1+err#total error\n", "print\"error when reading is 5V (V) = \",errt\n", "\n", "#reading is 0.1V\n", "err=(0.5/100)*0.1#error due to reading\n", "errt=err+err1#total error\n", "errp=(errt/0.1)*100\n", "print\"percent error when reading is 0.1V (percent) = \",errp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 9 - pg 3_38" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "senstivity of meter (V) = 1e-06\n" ] } ], "source": [ "#Chapter-3,Example3_9,pg 3_38\n", "#calculate the senstivity of meter\n", "#given\n", "n=4.\n", "fsmin=10*10**-3#full scale value on min. range\n", "#calculations\n", "R=1/(10**n)\n", "S=fsmin*R\n", "#results\n", "print\"senstivity of meter (V) = \",S\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 10 - pg 3_39" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "resolution = 0.0001\n", "12.98 would be displayed as 12.980 for 10V range\n", "\n", "0.6973 would be displayed as 0.6973 for 1V range\n", "\n", "0.6973 would be displayed as 0.697 for 10V range\n", "\n" ] } ], "source": [ "#Chapter-3,Example3_10,pg 3_39\n", "#calculate the resolution\n", "#given\n", "n=4.\n", "#calculations\n", "R1=1./(10**n)\n", "#for 10V range\n", "R=10*R1\n", "#results\n", "print \"resolution = \",R1\n", "print\"12.98 would be displayed as 12.980 for 10V range\\n\"\n", "#for 1V range\n", "R=1*R\n", "print\"0.6973 would be displayed as 0.6973 for 1V range\\n\"\n", "#for 10V range\n", "print\"0.6973 would be displayed as 0.697 for 10V range\\n\"\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.9" } }, "nbformat": 4, "nbformat_minor": 0 }