state

package
v0.11.2 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2024 License: Apache-2.0 Imports: 13 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 // T - time signal was received by receiver
	SignalEmissionTime     time.Time // Tau - time signal was emitted by satellite
	Sys                    gnss.System
	SvID                   int
	Prepared               bool
	SatelliteEphemeris     ephemeris.TypeSpecificEphemeris
	SatellitePosition      ephemeris.SatPosition
	Elevation              float64
	Azimuth                float64
	SagnacCorrection       float64
	TroposphericCorrection float64
	IonosphericCorrection  float64
	IonosphereFreePhase    float64
	IonosphereFreeRange    float64
	ModeledRange           float64
	MelbourneWubbena       float64
	ObservationMap         map[string]*observation.Observation
}

func (*SatelliteState) CalculateGeometryFree

func (s *SatelliteState) CalculateGeometryFree(c1, c2 string) error

func (*SatelliteState) CalculateIonosphereFree

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

func (*SatelliteState) CalculateIonosphericCorrection

func (s *SatelliteState) CalculateIonosphericCorrection() error

func (*SatelliteState) CalculateMelbourneWubbena

func (s *SatelliteState) CalculateMelbourneWubbena(config gnssconfig.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 gnssconfig.Config)

TODO: add support for configuration of the modeled terms

func (*SatelliteState) CalculateSagnacCorrection

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

func (*SatelliteState) CalculateSatelliteAzimuthElevation

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

func (*SatelliteState) CalculateSatelliteCoordinates

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

func (*SatelliteState) CalculateTroposphericCorrection

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

func (*SatelliteState) GetSignalEmissionTime

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

func (*SatelliteState) WriteJSON

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

type SatelliteStateMap

type SatelliteStateMap map[ephemeris.SatelliteKey]*SatelliteState

func FilterSatellites

func FilterSatellites(satelliteMap SatelliteStateMap, config gnssconfig.Config) (SatelliteStateMap, error)

func NewSatelliteMap

func NewSatelliteMap(epoch observation.Epoch, eMap ephemeris.EphemerisMap, config gnssconfig.Config) (SatelliteStateMap, 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