diff options
author | Hardik Ghaghada | 2014-06-21 14:25:56 +0530 |
---|---|---|
committer | Hardik Ghaghada | 2014-06-21 14:25:56 +0530 |
commit | 299711403e92ffa94a643fbd960c6f879639302c (patch) | |
tree | 009cb02ec85f4a75ac7b64239751f15361df2bfe /Satellite_Communication | |
parent | e1e59ca3a50d9f93e8b7bc0693b8081d5db77771 (diff) | |
parent | 7c756fcc12d21693818e58f6936cab5b7c112868 (diff) | |
download | Python-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.ipynb | 1489 | ||||
-rw-r--r-- | Satellite_Communication/chapter_5.ipynb | 1207 | ||||
-rw-r--r-- | Satellite_Communication/chapter_7.ipynb | 1490 |
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 |