March 30, 2021

Attitude Quaternion File (CAS_AttQuat)


CASSIOPE SPACECRAFT (Swarm-E)
PROCESSED DATA HANDBOOK

Attitude Quaternion File (CAS_AttQuat)


The attitude quaternion CDF file is CASSIOPE’s daily definitive attitude file, formatted to the NASA Common Data Format (CDF) standard.

Contents:

TimestampCDF Epoch type. The output timestamps are on the second, every second, for the 86400s of the day. They start at 00:00:00, and end at 23:59:59. CDF_Epoch does not acknowledge leap seconds (it’s UTC-based and counts from 01-Jan-0000 00:00:00.000).
qAttitude Quaternion. Scalar Last. Uses the frame translation “ITRF<-Body”. It is a 2d Array of double-precision floats.
YawYaw Degrees. 321 Derivation.
PitchPitch Degrees. 321 Derivation.
RollRoll Degrees. 321 Derivation.
Data_Source_PreviousThe source of the previous Definitive Solution.
Data_Source_NextThe source of the next Definitive Solution.
Time_To_PreviousSeconds until the next Definitive Solution.
Time_To_NextSeconds until the previous Definitive Solution.

The Data_Source fields are a critical parameter in determining the uncertainty of the reported attitude solution. The uncertainty in the star sensor measurements are on the order of 0.01 degrees when both star sensors are merged, and 0.06 degrees when there is data from only one star sensor. Coarse sun sensors coupled with magnetometers, on the other hand, have a much larger uncertainty in the range of 8 degrees on average, with a large variation in the results depending on local time, orbit plane orientation, and other factors.

With regards to “Time to Previous” and “Time to Next”, off-cadence solutions (‘definitive’) from the star sensors and coarse sun sensors are used to build the solution using a 1Hz splined output. Data_Source_Previous/Next indicates from what source the corresponding Time_To_Previous/Next off-cadence solution came from.

For example, if there’s a solution at 12:10:30.60 from Star-Tracker B:
12:10:30 will have a Time-To-Next of 0.6, and a Data_Source_Next of 5
12:10:31 will have a Time-To-Prior of 0.4, and a Data_Source_Previous of 5.

If there is a solution that is exactly on a second, it will be used for BOTH Time-To and Data-Source of that on-cadence second.
E.g.: If there’s a solution at 12:10:30.00 from Star-Tracker A, 12:10:30 will have a Time-To-Next of 0, a Time-To-Previous of 0, a Data_Source_Next of 4, and a Data_Source_Previous of 4.

Data Sources:

0:Dropout (added to indicate the start/end of a ‘NaN’ filled period)
1:Uncalibrated coarse sun sensor and magnetometer solution (very large uncertainty, > 10 degrees)
2:Coarse Sun Sensors and Magnetometers (large uncertainty of ~8 degrees)
3:Onboard-fused star sensor (uncertainty of ~0.1 degrees)
4:Star sensor A solution (SSA) (uncertainty of ~0.06 degrees)
5:Star sensor B solution (SSB) (uncertainty of ~0.06 degrees)
6:Star sensor A+B (locally fused solution, uncertainty of ~0.01 degrees)

If there is a dropout greater than 10 minutes, ‘q’ rows are filled with NaN’s and Yaw, Pitch, Roll values are set at ‘999.0’

Eg: If there is a drop out between 12:00:00.60 and 12:20:00.40, with surrounding valid solutions, everything between them is filled with NaN, has a Data_Source Previous/Next of 0, a Time-To-Previous/Next referencing the 12:00:01 and 12:20:00 times, and YPR values of 999.0.