pylupnt.GnssConstellation

class pylupnt.GnssConstellation

Constellation of GNSS satellites with precomputed ephemerides; provides satellite state interpolation and transmitter antenna/power metadata

get_gnss_const(self: pylupnt._pylupnt.GnssConstellation) pylupnt._pylupnt.GnssConst

GNSS system (GPS, Galileo, BDS, QZSS, …) of this constellation

get_num_satellites(self: pylupnt._pylupnt.GnssConstellation) int

Number of satellites (PRNs) currently configured

get_prns(self: pylupnt._pylupnt.GnssConstellation) list[int]

List of PRNs currently configured

get_satellite_state_eci(self: pylupnt._pylupnt.GnssConstellation, prn: SupportsInt | SupportsIndex, t_tai: SupportsFloat | SupportsIndex) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Interpolated ECI [r; v] [m, m/s] of satellite prn at t_tai (TAI seconds)

get_transmit_power_dbw(self: pylupnt._pylupnt.GnssConstellation, prn: SupportsInt | SupportsIndex, freq: pylupnt._pylupnt.GnssFreq) float

Transmit power [dB-W] for prn and freq

get_transmitter_antenna(self: pylupnt._pylupnt.GnssConstellation, prn: SupportsInt | SupportsIndex, freq: pylupnt._pylupnt.GnssFreq) pylupnt._pylupnt.Antenna

Transmit antenna pattern for prn and freq

has_transmitter_info(self: pylupnt._pylupnt.GnssConstellation, prn: SupportsInt | SupportsIndex, freq: pylupnt._pylupnt.GnssFreq) bool

True if antenna and transmit-power metadata exist for prn and freq

is_fault_prn(self: pylupnt._pylupnt.GnssConstellation, prn: SupportsInt | SupportsIndex) bool

True if prn has been marked faulted via set_fault_prns

load_ephemeris(self: pylupnt._pylupnt.GnssConstellation, filepath: str) None

Load satellite ephemerides from HDF5 file

save_ephemeris(self: pylupnt._pylupnt.GnssConstellation, filepath: str) None

Save satellite ephemerides to HDF5 file

set_fault_prns(self: pylupnt._pylupnt.GnssConstellation, prns: collections.abc.Sequence[SupportsInt | SupportsIndex]) None

Mark the given PRNs as faulted so they are reported unavailable

set_satellite_states(self: pylupnt._pylupnt.GnssConstellation, prns: collections.abc.Sequence[SupportsInt | SupportsIndex], t_tai: Annotated[numpy.typing.ArrayLike, numpy.float64, '[m, 1]'], rv_eci: collections.abc.Sequence[Annotated[numpy.typing.ArrayLike, numpy.float64, '[m, n]']]) None

Set precomputed satellite ECI position/velocity histories (M×6 per PRN)

setup_satellite_states_from_files(self: pylupnt._pylupnt.GnssConstellation, sp3_paths: collections.abc.Sequence[str], antex_path: str, t_tai: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"], freq: pylupnt._pylupnt.GnssFreq = <GnssFreq.L1: 0>, prns: collections.abc.Sequence[typing.SupportsInt | typing.SupportsIndex] = []) None

Build ephemerides from SP3 + ANTEX files with PCO correction

setup_transmitters(self: pylupnt._pylupnt.GnssConstellation) None

Load transmitter antenna patterns and power for all PRNs (GPS/Galileo/QZSS)