summaryrefslogtreecommitdiff
path: root/Satellite_Communication
diff options
context:
space:
mode:
authorHardik Ghaghada2014-06-21 14:25:56 +0530
committerHardik Ghaghada2014-06-21 14:25:56 +0530
commit299711403e92ffa94a643fbd960c6f879639302c (patch)
tree009cb02ec85f4a75ac7b64239751f15361df2bfe /Satellite_Communication
parente1e59ca3a50d9f93e8b7bc0693b8081d5db77771 (diff)
parent7c756fcc12d21693818e58f6936cab5b7c112868 (diff)
downloadPython-Textbook-Companions-299711403e92ffa94a643fbd960c6f879639302c.tar.gz
Python-Textbook-Companions-299711403e92ffa94a643fbd960c6f879639302c.tar.bz2
Python-Textbook-Companions-299711403e92ffa94a643fbd960c6f879639302c.zip
Merge pull request #2 from debashisdeb/master
Removed Problem Statements Completely
Diffstat (limited to 'Satellite_Communication')
-rw-r--r--Satellite_Communication/chapter_3.ipynb1489
-rw-r--r--Satellite_Communication/chapter_5.ipynb1207
-rw-r--r--Satellite_Communication/chapter_7.ipynb1490
3 files changed, 2092 insertions, 2094 deletions
diff --git a/Satellite_Communication/chapter_3.ipynb b/Satellite_Communication/chapter_3.ipynb
index e87eed02..b87a50b4 100644
--- a/Satellite_Communication/chapter_3.ipynb
+++ b/Satellite_Communication/chapter_3.ipynb
@@ -1,746 +1,745 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 3: Satellite Launch and In-Orbit Operations"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.1, page no-72"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "Az=85 # Azimuth angle of injection point\n",
- "l=5.2 # latitude of launch site\n",
- "\n",
- "\n",
- "#Calculation\n",
- "cosi=math.sin(Az*math.pi/180)*math.cos(l*math.pi/180)\n",
- "i=math.acos(cosi)\n",
- "i=i*180.0/math.pi\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Inclination angle attained, i=%.1f\u00b0\"%i)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Inclination angle attained, i=7.2\u00b0\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.2, page no-73"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "delta_i=7 #orbital plane inclination\n",
- "V=3000 #velocity of satellite in circularized orbit\n",
- "\n",
- "\n",
- "#Calculation\n",
- "vp=2*V*math.sin(delta_i*math.pi/(2*180))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Velocity thrust to make the inclination 0\u00b0 = %.0f m/s\"%vp)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity thrust to make the inclination 0\u00b0 = 366 m/s\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.3, page no-73"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "mu=39.8*10**13 # Nm^2/kg\n",
- "P=7000.0*10**3 # Perigee distance in m\n",
- "e=0.69 # eccentricity of eliptical orbit\n",
- "w=60.0/2 # angle made by line joing centre of earth and perigee with the line of nodes\n",
- "\n",
- "\n",
- "#Calculation\n",
- "k=(e/math.sqrt(1+e))\n",
- "k=math.floor(k*100)/100\n",
- "v=2*(math.sqrt(mu/P))*k*math.sin(w*math.pi/180.0)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"The velocity thrust required to rotate the perigee point\\n by desired amount is given by, v=%.1f m/s = %.3fkm/s\"%(v,v/1000.0))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The velocity thrust required to rotate the perigee point\n",
- " by desired amount is given by, v=3996.4 m/s = 3.996km/s\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.4, page no-74"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "A=15000*10**3 #Original apogee distance\n",
- "A1=25000*10**3 # Raised opogee distance\n",
- "P=7000*10**3 # Perigee Distance\n",
- "mu=39.8*10**13 #Nm**2/kg\n",
- "\n",
- "\n",
- "#Calculation\n",
- "A_d=A1-A\n",
- "v=math.sqrt((2*mu/P)-(2*mu/(A+P)))\n",
- "del_v=A_d*mu/(v*(A+P)**2)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"required Thrust velocity Delta_v = %.1f m/s\"%del_v)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "required Thrust velocity Delta_v = 933.9 m/s\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.5, page no-75"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "A=15000.0*10**3 # Original apogee distance\n",
- "A1=7000.0*10**3 # Raised opogee distance\n",
- "P=7000.0*10**3 # Perigee Distance\n",
- "mu=39.8*10**13 # Nm^2/kg\n",
- "\n",
- "\n",
- "#Calculation\n",
- "A_d=A-A1\n",
- "v=math.sqrt((2*mu/P)-(2*mu/(A+P)))\n",
- "del_v=A_d*mu/(v*(A+P)**2)\n",
- "\n",
- "#Result\n",
- "print(\"required Thrust velocity Delta_v = %.1f m/s\"%del_v)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "required Thrust velocity Delta_v = 747.1 m/s\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.6, page no-76"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "A=15000.0*10**3 # Original apogee distance\n",
- "A1=16000.0*10**3 # Raised opogee distance\n",
- "P=7000.0*10**3 # Perigee Distance\n",
- "mu=39.8*10**13 # Nm**2/kg\n",
- "\n",
- "\n",
- "#Calculation\n",
- "A_d=A1-A\n",
- "v=math.sqrt((2*mu/P)-(2*mu/(A+P)))\n",
- "v=v*P/A\n",
- "del_v=A_d*mu/(v*(A+P)**2)\n",
- "\n",
- "#Result\n",
- "print(\"required Thrust velocity Delta_v = %.1f m/s\"%del_v)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "required Thrust velocity Delta_v = 200.1 m/s\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.7, page no-77"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "R=6378.0*10**3 # Radius of earth\n",
- "mu=39.8*10**13 # Nm**2/kg\n",
- "r1=500.0*10**3 # original orbit from earths surface\n",
- "r2=800.0*10**3 # orbit to be raised to thisdistance\n",
- "\n",
- "\n",
- "#Calculation\n",
- "R1=R+r1\n",
- "R2=R+r2\n",
- "delta_v=math.sqrt(2*mu*R2/(R1*(R1+R2)))-math.sqrt(mu/R1)\n",
- "delta_v_dash=math.sqrt(mu/R2)-math.sqrt(2*mu*R1/(R2*(R1+R2)))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Two thrusts to be applied are,\\n Delta_v = %.2f m/s \\n Delta_v_dash = %.2f m/s\"%(delta_v,delta_v_dash))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Two thrusts to be applied are,\n",
- " Delta_v = 80.75 m/s \n",
- " Delta_v_dash = 79.89 m/s\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.8, page no-97"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "H=36000.0 # Height of geostationary satellite from the surface of earth\n",
- "R=6370.0 # Radius of earth in km\n",
- "\n",
- "\n",
- "#Calculation\n",
- "k=math.acos(R/(R+H))\n",
- "#k=k*180/%pi\n",
- "k=math.sin(k)\n",
- "k=math.ceil(k*1000)/1000\n",
- "d=2*(H+R)*k\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Maximum line-of-sight distance is %.2f km\"%d)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum line-of-sight distance is 83807.86 km\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.9, page no-98"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "H=36000.0 # Height of geostationary satellite from the surface of earth\n",
- "R=6370.0 # Radius of earth in km\n",
- "theta=20.0 # angular separation between two satellites\n",
- "\n",
- "\n",
- "#Calculation\n",
- "D=(H+R)\n",
- "k=math.ceil(math.cos(theta*math.pi/180.0)*100)/100\n",
- "d=math.sqrt(2*D**2*(1-k))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"The line-of-sight distance is %.4f km\"%d)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The line-of-sight distance is 14677.3985 km\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.10, page no-98"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "\n",
- "#IntelSat-VI location= 37 W\n",
- "# IntelSat-VII location=74 E\n",
- "theta=37+74 # angular separation between two satellites\n",
- "D=42164.0 # circular equilateral geostationary orbit in km\n",
- "\n",
- "\n",
- "#Calculation\n",
- "k=math.cos(math.pi*theta/180.0)\n",
- "#printf(\"%f\\n\",k)\n",
- "k=-0.357952\n",
- "d=math.sqrt(2*D**2*(1-k))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Inter-satellite distance is %.2f km\"%d)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Inter-satellite distance is 69486.27 km\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.11, page no-99"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "theta_l=30.0 # earth station's location 30\u00b0W longitude\n",
- "theta_s=50.0 # satellite's location 50\u00b0W longitude\n",
- "theta_L=60.0 # earth station's location 60\u00b0N latitude\n",
- "r=42164.0 # orbital radius of the satellite in km\n",
- "R=6378.0 # Earth's radius in km\n",
- "\n",
- "A_dash=math.atan((math.tan(math.pi*(theta_s-theta_l)/180.0))/math.sin(math.pi*60/180.0))\n",
- "A_dash=A_dash*180/math.pi\n",
- "A=180+A_dash #Azimuth angle\n",
- "\n",
- "x=(180/math.pi)*math.acos(math.cos(math.pi*(theta_s-theta_l)/180.0)*math.cos(math.pi*theta_L/180))\n",
- "y=r-math.ceil(R*(math.cos(math.pi*(theta_s-theta_l)/180.0)*math.cos(math.pi*theta_L/180)))\n",
- "z=R*math.sin(math.pi*x/180)\n",
- "E=(math.atan(y/z)*180/math.pi)-x\n",
- "print(\"Azimuth angle =%.1f\u00b0\\n Elevation angle =%.1f\u00b0\"%(A,E))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Azimuth angle =202.8\u00b0\n",
- " Elevation angle =19.8\u00b0\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.12, page no-100"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "theta_l=60.0 #earth station's location 60\u00b0W longitude\n",
- "theta_s=105.0 #satellite's location 105\u00b0W longitude\n",
- "theta_L=30.0 #earth station's location 30\u00b0N latitude\n",
- "\n",
- "theta_l1=90.0 #earth station's location 90\u00b0W longitude\n",
- "theta_s1=105.0 #satellite's location 105\u00b0W longitude\n",
- "theta_L1=45.0 #earth station's location 45\u00b0N latitude\n",
- "\n",
- "c=3*10**8 # speed of light\n",
- "r=42164.0 # orbital radius of the satellite in km\n",
- "R=6378.0 # Earth's radius in km\n",
- "\n",
- "\n",
- "#Calculation\n",
- "\n",
- "x=(180/math.pi)*math.acos(math.cos(math.pi*(theta_s-theta_l)/180)*math.cos(math.pi*theta_L/180))\n",
- "y=r-math.ceil(R*(math.cos(math.pi*(theta_s-theta_l)/180)*math.cos(math.pi*theta_L/180)))\n",
- "z=R*math.sin(math.pi*x/180)\n",
- "E=(math.atan(y/z)*180/math.pi)-x\n",
- "\n",
- "x1=(180/math.pi)*math.acos(math.cos(math.pi*(theta_s1-theta_l1)/180)*math.cos(math.pi*theta_L1/180))\n",
- "y1=r-math.ceil(R*(math.cos(math.pi*(theta_s1-theta_l1)/180)*math.cos(math.pi*theta_L1/180)))\n",
- "z1=R*math.sin(math.pi*x1/180)\n",
- "E1=(math.atan(y1/z1)*180/math.pi)-x1\n",
- "E1=math.floor(E1)\n",
- "\n",
- "#calculation of slant range dx\n",
- "k=(R/r)*math.cos(math.pi*E/180)\n",
- "k=(180/math.pi)*math.asin(k)\n",
- "k=k+E\n",
- "k=math.sin(math.pi*k/180)\n",
- "k=math.ceil(k*1000)/1000\n",
- "#k=k+E\n",
- "#k=sin(k)\n",
- "dx=(R)**2+(r)**2-(2*r*R*k)\n",
- "dx=math.sqrt(dx)\n",
- "\n",
- "\n",
- "#calculation of slant range dy\n",
- "k1=(R/r)*math.cos(math.pi*E1/180)\n",
- "k1=(180/math.pi)*math.asin(k1)\n",
- "k1=k1+E1\n",
- "k1=math.floor(k1)\n",
- "k1=math.sin(math.pi*k1/180)\n",
- "k1=math.ceil(k1*1000)/1000\n",
- "dy=(R)**2+(r)**2-(2*r*R*k1)\n",
- "dy=math.sqrt(dy)\n",
- "\n",
- "tr=dy+dx\n",
- "delay=tr*10**6/c\n",
- "x=50\n",
- "td=delay+x\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Elevation angle, Ex =%.1f\u00b0\"%E)\n",
- "print(\"\\n Elevation angle, Ey =%.1f\u00b0\"%math.floor(E1))\n",
- "print(\"\\n Slant range dx of the earth station X is dx=%.2fkm\"%dx)\n",
- "print(\"\\n Slant range dy of the earth station Y is dy=%.1fkm\"%dy)\n",
- "print(\"\\n Therefore, total range to be covered is %.2fkm\"%tr)\n",
- "print(\"\\n propagation delay=%.2fms\"%delay)\n",
- "print(\"\\n\\n Time required too transmit 500 kbs of information at \\n a transmisssion speed of 10Mbps is given by 500000/10^7=%.0fms\"%(500000000.0/10**7))\n",
- "print(\"\\n\\n Total Delay= %.2fms\"%td)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Elevation angle, Ex =30.3\u00b0\n",
- "\n",
- " Elevation angle, Ey =36.0\u00b0\n",
- "\n",
- " Slant range dx of the earth station X is dx=38584.76km\n",
- "\n",
- " Slant range dy of the earth station Y is dy=38100.8km\n",
- "\n",
- " Therefore, total range to be covered is 76685.57km\n",
- "\n",
- " propagation delay=255.62ms\n",
- "\n",
- "\n",
- " Time required too transmit 500 kbs of information at \n",
- " a transmisssion speed of 10Mbps is given by 500000/10^7=50ms\n",
- "\n",
- "\n",
- " Total Delay= 305.62ms\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.13, page no-102"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "da=38000.0 # slant range of satellite A\n",
- "db=36000.0 # slant range of satellite B\n",
- "beeta=60.0 # difference between longitudes of two satellites\n",
- "R=42164.0 # radius of the orbit of satellites\n",
- "\n",
- "\n",
- "#Calculation\n",
- "theta=(da**2+db**2-2*(R**2)*(1-math.cos(math.pi*beeta/180)))/(2*da*db)\n",
- "theta=(180/math.pi)*math.acos(theta)\n",
- "d=math.sqrt(2*(R**2)*(1-math.cos(math.pi*beeta/180)))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Angular spacing between two satellites viewed by earth station is,\\n theta= %.1f\u00b0\"%theta)\n",
- "print(\"\\nInter-satellite distance , d=%.0fkm\"%d)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Angular spacing between two satellites viewed by earth station is,\n",
- " theta= 69.4\u00b0\n",
- "\n",
- "Inter-satellite distance , d=42164km\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.14, page no-107"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "r=42164.0 # orbital radius of the satellite in km\n",
- "R=6378.0 # Earth's radius in km\n",
- "\n",
- "#refer to Figure 3.53\n",
- "\n",
- "#Calculation\n",
- "\n",
- "#for E=0\u00b0\n",
- "alfa=math.asin(R/r)*(180/math.pi)\n",
- "alfa=math.floor(alfa*10)/10\n",
- "theta=90-alfa\n",
- "#in the right angle triangle OAC,\n",
- "k=math.sin(math.pi*alfa/180)\n",
- "k=math.floor(k*1000)/1000\n",
- "oc=R*k\n",
- "oc=math.ceil(oc*10)/10\n",
- "A=2*math.pi*R*(R-oc)\n",
- "\n",
- "\n",
- "#for E=10\u00b0\n",
- "E=10\n",
- "alfa1=math.asin((R/r)*math.cos(math.pi*E/180))*(180/math.pi)\n",
- "#alfa1=ceil(alfa1*100)/100\n",
- "theta1=90-alfa1-E\n",
- "#in the right angle triangle OAC,\n",
- "k1=math.sin(math.pi*(alfa1+E)/180)\n",
- "k1=math.floor(k1*1000)/1000\n",
- "oc1=R*k1\n",
- "oc1=math.floor(oc1*10)/10\n",
- "A1=2*math.pi*R*(R-oc1)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"for E=0\u00b0,\\n covered surface area is %.1f km^2\"%A)\n",
- "print(\"\\n\\n for E=10\u00b0,\\n covered surface area is %.1f km^2\"%A1)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "for E=0\u00b0,\n",
- " covered surface area is 216997546.7 km^2\n",
- "\n",
- "\n",
- " for E=10\u00b0,\n",
- " covered surface area is 174314563.3 km^2\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.15, page no-108"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#variable declaration\n",
- "theta=30 #satellite inclination to the equitorial plan\n",
- "#the extreme latitudes covered in northern and southern hemisphere are the same as orbit inclination\n",
- "\n",
- "print(\"Extreme Northern latitude covered = %.0f\u00b0 N\"%theta)\n",
- "print(\"\\n Extreme Southern latitude covered = %.0f\u00b0 S\"%theta)\n",
- "print(\"\\n\\n In fact, the ground track would sweep\\n all latitudes between %d\u00b0N and %d\u00b0S\"%(theta,theta))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Extreme Northern latitude covered = 30\u00b0 N\n",
- "\n",
- " Extreme Southern latitude covered = 30\u00b0 S\n",
- "\n",
- "\n",
- " In fact, the ground track would sweep\n",
- " all latitudes between 30\u00b0N and 30\u00b0S\n"
- ]
- }
- ],
- "prompt_number": 16
- }
- ],
- "metadata": {}
- }
- ]
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:eb32c126a333b2cfa51753626f865ad3fb2b120400bc606b82fb97538f18ae74"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Satellite Launch and In-Orbit Operations"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.1, page no-72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "Az=85 # Azimuth angle of injection point\n",
+ "l=5.2 # latitude of launch site\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "cosi=math.sin(Az*math.pi/180)*math.cos(l*math.pi/180)\n",
+ "i=math.acos(cosi)\n",
+ "i=i*180.0/math.pi\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Inclination angle attained, i=%.1f\u00b0\"%i)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inclination angle attained, i=7.2\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.2, page no-73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "delta_i=7 #orbital plane inclination\n",
+ "V=3000 #velocity of satellite in circularized orbit\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "vp=2*V*math.sin(delta_i*math.pi/(2*180))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Velocity thrust to make the inclination 0\u00b0 = %.0f m/s\"%vp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity thrust to make the inclination 0\u00b0 = 366 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.3, page no-73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "mu=39.8*10**13 # Nm^2/kg\n",
+ "P=7000.0*10**3 # Perigee distance in m\n",
+ "e=0.69 # eccentricity of eliptical orbit\n",
+ "w=60.0/2 # angle made by line joing centre of earth and perigee with the line of nodes\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "k=(e/math.sqrt(1+e))\n",
+ "k=math.floor(k*100)/100\n",
+ "v=2*(math.sqrt(mu/P))*k*math.sin(w*math.pi/180.0)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The velocity thrust required to rotate the perigee point\\n by desired amount is given by, v=%.1f m/s = %.3fkm/s\"%(v,v/1000.0))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity thrust required to rotate the perigee point\n",
+ " by desired amount is given by, v=3996.4 m/s = 3.996km/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.4, page no-74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "A=15000*10**3 #Original apogee distance\n",
+ "A1=25000*10**3 # Raised opogee distance\n",
+ "P=7000*10**3 # Perigee Distance\n",
+ "mu=39.8*10**13 #Nm**2/kg\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "A_d=A1-A\n",
+ "v=math.sqrt((2*mu/P)-(2*mu/(A+P)))\n",
+ "del_v=A_d*mu/(v*(A+P)**2)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"required Thrust velocity Delta_v = %.1f m/s\"%del_v)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "required Thrust velocity Delta_v = 933.9 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.5, page no-75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "A=15000.0*10**3 # Original apogee distance\n",
+ "A1=7000.0*10**3 # Raised opogee distance\n",
+ "P=7000.0*10**3 # Perigee Distance\n",
+ "mu=39.8*10**13 # Nm^2/kg\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "A_d=A-A1\n",
+ "v=math.sqrt((2*mu/P)-(2*mu/(A+P)))\n",
+ "del_v=A_d*mu/(v*(A+P)**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"required Thrust velocity Delta_v = %.1f m/s\"%del_v)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "required Thrust velocity Delta_v = 747.1 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.6, page no-76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "A=15000.0*10**3 # Original apogee distance\n",
+ "A1=16000.0*10**3 # Raised opogee distance\n",
+ "P=7000.0*10**3 # Perigee Distance\n",
+ "mu=39.8*10**13 # Nm**2/kg\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "A_d=A1-A\n",
+ "v=math.sqrt((2*mu/P)-(2*mu/(A+P)))\n",
+ "v=v*P/A\n",
+ "del_v=A_d*mu/(v*(A+P)**2)\n",
+ "\n",
+ "#Result\n",
+ "print(\"required Thrust velocity Delta_v = %.1f m/s\"%del_v)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "required Thrust velocity Delta_v = 200.1 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.7, page no-77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "R=6378.0*10**3 # Radius of earth\n",
+ "mu=39.8*10**13 # Nm**2/kg\n",
+ "r1=500.0*10**3 # original orbit from earths surface\n",
+ "r2=800.0*10**3 # orbit to be raised to thisdistance\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "R1=R+r1\n",
+ "R2=R+r2\n",
+ "delta_v=math.sqrt(2*mu*R2/(R1*(R1+R2)))-math.sqrt(mu/R1)\n",
+ "delta_v_dash=math.sqrt(mu/R2)-math.sqrt(2*mu*R1/(R2*(R1+R2)))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Two thrusts to be applied are,\\n Delta_v = %.2f m/s \\n Delta_v_dash = %.2f m/s\"%(delta_v,delta_v_dash))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Two thrusts to be applied are,\n",
+ " Delta_v = 80.75 m/s \n",
+ " Delta_v_dash = 79.89 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.8, page no-97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "H=36000.0 # Height of geostationary satellite from the surface of earth\n",
+ "R=6370.0 # Radius of earth in km\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "k=math.acos(R/(R+H))\n",
+ "#k=k*180/%pi\n",
+ "k=math.sin(k)\n",
+ "k=math.ceil(k*1000)/1000\n",
+ "d=2*(H+R)*k\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum line-of-sight distance is %.2f km\"%d)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum line-of-sight distance is 83807.86 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.9, page no-98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "H=36000.0 # Height of geostationary satellite from the surface of earth\n",
+ "R=6370.0 # Radius of earth in km\n",
+ "theta=20.0 # angular separation between two satellites\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "D=(H+R)\n",
+ "k=math.ceil(math.cos(theta*math.pi/180.0)*100)/100\n",
+ "d=math.sqrt(2*D**2*(1-k))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The line-of-sight distance is %.4f km\"%d)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The line-of-sight distance is 14677.3985 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.10, page no-98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "\n",
+ "theta=37+74 # angular separation between two satellites\n",
+ "D=42164.0 # circular equilateral geostationary orbit in km\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "k=math.cos(math.pi*theta/180.0)\n",
+ "#printf(\"%f\\n\",k)\n",
+ "k=-0.357952\n",
+ "d=math.sqrt(2*D**2*(1-k))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Inter-satellite distance is %.2f km\"%d)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inter-satellite distance is 69486.27 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.11, page no-99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "theta_l=30.0 # earth station's location 30\u00b0W longitude\n",
+ "theta_s=50.0 # satellite's location 50\u00b0W longitude\n",
+ "theta_L=60.0 # earth station's location 60\u00b0N latitude\n",
+ "r=42164.0 # orbital radius of the satellite in km\n",
+ "R=6378.0 # Earth's radius in km\n",
+ "\n",
+ "A_dash=math.atan((math.tan(math.pi*(theta_s-theta_l)/180.0))/math.sin(math.pi*60/180.0))\n",
+ "A_dash=A_dash*180/math.pi\n",
+ "A=180+A_dash #Azimuth angle\n",
+ "\n",
+ "x=(180/math.pi)*math.acos(math.cos(math.pi*(theta_s-theta_l)/180.0)*math.cos(math.pi*theta_L/180))\n",
+ "y=r-math.ceil(R*(math.cos(math.pi*(theta_s-theta_l)/180.0)*math.cos(math.pi*theta_L/180)))\n",
+ "z=R*math.sin(math.pi*x/180)\n",
+ "E=(math.atan(y/z)*180/math.pi)-x\n",
+ "print(\"Azimuth angle =%.1f\u00b0\\n Elevation angle =%.1f\u00b0\"%(A,E))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Azimuth angle =202.8\u00b0\n",
+ " Elevation angle =19.8\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.12, page no-100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "theta_l=60.0 #earth station's location 60\u00b0W longitude\n",
+ "theta_s=105.0 #satellite's location 105\u00b0W longitude\n",
+ "theta_L=30.0 #earth station's location 30\u00b0N latitude\n",
+ "\n",
+ "theta_l1=90.0 #earth station's location 90\u00b0W longitude\n",
+ "theta_s1=105.0 #satellite's location 105\u00b0W longitude\n",
+ "theta_L1=45.0 #earth station's location 45\u00b0N latitude\n",
+ "\n",
+ "c=3*10**8 # speed of light\n",
+ "r=42164.0 # orbital radius of the satellite in km\n",
+ "R=6378.0 # Earth's radius in km\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "x=(180/math.pi)*math.acos(math.cos(math.pi*(theta_s-theta_l)/180)*math.cos(math.pi*theta_L/180))\n",
+ "y=r-math.ceil(R*(math.cos(math.pi*(theta_s-theta_l)/180)*math.cos(math.pi*theta_L/180)))\n",
+ "z=R*math.sin(math.pi*x/180)\n",
+ "E=(math.atan(y/z)*180/math.pi)-x\n",
+ "\n",
+ "x1=(180/math.pi)*math.acos(math.cos(math.pi*(theta_s1-theta_l1)/180)*math.cos(math.pi*theta_L1/180))\n",
+ "y1=r-math.ceil(R*(math.cos(math.pi*(theta_s1-theta_l1)/180)*math.cos(math.pi*theta_L1/180)))\n",
+ "z1=R*math.sin(math.pi*x1/180)\n",
+ "E1=(math.atan(y1/z1)*180/math.pi)-x1\n",
+ "E1=math.floor(E1)\n",
+ "\n",
+ "#calculation of slant range dx\n",
+ "k=(R/r)*math.cos(math.pi*E/180)\n",
+ "k=(180/math.pi)*math.asin(k)\n",
+ "k=k+E\n",
+ "k=math.sin(math.pi*k/180)\n",
+ "k=math.ceil(k*1000)/1000\n",
+ "#k=k+E\n",
+ "#k=sin(k)\n",
+ "dx=(R)**2+(r)**2-(2*r*R*k)\n",
+ "dx=math.sqrt(dx)\n",
+ "\n",
+ "\n",
+ "#calculation of slant range dy\n",
+ "k1=(R/r)*math.cos(math.pi*E1/180)\n",
+ "k1=(180/math.pi)*math.asin(k1)\n",
+ "k1=k1+E1\n",
+ "k1=math.floor(k1)\n",
+ "k1=math.sin(math.pi*k1/180)\n",
+ "k1=math.ceil(k1*1000)/1000\n",
+ "dy=(R)**2+(r)**2-(2*r*R*k1)\n",
+ "dy=math.sqrt(dy)\n",
+ "\n",
+ "tr=dy+dx\n",
+ "delay=tr*10**6/c\n",
+ "x=50\n",
+ "td=delay+x\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Elevation angle, Ex =%.1f\u00b0\"%E)\n",
+ "print(\"\\n Elevation angle, Ey =%.1f\u00b0\"%math.floor(E1))\n",
+ "print(\"\\n Slant range dx of the earth station X is dx=%.2fkm\"%dx)\n",
+ "print(\"\\n Slant range dy of the earth station Y is dy=%.1fkm\"%dy)\n",
+ "print(\"\\n Therefore, total range to be covered is %.2fkm\"%tr)\n",
+ "print(\"\\n propagation delay=%.2fms\"%delay)\n",
+ "print(\"\\n\\n Time required too transmit 500 kbs of information at \\n a transmisssion speed of 10Mbps is given by 500000/10^7=%.0fms\"%(500000000.0/10**7))\n",
+ "print(\"\\n\\n Total Delay= %.2fms\"%td)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Elevation angle, Ex =30.3\u00b0\n",
+ "\n",
+ " Elevation angle, Ey =36.0\u00b0\n",
+ "\n",
+ " Slant range dx of the earth station X is dx=38584.76km\n",
+ "\n",
+ " Slant range dy of the earth station Y is dy=38100.8km\n",
+ "\n",
+ " Therefore, total range to be covered is 76685.57km\n",
+ "\n",
+ " propagation delay=255.62ms\n",
+ "\n",
+ "\n",
+ " Time required too transmit 500 kbs of information at \n",
+ " a transmisssion speed of 10Mbps is given by 500000/10^7=50ms\n",
+ "\n",
+ "\n",
+ " Total Delay= 305.62ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.13, page no-102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "da=38000.0 # slant range of satellite A\n",
+ "db=36000.0 # slant range of satellite B\n",
+ "beeta=60.0 # difference between longitudes of two satellites\n",
+ "R=42164.0 # radius of the orbit of satellites\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "theta=(da**2+db**2-2*(R**2)*(1-math.cos(math.pi*beeta/180)))/(2*da*db)\n",
+ "theta=(180/math.pi)*math.acos(theta)\n",
+ "d=math.sqrt(2*(R**2)*(1-math.cos(math.pi*beeta/180)))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Angular spacing between two satellites viewed by earth station is,\\n theta= %.1f\u00b0\"%theta)\n",
+ "print(\"\\nInter-satellite distance , d=%.0fkm\"%d)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular spacing between two satellites viewed by earth station is,\n",
+ " theta= 69.4\u00b0\n",
+ "\n",
+ "Inter-satellite distance , d=42164km\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.14, page no-107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "r=42164.0 # orbital radius of the satellite in km\n",
+ "R=6378.0 # Earth's radius in km\n",
+ "\n",
+ "#refer to Figure 3.53\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#for E=0\u00b0\n",
+ "alfa=math.asin(R/r)*(180/math.pi)\n",
+ "alfa=math.floor(alfa*10)/10\n",
+ "theta=90-alfa\n",
+ "#in the right angle triangle OAC,\n",
+ "k=math.sin(math.pi*alfa/180)\n",
+ "k=math.floor(k*1000)/1000\n",
+ "oc=R*k\n",
+ "oc=math.ceil(oc*10)/10\n",
+ "A=2*math.pi*R*(R-oc)\n",
+ "\n",
+ "\n",
+ "#for E=10\u00b0\n",
+ "E=10\n",
+ "alfa1=math.asin((R/r)*math.cos(math.pi*E/180))*(180/math.pi)\n",
+ "#alfa1=ceil(alfa1*100)/100\n",
+ "theta1=90-alfa1-E\n",
+ "#in the right angle triangle OAC,\n",
+ "k1=math.sin(math.pi*(alfa1+E)/180)\n",
+ "k1=math.floor(k1*1000)/1000\n",
+ "oc1=R*k1\n",
+ "oc1=math.floor(oc1*10)/10\n",
+ "A1=2*math.pi*R*(R-oc1)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"for E=0\u00b0,\\n covered surface area is %.1f km^2\"%A)\n",
+ "print(\"\\n\\n for E=10\u00b0,\\n covered surface area is %.1f km^2\"%A1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for E=0\u00b0,\n",
+ " covered surface area is 216997546.7 km^2\n",
+ "\n",
+ "\n",
+ " for E=10\u00b0,\n",
+ " covered surface area is 174314563.3 km^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.15, page no-108"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable declaration\n",
+ "theta=30 #satellite inclination to the equitorial plan\n",
+ "\n",
+ "\n",
+ "print(\"Extreme Northern latitude covered = %.0f\u00b0 N\"%theta)\n",
+ "print(\"\\n Extreme Southern latitude covered = %.0f\u00b0 S\"%theta)\n",
+ "print(\"\\n\\n In fact, the ground track would sweep\\n all latitudes between %d\u00b0N and %d\u00b0S\"%(theta,theta))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Extreme Northern latitude covered = 30\u00b0 N\n",
+ "\n",
+ " Extreme Southern latitude covered = 30\u00b0 S\n",
+ "\n",
+ "\n",
+ " In fact, the ground track would sweep\n",
+ " all latitudes between 30\u00b0N and 30\u00b0S\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
} \ No newline at end of file
diff --git a/Satellite_Communication/chapter_5.ipynb b/Satellite_Communication/chapter_5.ipynb
index 7e2ed39c..130c2bfd 100644
--- a/Satellite_Communication/chapter_5.ipynb
+++ b/Satellite_Communication/chapter_5.ipynb
@@ -1,605 +1,604 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "chapter 5: Communication Techniques"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.1, page no-174 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "\n",
- "#for case (a)\n",
- "\n",
- "#Variable Declaration\n",
- "m=0.5 #modulation index\n",
- "\n",
- "#Calculation\n",
- "#for AM\n",
- "pt1=(1+(m**2)/2.0)\n",
- "#for SSBSC\n",
- "pt2=(m**2)/4.0\n",
- "#% power saving\n",
- "p=(pt1-pt2)*100/pt1\n",
- "p=math.floor(p*10)/10\n",
- "\n",
- "#Result\n",
- "print(\"Percentage power saving is %.1f%%\"%p)\n",
- "\n",
- "#for case (b)\n",
- "\n",
- "#Variable Declaration\n",
- "m=1 #modulation index\n",
- "\n",
- "#Calculation\n",
- "#for AM\n",
- "pt1=(1+(m**2)/2.0)\n",
- "#for SSBSC\n",
- "pt2=(m**2)/4.0\n",
- "#% power saving\n",
- "p=(pt1-pt2)*100/pt1\n",
- "p=math.floor(p*10)/10\n",
- "\n",
- "#Result\n",
- "print(\"\\n Percentage power saving is %.1f%%\"%p)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Percentage power saving is 94.4%\n",
- "\n",
- " Percentage power saving is 83.3%\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.2, page no-174 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "pc=500 #energy of carrier signal\n",
- "m=0.6 #AM modulation index\n",
- "\n",
- "\n",
- "#Calculation\n",
- "\n",
- "#for (a)\n",
- "pt=pc*(1+(m**2)/2)\n",
- "\n",
- "#for (b)\n",
- "pt2=pc*(m**2)/4\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"(a)\\n A3E is the double side band AM with full carrier.\\n Therefore, Pt= %.0f W\\n\\n (b)\\n J3E is an SSBSC system.\\n Therefore, Pt= %.0f W\"%(pt,pt2))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a)\n",
- " A3E is the double side band AM with full carrier.\n",
- " Therefore, Pt= 590 W\n",
- "\n",
- " (b)\n",
- " J3E is an SSBSC system.\n",
- " Therefore, Pt= 45 W\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.3, page no-175 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "m=0.6 #60% modulation\n",
- "\n",
- "\n",
- "#Calculation\n",
- "#for A3E\n",
- "pt1=(1+(m**2)/2)\n",
- "#for J3E\n",
- "pt2=(m**2)/4\n",
- "#% power saving\n",
- "p=(pt1-pt2)*100/pt1\n",
- "p=math.ceil(p*10)/10\n",
- "\n",
- "#Result\n",
- "print(\"Percentage power saving is %.2f%%\"%p)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Percentage power saving is 92.40%\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.4, page no-175 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "#multiplication of two signals gives AM with frequency component(wc-wm) and (wc+wm) and its BW is 2wm\n",
- "bw=0.5/100 #bw is 0.5% of carrier freq. \n",
- "\n",
- "\n",
- "#Calculation\n",
- "wc=2/bw\n",
- "\n",
- "#Result\n",
- "print(\"Wc = %.0f*Wm\"%wc)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wc = 400*Wm\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.5, page no-190 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "#comparing given equation with stanard equation\n",
- "m=6.0 #Modulation Index\n",
- "wc=7.8*10**8 #unmodulated carrier frequency\n",
- "wm=1450 #Modulating frequency\n",
- "\n",
- "\n",
- "#Calculation\n",
- "fc=wc/(2*math.pi)\n",
- "fm=wm/(2*math.pi)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Unmodulated carrier frequency, fc = %.2f MHz \\n The modulation index m = %d \\n Modulating frequency, fm = %.2f Hz\"%(fc/10**6,m,fm))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Unmodulated carrier frequency, fc = 124.14 MHz \n",
- " The modulation index m = 6 \n",
- " Modulating frequency, fm = 230.77 Hz\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.7, page no-191 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "#comparing given equation with stanard equation\n",
- "mf=150 #modulation index\n",
- "fm=1 # modulating frequency in KHz\n",
- "\n",
- "\n",
- "#Calculation\n",
- "fd=mf*fm\n",
- "bw=2*(mf+1)*fm\n",
- "\n",
- "#Result\n",
- "print(\"frequency deviation = %.0f kHz\\n Bandwidth = %.0f kHz \\n\\n Expression for instantaneous frequency is given by, \\n f = 10^8-150*(10^3)*sin(2*3.14*10^3*t)\"%(fd,bw))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "frequency deviation = 150 kHz\n",
- " Bandwidth = 302 kHz \n",
- "\n",
- " Expression for instantaneous frequency is given by, \n",
- " f = 10^8-150*(10^3)*sin(2*3.14*10^3*t)\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.8, page no-191 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "fd=50 #frequency deviation in kHz\n",
- "fm=1.0 #modulating frequency in kHz for case 1\n",
- "fm2=100.0 #modulating frequency in kHz for case 2\n",
- "\n",
- "\n",
- "#Calculation\n",
- "#for case 1\n",
- "m=fd/fm\n",
- "bw=2*(m+1)*fm\n",
- "#for case 2\n",
- "m2=fd/fm2\n",
- "bw2=2*(m2+1)*fm2\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"For first case\\n Modulation index = %.0f \\n Bandwidth = %.0f kHz \\n\\n For second case\\n Modulation index = %.1f \\n Bandwidth = %.0f kHz\"%(m,bw,m2,bw2))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": []
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.9, page no-192 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "bw=20*10**3 #bandwidth in Hz\n",
- "fm=1* 10**3 #modulating frequency in Hz\n",
- "\n",
- "\n",
- "#Calculation\n",
- "mf=(bw/(2*fm))-1\n",
- "new_mf=mf*6\n",
- "new_fm=0.5 #kHz\n",
- "new_bw=2*(new_mf+1)*new_fm\n",
- "\n",
- "#Result\n",
- "print(\"mf=%.0f\\n New modulation index = %.0f\\n New bandwidth = %.0f kHz\"%(mf,new_mf,new_bw))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "mf=9\n",
- " New modulation index = 54\n",
- " New bandwidth = 55 kHz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.10, page no-192"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable Declaration\n",
- "fd=75.0 #Maximum allowed frequency deviation in kHz\n",
- "fm=15.0 #Highest modulating frequency in kHz\n",
- "\n",
- "\n",
- "#Calculation\n",
- "D=fd/fm\n",
- "bw=2*(D+1)*fm\n",
- "\n",
- "#Result\n",
- "print(\"Deviation Ratio, D = %.0f\\n Bandwidth = %.0f kHz\"%(D,bw))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Deviation Ratio, D = 5\n",
- " Bandwidth = 180 kHz\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.11, page no-199"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "fm=3200.0 #highest frequency component in message signal\n",
- "k=48000.0 #channel capacity in b/s\n",
- "\n",
- "#Calculation\n",
- "fs=2*fm\n",
- "n=k/fs\n",
- "n=math.floor(n)\n",
- "\n",
- "#Result\n",
- "print(\"n = %.0f\\n L = 2^7 = %.0f\\n fs = %.3f kHz\"%(n,2**7,(k/7)/1000))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 7\n",
- " L = 2^7 = 128\n",
- " fs = 6.857 kHz\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.12, page no-199"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "#re-arranging equation and comparing it with standard equation we have,\n",
- "f=2500 #Highest frequency component in the signal in Hz\n",
- "\n",
- "#result\n",
- "print(\"Nyquist rate = 2 x f\\n\\t = %.0f Hz = %.0f kHz\"%(2*f,2*f/1000))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Nyquist rate = 2 x f\n",
- "\t = 5000 Hz = 5 kHz\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.13, page no-199"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "l=128 #no of Quantizing levels\n",
- "fs=10000.0 #sampling frequency in Hz\n",
- "\n",
- "\n",
- "#Calculation\n",
- "n=7 #math.log2(l)\n",
- "t=1/(n*fs)\n",
- "\n",
- "#Result\n",
- "print(\"Number of bits per sample (n) = %.0f\\n Time duration of one bit of binary encoded signal is %.3f micro second\"%(n,t*10**6))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of bits per sample (n) = 7\n",
- " Time duration of one bit of binary encoded signal is 14.286 micro second\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.15, page no-208"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "f1=2.4 #first signal frequency\n",
- "f2=3.2 #2nd signal frequency\n",
- "f3=3.4 #3rd signal frequency\n",
- "\n",
- "#minimum sampling rate for each of the signals would be twice the highest frequency component\n",
- "\n",
- "\n",
- "sr=3*(f3*2)\n",
- "st=10**6/(sr*10**3)\n",
- "print(\"Sampling rate of the composite signal = %.1f kHz \\nSampling interval of the composite signal = %.0f micro second\"%(sr,st))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Sampling rate of the composite signal = 20.4 kHz \n",
- "Sampling interval of the composite signal = 49 micro second\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.16, page no-209"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "bw=3.2 # voice channel band limited frequency in kHz\n",
- "r=1.2 # 1.2 times the Nyquist rate\n",
- "n=24.0 # no of voice channel\n",
- "b=8.0 # 8-bit PCM\n",
- "sr=2*bw*r\n",
- "p=10**6/(sr*10**3)\n",
- "N=(n*b)+1\n",
- "bit_d=p/N\n",
- "bit_d=math.ceil(bit_d*1000)/1000\n",
- "tr=1/bit_d\n",
- "\n",
- "print(\"Number of bits in each frame = %.0f \\nBit duration = %.3f micro second \\nTransmission rate = %.3f Mbps\"%(N,bit_d,math.ceil(tr*1000)/1000))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of bits in each frame = 193 \n",
- "Bit duration = 0.675 micro second \n",
- "Transmission rate = 1.482 Mbps\n"
- ]
- }
- ],
- "prompt_number": 21
- }
- ],
- "metadata": {}
- }
- ]
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:0567df6d143de5413d3406fc62e3bde7360c6adec18cda1ddb49a1255bcf929f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "chapter 5: Communication Techniques"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.1, page no-174 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "import math\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Variable Declaration\n",
+ "m=0.5 #modulation index\n",
+ "\n",
+ "#Calculation\n",
+ "#for AM\n",
+ "pt1=(1+(m**2)/2.0)\n",
+ "#for SSBSC\n",
+ "pt2=(m**2)/4.0\n",
+ "#% power saving\n",
+ "p=(pt1-pt2)*100/pt1\n",
+ "p=math.floor(p*10)/10\n",
+ "\n",
+ "#Result\n",
+ "print(\"Percentage power saving is %.1f%%\"%p)\n",
+ "\n",
+ "#for case (b)\n",
+ "\n",
+ "#Variable Declaration\n",
+ "m=1 #modulation index\n",
+ "\n",
+ "#Calculation\n",
+ "#for AM\n",
+ "pt1=(1+(m**2)/2.0)\n",
+ "#for SSBSC\n",
+ "pt2=(m**2)/4.0\n",
+ "#% power saving\n",
+ "p=(pt1-pt2)*100/pt1\n",
+ "p=math.floor(p*10)/10\n",
+ "\n",
+ "#Result\n",
+ "print(\"\\n Percentage power saving is %.1f%%\"%p)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage power saving is 94.4%\n",
+ "\n",
+ " Percentage power saving is 83.3%\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.2, page no-174 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "pc=500 #energy of carrier signal\n",
+ "m=0.6 #AM modulation index\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#for (a)\n",
+ "pt=pc*(1+(m**2)/2)\n",
+ "\n",
+ "#for (b)\n",
+ "pt2=pc*(m**2)/4\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n A3E is the double side band AM with full carrier.\\n Therefore, Pt= %.0f W\\n\\n (b)\\n J3E is an SSBSC system.\\n Therefore, Pt= %.0f W\"%(pt,pt2))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " A3E is the double side band AM with full carrier.\n",
+ " Therefore, Pt= 590 W\n",
+ "\n",
+ " (b)\n",
+ " J3E is an SSBSC system.\n",
+ " Therefore, Pt= 45 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.3, page no-175 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "m=0.6 #60% modulation\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#for A3E\n",
+ "pt1=(1+(m**2)/2)\n",
+ "#for J3E\n",
+ "pt2=(m**2)/4\n",
+ "#% power saving\n",
+ "p=(pt1-pt2)*100/pt1\n",
+ "p=math.ceil(p*10)/10\n",
+ "\n",
+ "#Result\n",
+ "print(\"Percentage power saving is %.2f%%\"%p)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage power saving is 92.40%\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.4, page no-175 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "\n",
+ "bw=0.5/100 #bw is 0.5% of carrier freq. \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "wc=2/bw\n",
+ "\n",
+ "#Result\n",
+ "print(\"Wc = %.0f*Wm\"%wc)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wc = 400*Wm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.5, page no-190 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "\n",
+ "m=6.0 #Modulation Index\n",
+ "wc=7.8*10**8 #unmodulated carrier frequency\n",
+ "wm=1450 #Modulating frequency\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "fc=wc/(2*math.pi)\n",
+ "fm=wm/(2*math.pi)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Unmodulated carrier frequency, fc = %.2f MHz \\n The modulation index m = %d \\n Modulating frequency, fm = %.2f Hz\"%(fc/10**6,m,fm))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Unmodulated carrier frequency, fc = 124.14 MHz \n",
+ " The modulation index m = 6 \n",
+ " Modulating frequency, fm = 230.77 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.7, page no-191 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "mf=150 #modulation index\n",
+ "fm=1 # modulating frequency in KHz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "fd=mf*fm\n",
+ "bw=2*(mf+1)*fm\n",
+ "\n",
+ "#Result\n",
+ "print(\"frequency deviation = %.0f kHz\\n Bandwidth = %.0f kHz \\n\\n Expression for instantaneous frequency is given by, \\n f = 10^8-150*(10^3)*sin(2*3.14*10^3*t)\"%(fd,bw))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "frequency deviation = 150 kHz\n",
+ " Bandwidth = 302 kHz \n",
+ "\n",
+ " Expression for instantaneous frequency is given by, \n",
+ " f = 10^8-150*(10^3)*sin(2*3.14*10^3*t)\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.8, page no-191 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "fd=50 #frequency deviation in kHz\n",
+ "fm=1.0 #modulating frequency in kHz for case 1\n",
+ "fm2=100.0 #modulating frequency in kHz for case 2\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#for case 1\n",
+ "m=fd/fm\n",
+ "bw=2*(m+1)*fm\n",
+ "#for case 2\n",
+ "m2=fd/fm2\n",
+ "bw2=2*(m2+1)*fm2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"For first case\\n Modulation index = %.0f \\n Bandwidth = %.0f kHz \\n\\n For second case\\n Modulation index = %.1f \\n Bandwidth = %.0f kHz\"%(m,bw,m2,bw2))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.9, page no-192 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "bw=20*10**3 #bandwidth in Hz\n",
+ "fm=1* 10**3 #modulating frequency in Hz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "mf=(bw/(2*fm))-1\n",
+ "new_mf=mf*6\n",
+ "new_fm=0.5 #kHz\n",
+ "new_bw=2*(new_mf+1)*new_fm\n",
+ "\n",
+ "#Result\n",
+ "print(\"mf=%.0f\\n New modulation index = %.0f\\n New bandwidth = %.0f kHz\"%(mf,new_mf,new_bw))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mf=9\n",
+ " New modulation index = 54\n",
+ " New bandwidth = 55 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.10, page no-192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable Declaration\n",
+ "fd=75.0 #Maximum allowed frequency deviation in kHz\n",
+ "fm=15.0 #Highest modulating frequency in kHz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "D=fd/fm\n",
+ "bw=2*(D+1)*fm\n",
+ "\n",
+ "#Result\n",
+ "print(\"Deviation Ratio, D = %.0f\\n Bandwidth = %.0f kHz\"%(D,bw))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deviation Ratio, D = 5\n",
+ " Bandwidth = 180 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.11, page no-199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "fm=3200.0 #highest frequency component in message signal\n",
+ "k=48000.0 #channel capacity in b/s\n",
+ "\n",
+ "#Calculation\n",
+ "fs=2*fm\n",
+ "n=k/fs\n",
+ "n=math.floor(n)\n",
+ "\n",
+ "#Result\n",
+ "print(\"n = %.0f\\n L = 2^7 = %.0f\\n fs = %.3f kHz\"%(n,2**7,(k/7)/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "n = 7\n",
+ " L = 2^7 = 128\n",
+ " fs = 6.857 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.12, page no-199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "f=2500 #Highest frequency component in the signal in Hz\n",
+ "\n",
+ "#result\n",
+ "print(\"Nyquist rate = 2 x f\\n\\t = %.0f Hz = %.0f kHz\"%(2*f,2*f/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Nyquist rate = 2 x f\n",
+ "\t = 5000 Hz = 5 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.13, page no-199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "l=128 #no of Quantizing levels\n",
+ "fs=10000.0 #sampling frequency in Hz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "n=7 #math.log2(l)\n",
+ "t=1/(n*fs)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Number of bits per sample (n) = %.0f\\n Time duration of one bit of binary encoded signal is %.3f micro second\"%(n,t*10**6))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of bits per sample (n) = 7\n",
+ " Time duration of one bit of binary encoded signal is 14.286 micro second\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.15, page no-208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "f1=2.4 #first signal frequency\n",
+ "f2=3.2 #2nd signal frequency\n",
+ "f3=3.4 #3rd signal frequency\n",
+ "\n",
+ "t\n",
+ "\n",
+ "\n",
+ "sr=3*(f3*2)\n",
+ "st=10**6/(sr*10**3)\n",
+ "print(\"Sampling rate of the composite signal = %.1f kHz \\nSampling interval of the composite signal = %.0f micro second\"%(sr,st))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sampling rate of the composite signal = 20.4 kHz \n",
+ "Sampling interval of the composite signal = 49 micro second\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.16, page no-209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "bw=3.2 # voice channel band limited frequency in kHz\n",
+ "r=1.2 # 1.2 times the Nyquist rate\n",
+ "n=24.0 # no of voice channel\n",
+ "b=8.0 # 8-bit PCM\n",
+ "sr=2*bw*r\n",
+ "p=10**6/(sr*10**3)\n",
+ "N=(n*b)+1\n",
+ "bit_d=p/N\n",
+ "bit_d=math.ceil(bit_d*1000)/1000\n",
+ "tr=1/bit_d\n",
+ "\n",
+ "print(\"Number of bits in each frame = %.0f \\nBit duration = %.3f micro second \\nTransmission rate = %.3f Mbps\"%(N,bit_d,math.ceil(tr*1000)/1000))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of bits in each frame = 193 \n",
+ "Bit duration = 0.675 micro second \n",
+ "Transmission rate = 1.482 Mbps\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ }
+ ],
+ "metadata": {}
+ }
+ ]
} \ No newline at end of file
diff --git a/Satellite_Communication/chapter_7.ipynb b/Satellite_Communication/chapter_7.ipynb
index 1ed28d5b..45cec90e 100644
--- a/Satellite_Communication/chapter_7.ipynb
+++ b/Satellite_Communication/chapter_7.ipynb
@@ -1,746 +1,746 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "chapter 7: Satellite Link Design Fundamentals"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.1, page no-249"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "d=36000 *10**3 #distance of geostationary satellite from earth's surface\n",
- "Gt=100 # Antenna gain of 20dB\n",
- "Pt=10 # Power radiated by earth station\n",
- "\n",
- "#Calculation\n",
- "Prd=Pt*Gt/(4*math.pi*d**2)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Prd = %.4f * 10 ^-12 W/m^2\\nPower received by the receiving antenna is given by Pr = %.3f pW\"%(Prd*10**12,Prd*10**13))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Prd = 0.0614 * 10 ^-12 W/m^2\n",
- "Power received by the receiving antenna is given by Pr = 0.614 pW\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.2, page no-262"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "c=3*10**8 #speed of light \n",
- "R=10000 #path length\n",
- "f=4.0 # operating frequencyin GHz\n",
- "EIRP=50 #in dB\n",
- "gr=20 #antenna gain in dB\n",
- "rp=-120 # received power in dB\n",
- "\n",
- "\n",
- "#Calculation\n",
- "\n",
- "#(a)\n",
- "lamda=c/(f*10**9)\n",
- "pl=20*math.log10(4*math.pi*R/lamda)\n",
- "\n",
- "#(b)\n",
- "Lp=EIRP+gr-rp\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"(a)\\n Operating wavelength = %.3f m\\n Path loss(in dB) = %.2f dB\"%(lamda,pl))\n",
- "print(\"\\n\\n (b)\\n Path loss = %.0fdB\"%Lp)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a)\n",
- " Operating wavelength = 0.075 m\n",
- " Path loss(in dB) = 124.48 dB\n",
- "\n",
- "\n",
- " (b)\n",
- " Path loss = 190dB\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.3, page no-262"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "p=75 # rotation of plane of polarization\n",
- "\n",
- "#Polarization rotation is inversaly propotional to square of the operating frequency\n",
- "\n",
- "f= 5.0 #frequency increased by factor \n",
- "x=f**2 #rotation angle will decrease by aa factor of 25\n",
- "\n",
- "\n",
- "#Calculation\n",
- "k=math.pi/180.0\n",
- "p_ex=p/x\n",
- "Apr=-20*math.log10(math.cos(p*k))\n",
- "Apr2=-20*math.log10(math.cos((p_ex)*k))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"For polarization mismatch angle = 75\u00b0\\n Attenuation = %.2f dB\"%Apr)\n",
- "print(\"\\n\\n For polarization mismatch angle = 3\u00b0 \\n Attenuation = %.3f dB\"%Apr2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For polarization mismatch angle = 75\u00b0\n",
- " Attenuation = 11.74 dB\n",
- "\n",
- "\n",
- " For polarization mismatch angle = 3\u00b0 \n",
- " Attenuation = 0.012 dB\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.4, page no-270"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "g1=30 #gain of RF stage in dB\n",
- "t1=20 #Noise temperature in K\n",
- "g2=10 #down converter gain in dB\n",
- "t2=360 #noise temperature in K\n",
- "g3=15 #gain of IF stage in dB\n",
- "t3=1000 #noise temperature in K\n",
- "t=290 #reference temperature in K\n",
- "G1=1000.0 #30 dB equivalent gain\n",
- "\n",
- "\n",
- "#Calculation\n",
- "Te=t1+(t2/G1)+t3/(G1*g2)\n",
- "F=1+Te/t\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Effective noise temperature, Te = %.2fK\"%Te)\n",
- "print(\"\\n\\nSystem Noise Figure, F = %.2f\"%F)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Effective noise temperature, Te = 20.46K\n",
- "\n",
- "\n",
- "System Noise Figure, F = 1.07\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.5, page no-271"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Variable Declaration\n",
- "g1=30 #gain of RF stage in dB\n",
- "t1=20 #Noise temperature in K\n",
- "g2=10 #down converter gain in dB\n",
- "t2=360.0 #noise temperature in K\n",
- "g3=15 #gain of IF stage in dB\n",
- "t3=1000 #noise temperature in K\n",
- "t=290.0 #reference temperature in K\n",
- "G1=1000.0 #30 dB equivalent gain\n",
- "\n",
- "\n",
- "#Calculation\n",
- "F1=1+t1/t\n",
- "F2=1+t2/t\n",
- "F3=1+t3/t\n",
- "F=F1+((F2-1)/G1)+(F3-1)/(G1*g2)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Noise Figure specificatios of the three stages are as follow,\\n\\n F1 = %.3f\\n F2 = %.2f\\n F3 = %.2f\"%(F1,F2,F3))\n",
- "print(\"\\n\\n The overall noise figure is, F = %.2f\"%F)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise Figure specificatios of the three stages are as follow,\n",
- "\n",
- " F1 = 1.069\n",
- " F2 = 2.24\n",
- " F3 = 4.45\n",
- "\n",
- "\n",
- " The overall noise figure is, F = 1.07\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.6, page no-272"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "L=1.778 #Loss factor of the feeder 2.5dB equivalent\n",
- "ts=30 #Noise temperature of sattelite receiver in K\n",
- "t=50 #Noise temperature in K\n",
- "ti=290.0 # reference temperature in K\n",
- "\n",
- "\n",
- "#Calculation\n",
- "x=t/L\n",
- "y=ti*(L-1)/L\n",
- "Te=x+y+ts\n",
- "F1=1+(ts/ti)\n",
- "F2=1+(Te/ti)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"contribution of antenna noise temperature when\\n referred to the input of the receiver is %.1f K\"%x)\n",
- "print(\"\\n\\n Contribution of feeder noise when referred to the\\n input of the receiver is %.1f\"%y)\n",
- "print(\"\\n\\n1. Noise figure in first case = %.3f = %.3f dB\"%(F1,10*math.log10(F1)))#answer in book is different 0.426dB\n",
- "print(\"\\n\\n2. Noise figure in second case = %.3f = %.2f dB\"%(F2,10*math.log10(F2)))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "contribution of antenna noise temperature when\n",
- " referred to the input of the receiver is 28.1 K\n",
- "\n",
- "\n",
- " Contribution of feeder noise when referred to the\n",
- " input of the receiver is 126.9\n",
- "\n",
- "\n",
- "1. Noise figure in first case = 1.103 = 0.428 dB\n",
- "\n",
- "\n",
- "2. Noise figure in second case = 1.638 = 2.14 dB\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.7, page no-272"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "Ta=40 #Antenna Noise temperature\n",
- "Ti=290.0 #Reference temperature in K\n",
- "T=50.0 #Effecitve input noise temperatuire\n",
- "\n",
- "#Calculation\n",
- "Tf=Ti\n",
- "L=(Ta-Tf)/(T-Tf)\n",
- "L=math.ceil(L*10**4)/10**4\n",
- "\n",
- "#Result\n",
- "print(\"Loss factor = %.4f = %.3f dB\"%(L,10*math.log10(L)))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Loss factor = 1.0417 = 0.177 dB\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.8, page no-273"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#Variable Declaration\n",
- "Ta=50 #Antenna Noise temperature\n",
- "Tf=300 #Thermodynamic temperature of the feeder\n",
- "Te=50 # Effecitve input noise temperatuire\n",
- "\n",
- "\n",
- "#Calculation for (a)\n",
- "Lf=1.0\n",
- "T=(Ta/Lf)+(Tf*(Lf-1)/Lf)+Te\n",
- "\n",
- "#Result for (a)\n",
- "print(\"(a)\\n System noise temperature = %.0fK\"%T)\n",
- "\n",
- "#Calculation for (b)\n",
- "Lf=1.413\n",
- "T=(Ta/Lf)+(Tf*(Lf-1)/Lf)+Te\n",
- "\n",
- "#Result for (b)\n",
- "print(\"\\n\\n (b)\\n System noise temperature = %.3fK\"%(math.ceil(T*10**3)/10**3))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a)\n",
- " System noise temperature = 100K\n",
- "\n",
- "\n",
- " (b)\n",
- " System noise temperature = 173.072K\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.9, page no-278"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#Variable Declaration\n",
- "e=35 #EIRP radiated by satellite in dBW\n",
- "g=50 #receiver antenna gain in dB\n",
- "e1=30 #EIRP of interfacing satellite in dBW\n",
- "theeta=4 #line-of-sight between earth station and interfacing sattelite\n",
- "\n",
- "\n",
- "#Calculation\n",
- "x=(e-e1)+(g-32+25*math.log10(theeta))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"carrier-to-interface (C/I) = %.2f dB\"%x)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "carrier-to-interface (C/I) = 38.05 dB\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.10, page no-279"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#Variable Declaration\n",
- "ea=80 #EIRP value of earth station A in dBW\n",
- "eb=75 #EIRP value of earth station B in dBW\n",
- "g=50 #transmit antenna gain in dB\n",
- "gra=20 #receiver antenna gain for earth station A in dB\n",
- "grb=15 #receiver antenna gain for earth station B in dB\n",
- "theeta=4 #viewing angle of the sattelite from two earth station\n",
- "\n",
- "\n",
- "#Calculation\n",
- "eirp_d=eb-g+32-25*math.log10(theeta)\n",
- "c_by_i=ea-eirp_d+(gra-grb)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"carrier-to-interference ratio at the satellite due to\\n inteference caused by Eart station B is, (C/I) = %.0f dB \"%c_by_i)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "carrier-to-interference ratio at the satellite due to\n",
- " inteference caused by Eart station B is, (C/I) = 43 dB \n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.11, page no-279"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#Variable Declaration\n",
- "\n",
- "#carrier sinal strength at sattelite by uplink\n",
- "u=10000.0 # equivalent to 40dB\n",
- "\n",
- "#carrier sinal strength at eart station by downlink \n",
- "d=3162.28 #equivalent to 35dB\n",
- "\n",
- "\n",
- "#Calculation\n",
- "x=1/((1/u)+(1/d))\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"Total carrier-to-interference ratio is %.2f = %.1f dB\"%(x,10*math.log10(x)))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total carrier-to-interference ratio is 2402.53 = 33.8 dB\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.12, Page no.280"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "theeta=5.0 #Angle form by slant ranges of two satellites\n",
- "dA=42100.0*10**3 #Slant range of satellite A\n",
- "dB=42000.0*10**3 #Slant range of satellite B\n",
- "r=42164.0*10**3 #radius of geostationary orbit\n",
- "\n",
- "\n",
- "#Calculation\n",
- "beeta=((dA**2+dB**2-math.cos(theeta*math.pi/180)*2*dA*dB)/(2*r**2))\n",
- "beeta=math.ceil(beeta*10**3)/10**3\n",
- "beeta=(180/math.pi)*math.acos(1-beeta)\n",
- "\n",
- "#Result\n",
- "print(\"Longitudinal separation between two satellites is %.3f\u00b0\"%beeta)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Longitudinal separation between two satellites is 5.126\u00b0\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.13, Page no.281"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#Variable Declaration\n",
- "Ga=60.0 #Antenna Gain in dB\n",
- "Ta= 60.0 #Noise teperature of Antenna\n",
- "L1=1.12 #Feeder Loss equivalent to dB\n",
- "T1=290.0 #Noise teperature of stage 1\n",
- "G2=10**6 #Gain of stage 2 in dB\n",
- "T2=140.0 #Noise teperature of stage 2\n",
- "T3=10000.0 #Noise teperature of stage 3\n",
- "G=Ga-0.5 #input of low noise amplifier\n",
- "\n",
- "\n",
- "#Calculation\n",
- "Ts=(Ta/L1)+(T1*(L1-1)/L1)+T2+(T3/G2)\n",
- "Ts=math.floor(Ts*100)/100\n",
- "x=G-10*math.log10(Ts)\n",
- "\n",
- "#Result\n",
- "print(\"Tsi = %.2fK\\n\\n G/T(in dB/K)= %.0f dB/K\"%(Ts,x))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Tsi = 224.65K\n",
- "\n",
- " G/T(in dB/K)= 36 dB/K\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.14, Page no.282"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#Variable Declaration\n",
- "Ga=60.0 #Amplifier Gain in dB\n",
- "Ta= 60.0 #Noise teperature of Antenna\n",
- "L1=1.12 #Feeder Loss equivalent to dB\n",
- "T1=290.0 #Noise teperature of stage 1\n",
- "G2=10**6 #Gain of stage 2 in dB\n",
- "T2=140.0 #Noise teperature of stage 2\n",
- "T3=10000.0 #Noise teperature of stage 3\n",
- "G=Ga-0.5 #input of low noise amplifier\n",
- "\n",
- "\n",
- "#Calculation\n",
- "T=Ta+T1*(L1-1)+L1*(T2+(T3/G2))\n",
- "x=G-10*math.log10(T)\n",
- "\n",
- "\n",
- "#Result\n",
- "print(\"T = %.1fK\\n\\n G/T = %.0f dB/k\"%(T,math.ceil(x)))\n",
- "print(\"\\n\\n It is evident from the solutions of the problems 13 and 14\\n that G/T ratio is invarient regardless of the reference point in agreement \\n with a statement made earlier in the text.\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": "*"
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.15, Page no.286"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "#Variable Declaration\n",
- "f=6.0*10**9 # uplink frequency\n",
- "eirp=80.0 # Earth station EIRP in dBW\n",
- "r=35780.0 # Earth station satellite distance\n",
- "l=2.0 # attenuation due to atomospheric factors in dB\n",
- "e=0.8 # satellite antenna's aperture efficiency\n",
- "a=0.5 # satellite antenna's aperture area\n",
- "T=190.0 # Satellite receiver's effective noise temperature \n",
- "bw=20.0*10**6 # Satellite receiver's bandwidth\n",
- "cn=25.0 # received carrier-to-noise ratioin dB\n",
- "c=3.0*10**8 # speed of light\n",
- "\n",
- "#Calculation\n",
- "k=1.38*10**-23\n",
- "lamda=c/f\n",
- "G=e*4*math.pi*a/lamda**2\n",
- "G=math.ceil(G*100)/100\n",
- "Gd=10*math.log10(G)\n",
- "p=10*math.log10(k*T*bw)\n",
- "pl=20*math.log10(4*math.pi*r*10**3/lamda)\n",
- "rp=eirp-l-pl+Gd\n",
- "rp=math.floor(rp*100)/100\n",
- "rc=math.floor((rp-p)*100)/100\n",
- "lm=rc-cn\n",
- "\n",
- "#Result\n",
- "print(\"Satellite Antenna gain, G = %.2f = %.2f dB \\n Receivers Noise Power = %.1f dB\\n free-space path loss = %.2f dB \\n received power at satellite = %.2f dB \\n receiver carrier = %.2f is stronger than noise.\\n It is %.2f dB more than the required threshold value.\\n Hence, link margin = %.2f dB\"%(G,Gd,p,pl,rp,rc,lm,lm))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Satellite Antenna gain, G = 2010.62 = 33.03 dB \n",
- " Receivers Noise Power = -132.8 dB\n",
- " free-space path loss = 199.08 dB \n",
- " received power at satellite = -88.05 dB \n",
- " receiver carrier = 44.75 is stronger than noise.\n",
- " It is 19.75 dB more than the required threshold value.\n",
- " Hence, link margin = 19.75 dB\n"
- ]
- }
- ],
- "prompt_number": 1
- }
- ],
- "metadata": {}
- }
- ]
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d8e48debe58189bda0ba7970010a7f3d133d055f445572e1b90b2e8739a1cc2b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "chapter 7: Satellite Link Design Fundamentals"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.1, page no-249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "d=36000 *10**3 #distance of geostationary satellite from earth's surface\n",
+ "Gt=100 # Antenna gain of 20dB\n",
+ "Pt=10 # Power radiated by earth station\n",
+ "\n",
+ "#Calculation\n",
+ "Prd=Pt*Gt/(4*math.pi*d**2)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Prd = %.4f * 10 ^-12 W/m^2\\nPower received by the receiving antenna is given by Pr = %.3f pW\"%(Prd*10**12,Prd*10**13))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Prd = 0.0614 * 10 ^-12 W/m^2\n",
+ "Power received by the receiving antenna is given by Pr = 0.614 pW\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.2, page no-262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "c=3*10**8 #speed of light \n",
+ "R=10000 #path length\n",
+ "f=4.0 # operating frequencyin GHz\n",
+ "EIRP=50 #in dB\n",
+ "gr=20 #antenna gain in dB\n",
+ "rp=-120 # received power in dB\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#(a)\n",
+ "lamda=c/(f*10**9)\n",
+ "pl=20*math.log10(4*math.pi*R/lamda)\n",
+ "\n",
+ "#(b)\n",
+ "Lp=EIRP+gr-rp\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(a)\\n Operating wavelength = %.3f m\\n Path loss(in dB) = %.2f dB\"%(lamda,pl))\n",
+ "print(\"\\n\\n (b)\\n Path loss = %.0fdB\"%Lp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " Operating wavelength = 0.075 m\n",
+ " Path loss(in dB) = 124.48 dB\n",
+ "\n",
+ "\n",
+ " (b)\n",
+ " Path loss = 190dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.3, page no-262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "p=75 # rotation of plane of polarization\n",
+ "\n",
+ "#Polarization rotation is inversaly propotional to square of the operating frequency\n",
+ "\n",
+ "f= 5.0 #frequency increased by factor \n",
+ "x=f**2 #rotation angle will decrease by aa factor of 25\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "k=math.pi/180.0\n",
+ "p_ex=p/x\n",
+ "Apr=-20*math.log10(math.cos(p*k))\n",
+ "Apr2=-20*math.log10(math.cos((p_ex)*k))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"For polarization mismatch angle = 75\u00b0\\n Attenuation = %.2f dB\"%Apr)\n",
+ "print(\"\\n\\n For polarization mismatch angle = 3\u00b0 \\n Attenuation = %.3f dB\"%Apr2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For polarization mismatch angle = 75\u00b0\n",
+ " Attenuation = 11.74 dB\n",
+ "\n",
+ "\n",
+ " For polarization mismatch angle = 3\u00b0 \n",
+ " Attenuation = 0.012 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.4, page no-270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "g1=30 #gain of RF stage in dB\n",
+ "t1=20 #Noise temperature in K\n",
+ "g2=10 #down converter gain in dB\n",
+ "t2=360 #noise temperature in K\n",
+ "g3=15 #gain of IF stage in dB\n",
+ "t3=1000 #noise temperature in K\n",
+ "t=290 #reference temperature in K\n",
+ "G1=1000.0 #30 dB equivalent gain\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Te=t1+(t2/G1)+t3/(G1*g2)\n",
+ "F=1+Te/t\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Effective noise temperature, Te = %.2fK\"%Te)\n",
+ "print(\"\\n\\nSystem Noise Figure, F = %.2f\"%F)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effective noise temperature, Te = 20.46K\n",
+ "\n",
+ "\n",
+ "System Noise Figure, F = 1.07\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.5, page no-271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "g1=30 #gain of RF stage in dB\n",
+ "t1=20 #Noise temperature in K\n",
+ "g2=10 #down converter gain in dB\n",
+ "t2=360.0 #noise temperature in K\n",
+ "g3=15 #gain of IF stage in dB\n",
+ "t3=1000 #noise temperature in K\n",
+ "t=290.0 #reference temperature in K\n",
+ "G1=1000.0 #30 dB equivalent gain\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "F1=1+t1/t\n",
+ "F2=1+t2/t\n",
+ "F3=1+t3/t\n",
+ "F=F1+((F2-1)/G1)+(F3-1)/(G1*g2)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Noise Figure specificatios of the three stages are as follow,\\n\\n F1 = %.3f\\n F2 = %.2f\\n F3 = %.2f\"%(F1,F2,F3))\n",
+ "print(\"\\n\\n The overall noise figure is, F = %.2f\"%F)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Noise Figure specificatios of the three stages are as follow,\n",
+ "\n",
+ " F1 = 1.069\n",
+ " F2 = 2.24\n",
+ " F3 = 4.45\n",
+ "\n",
+ "\n",
+ " The overall noise figure is, F = 1.07\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.6, page no-272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "L=1.778 #Loss factor of the feeder 2.5dB equivalent\n",
+ "ts=30 #Noise temperature of sattelite receiver in K\n",
+ "t=50 #Noise temperature in K\n",
+ "ti=290.0 # reference temperature in K\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "x=t/L\n",
+ "y=ti*(L-1)/L\n",
+ "Te=x+y+ts\n",
+ "F1=1+(ts/ti)\n",
+ "F2=1+(Te/ti)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"contribution of antenna noise temperature when\\n referred to the input of the receiver is %.1f K\"%x)\n",
+ "print(\"\\n\\n Contribution of feeder noise when referred to the\\n input of the receiver is %.1f\"%y)\n",
+ "print(\"\\n\\n1. Noise figure in first case = %.3f = %.3f dB\"%(F1,10*math.log10(F1)))#answer in book is different 0.426dB\n",
+ "print(\"\\n\\n2. Noise figure in second case = %.3f = %.2f dB\"%(F2,10*math.log10(F2)))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "contribution of antenna noise temperature when\n",
+ " referred to the input of the receiver is 28.1 K\n",
+ "\n",
+ "\n",
+ " Contribution of feeder noise when referred to the\n",
+ " input of the receiver is 126.9\n",
+ "\n",
+ "\n",
+ "1. Noise figure in first case = 1.103 = 0.428 dB\n",
+ "\n",
+ "\n",
+ "2. Noise figure in second case = 1.638 = 2.14 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.7, page no-272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "Ta=40 #Antenna Noise temperature\n",
+ "Ti=290.0 #Reference temperature in K\n",
+ "T=50.0 #Effecitve input noise temperatuire\n",
+ "\n",
+ "#Calculation\n",
+ "Tf=Ti\n",
+ "L=(Ta-Tf)/(T-Tf)\n",
+ "L=math.ceil(L*10**4)/10**4\n",
+ "\n",
+ "#Result\n",
+ "print(\"Loss factor = %.4f = %.3f dB\"%(L,10*math.log10(L)))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Loss factor = 1.0417 = 0.177 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.8, page no-273"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable Declaration\n",
+ "Ta=50 #Antenna Noise temperature\n",
+ "Tf=300 #Thermodynamic temperature of the feeder\n",
+ "Te=50 # Effecitve input noise temperatuire\n",
+ "\n",
+ "\n",
+ "#Calculation for (a)\n",
+ "Lf=1.0\n",
+ "T=(Ta/Lf)+(Tf*(Lf-1)/Lf)+Te\n",
+ "\n",
+ "#Result for (a)\n",
+ "print(\"(a)\\n System noise temperature = %.0fK\"%T)\n",
+ "\n",
+ "#Calculation for (b)\n",
+ "Lf=1.413\n",
+ "T=(Ta/Lf)+(Tf*(Lf-1)/Lf)+Te\n",
+ "\n",
+ "#Result for (b)\n",
+ "print(\"\\n\\n (b)\\n System noise temperature = %.3fK\"%(math.ceil(T*10**3)/10**3))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)\n",
+ " System noise temperature = 100K\n",
+ "\n",
+ "\n",
+ " (b)\n",
+ " System noise temperature = 173.072K\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.9, page no-278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable Declaration\n",
+ "e=35 #EIRP radiated by satellite in dBW\n",
+ "g=50 #receiver antenna gain in dB\n",
+ "e1=30 #EIRP of interfacing satellite in dBW\n",
+ "theeta=4 #line-of-sight between earth station and interfacing sattelite\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "x=(e-e1)+(g-32+25*math.log10(theeta))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"carrier-to-interface (C/I) = %.2f dB\"%x)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "carrier-to-interface (C/I) = 38.05 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.10, page no-279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable Declaration\n",
+ "ea=80 #EIRP value of earth station A in dBW\n",
+ "eb=75 #EIRP value of earth station B in dBW\n",
+ "g=50 #transmit antenna gain in dB\n",
+ "gra=20 #receiver antenna gain for earth station A in dB\n",
+ "grb=15 #receiver antenna gain for earth station B in dB\n",
+ "theeta=4 #viewing angle of the sattelite from two earth station\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "eirp_d=eb-g+32-25*math.log10(theeta)\n",
+ "c_by_i=ea-eirp_d+(gra-grb)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"carrier-to-interference ratio at the satellite due to\\n inteference caused by Eart station B is, (C/I) = %.0f dB \"%c_by_i)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "carrier-to-interference ratio at the satellite due to\n",
+ " inteference caused by Eart station B is, (C/I) = 43 dB \n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.11, page no-279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable Declaration\n",
+ "\n",
+ "\n",
+ "u=10000.0 # equivalent to 40dB\n",
+ "\n",
+ "#carrier sinal strength at eart station by downlink \n",
+ "d=3162.28 #equivalent to 35dB\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "x=1/((1/u)+(1/d))\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Total carrier-to-interference ratio is %.2f = %.1f dB\"%(x,10*math.log10(x)))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total carrier-to-interference ratio is 2402.53 = 33.8 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.12, Page no.280"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "theeta=5.0 #Angle form by slant ranges of two satellites\n",
+ "dA=42100.0*10**3 #Slant range of satellite A\n",
+ "dB=42000.0*10**3 #Slant range of satellite B\n",
+ "r=42164.0*10**3 #radius of geostationary orbit\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "beeta=((dA**2+dB**2-math.cos(theeta*math.pi/180)*2*dA*dB)/(2*r**2))\n",
+ "beeta=math.ceil(beeta*10**3)/10**3\n",
+ "beeta=(180/math.pi)*math.acos(1-beeta)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Longitudinal separation between two satellites is %.3f\u00b0\"%beeta)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Longitudinal separation between two satellites is 5.126\u00b0\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.13, Page no.281"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "\n",
+ "#Variable Declaration\n",
+ "Ga=60.0 #Antenna Gain in dB\n",
+ "Ta= 60.0 #Noise teperature of Antenna\n",
+ "L1=1.12 #Feeder Loss equivalent to dB\n",
+ "T1=290.0 #Noise teperature of stage 1\n",
+ "G2=10**6 #Gain of stage 2 in dB\n",
+ "T2=140.0 #Noise teperature of stage 2\n",
+ "T3=10000.0 #Noise teperature of stage 3\n",
+ "G=Ga-0.5 #input of low noise amplifier\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Ts=(Ta/L1)+(T1*(L1-1)/L1)+T2+(T3/G2)\n",
+ "Ts=math.floor(Ts*100)/100\n",
+ "x=G-10*math.log10(Ts)\n",
+ "\n",
+ "#Result\n",
+ "print(\"Tsi = %.2fK\\n\\n G/T(in dB/K)= %.0f dB/K\"%(Ts,x))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tsi = 224.65K\n",
+ "\n",
+ " G/T(in dB/K)= 36 dB/K\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.14, Page no.282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variable Declaration\n",
+ "Ga=60.0 #Amplifier Gain in dB\n",
+ "Ta= 60.0 #Noise teperature of Antenna\n",
+ "L1=1.12 #Feeder Loss equivalent to dB\n",
+ "T1=290.0 #Noise teperature of stage 1\n",
+ "G2=10**6 #Gain of stage 2 in dB\n",
+ "T2=140.0 #Noise teperature of stage 2\n",
+ "T3=10000.0 #Noise teperature of stage 3\n",
+ "G=Ga-0.5 #input of low noise amplifier\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "T=Ta+T1*(L1-1)+L1*(T2+(T3/G2))\n",
+ "x=G-10*math.log10(T)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"T = %.1fK\\n\\n G/T = %.0f dB/k\"%(T,math.ceil(x)))\n",
+ "print(\"\\n\\n It is evident from the solutions of the problems 13 and 14\\n that G/T ratio is invarient regardless of the reference point in agreement \\n with a statement made earlier in the text.\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.15, Page no.286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Variable Declaration\n",
+ "f=6.0*10**9 # uplink frequency\n",
+ "eirp=80.0 # Earth station EIRP in dBW\n",
+ "r=35780.0 # Earth station satellite distance\n",
+ "l=2.0 # attenuation due to atomospheric factors in dB\n",
+ "e=0.8 # satellite antenna's aperture efficiency\n",
+ "a=0.5 # satellite antenna's aperture area\n",
+ "T=190.0 # Satellite receiver's effective noise temperature \n",
+ "bw=20.0*10**6 # Satellite receiver's bandwidth\n",
+ "cn=25.0 # received carrier-to-noise ratioin dB\n",
+ "c=3.0*10**8 # speed of light\n",
+ "\n",
+ "#Calculation\n",
+ "k=1.38*10**-23\n",
+ "lamda=c/f\n",
+ "G=e*4*math.pi*a/lamda**2\n",
+ "G=math.ceil(G*100)/100\n",
+ "Gd=10*math.log10(G)\n",
+ "p=10*math.log10(k*T*bw)\n",
+ "pl=20*math.log10(4*math.pi*r*10**3/lamda)\n",
+ "rp=eirp-l-pl+Gd\n",
+ "rp=math.floor(rp*100)/100\n",
+ "rc=math.floor((rp-p)*100)/100\n",
+ "lm=rc-cn\n",
+ "\n",
+ "#Result\n",
+ "print(\"Satellite Antenna gain, G = %.2f = %.2f dB \\n Receivers Noise Power = %.1f dB\\n free-space path loss = %.2f dB \\n received power at satellite = %.2f dB \\n receiver carrier = %.2f is stronger than noise.\\n It is %.2f dB more than the required threshold value.\\n Hence, link margin = %.2f dB\"%(G,Gd,p,pl,rp,rc,lm,lm))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Satellite Antenna gain, G = 2010.62 = 33.03 dB \n",
+ " Receivers Noise Power = -132.8 dB\n",
+ " free-space path loss = 199.08 dB \n",
+ " received power at satellite = -88.05 dB \n",
+ " receiver carrier = 44.75 is stronger than noise.\n",
+ " It is 19.75 dB more than the required threshold value.\n",
+ " Hence, link margin = 19.75 dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
} \ No newline at end of file