Skip to content

Latest commit

 

History

History

useful_functions

Useful functions

Eclipses

  • compute_shadow_vector Compute the shadow vector of the spacecraft at each epoch.
    Parameters:

    • satellite_position : ndarray
      Array of satellite positions in ECI frame
    • sun_position : ndarray
      Array of sun positions in ECI frame
    • sun_radius : float
      Sun radius in meters
    • earth_radius : float
      Earth radius in meters

    Returns:

    • visibility_vector: np.ndarray
      Returns a vector with the value of the shadow function at each epoch:
      • 0 if the satellite is in umbra
      • 1 if the satellite is fully sunlit
      • a value between 0 and 1 if the satellite is in penumbra
  • compute_ecplipses Compute the eclipses of the spacecraft from a given ground station and organise it into a data frame, following the steps found at link.
    Parameters:

    • satellite_position : ndarray
      Array of satellite positions in ECI frame
    • sun_position : ndarray
      Array of sun positions in ECI frame
    • sun_radius : float
      Sun radius in meters
    • earth_radius : float
      Earth radius in meters
    • epochs : np.ndarray
      Array of epochs in seconds since J2000
    • eclipse_type : string
      Type of eclipse to compute. Can be 'Umbra' or 'Penumbra'. optional, default is 'Umbra'.

    Returns:

    • shadow_df: pd.DataFrame
      Returns a data frame containing the following information about the eclipses
      • 'start' : start date of the eclipse
      • 'end' : end date of the eclipse
      • 'start_epoch' : start epoch of the eclipse in seconds since J2000
      • 'end_epoch' : end epoch of the eclipse in seconds since J2000
      • 'duration' : duration of the eclipse in seconds
      • 'partial' : True if it is a partial eclipse, False if not

Communication windows

  • compute_communication_vector Compute the visibility vector of the spacecraft from a given ground station.
    Parameters:

    • pos_ecf : np.ndarray
      Array of satellite positions in ECEF frame
    • groundstation_name : string
      Name of a csv file containing the longitude, latitude, altitude, and minimum elevation of the groundstation.

    Returns:

    • visibility_vector: np.ndarray
      Returns an array of booleans indicating whether the spacecraft is visible or not at each epoch.
  • compute_communication_windows Compute the communication windows of the spacecraft from a given ground station and organise it into a data frame, following the steps found at this link.
    Parameters:

    • pos_ecf : np.ndarray
      Array of satellite positions in ECEF frame
    • groundstation_name : string
      Name of a csv file containing the longitude, latitude, altitude, and minimum elevation of the groundstation.
    • epochs : np.ndarray
      Array of epochs in seconds since J2000

    Returns:

    • visibility_df: pd.DataFrame
      Returns a data frame containing the following information about the communication windows:
      • 'start' : start date of the communication window
      • 'end' : end date of the communication window
      • 'start_epoch' : start epoch of the communication window in seconds since J2000
      • 'end_epoch' : end epoch of the communication window in seconds since J2000
      • 'duration' : duration of the communication window in seconds
      • 'partial' : True if it is a partial communication window, False if not