{ "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": {} } ] }