Skip to main content
Commonmark migration
Source Link

$$ P_{RX} = P_{TX} + G_{TX} - L_{FS} + G_{RX} $$

 
  • $P_{RX}$: Received Power
  • $P_{TX}$: Transmitted Power
  • $G_{TX}$: Gain of Transmitting antenna (compared to isotropic)
  • $L_{FS}$: "Free space Loss", what we usually call $1/r^2$ (but also has $R^2 / \lambda^2$) because receive gain is relative to isotropic)
  • $G_{RX}$: Gain of Earth's Receiving antenna (compared to isotropic)
 

$$L_{FS} = 20 \times \log_{10}\left( 4 \pi \frac{R}{\lambda} \right)$$

 

$$G_{Dish} \sim 20 \times \log_{10}\left( \frac{\pi d}{\lambda} \right)$$

$$ P_{RX} = P_{TX} + G_{TX} - L_{FS} + G_{RX} $$

 
  • $P_{RX}$: Received Power
  • $P_{TX}$: Transmitted Power
  • $G_{TX}$: Gain of Transmitting antenna (compared to isotropic)
  • $L_{FS}$: "Free space Loss", what we usually call $1/r^2$ (but also has $R^2 / \lambda^2$) because receive gain is relative to isotropic)
  • $G_{RX}$: Gain of Earth's Receiving antenna (compared to isotropic)
 

$$L_{FS} = 20 \times \log_{10}\left( 4 \pi \frac{R}{\lambda} \right)$$

 

$$G_{Dish} \sim 20 \times \log_{10}\left( \frac{\pi d}{\lambda} \right)$$

$$ P_{RX} = P_{TX} + G_{TX} - L_{FS} + G_{RX} $$

  • $P_{RX}$: Received Power
  • $P_{TX}$: Transmitted Power
  • $G_{TX}$: Gain of Transmitting antenna (compared to isotropic)
  • $L_{FS}$: "Free space Loss", what we usually call $1/r^2$ (but also has $R^2 / \lambda^2$) because receive gain is relative to isotropic)
  • $G_{RX}$: Gain of Earth's Receiving antenna (compared to isotropic)

$$L_{FS} = 20 \times \log_{10}\left( 4 \pi \frac{R}{\lambda} \right)$$

$$G_{Dish} \sim 20 \times \log_{10}\left( \frac{\pi d}{\lambda} \right)$$

added 44 characters in body
Source Link
uhoh
  • 151k
  • 56
  • 505
  • 1.6k

Telescope operation and scheduling

I suppose each navigation satellite could have dozens of telescopes, but because these deep space orbits can be well characterized over time and ephemerides built up, with good math they don't really need to be in constant communication with each other, and unless your spacecraft is in a critical near-planet enounter, you don't need to receive signals from all of them at the same time. So you would probably have to run some kind of scheduling service so that your interplanetary spacecraft can have signals from the six navigation satellites sent to it in rapid succession. Your spacecraft would require a good optical commuications telescope and a correspondingly active and agile attitude control system to pick up your signals when they are scheduled to arive.

Telescope operation and scheduling

I suppose each navigation satellite could have dozens of telescopes, but because these deep space orbits can be well characterized over time and ephemerides built up, with good math they don't really need to be in constant communication with each other, and unless your spacecraft is in a critical near-planet enounter, you don't need to receive signals from all of them at the same time. So you would probably have to run some kind of scheduling service so that your interplanetary spacecraft can have signals from the six navigation satellites sent to it in rapid succession. Your spacecraft would require a good optical commuications telescope and a correspondingly active and agile attitude control system to pick up your signals when they are scheduled to arive.

added 44 characters in body
Source Link
uhoh
  • 151k
  • 56
  • 505
  • 1.6k

Here's an illustration of a possible minimal 6 satellite 6 AU configuration, with Mercury through Saturn shown as well, and the Python 3 script that made it.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]

semis     = np.array((0.387, 0.723, 1.0, 1.523, 5.204, 9.583))
args      = twopi * (np.linspace(0, 1, 301) + np.random.random(len(semis))[:, None])
funcs     = (np.cos, np.sin, np.zeros_like)
planets   = np.stack([f(args) for f in funcs], axis=1)*semis[:, None, None]

