diff options
Diffstat (limited to 'Linear_Integrated_Circuits/Chapter10.ipynb')
-rwxr-xr-x | Linear_Integrated_Circuits/Chapter10.ipynb | 305 |
1 files changed, 305 insertions, 0 deletions
diff --git a/Linear_Integrated_Circuits/Chapter10.ipynb b/Linear_Integrated_Circuits/Chapter10.ipynb new file mode 100755 index 00000000..db7e9c1b --- /dev/null +++ b/Linear_Integrated_Circuits/Chapter10.ipynb @@ -0,0 +1,305 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10 : D-A and A-D Converters" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.1 Page No.357" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given Data \n", + "\n", + "n = 9\n", + "s = 10.3*10**-3\n", + "a = '0b101101111'\n", + "\n", + "# Solution \n", + "# Converting the given value into its equivalent decimal value\n", + "x = int(a,2)\n", + "#multiplying with the resolution to get the output\n", + "\n", + "V = round(x*s,2)\n", + "\n", + "print \"The output value will be =\",V,\"V\" \n", + "\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The output value will be = 3.78 V\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.2 Page No.357" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from fractions import Fraction \n", + "# Given data \n", + "\n", + "n = 8\n", + "v = 10.0\n", + "\n", + "# Solution \n", + "LSB = 1.0/2**n\n", + "Vlsb =v/2**n\n", + "MSB = v/2\n", + "Vo = v - Vlsb\n", + "\n", + "# Dispalying the output\n", + "\n", + "print \"The value of LSB = \",Fraction(LSB).limit_denominator(256)\n", + "print \"The voltage of LSB = \",int(Vlsb*10**3),\"mV\"\n", + "print \"The MSB = \",int(MSB)\n", + "print \"The value of full scale output is = \",round(Vo,3),\"V\"\n", + " \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of LSB = 1/256\n", + "The voltage of LSB = 39 mV\n", + "The MSB = 5\n", + "The value of full scale output is = 9.961 V\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.3 Page No.357" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import numpy as np\n", + "V = 10.0 # Range of the DAC is 0 -10 voltage \n", + "\n", + "# define a function for performing the DAC action\n", + "\n", + "def DAC(Vo):\n", + " j = 1\n", + " sum = 0.0\n", + " x = len(Vo)\n", + " for i in range(x):\n", + " sum = sum + ((Vo[i])*(0.5**j))\n", + " j += 1\n", + " \n", + " return (V*sum)\n", + "# part 1 \n", + "Vo1 = np.array([1, 0])\n", + "# part 2\n", + "Vo2 = np.array([0, 1, 1, 0])\n", + "#part 3\n", + "Vo3 = np.array([1, 0, 1, 1, 1, 1, 0, 0])\n", + "\n", + "# Finding the solution for all 3 parts and printing the outputs \n", + "\n", + "print \" The output for part 1\",int(DAC(Vo1)),\"V\"\n", + "print \" The output for part 2\",(DAC(Vo2)),\"V\"\n", + "print \" The output for part 3\",round(DAC(Vo3),2),\"V\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The output for part 1 5 V\n", + " The output for part 2 3.75 V\n", + " The output for part 3 7.34 V\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.4 Page No.365" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given data \n", + "n = 16 \n", + "Clockrate = 4*10**6\n", + "V = 10.0\n", + "c = 0.1*10**-6\n", + "va = -8.0\n", + "\n", + "# Solution \n", + "\n", + "t21 = (2.0**n)/(Clockrate)\n", + "R = ((-V/va)*t21)/c\n", + "\n", + "print \"The value of (t2-t1) =\",round(t21*10**3,2),\"ms\"\n", + "print \"The value of Resistor R =\",int(round(R*10**-3)),\"kilo Ohms\"\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of (t2-t1) = 16.38 ms\n", + "The value of Resistor R = 205 kilo Ohms\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.5 Page No.365" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data \n", + "\n", + "Va = 4.129\n", + "n = 16\n", + "Vr = 8\n", + "\n", + "# Solution \n", + "\n", + "N = int(round((2**n)*(Va/Vr)))\n", + "out = bin(N) # Converting the voltage value into its binary equivalent\n", + "\n", + "print \"The binary equivalent is = \",out\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The binary equivalent is = 0b1000010000100001\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.6 Page No.368" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data \n", + "\n", + "d = 3.5 \n", + "print \"The last 3 digit can be\",000,\"To\",(10**int(d))-1\n", + "print \"Hense the 3 1/2 digit DVM reading varies from\",0000,\"to\",\"1\"+str((10**int(d))-1)\n", + "# Reference voltage is 2V\n", + "Vref = 2.0\n", + "# Resolution R \n", + "\n", + "R = Vref/2000\n", + "print \"The resolution of a 3 1/2 digit DVM is =\",int(R*10**3),\"mV\"\n", + "\n", + "# Similarly for 4 1/2 digit DVM\n", + "\n", + "R1 = Vref/20000\n", + "\n", + "print \"Thus resolution of a 4 1/2 digit DVM is =\",R1*10**3,\"mV\"\n", + "\n", + "print \"So the resolution of 4 1/2 digit DVM is better than 3 1/2 digit DVM\"\n", + " \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The last 3 digit can be 0 To 999\n", + "Hense the 3 1/2 digit DVM reading varies from 0 to 1999\n", + "The resolution of a 3 1/2 digit DVM is = 1 mV\n", + "Thus resolution of a 4 1/2 digit DVM is = 0.1 mV\n", + "So the resolution of 4 1/2 digit DVM is better than 3 1/2 digit DVM\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |