{
 "metadata": {
  "name": "",
  "signature": "sha256:d9b4ccf4f2a187fd084eba547fc42fa3dd2f9e48328d5cbf1ac129f9eacc40d0"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 14: Satellite Access"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.1, Page 381"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "\n",
      "Btr=36  #Transponder Bandwidth(MHz)\n",
      "B=3    #Carrier Bandwidth(MHz)\n",
      "EIRP=27  #saturated EIRP(dBW)\n",
      "BO=6   #Back off loss(dB)\n",
      "LOSSES=196  #Combined losses(dB)\n",
      "GTR=30   #Earth station G/T ratio(dB)\n",
      "k=228.6  #Value of k(dB)\n",
      "#Calculation\n",
      "\n",
      "Btr1=10*math.log10(Btr*10**6)  #Converting transponder Bandwidth into decibels\n",
      "B1=10*math.log10(B*10**6)  #Converting carrier Bandwidth into decibels\n",
      "\n",
      "CNR=EIRP+GTR-LOSSES+k-Btr1 #Carrier to noise ratio for single carrier operation(dB)\n",
      "CNR=round(CNR)\n",
      "alpha=-BO\n",
      "K=alpha+Btr1-B1  #Fraction of Bandwidth actually occupied(dB)\n",
      "K=10**(K/10)  #Converting decibels to ratio\n",
      "K=round(K)\n",
      "\n",
      "#Results\n",
      "\n",
      "print \"The downlink carrier to noise ratio is\",CNR,\"dB\"\n",
      "print \"Fraction of Bandwidth actually occupied is\",K\n",
      "print \"No. of carriers that would be accommodated without backoff is\",Btr/B\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The downlink carrier to noise ratio is 14.0 dB\n",
        "Fraction of Bandwidth actually occupied is 3.0\n",
        "No. of carriers that would be accommodated without backoff is 12\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.2, Page 396"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable decalration\n",
      "\n",
      "N=40     #No.of bits\n",
      "E=5      #Maximum number of errors allowed\n",
      "p=10**-3 #Average probability of error in transmission\n",
      "\n",
      "#Calculation\n",
      "\n",
      "Pmiss=0\n",
      "for i in range(E+1,N):\n",
      "  Pmiss=Pmiss+(math.factorial(N)/float((math.factorial(i)*math.factorial(N-i))))*(p**i)*((1-p)**(N-i))\n",
      "\n",
      "Pmiss=Pmiss*10**12\n",
      "Pmiss=round(Pmiss,1)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The probability of miss is\",Pmiss,\"*10^-12\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The probability of miss is 3.7 *10^-12\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.3, Page 397"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable decalration\n",
      "\n",
      "N=40     #No.of bits\n",
      "E=5      #Maximum number of errors allowed\n",
      "\n",
      "#Calculation\n",
      "\n",
      "Pfalse=0\n",
      "for i in range(0,E+1):\n",
      "  Pfalse=Pfalse+(math.factorial(N)*2**-N)/float((math.factorial(i)*math.factorial(N-i)))\n",
      "\n",
      "\n",
      "\n",
      "Pfalse=Pfalse*10**7\n",
      "Pfalse=round(Pfalse,1)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The probability of miss is\",Pfalse,\"*10^-7\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The probability of miss is 6.9 *10^-7\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.4, Page 399"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable ecalration\n",
      "Lf=120832     #Total frame length\n",
      "Tb=14         #Traffic burts per frame\n",
      "Rb=2          #Reference bursts per frame\n",
      "T=103         #Guard interval(symbols)\n",
      "P=280         #Preamble Symbols\n",
      "R=P+8         #Reference channel symbols with addition of CDC\n",
      "#Calculation\n",
      "\n",
      "OH=2*(T+R)+Tb*(T+P)   #Overhead Symbols\n",
      "\n",
      "nF=1-(OH/float(Lf))   #Frame Efficiency\n",
      "nF=round(nF,3)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"Hence the frame efficiency of INTELSAT frame is\",nF"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Hence the frame efficiency of INTELSAT frame is 0.949\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.5, Page 400"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "Lf=120832   #Number of symbols per frame\n",
      "Tf=2        #Frame period(ms)\n",
      "nF=0.949    #INTELSAT fram efficiency from Example 14.4\n",
      "#Calculation\n",
      "\n",
      "Rs=(Lf/float(Tf))*10**-3  #Symbol rate(megasymbol/s)\n",
      "Rt=Rs*2     #Transmission Rate\n",
      "n=nF*Rt*10**3/64   #Voice channel capacity\n",
      "n=round(n)\n",
      "#Result\n",
      "\n",
      "print \" The voice channel capacity for the INTELSAT frame is\",n,\"Channels\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " The voice channel capacity for the INTELSAT frame is 1792.0 Channels\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.6, Page 408"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "CNR=87.3   #Downlink Carrier to noise ratio(dBHz)\n",
      "BER=10**-5  #Bit Error Rate Required\n",
      "R=0.2   #Roll off factor\n",
      "EbN0R=9.5   #Eb/N0 ratio(dB)\n",
      "\n",
      "#Calculation\n",
      "Rb=CNR-EbN0R  #Maximum Transmission Rate(dBb/s)\n",
      "Rb1=10**(Rb/10) #Maximum Transmission Rate(b/s)\n",
      "BIF=Rb1*1.2*10**-6/2  #IF Bandwith required\n",
      "BIF=round(BIF,2)\n",
      "#Result\n",
      "\n",
      "print \"The Maximum Transmission rate is\",Rb,\"dBb/s\"\n",
      "print \"The IF bandwidth required is\",BIF,\"MHz\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Maximum Transmission rate is 77.8 dBb/s\n",
        "The IF bandwidth required is 36.15 MHz\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.7, Page 410"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "T1=1.544  #Bit rate from sec.10.4(Mb/s)\n",
      "R=62     #Bit rate from sec.10.4(dBMb/s)\n",
      "EbN0R=12 #Required Eb/N0 ratio for uplink(dB)\n",
      "LOSSES=212 #Transmission losses of uplink(dB)\n",
      "GTR=10   #G/T ratio for earth station(dB/K)\n",
      "G1=46   #Uplink antenna gain(dB)\n",
      "Rd=74   #Downlink Transmission Rate(dBb/s)\n",
      "#Calculation\n",
      "CNR=EbN0R+R  #Carrier to noise ratio for uplink(dB)\n",
      "EIRP=CNR-GTR+LOSSES-228.6 #EIRP of earth station antenna\n",
      "P=EIRP-G1   #Transmitted Power Required(dBW)\n",
      "P=10**(P/float(10))   #Transmitted Power Required(Watts)\n",
      "P=round(P,2)\n",
      "\n",
      "Ri=Rd-R   #Rate increase with TDMA operation(dB)\n",
      "P1=1.4+Ri  #Uplink power increase required for TDMA operation(Watts)\n",
      "P2=10**(P1/float(10))\n",
      "P2=round(P2,1)\n",
      "#Results\n",
      "\n",
      "print \"Earth station transmission power required for transmission of T1 baseband signal is\",P,\"Watts\"\n",
      "\n",
      "print \"Uplink power increase required for TDMA operation is\",P1,\"dBWatts or\",P2,\"Watts\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Earth station transmission power required for transmission of T1 baseband signal is 1.38 Watts\n",
        "Uplink power increase required for TDMA operation is 13.4 dBWatts or 21.9 Watts\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 14.8, Page 429"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "\n",
      "BIF=36   #Bandwidth of channel over which carriers are spread(MHz)\n",
      "R=0.4  #Rolloff factor for filtering\n",
      "Rb=64   #Information bit rate(kb/s)\n",
      "BER=10**-5  #Bit error rate required\n",
      "EbN0R=9.6 #Eb/N0 ratio for BER given from Fig.10.18\n",
      "\n",
      "#Calculation\n",
      "\n",
      "Rch=BIF*10**6/(1+R) #Rate of unspreaded signal(chips/s)\n",
      "Gp=Rch/(Rb*10**3)     #Processing gain\n",
      "Gp1=round(10*math.log10(Gp))  #Processing gain(dB)\n",
      "EbN0R1=10**(EbN0R/float(10))  #Converting Eb/N0 into ratio\n",
      "K=1+(1.4*Gp/EbN0R1)  #Number of channels\n",
      "K=math.floor(K)\n",
      "\n",
      "#Result\n",
      "print \"The Processing Gain is\",Gp1,\"dB\"\n",
      "print \"An estimate of maximum number of channels that can access the system is\",K\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Processing Gain is 26.0 dB\n",
        "An estimate of maximum number of channels that can access the system is 62.0\n"
       ]
      }
     ],
     "prompt_number": 8
    }
   ],
   "metadata": {}
  }
 ]
}