{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<h1> Chpater 7: PERFORMANCE ANALYSIS OF DIGITAL COMMUNICATION SYSTEMS<h1>"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.15, Page No 414"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "#initialisation of variables\n",
      "T=1.0*10**-6             #ms\n",
      "A=10.0*10**-3\n",
      "N=1*10**-11\n",
      "\n",
      "#CALCULATIONS\n",
      "Eb=((A**2)*T)/2.0\n",
      "Epb=math.sqrt(Eb/N)\n",
      "Pb=(1.0/2)*math.erfc(Epb)*(1.0/4)\n",
      "\n",
      "#RESULTS\n",
      "print(\"Bit error probability = %.2f X 10^-4 \" %(Pb*(10**4)))\n",
      "print('Approximation error')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Bit error probability = 1.96 X 10^-4 \n",
        "Approximation error\n"
       ]
      }
     ],
     "prompt_number": 44
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.16, Page No 420"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "Br=25*10**6             #bits/sec\n",
      "N=2*10**-20             #Power spectral density of noise\n",
      "A=1.0*10**-6\n",
      "Ps=1*10**-12            # Normalized power\n",
      "\n",
      "#CALCULATIONS\n",
      "Tb=1.0/Br\n",
      "Ps=(A**2)/2.0\n",
      "Pe=1.0/2*(math.erfc((0.6*Ps*Tb)/N))\n",
      "#RESULTS\n",
      "print(\"Average probability of bit error is Pe= %.2f X 10^-4 \" %(Pe*10))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Average probability of bit error is Pe= 1.98 X 10^-4 \n"
       ]
      }
     ],
     "prompt_number": 45
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.17, Page No 423"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Find probability of error\n",
      "\n",
      "#initialisation of variables\n",
      "A=2.0\n",
      "N0=2.0*10**-4  #power sepctral density\n",
      "\n",
      "#CALCULATIONS\n",
      "Tmin=(6.76*N0)/4\n",
      "\n",
      "#RESULTS\n",
      "print(\"The min time for which the signal should be extended is Tmin= %.3f X 10^-3 msec \" %(Tmin*10**3))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The min time for which the signal should be extended is Tmin= 0.338 X 10^-3 msec \n"
       ]
      }
     ],
     "prompt_number": 46
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.20, Page No 428"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#The average carrier\n",
      "\n",
      "#initialisation of variables\n",
      "Pe=10**-4\n",
      "N0=2*10**10\n",
      "T=1.0/10**6\n",
      "\n",
      "#CALCULATIONS\n",
      "E=6.76*N0\n",
      "P=E/T\n",
      "Eb=8.5171*N0\n",
      "P2=Eb/T\n",
      "\n",
      "\n",
      "#RESULTS\n",
      "print(\"The average carrier = %.3f X 10^-3 mW \" %(P2/10**17))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The average carrier = 1.703 X 10^-3 mW \n"
       ]
      }
     ],
     "prompt_number": 47
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.21, Page No 430"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#The average carrier\n",
      "\n",
      "#initialisation of variables\n",
      "A=0.2*10**-3          #V\n",
      "T=2*10**-6\n",
      "N0=2*10**-15\n",
      "\n",
      "#CALCULATIONS\n",
      "Pe=(math.sqrt((A**2*T)/4*N0))\n",
      "\n",
      "#RESULTS\n",
      "print(\"The average carrier = %.3f X 10^-4 mW \" %(Pe*10**15))\n",
      "print(\"Approximation error\")"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The average carrier = 6.325 X 10^-4 mW \n",
        "Approximation error\n"
       ]
      }
     ],
     "prompt_number": 48
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.29, Page No 447"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "A=1.0\n",
      "N0=2.0*10**-5  #power sepctral density\n",
      "\n",
      "#CALCULATIONS\n",
      "T=((3.71**2)*2*N0)/(A**2)\n",
      "Br=1/T\n",
      "#Results\n",
      "print(\"Bit rate Br= %.2f k bits/sec\" %(Br/(10**3)))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Bit rate Br= 1.82 k bits/sec\n"
       ]
      }
     ],
     "prompt_number": 49
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.31, Page No 448"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "Pe=10.0**-4 #probability of error of PSK\n",
      "N0=2.0*10**-10\n",
      "Br=10**6                  #Bit Rate\n",
      "\n",
      "\n",
      "#CALCULATIONS\n",
      "T=1.0/Br\n",
      "E=N0*6.76\n",
      "P=E/T\n",
      "Eb=8.5171*N0\n",
      "Pb=Eb/T\n",
      "#Results\n",
      "print(\"i) PSK system The required carrier power = %.2f mW\" %(P*10**3))\n",
      "print(\"ii) DPSK system The required carrier power = %.2f mW\" %(Pb*10**3))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "i) PSK system The required carrier power = 1.35 mW\n",
        "ii) DPSK system The required carrier power = 1.70 mW\n"
       ]
      }
     ],
     "prompt_number": 50
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.32, Page No 450"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "A=0.2*10**-3                #V\n",
      "T=2*10**-6                  #Sec\n",
      "N0=2*10**-15\n",
      "\n",
      "\n",
      "#CALCULATIONS\n",
      "x=math.sqrt((A**2*T)/(4*N0))\n",
      "Pe=(1.0/2)*math.erfc(x/math.sqrt(2.0))\n",
      "\n",
      "#Results\n",
      "print(\"Probability of error = %.2f X 10^-4\" %(Pe*10**4))\n",
      "#print(\"Channel Bandwidth  = %.5f MHz\" %BW)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Probability of error = 7.83 X 10^-4\n"
       ]
      }
     ],
     "prompt_number": 51
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.36, Page No 453"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "Ap=1                #mV\n",
      "En=192.3            #mV\n",
      "Arms=707            #mV\n",
      "\n",
      "\n",
      "#CALCULATIONS\n",
      "Z=Arms/En\n",
      "Pe=1.0/2*(math.erfc(math.sqrt(2)*(Z/math.sqrt(2))))\n",
      "\n",
      "#Results\n",
      "print(\"Probability of error is  %.7f \" %Pe)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Probability of error is  0.0000001 \n"
       ]
      }
     ],
     "prompt_number": 52
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.37, Page No 454"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#initialisation of variables\n",
      "Br=2.08*10**-6        #Bit Rate\n",
      "N0=2*10**-8\n",
      "\n",
      "#CALCULATIONS\n",
      "Eb=(math.sqrt(3.3))/(5*10**7)   #Eb=bit energy\n",
      "Ps=Eb*Br\n",
      "BW=2*Br                  #Bandwidth\n",
      "Es=286.39*N0\n",
      "Ps2=(Es*Br)/2\n",
      "BW2=(2*Br)/4\n",
      "\n",
      "#Results\n",
      "print(\"i) BPSK THe transmission bandwidth  = %.2f MHz\" %(BW*10**6)) \n",
      "print(\"ii) For 16 ary PSK THe transmission bandwidth  = %.2f MHz\" %(BW2*10**6)) \n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "i) BPSK THe transmission bandwidth  = 4.16 MHz\n",
        "ii) For 16 ary PSK THe transmission bandwidth  = 1.04 MHz\n"
       ]
      }
     ],
     "prompt_number": 53
    }
   ],
   "metadata": {}
  }
 ]
}