| modelParams | Vector with parameters of the corresponding model.
Model parameters depending on the attitude model
Attitude Model |
Array Element |
Description (Reference) |
Unit (Format) |
XPCFI_MODEL_GENERIC |
[0] |
First Axis enumeration value |
- |
[1] |
First Target enumeration value |
- |
[2] |
First Vector[0] |
- or deg |
[3] |
First Vector[1] |
- or deg |
[4] |
First Vector[2] |
- or deg |
[5] |
Second Axis enumeration value |
- |
[6] |
Second Target enumeration value |
- |
[7] |
Second Vector[0] |
- or deg |
[8] |
Second Vector[1] |
- or deg |
[9] |
Second Vector[2] |
- or deg |
XPCFI_MODEL_ENVISAT |
[0] |
AOCS Cx parameter [pitch] |
deg |
[1] |
AOCS Cy parameter [roll] |
deg |
[2] |
AOCS Cz parameter [yaw] |
deg |
XPCFI_MODEL_CRYOSAT |
[0] |
Local Normal Z Coefficient |
-
|
XPCFI_MODEL_ADM |
[0] |
Scan Angle |
deg |
[1] |
Scan Limit |
deg |
[2] |
Velocity Offset |
m/s |
XPCFI_MODEL_SENTINEL1 |
[0] |
Local Normal Coefficient |
-
|
[1] |
Earth‘s angular velocity vector |
rad/s |
[2] |
Antenna bore sight off nadir angle at reference altitude |
deg |
[3] |
Reference altitude |
m |
[4] |
Roll steering sensitivity versus altitude |
deg/km |
[5] |
h0 |
m |
[6] |
h1 |
m |
[7] |
h2 |
m |
[8] |
h3 |
m |
[9] |
h4 |
m |
[10] |
φ1 |
rad |
[11] |
φ2 |
rad |
[12] |
φ3 |
rad |
[13] |
φ4 |
rad |
Generic Model description
The generic model builds the reference frames from the specified direction vectors.
The model parameters are:
-
first_axis: It can be any of {+/-XPCFI_X_AXIS, +/-XPCFI_Y_AXIS, +/-XPCFI_Z_AXIS}
-
first_target: It can be any of {XPCFI_SUN_VEC, XPCFI_MOON_VEC, XPCFI_EARTH_VEC, XPCFI_NADIR_VEC, XPCFI_INERTIAL_VEL_VEC, XPCFI_EF_VEL_VEC, XPCFI_INERTIAL_TARGET_VEC, XPCFI_EF_TARGET_VEC, XPCFI_SC_EF_VEL_VEC, XPCFI_ORBIT_POLE, XPCFI_INERTIAL_POS_VEC_CORRECTED, XPCFI_INERTIAL_VEL_VEC_ROTATED}
-
first_vector[3]: contains either:
- dummies
- [long, lat, alt] if first target = XPCFI_EF_TARGET_VEC
- [ra, decl, parallax] if first target = XPCFI_INERTIAL_TARGET_VEC
- correction coefficients if first target = XPCFI_INERTIAL_POS_VEC_CORRECTED
- rotation vector if first target = XPCFI_INERTIAL_VEL_VEC_ROTATED
-
second_axis: It can be any of {+/-XPCFI_X_AXIS, +/-XPCFI_Y_AXIS, +/-XPCFI_Z_AXIS}
-
second_target: : It can be any of {XPCFI_SUN_VEC, XPCFI_MOON_VEC, XPCFI_EARTH_VEC, XPCFI_NADIR_VEC, XPCFI_INERTIAL_VEL_VEC, XPCFI_EF_VEL_VEC, XPCFI_INERTIAL_TARGET_VEC, XPCFI_EF_TARGET_VEC, XPCFI_SC_EF_VEL_VEC, XPCFI_ORBIT_POLE, XPCFI_INERTIAL_POS_VEC_CORRECTED, XPCFI_INERTIAL_VEL_VEC_ROTATED}
-
second_vector[3]: contains either:
- dummies
- [long, lat, alt] if second target= XPCFI_EF_TARGET_VEC
- [ra, decl, parallax] if fsecond target=XPCFI_INERTIAL_TARGET_VEC
- correction coefficients if second target=XPCFI_INERTIAL_POS_VEC_CORRECTED
- rotation vector if second target = XPCFI_INERTIAL_VEL_VEC_ROTATED
It is necessary to define a convention for each target type (e.g, always from Satellite to XXX):
- XPCFI_SUN_VEC: Unit direction vector from Satellite to Sun
- XPCFI_MOON_VEC: Unit direction vector from Satellite to Moon
- XPCFI_EARTH_VEC: Unit direction vector from Satellite to Earth centre (opposite to Satellite Position Vector)
- XPCFI_NADIR_VEC: Unit direction vector from Satellite to Nadir point
- XPCFI_INERTIAL_VEL_VEC: Inertial Velocity vector (in TOD)
- XPCFI_EF_VEL_VEC: Earth Fixed Velocity vector
- XPCFI_INERTIAL_TARGET_VEC: Unit direction vector from Satellite to a target defined by a given [ra, decl, parallax]. The annual parallax is used in case we are pointing to a close object (for instance, the Moon), in order to get the distance. For stars, parallax=0 shall be used, meaning infinite distance. Units: degrees
- XPCFI_EF_TARGET_VEC: Unit direction vector from Satellite to a target defined by a given [long, lat, alt]
- XPCFI_SC_EF_VEL_VEC: Satellite Earth Fixed Velocity vector
- XPCFI_ORBIT_POLE: Unit direction vector normal to the orbital plane (computed as the cross product of the Satellite Position vector and its Velocity vector)
- XPCFI_INERTIAL_POS_VEC_CORRECTED: Unit Satellite position vector in ToD corrected by coefficients (e.g to approximate the local normal direction)
- XPCFI_INERTIAL_VEL_VEC_ROTATED: Inertial Velocity vector in ToD rotated (e.g correcting for the Earth rotation)
With these parameters, the calculation is done as follows:
- Compute the unit direction vector specified by first_target
- Assign the calculated first target vector to the first axis vector
- Compute the unit direction vector specified by second_target
- Cross-product of the first axis vector and the second target vector
- Assign the resulting vector to the second axis vector
- Complete the right-handed frame
The following are some examples:
** Sun-Fixed Reference Frame
- model_param = {XPCFI_X_AXIS, XPCFI_SUN_VEC, 0.0, 0.0, 0.0, XPCFI_Z_AXIS, XPCFI_EARTH_VEC, 0.0, 0.0, 0.0}
Then:
X-axis = Unit vector from Satellite to Sun (Sun Vector)
Z-axis = Unit cross product: X-axis x (Unit vector from Satellite to Earth (Earth Vector))
Y-axis = Z-axis x X-axis (completing the right-handed frame)
** Yaw Steering Mode
- model_param={-XPCFI_Z_AXIS, XPCFI_NADIR_VEC, 0.0, 0.0, 0.0, XPCFI_X_AXIS, XPCFI_EF_VEL_VEC, 0.0, 0.0, 0.0}
Then:
- Z-axis = -(Unit vector from Satellite to Nadir (Nadir Vector))
- X-axis = Unit cross product: Z-axis x (Earth-Fixed Velocity Vector)
- Y-axis = Z-axis x X-axis (completing the right-handed frame)
|