semis     = 6*np.ones(23)
args1     = twopi * (np.linspace(0, 1, 301) + np.array([00.05, 0+ np.55]arange(3)[:, None]/3.)
args2     = twopi * (np.linspace(0, 1, 301) + np.array([00.30,05 0+ np.80]arange(3)[:, None]/3. +  1/6.)
funcs1    = (np.cos,        np.zeros_like, np.sin)
funcs2    = (np.zeros_like, np.cos,        np.sin)
navsats1  = np.stack([f(args1) for f in funcs1], axis=1)*semis[:, None, None]
navsats2  = np.stack([f(args2) for f in funcs2], axis=1)*semis[:, None, None]
navsats   = np.vstack((navsats1, navsats2))

if True:
    fig = plt.figure()
    fig.patch.set_facecolor('xkcd:mint green') # https://stackoverflow.com/q/14088687/3904031
    plt.subplots_adjust(top=0.95, bottom=0.05, left=0.05, right=0.95, hspace=0.2, wspace=0.2)
    plt.rcParams['axes.facecolor'] = 'black' # https://stackoverflow.com/a/40371037/3904031

    ax  = fig.add_subplot(1, 1, 1, projection='3d')
    # ax.set_title('title')

    for (x, y, z) in planets:
        ax.plot(x, y, z)
        ax.plot(x[:1], y[:1], z[:1], 'o')
    for (x, y, z) in navsats:
        ax.plot(x, y, z, '-c')
        ax.plot(x[:1], y[:1], z[:1], 'or')
    plt.show()

Here's an illustration of a possible minimal 6 satellite 6 AU configuration, with Mercury through Saturn shown as well.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]

semis   = np.array((0.387, 0.723, 1.0, 1.523, 5.204, 9.583))
args    = twopi * (np.linspace(0, 1, 301) + np.random.random(len(semis))[:, None])
funcs   = (np.cos, np.sin, np.zeros_like)
planets = np.stack([f(args) for f in funcs], axis=1)*semis[:, None, None]

semis     = 6*np.ones(2)
args1     = twopi * (np.linspace(0, 1, 301) + np.array([0.05, 0.55])[:, None])
args2     = twopi * (np.linspace(0, 1, 301) + np.array([0.30, 0.80])[:, None])
funcs1    = (np.cos,        np.zeros_like, np.sin)
funcs2    = (np.zeros_like, np.cos,        np.sin)
navsats1 = np.stack([f(args1) for f in funcs1], axis=1)*semis[:, None, None]
navsats2 = np.stack([f(args2) for f in funcs2], axis=1)*semis[:, None, None]
navsats  = np.vstack((navsats1, navsats2))

if True:
    fig = plt.figure()
    fig.patch.set_facecolor('xkcd:mint green') # https://stackoverflow.com/q/14088687/3904031
    plt.subplots_adjust(top=0.95, bottom=0.05, left=0.05, right=0.95, hspace=0.2, wspace=0.2)
    plt.rcParams['axes.facecolor'] = 'black' # https://stackoverflow.com/a/40371037/3904031

    ax  = fig.add_subplot(1, 1, 1, projection='3d')
    # ax.set_title('title')

    for (x, y, z) in planets:
        ax.plot(x, y, z)
        ax.plot(x[:1], y[:1], z[:1], 'o')
    for (x, y, z) in navsats:
        ax.plot(x, y, z, '-c')
        ax.plot(x[:1], y[:1], z[:1], 'or')
    plt.show()

Here's an illustration of a possible minimal 6 satellite 6 AU configuration, with Mercury through Saturn shown as well, and the Python 3 script that made it.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]

semis     = np.array((0.387, 0.723, 1.0, 1.523, 5.204, 9.583))
args      = twopi * (np.linspace(0, 1, 301) + np.random.random(len(semis))[:, None])
funcs     = (np.cos, np.sin, np.zeros_like)
planets   = np.stack([f(args) for f in funcs], axis=1)*semis[:, None, None]

semis     = 6*np.ones(3)
args1     = twopi * (np.linspace(0, 1, 301) + 0.05 + np.arange(3)[:, None]/3.)
args2     = twopi * (np.linspace(0, 1, 301) + 0.05 + np.arange(3)[:, None]/3. +  1/6.)
funcs1    = (np.cos,        np.zeros_like, np.sin)
funcs2    = (np.zeros_like, np.cos,        np.sin)
navsats1  = np.stack([f(args1) for f in funcs1], axis=1)*semis[:, None, None]
navsats2  = np.stack([f(args2) for f in funcs2], axis=1)*semis[:, None, None]
navsats   = np.vstack((navsats1, navsats2))

if True:
    fig = plt.figure()
    fig.patch.set_facecolor('xkcd:mint green') # https://stackoverflow.com/q/14088687/3904031
    plt.subplots_adjust(top=0.95, bottom=0.05, left=0.05, right=0.95, hspace=0.2, wspace=0.2)
    plt.rcParams['axes.facecolor'] = 'black' # https://stackoverflow.com/a/40371037/3904031

    ax  = fig.add_subplot(1, 1, 1, projection='3d')

    for (x, y, z) in planets:
        ax.plot(x, y, z)
        ax.plot(x[:1], y[:1], z[:1], 'o')
    for (x, y, z) in navsats:
        ax.plot(x, y, z, '-c')
        ax.plot(x[:1], y[:1], z[:1], 'or')
    plt.show()
Source Link
uhoh
  • 151k
  • 56
  • 505
  • 1.6k
Loading