Documentation
¶
Index ¶
Constants ¶
View Source
const ( InputTypeConfig = "configuration" InputTypeEphemeris = "ephemeris" InputTypeObservation = "observation" InputTypePreciseProduct = "precise_product" )
Constants for InputData types
View Source
const ( ResultTypePosition = "position" ResultTypeAmbiguityStatus = "ambiguity_status" ResultTypeDiagnostics = "diagnostics" )
Constants for Results types
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type InputData ¶
type InputData struct {
Type string // Data type identifier
Payload interface{} // Data payload
}
InputData represents data flowing into the PPP solver
type PPP ¶
type PPP struct {
Config PPPConfig
DataChan chan InputData
ResultsChan chan Results
Epoch observation.Epoch
Ephemeris *ephemeris.EphemerisStore
PreciseProducts products.PreciseProductProvider
SatelliteStateMap *state.PPPSatelliteStateMap
FilterState *filter.EKFState
Result PPPResult
// contains filtered or unexported fields
}
PPP is the main solver struct for Precise Point Positioning with Ambiguity Resolution
func (*PPP) ProcessEpoch ¶
func (ppp *PPP) ProcessEpoch(epoch observation.Epoch) (PPPResult, error)
ProcessEpoch processes a single observation epoch through the PPP filter
type PPPConfig ¶
type PPPConfig struct {
config.Config // Embed base configuration
// Precise product settings
SP3FilePath string // Path to SP3 precise orbit file
CLKFilePath string // Path to clock (CLK) file
BiasSINEXPath string // Path to Bias-SINEX file (CODE or IGS)
VMFGridPath string // Path to VMF troposphere grid files
AntexFilePath string // Path to ANTEX antenna calibration file
// Processing mode
ProcessingMode string // "static" or "kinematic"
// Ambiguity resolution settings
AREnabled bool // Enable ambiguity resolution
ARMinRatio float64 // Ratio test threshold (default: 3.0)
ARMinSatellites int // Minimum satellites required for AR (default: 5)
ARValidationMethod string // "ratio", "w-test", or "combined"
// Troposphere estimation
EstimateTroposphere bool // Enable troposphere estimation
TroposphereModel string // "VMF1", "VMF3", or "Saastamoinen"
EstimateGradients bool // Estimate troposphere gradients (North/East)
// Process noise parameters (for Kalman filter)
ProcessNoisePosition float64 // m²/s - for kinematic mode
ProcessNoiseClock float64 // m²/s - receiver clock random walk
ProcessNoiseTroposphere float64 // m²/s - troposphere ZWD random walk
ProcessNoiseAmbiguity float64 // cycles²/s - float ambiguity process noise (typically 0)
// Measurement weighting
CodeSigma float64 // Code measurement std dev (meters), default: 1.0
PhaseSigma float64 // Phase measurement std dev (meters), default: 0.01
}
PPPConfig extends the base configuration with PPP-AR specific settings
func NewDefaultPPPConfig ¶
func NewDefaultPPPConfig() PPPConfig
NewDefaultPPPConfig returns a PPPConfig with sensible defaults
type PPPResult ¶
type PPPResult struct {
Time time.Time
Position coordinates.Vector3D
PositionCovariance [3][3]float64 // Position covariance (ECEF)
ReceiverClocks map[gnss.System]float64 // Per-system receiver clocks (meters)
ClockCovariances map[gnss.System]float64 // Clock uncertainties (meters)
TroposphereZWD float64 // Zenith wet delay (meters)
TroposphereVariance float64 // ZWD uncertainty (meters²)
TroposphereGradient [2]float64 // North, East gradients (meters)
NumberOfSatellites int // Number of satellites used
NumberOfObservations int // Total observations (code + phase)
AmbiguityStatus string // "float", "partial_fixed", "fixed"
FixedAmbiguities int // Number of fixed ambiguities
FloatAmbiguities int // Number of float ambiguities
PDOP float64 // Position dilution of precision
Converged bool // Solution convergence flag
}
PPPResult contains the output of a PPP solution for a single epoch
Click to show internal directories.
Click to hide internal directories.