{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 4: Satellite Hardware"
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.1, page no-122"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "#Variable Declaration\n",
      "I=250     #specific impulse of a propellant\n",
      "g=9.807   # acceleration due to gravity\n",
      "\n",
      "\n",
      "#Calculation\n",
      "v=I*g\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Ejection velocity of the propellant mass is, v= %.2f m/s\"%v)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Ejection velocity of the propellant mass is, v= 2451.75 m/s\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.2, page no-122"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "m=4330.0      #initial mass of the satellite\n",
      "i=290.0       #specific impulse of a propellant\n",
      "del_v=-100    #velocity increment\n",
      "g=9.807       #acceleration due to gravity\n",
      "\n",
      "\n",
      "#Calculation\n",
      "m1=m*(1-math.exp(del_v/(g*i)))\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Mass of propellant necessary to be burnt is, m= %.0fkg\"%math.ceil(m1))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Mass of propellant necessary to be burnt is, m= 150kg\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.3, page no-123"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "m=2950.0      #initial mass of the satellite\n",
      "F=450.0       #required thrust\n",
      "T=10.0        #thrust for time period\n",
      "i=300.0       #specific impulse of a propellant\n",
      "g=9.807       #acceleration due to gravity\n",
      "\n",
      "\n",
      "#Calculation\n",
      "mi=F*T/(i*g)\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Mass of propellant that would be consumed is, m=%.2fkg\"%mi)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Mass of propellant that would be consumed is, m=1.53kg\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.5, page no-134"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "p=2000.0       # electrical energy to be generated from solar panel in Watt\n",
      "fi=1250.0      # solar flux falling normally to the solar cell in worst case\n",
      "s=4*10**-4     # Area of each solar cell\n",
      "e=0.15         # conversion efficiency of solar cell includingthe losses\n",
      "theta=10.0     # angle made by rays of sun with normal \n",
      "\n",
      "\n",
      "#Calculation\n",
      "n=p/(fi*s*e)\n",
      "n1=math.ceil(n)*math.pi\n",
      "n2=math.ceil(n1)/math.cos(math.pi*(theta)/180.0)\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Required no of solar cells, n = %.0f cells\"%math.ceil(n1))\n",
      "print(\"\\n No of cells when sunrays are making an angle of 10\u00b0 are %.0f\"%math.ceil(n2))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Required no of solar cells, n = 83777 cells\n",
        "\n",
        " No of cells when sunrays are making an angle of 10\u00b0 are 85070\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.6, page no-134"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "p=3600.0     #Power required\n",
      "t=1.2        #worst case eclipse period\n",
      "c=90.0       #capacity of each cell in Ah\n",
      "v=1.3        #voltage of each cell in V\n",
      "d=0.8        # Depth of discharge\n",
      "e=0.95       #Discharge efficiency\n",
      "E_sp=60.0    #specific energy specification of the battery\n",
      "\n",
      "\n",
      "#Calculation\n",
      "energy=p*t\n",
      "n=energy/(c*v*d*e)\n",
      "E_b=energy/(d*e)\n",
      "m=E_b/E_sp\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"No of cells, n= %.0f cells\\n Energy required to be stored in the battery system is %.1f Wh\\n Mass of battery system = %.2f kg\"%(n,E_b,m))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "No of cells, n= 49 cells\n",
        " Energy required to be stored in the battery system is 5684.2 Wh\n",
        " Mass of battery system = 94.74 kg\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.7, page no-153"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "theta=0.5         #azimuth beam width=Elevation beam width\n",
      "f=6.0*10**9       #operating frequency 6 Ghz\n",
      "c=3.0*10**8       #speed of light in cm/s\n",
      "\n",
      "\n",
      "#Calculation\n",
      "theta_r=theta*math.pi/180.0\n",
      "theta_r=math.ceil(theta_r*10**5)/10**5\n",
      "A=4*math.pi/(theta_r**2)\n",
      "A=math.ceil(A*100)/100\n",
      "A_dB=10*math.log10(A)\n",
      "lam=c/f\n",
      "Ag=(A*lam**2)/(4*math.pi)\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Gain in dB = %.2f dB \\nAntenna gain expressed in terms of\\nantenna aperture(A) is given by G = %.2f m^2\"%(A_dB,Ag))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Gain in dB = 52.17 dB \n",
        "Antenna gain expressed in terms of\n",
        "antenna aperture(A) is given by G = 32.80 m^2\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.8, page no-153"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "la=0.5      #length efficiency in azimuth direction\n",
      "le=0.7      #length efficiency in elevation direction \n",
      "A=10        #Actual projected area of an antenna\n",
      "\n",
      "\n",
      "#Calculation\n",
      "Ae=la*le\n",
      "Aee=Ae*A\n",
      "\n",
      "#Result\n",
      "print(\"Aperture efficiency = %.2f \\n Effective Aperture = %.1f m^2\"%(Ae,Aee))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Aperture efficiency = 0.35 \n",
        " Effective Aperture = 3.5 m^2\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.9, page no-154"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "p=100        #Antenna power in W\n",
      "pd=10        #Power Density in mW/m^2\n",
      "d=1000       #distance in m\n",
      "p2=10000     #New antenna power\n",
      "\n",
      "\n",
      "#Calculation\n",
      "directivity=10*math.log10(p2/p)\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Directivity (in dB)= %d dB\"%directivity)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Directivity (in dB)= 20 dB\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.10, page no-154"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Variable Declaration\n",
      "beam_w=0.4   #antenna's 3dB beam width\n",
      "Ae=5         #Effective Aperture of Antenna\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"The null-to-null beam width of a paraboloid reflector is twice its 3dB beam width. \\n Therefore, Null-to-null beam width = %.1f\u00b0\"%(2*beam_w))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The null-to-null beam width of a paraboloid reflector is twice its 3dB beam width. \n",
        " Therefore, Null-to-null beam width = 0.8\u00b0\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.11, page no-154"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "d=20.0        #received signal strenth in dB\n",
      "loss=3.0      #incident polarization is circular and antenna is circularly polarized\n",
      "theta=60.0    #received wave making angle with horizontal\n",
      "\n",
      "\n",
      "#Calculation\n",
      "total=d+loss\n",
      "los=d*math.log10(1/math.cos(math.pi*theta/180.0))\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"(a)\\n When received polarization is same as antenna \\n polarization,thepolarization loss is zero.\\n Therefore, received sinal strenth = %ddB\"%total)\n",
      "print(\"\\n\\n(b)\\n When the incident wave is vertically polarized,\\n the angle between incident polarization and antenna polarization is 90\u00b0\\n Hence, Polarization loss = infinity\\n received signal strength = 0\")\n",
      "print(\"\\n\\n(c)\\n When incident wave is left-hand circularly polarized\\n and antenna polarization is linear,\\n then there is polarization loss of %ddB and\\n received signal strength is %ddB\"%(loss,d))\n",
      "print(\"\\n\\n(d)\\n Polarization loss = %ddB \\n Received signal strength = %ddB\"%(los,math.ceil(total-los)))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)\n",
        " When received polarization is same as antenna \n",
        " polarization,thepolarization loss is zero.\n",
        " Therefore, received sinal strenth = 23dB\n",
        "\n",
        "\n",
        "(b)\n",
        " When the incident wave is vertically polarized,\n",
        " the angle between incident polarization and antenna polarization is 90\u00b0\n",
        " Hence, Polarization loss = infinity\n",
        " received signal strength = 0\n",
        "\n",
        "\n",
        "(c)\n",
        " When incident wave is left-hand circularly polarized\n",
        " and antenna polarization is linear,\n",
        " then there is polarization loss of 3dB and\n",
        " received signal strength is 20dB\n",
        "\n",
        "\n",
        "(d)\n",
        " Polarization loss = 6dB \n",
        " Received signal strength = 17dB\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.12, page no-155"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "Ea=1              #effective aperture\n",
      "f=11.95*10**9     #downlink operating frequency\n",
      "c=3*10**8         #speed of light\n",
      "\n",
      "Ae=math.floor((math.pi*1000*Ea**2)/4)/1000\n",
      "lamda=math.floor(c*1000/f)/1000\n",
      "ag=math.floor(100*4*math.pi*Ae/lamda**2)/100\n",
      "adb=math.floor(100*10*math.log10(ag))/100\n",
      "width=70*lamda/Ea\n",
      "print(\"Operating wavelength = %.3fm\\n Antenna Gain = %.2f\\n Antenna Gain in dB = %.2fdB\\n 3dB beam width = %.2f\u00b0\"%(lamda,ag,adb,width))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Operating wavelength = 0.025m\n",
        " Antenna Gain = 15783.36\n",
        " Antenna Gain in dB = 41.98dB\n",
        " 3dB beam width = 1.75\u00b0\n"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.13, page no-155"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "#Variable Declaration\n",
      "f=2.0          # reflector focal length\n",
      "d=2.0          # reflector diameter\n",
      "l=90.0/100.0   # 90% of the angle\n",
      "\n",
      "\n",
      "#Calculation\n",
      "theta=4*180.0*(math.atan(1/(4*f/d)))/math.pi\n",
      "theta=4*180.0*math.atan(0.25007)/math.pi    # this value gives exact answer as in book\n",
      "dbw=l*theta\n",
      "\n",
      "#Result\n",
      "print(\"The angle subtended by the focal point feed\\n at the edges of the reflector is, theeta = %.2f\u00b0\\n\\n 3dB beam width = %.2f\u00b0\\n null-to-null beam width = % .2f\u00b0\"%(theta,dbw,math.floor(200.0*dbw)/100.0))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The angle subtended by the focal point feed\n",
        " at the edges of the reflector is, theeta = 56.16\u00b0\n",
        "\n",
        " 3dB beam width = 50.54\u00b0\n",
        " null-to-null beam width =  101.08\u00b0\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.14, page no-155"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "c=3*10**8     #speed of light \n",
      "f=2.5*10**9   #operating frequency\n",
      "s=0.1         #inter element spacing\n",
      "theta =10     #10\u00b0 right towards array axis\n",
      "\n",
      "#Calculation\n",
      "l=c/f\n",
      "fi=(360*s/l)*math.ceil(10000*math.sin(math.pi*theta/180.0))/10000\n",
      "fi=math.ceil(10*fi)/10\n",
      "\n",
      "#Result\n",
      "print(\"The phase angle for elements 1,2,3,4 and 5 \\n are respecively 0\u00b0,%.1f\u00b0,%.1f\u00b0,%.1f\u00b0 and %.1f\u00b0\"%(fi,2*fi,3*fi,4*fi))\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The phase angle for elements 1,2,3,4 and 5 \n",
        " are respecively 0\u00b0,52.2\u00b0,104.4\u00b0,156.6\u00b0 and 208.8\u00b0\n"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 4.15, page no-156"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "\n",
      "#Variable Declaration\n",
      "p=10000        #power fed to the antenna in W\n",
      "ag=60          #Antenna gain\n",
      "loss=2         #Power lossin feed system\n",
      "\n",
      "\n",
      "#Calculation\n",
      "adb=10*math.log10(p)\n",
      "EIRP=adb+ag-loss\n",
      "\n",
      "\n",
      "#Result\n",
      "print(\"Earth station EIRP = %ddB\"%EIRP)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Earth station EIRP = 98dB\n"
       ]
      }
     ],
     "prompt_number": 17
    }
   ],
   "metadata": {}
  }
 ]
}