pylupnt.GnssYawSteering

class pylupnt.GnssYawSteering
static bds3_cast_igso_yaw_angle(t: Real, ts: Real, phi_s: Real) Real

BDS-3 CAST IGSO WHU yaw-steering model [Eq. 13]

static bds3_cast_meo_yaw_angle(t: Real, ts: Real, phi_s: Real) Real

BDS-3 CAST MEO WHU yaw-steering model [Eq. 14]

static bds3_secm_csno_yaw_angle(beta: Real, mu: Real) Real

BDS-3 SECM MEO CSNO model near zero-beta yaw maneuvers [Eq. 15]

static bds3_secm_mcsno_yaw_angle(t: Real, t0: Real, ts: Real, te: Real, beta: Real, beta_dot: Real, mu: Real, mu_ts: Real, mu_dot: Real, phi_ts: Real) Real

BDS-3 SECM MEO modified-CSNO (MCSNO) model with smooth zero-beta transition [Eq. 16]

static beta_angle(r_sat: Annotated[numpy.typing.ArrayLike, Real, '[3, 1]'], v_sat: Annotated[numpy.typing.ArrayLike, Real, '[3, 1]'], r_sun: Annotated[numpy.typing.ArrayLike, Real, '[3, 1]']) Real

Sun elevation angle beta above the orbital plane [rad]

static galileo_foc_yaw_angle(t: Real, ts: Real, phi_s: Real) Real

Galileo FOC yaw-steering law during yaw maneuvers [Eq. 12]

static galileo_iov_eclipse_yaw_angle(eta: Real, beta: Real, phi_nom: Real) Real

Galileo IOV modeled yaw angle during eclipse-season maneuvers [Eq. 10-11]

static galileo_iov_nominal_yaw_angle(eta: Real, beta: Real) Real

Galileo IOV nominal yaw angle [Eq. 8]

static galileo_sun_vector(eta: Real, beta: Real) Annotated[numpy.typing.NDArray[Real], '[3, 1]']

Sun reference vector in the orbital reference frame [Eq. 9]

static gps3_eclipse_yaw_angle(beta: Real, mu: Real, phi_nom: Real) Real

Improved rate-limited yaw-steering law for GPS Block III satellites during eclipse-season maneuvers (Montenbruck et al., 2026) [Eq. 11-13, 17-18]

static gps3_sun_vector(beta: Real, mu: Real) Annotated[numpy.typing.NDArray[Real], '[3, 1]']

Sun direction unit vector in the orbital reference frame, GPS III (along-track/orbit-normal/Earth-direction) convention [Eq. 11]

static gps_iif_noon_turn_yaw_angle(t: Real, ts: Real, phi_ts: Real, beta: Real) Real

GPS Block IIF noon-turn maneuver model [Eq. 5]

static gps_iif_shadow_yaw_angle(t: Real, ts: Real, te: Real, phi_ts: Real, phi_te: Real) Real

GPS Block IIF constant-yaw-rate shadow-crossing model [Eq. 3-4]

static gps_iir_midnight_turn_yaw_angle(t: Real, ts: Real, phi_ts: Real, beta: Real) Real

GPS Block IIR midnight-turn maneuver model [Eq. 6]

static gps_iir_noon_turn_yaw_angle(t: Real, ts: Real, phi_ts: Real, beta: Real) Real

GPS Block IIR noon-turn maneuver model [Eq. 7]

static nominal_yaw_angle(beta: Real, mu: Real) Real

Nominal yaw angle phi = atan2(-tan(beta), sin(mu)) [Eq. 1]

static nominal_yaw_rate(beta: Real, mu: Real, mu_dot: Real) Real

Nominal yaw rate [Eq. 2]

static orbit_angle(r_sat: Annotated[numpy.typing.ArrayLike, Real, '[3, 1]'], v_sat: Annotated[numpy.typing.ArrayLike, Real, '[3, 1]'], r_sun: Annotated[numpy.typing.ArrayLike, Real, '[3, 1]']) Real

Orbit angle mu [rad] from the orbit midnight point to the satellite

static orbit_noon_angle(mu: Real) Real

Convert a midnight-referenced orbit angle mu to the noon-referenced orbit angle eta (eta = wrap_to_pi(mu - pi)), see Eq. (9)

static sign(a: Real, b: Real) Real

FORTRAN SIGN(a, b) intrinsic: magnitude of a with the sign of b