state

package
v0.26.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RadiusOfEarth is the radius of the Earth in meters
	RadiusOfEarth = 6378137.0
	// AngularVelocity is the angular velocity of the Earth in rad/s
	AngularVelocity = 7.2921151467e-5
)

Variables

This section is empty.

Functions

This section is empty.

Types

type SatelliteState

type SatelliteState struct {
	SignalArrivalTime      time.Time                       `json:"signal_arrival_time"`   // T - time signal was received by receiver
	SignalEmissionTime     time.Time                       `json:"signal_emmision_time"`  // Tau - time signal was emitted by satellite
	System                 gnss.System                     `json:"system"`                // GNSS system (e.g., GPS, Galileo)
	SatelliteID            int                             `json:"satellite_id"`          // Satellite ID (PRN or Slot number)
	Prepared               bool                            `json:"prepared"`              // Indicates if the satellite state is prepared
	Ephemeris              ephemeris.TypeSpecificEphemeris `json:"-"`                     // Ephemeris data for the satellite
	Position               ephemeris.SatPosition           `json:"satellite_position"`    // Satellite position in ECEF coordinates
	Elevation              float64                         `json:"elevation"`             // Elevation in degrees
	Azimuth                float64                         `json:"azimuth"`               // Azimuth in degrees
	SagnacCorrection       float64                         `json:"sagnac"`                // Sagnac correction in meters
	TroposphericCorrection float64                         `json:"troposhere"`            // Tropospheric correction in meters
	IonosphericCorrection  float64                         `json:"ionosphere"`            // Ionospheric correction in meters
	IonosphereFreePhase    float64                         `json:"ionosphere_free_phase"` // Ionosphere-free phase in meters
	IonosphereFreeRange    float64                         `json:"ionosphere_free_range"` // Ionosphere-free range in meters
	NarrowLanePhase        float64                         `json:"narrow_lane_phase"`     // Narrow-lane phase in meters
	NarrowLaneRange        float64                         `json:"narrow_lane_range"`     // Narrow-lane range in meters
	GeometryFreePhase      float64                         `json:"geometry_free_phase"`   // Geometry-free phase in meters
	GeometryFreeRange      float64                         `json:"geometry_free_range"`   // Geometry-free range in meters
	MelbourneWubbena       float64                         `json:"melborne_wubbena"`      // Melbourne-Wubbena combination in meters
	ModeledRange           float64                         `json:"modeled_range"`         // Modeled range in meters
	Observations           []observation.Observation       `json:"-"`                     // Slice of observations for this satellite
}

func NewSatelliteState added in v0.16.0

func NewSatelliteState() *SatelliteState

func (*SatelliteState) CalculateGeometryFree

func (s *SatelliteState) CalculateGeometryFree(config config.Config) error

func (*SatelliteState) CalculateIonosphereFree

func (s *SatelliteState) CalculateIonosphereFree(config config.Config) error

func (*SatelliteState) CalculateIonosphericCorrection

func (s *SatelliteState) CalculateIonosphericCorrection() error

func (*SatelliteState) CalculateMelbourneWubbena

func (s *SatelliteState) CalculateMelbourneWubbena(config config.Config) error

CalculateMelbourneWubbena calculates the Melbourne-Wubbena combination for a given pair of observation codes c1 and c2 (e.g. "1C" and "2W") TODO - add support for more than two observation codes

func (*SatelliteState) CalculateModeledRange

func (s *SatelliteState) CalculateModeledRange(config config.Config)

TODO: add support for configuration of the modeled terms

func (*SatelliteState) CalculateNarrowLane added in v0.14.0

func (s *SatelliteState) CalculateNarrowLane(config config.Config) error

CalculateNarrowLane computes the narrow-lane combination of dual-frequency GNSS measurements.

func (*SatelliteState) CalculateSagnacCorrection

func (s *SatelliteState) CalculateSagnacCorrection(config config.Config) error

func (*SatelliteState) CalculateSatelliteAzimuthElevation

func (s *SatelliteState) CalculateSatelliteAzimuthElevation(config config.Config) error

func (*SatelliteState) CalculateSatelliteCoordinates

func (s *SatelliteState) CalculateSatelliteCoordinates(config config.Config) error

func (*SatelliteState) CalculateTroposphericCorrection

func (s *SatelliteState) CalculateTroposphericCorrection(config config.Config) error

func (*SatelliteState) GetSignalEmissionTime

func (s *SatelliteState) GetSignalEmissionTime(config.Config) error

func (*SatelliteState) WriteJSON

func (s *SatelliteState) WriteJSON(w io.Writer) error

type SatelliteStateMap

type SatelliteStateMap map[observation.SatelliteKey]*SatelliteState

type SatelliteStateMap map[string]*SatelliteState

func NewSatelliteStateMap added in v0.16.0

func NewSatelliteStateMap() *SatelliteStateMap

func NewSatelliteStateMapFromEpoch added in v0.16.0

func NewSatelliteStateMapFromEpoch(epoch observation.Epoch, config config.Config) (*SatelliteStateMap, error)

func (*SatelliteStateMap) Add added in v0.16.0

func (ssm *SatelliteStateMap) Add(s *SatelliteState)

func (*SatelliteStateMap) AddEphemeris added in v0.16.0

func (ssm *SatelliteStateMap) AddEphemeris(ephemeris map[string]ephemeris.GenericEphemeris, config config.Config) error

func (*SatelliteStateMap) Get added in v0.16.0

func (*SatelliteStateMap) Prepare added in v0.16.0

func (ssm *SatelliteStateMap) Prepare(config config.Config) error

NewSatelliteMap creates a map of SatelliteState structs from the current epoch's observations

func (*SatelliteStateMap) WriteJSON

func (ssm *SatelliteStateMap) WriteJSON(w io.Writer) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL