{
 "metadata": {
  "name": "",
  "signature": "sha256:7a06e4236eec67757bd708fe8b0da2c40e097cf72b93ac25eb7d44065acbeff1"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 12: The Space Link"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.1, Page 306"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "P=6  #Transmit power(Watts)\n",
      "G=48.2 #Antenna Gain(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "EIRP=10*math.log10(P)+G  #Equivalent isotropic radiated power(dB)\n",
      "EIRP=round(EIRP)\n",
      "#Result\n",
      "\n",
      "print \"Hence the Equivalent isotropic radiated power is\",EIRP,\"dBW\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Hence the Equivalent isotropic radiated power is 56.0 dBW\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.2, Page 306"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "D=3  #Antenna size(m)\n",
      "f=12 #Operating Frequency(GHz)\n",
      "n=0.55 #Aperture efficiency\n",
      "\n",
      "#Calculation\n",
      "\n",
      "G=n*(10.472*f*D)**2  #Antenna Gain\n",
      "G=10*math.log10(G)  #Converting Antenna gain to dB\n",
      "G=round(G,1)\n",
      "#Result\n",
      "\n",
      "print \"The Antenna gain with given parameters is\", G,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Antenna gain with given parameters is 48.9 dB\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.3, Page 308"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "r=42000      #Range between ground station and satellite\n",
      "f=6000          #Frequency(MHz)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "FSL=32.4+20*math.log10(r)+20*math.log10(f)  #Free space loss(dB)\n",
      "FSL=round(FSL,1)\n",
      "#Result\n",
      "\n",
      "print \"The free space loss at given frequency is\", FSL, \"dB\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The free space loss at given frequency is 200.4 dB\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.4, Page 311"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "FSL=207   #Free space loss(dB)\n",
      "RFL=1.5   #receiver feeder loss(dB)\n",
      "AA=0.5    #Atmospheric Absorption loss(dB)\n",
      "AML=0.5   #Antenna Alignment loss(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "LOSSES=FSL+RFL+AA+AML   #Total link loss (dB)\n",
      "\n",
      "#Results\n",
      "\n",
      "print \"The total link loss is\", LOSSES,\"dB\"\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The total link loss is 209.5 dB\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.5, Page 312"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "TAn=35  # Antenna Noise Temperature(Kelvin)\n",
      "TRn=100 # Receiver Noise Temperature(Kelvin)\n",
      "k=1.38*10**-23  #Boltzman constant(joules)\n",
      "B=36*10**6  #Bandwidth\n",
      "\n",
      "#Calculation\n",
      "\n",
      "N0=(TAn+TRn)*k   #noise power density(10**-21 joules)\n",
      "PN=N0*B/10**-12         #Noise power for given bandwidth(picoWatts)\n",
      "\n",
      "\n",
      "#Results\n",
      "\n",
      "print \"The noise Power density is\", N0,\"Joules\"\n",
      "print \"The noise power for given bandwidth is\",PN,\"pW\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The noise Power density is 1.863e-21 Joules\n",
        "The noise power for given bandwidth is 0.067068 pW\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.6, Page 317"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "TRn=12   #Receiver Noise figure(dB)\n",
      "G=40     #Gain of LNA(dB)\n",
      "T0=120  #Noise temperature(Kelvin)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "F=10**(TRn/float(10))   #Converting noise power to ratio\n",
      "Te=(F-1)*290     #Noise Temperature of the amplifier\n",
      "G=10**(G/10)     #Converting Gain of LNA to ratio\n",
      "Tn=T0+Te/G       #Overall Noise Temperature(Kelvin)\n",
      "Tn=round(Tn,2)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The overall noise temperature is\", Tn, \"Kelvin\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The overall noise temperature is 120.43 Kelvin\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.7, Page 319"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "Tant=35     #Antenna noise temperature(kelvin)\n",
      "Te1=150     #Receiver noise temperature(kelvin)\n",
      "L=5         #Cable Loss (dB)\n",
      "T0=290    \n",
      "G1=10**5    #LNA Gain\n",
      "F=12        #Receiver Noise figure(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "L=10**(L/float(10))  #Converting L into ratio\n",
      "F=10**(F/float(10))  #Converting F into ratio\n",
      "Ts=Tant+Te1+(L-1)*T0/G1+L*(F-1)*T0/G1  #Noise Temperature referred to the input(Kelvin)\n",
      "Ts=round(Ts)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The noise temperature referred to the input is\",Ts,\"Kelvin\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The noise temperature referred to the input is 185.0 Kelvin\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.8, Page 320"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "Tant=35     #Antenna noise temperature(kelvin)\n",
      "Te1=150     #Receiver noise temperature(kelvin)\n",
      "L=5         #Cable Loss (dB)\n",
      "T0=290    \n",
      "G1=10**5    #LNA Gain\n",
      "F=12        #Receiver Noise figure(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "L=10**(L/float(10))  #Converting L into ratio\n",
      "F=10**(F/float(10))  #Converting F into ratio\n",
      "\n",
      "\n",
      "Ts=Tant+(L-1)*T0+L*Te1+L*(F-1)*T0/G1  #Noise Temperature referred to the input(Kelvin)\n",
      "Ts=round(Ts)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The noise temperature referred to the input is\",Ts,\"Kelvin\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The noise temperature referred to the input is 1137.0 Kelvin\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.9, Page 322"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "\n",
      "FSL=206    #Free space loss(dB)\n",
      "APL=1      #Antenna Pointing loss(dB)\n",
      "AAL=2      #Atmospheric Absorption loss(dB)\n",
      "RFL=1      #Receiver feeder loss(dB)\n",
      "EIRP=48    #Equivalent isotropically radiated power(dBW)\n",
      "f=12       #Frequency(GHz)\n",
      "GTR=19.5   #G/T ratio(dB/K)\n",
      "k=-228.60  #Value of k(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "LOSSES=FSL+APL+AAL+RFL #Total loss(dB)\n",
      "CNR=EIRP+GTR-LOSSES-k  #Carrier to noise ratio(dBHz)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The carrier to noise ratio is\",CNR,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The carrier to noise ratio is 86.1 dB\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.10, Page 324"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "f=14        #Frequency(GHz)\n",
      "Ps=-120     #Flux density required to saturate the transponder(dBW/m2)\n",
      "LOSSES=2    #Propogation Losses(dB)\n",
      "FSL=207     #Free-space loss(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "A0=-21.45-20*math.log10(f)   #Effective antenna aperture(dB)\n",
      "EIRP=Ps+A0+LOSSES+FSL #Equivalent isotropically radiated power(dB)\n",
      "EIRP=round(EIRP,2)\n",
      "\n",
      "#Result\n",
      "print \"The earth station EIRP required for saturation is\",EIRP,\"dBW\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The earth station EIRP required for saturation is 44.63 dBW\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.11, Page 325"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "\n",
      "Ps=-91.4      #saturation flux density(dBW/m2)\n",
      "f=14          #uplink frequency(GHz)\n",
      "GTR=-6.7      #G/T (dB/k)\n",
      "BO=11        #Input Back off(dB)\n",
      "k=-228.6       #Value of k(dB)\n",
      "RFL=0.6      #receiver feeder loss\n",
      "\n",
      "#Calculation\n",
      "\n",
      "A0=-21.5-20*math.log10(f)   #Effective antenna aperture(dB)\n",
      "A0=round(A0,1)\n",
      "CNR=Ps+A0-BO+GTR-k-RFL    #carrier to noise ratio(dB)\n",
      "\n",
      "#Result\n",
      "print A0\n",
      "print \"The carrier to noise ratio is\",CNR,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "-44.4\n",
        "The carrier to noise ratio is 74.5 dB\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.12, Page 326"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "B=36     #Transponder Bandwidth(MHz)\n",
      "CNR=22   #Carrier to noise ratio(dB)\n",
      "LOSSES=200  #Total transmission losses(dB)\n",
      "GTR=31     #Earth station G/T (dB/K)\n",
      "k=-228.6   #Value of k(dB)\n",
      "\n",
      "#Calculation\n",
      "B=10*math.log10(B*10**6)   #Converting Bandwidth to dB\n",
      "EIRP=CNR-GTR+LOSSES+k+B    #Equivalent isotropically radiated power(dB)\n",
      "EIRP=round(EIRP)\n",
      "#Result\n",
      "\n",
      "print \"Satellite EIRP required is\",EIRP,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Satellite EIRP required is 38.0 dB\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.13, Page 327"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "\n",
      "B=36*10**6      #Transponder Bandwidth(Hz)\n",
      "R=0.2     #Roll off factor \n",
      "GTR=31    #Earth station G/T(dB/K)\n",
      "LOSSES=200  #Total transmission losses(dB)\n",
      "k=-228.6    #Value of k(dB)\n",
      "BER=10**-5  #Value of Bit error rate\n",
      "EbN0R=9.6   #Value of Eb/N0 from fig.10.17\n",
      "#Calculation\n",
      "\n",
      "Rb=2*B/(1+R)      #Bit rate(sec^-1)\n",
      "Rb=10*math.log10(Rb)  #Converting Rb into decibels\n",
      "CNR=EbN0R+Rb      #Carrier to noise ratio(dB)\n",
      "EIRP=CNR-GTR+LOSSES+k  #Equivalent Isotropically radiated power(dBW)\n",
      "Rb=round(Rb,1)\n",
      "EIRP=round(EIRP,1)\n",
      "\n",
      "#Results\n",
      "\n",
      "print \"Bit rate that can be accommodated is\",Rb,\"dB\"\n",
      "print \"The EIRP required is\",EIRP,\"dBW\"\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Bit rate that can be accommodated is 77.8 dB\n",
        "The EIRP required is 27.8 dBW\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.14, Page 328"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "EIRP=25    #Satellite saturation value(dBW)\n",
      "BO=6       #Output Backoff loss(dB)\n",
      "FSL=196    #Free space loss(dB)\n",
      "DL=1.5     #Downlink losses(dB)\n",
      "GTR=41     #Earth station G/T(dB/K)\n",
      "k=-228.6   #Value of k(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "CNR=EIRP-BO+GTR-FSL-DL-k  #Carrier to noise ratio(dB)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The Carrier to noise density ratio at the earth station is\",CNR,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Carrier to noise density ratio at the earth station is 91.1 dB\n"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.15, Page 329"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "\n",
      "EIRP=56   #Equivalent Isotropically radiated power(dBW)\n",
      "BO=6      #Output Backoff(dB)\n",
      "TFL=2     #Transmitter feeder loss(dB)\n",
      "GT=50     #Antenna gain(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "PTWTA=EIRP-GT+TFL   #Power output of TWTA(dBW)\n",
      "PTWTAS=PTWTA+BO     #Saturated power output of TWTA(dBW)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"Power output of the TWTA required for full saturated EIRP is\",PTWTAS,\"dBW\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Power output of the TWTA required for full saturated EIRP is 14 dBW\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.16, Page 332"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "alpha=1.9    #Rain attenuation(dB)\n",
      "CNR=20       #Downlink carrier to noise ratio(dB)\n",
      "Tn=400       #Effective Noise temperature(Kelvin)\n",
      "Ta=280       #Reference temperature(Kelvin)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "alpha1=10**(alpha/10)  #Converting alpha to ratio\n",
      "Trn=Ta*(1-1/alpha1)    #Equivalent noise temperature of rain(kelvin)\n",
      "Trn=round(Trn,1)\n",
      "Ts=Tn+Trn        #New system noise temperature\n",
      "delp=10*math.log10(Ts/Tn)  #Decibel increase in noise power\n",
      "CNRN=CNR-delp-alpha   #Value below which CNR falls(dB)\n",
      "CNRN=round(CNRN,2)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The value below which C/N falls for 0.1 percent of time is\",CNRN,\"dB\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The value below which C/N falls for 0.1 percent of time is 17.14 dB\n"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.17, Page 333"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "CNR=17.4   #Clear sky input C/N (dB)\n",
      "T=10       #Threshold level for FM etector(dB)\n",
      "Ta=272     #Value of Ta(Kelvin)\n",
      "Tscs=544   #Value of Tscs(Kelvin)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "TM=CNR-T    #Threshold margin at FM detector(dB)\n",
      "CNR=10**(CNR/10)  #Converting CNR to ratio\n",
      "NCR=1/float(CNR)\n",
      "\n",
      "import scipy\n",
      "import scipy.optimize\n",
      "def f(A):\n",
      "    y=0.1-NCR*(A+(A-1)*Ta/Tscs)\n",
      "    return y\n",
      "A=scipy.optimize.fsolve(f,2)\n",
      "\n",
      "A=10*math.log10(A)  #Converting A into decibels\n",
      "A=round(A)\n",
      "\n",
      "# Getting the value of probablity of exceeding A from the curve\n",
      "\n",
      "if (A==6):\n",
      "   P=2.5*10**-4 \n",
      "else:\n",
      "   print \"error\"\n",
      "\n",
      "Av=100*(1-P)  #Availability(percentage)\n",
      "\n",
      "#Result\n",
      "\n",
      "print \"The time system stays above threshold is\",Av,\"percentage\"\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The time system stays above threshold is 99.975 percentage\n"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.18, Page 336"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "\n",
      "Nu=100   #Noise spectral density for uplink(dBHz)\n",
      "Nd=87    #Noise spectral density for downlink(dBHz)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "N0CR=10**(-Nu/10)+10**(-Nd/10)  #Noise to carrier ratio\n",
      "CNR=-10*math.log10(N0CR)   #Combined c/N0 ratio(dBHz)\n",
      "CNR=round(CNR,2)\n",
      "#Result\n",
      "\n",
      "print \"The combined carrier to noise ratio is\",CNR,\"dBHz\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The combined carrier to noise ratio is 89.59 dBHz\n"
       ]
      }
     ],
     "prompt_number": 18
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.19, Page 337"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable declaration\n",
      "\n",
      "#For uplink\n",
      "\n",
      "Ps=-67.5   #Saturation flux density(dB)\n",
      "A0=-37     #Antenna aperture at 6GHz(dB)\n",
      "IBO=-11    #Input Backoff(dB)\n",
      "GTRs=-11.6 #Satellite saturation G/T (dB)\n",
      "k=-228.6   #Value of k(dB)\n",
      "\n",
      "#For Downlink\n",
      "\n",
      "EIRP=26.6  #Satellite EIRP(dB)\n",
      "OBO=-6     #output Backoff(dB)\n",
      "FSL=-196.7 #Free Space loss(dB)\n",
      "GTRe=40.7  #Earth station G/T(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "CNRu=Ps+A0+IBO+GTRs-k     #Carrier to noise ratio for uplink(dB)\n",
      "CNRd=EIRP+OBO+FSL+GTRe-k#Carrier to noise ratio for downlink(dB)\n",
      "N0CR=10**(-CNRu/10)+10**(-CNRd/10)  #Noise to carrier ratio\n",
      "CNR=-10*math.log10(N0CR)   #Combined c/N0 ratio(dBHz)\n",
      "CNR=round(CNR,2)\n",
      "#results\n",
      "\n",
      "print \"The Carrier to noise ratio for uplink is\",CNRu,\"dB\"\n",
      "print \"The Carrier to noise ratio for downlink is\",CNRd,\"dB\"\n",
      "print \"The combined carrier to noise ratio is\",CNR,\"dBHz\"\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Carrier to noise ratio for uplink is 101.5 dB\n",
        "The Carrier to noise ratio for downlink is 93.2 dB\n",
        "The combined carrier to noise ratio is 92.6 dBHz\n"
       ]
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.20, Page 338"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "\n",
      "CNRu=23   #carrier to noise ratio for uplink(dB)\n",
      "CNRd=20   #carrier to noise ratio for downlink(dB)\n",
      "CNRm=24   #carrier to noise ratio for intermodulation(dB)\n",
      "\n",
      "#Calculation\n",
      "\n",
      "NCR=10**(-CNRu/float(10))+10**(-CNRd/float(10))+10**(-CNRm/float(10))  #Combined Noise to carrier ratio\n",
      "\n",
      "\n",
      "CNR=-10*math.log10(NCR)  #Combined carrier to noise ratio(dB)\n",
      "CNR=round(CNR,2)\n",
      "#Result\n",
      "\n",
      "print \"The combined carrier to noise ratio is\",CNR,\"dB\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The combined carrier to noise ratio is 17.21 dB\n"
       ]
      }
     ],
     "prompt_number": 20
    }
   ],
   "metadata": {}
  }
 ]
}