diff options
author | debashisdeb | 2014-06-21 00:52:25 +0530 |
---|---|---|
committer | debashisdeb | 2014-06-21 00:52:25 +0530 |
commit | 7c756fcc12d21693818e58f6936cab5b7c112868 (patch) | |
tree | 009cb02ec85f4a75ac7b64239751f15361df2bfe /Satellite_Communication/chapter_3.ipynb | |
parent | 83c1bfceb1b681b4bb7253b47491be2d8b2014a1 (diff) | |
download | Python-Textbook-Companions-7c756fcc12d21693818e58f6936cab5b7c112868.tar.gz Python-Textbook-Companions-7c756fcc12d21693818e58f6936cab5b7c112868.tar.bz2 Python-Textbook-Companions-7c756fcc12d21693818e58f6936cab5b7c112868.zip |
Removed Problem Statements Completely
Diffstat (limited to 'Satellite_Communication/chapter_3.ipynb')
-rw-r--r-- | Satellite_Communication/chapter_3.ipynb | 1489 |
1 files changed, 744 insertions, 745 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 |