summaryrefslogtreecommitdiff
path: root/Satellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb
diff options
context:
space:
mode:
authorkinitrupti2017-05-12 18:53:46 +0530
committerkinitrupti2017-05-12 18:53:46 +0530
commitf270f72badd9c61d48f290c3396004802841b9df (patch)
treebc8ba99d85644c62716ce397fe60177095b303db /Satellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb
parent64d949698432e05f2a372d9edc859c5b9df1f438 (diff)
downloadPython-Textbook-Companions-f270f72badd9c61d48f290c3396004802841b9df.tar.gz
Python-Textbook-Companions-f270f72badd9c61d48f290c3396004802841b9df.tar.bz2
Python-Textbook-Companions-f270f72badd9c61d48f290c3396004802841b9df.zip
Removed duplicates
Diffstat (limited to 'Satellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb')
-rwxr-xr-xSatellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb932
1 files changed, 932 insertions, 0 deletions
diff --git a/Satellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb b/Satellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb
new file mode 100755
index 00000000..17f2b0db
--- /dev/null
+++ b/Satellite_Communications_by_Dennis_Roddy/Chapter_12.ipynb
@@ -0,0 +1,932 @@
+{
+ "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": {}
+ }
+ ]
+} \ No newline at end of file