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