# Pre-processing

## Contents

## Overview[edit]

The first processing level of the LFI DPC is Level 1. The input data for the Level 1 software includes:

- raw housekeeping telemetry packets retrieved from different satellite subsystems, namely the LFI instrument, the sorption cooler, the HFI instrument, and the Central Data Management Unit (CDMU);
- the LFI raw scientific telemetry;
- additional auxiliary data provided by the MOC and the Flight dynamics, specifically
- the Attitude History File (AHF),
- time correlation data (time correlation coefficients and time couples),
- command history data,
- sorption cooler out of limit data.

Only a subset of the raw housekeeping telemetry packets is processed daily and converted into TOIs, specifically those relevant to the production of the LFI Daily Quality Report and the estimation of the LFI instrument systematic effects.

## Scientific telemetry[edit]

Each LFI radiometer provides two analogue outputs, one for each amplifier
chain. In a nominal configuration, each output yields a sequence of alternating *V*_{sky}, *V*_{load} signals at the frequency of the phase switch. By changing the phase switch configuration, the output can be a sequence of either *V*_{sky} or *V*_{load} signals.

The conversion from analogue to digital form of each radiometer output is performed by a 14-bit analogue-to-digital converter (ADC) in the Data Acquisition Electronics unit (DAE). The DAE transforms the signal in the range [–2.5V, +2.5V] – first it applies a tunable "offset," *O*_{DAE}, then it amplifies the signal with a tunable "gain," *G*_{DAE}, in order to make full use of the resolution of the ADC, and finally the signal is integrated. To eliminate phase switch rise transients, the integration takes into account a '"blanking time," i.e., a blind time in the integrator where data are not considered. The default value of the blanking time is 7.5μs. The *O*_{DAE}, the *G*_{DAE}, and the blanking time are parameters set through the LFI on-board software. The equation applied to transform a given input signal *V*_{in} into an output *V*_{out} is

- [math] V_{\rm out} = G_{\rm DAE}(V_{\rm in} + O_{\rm DAE}) + Z_{\rm DAE}, [/math]

with *G*_{DAE} = 1, 2, 3, 4, 6, 8, 12, 16, 24, or 48, *O*_{DAE} being one of 255 possible offset steps from +0 up to +2.5V, and where *Z*_{DAE} is a small offset introduced by the DAE when applying a selected gain. The values of *G*_{DAE} and *O*_{DAE} are set by
sending, through specific telecommands, the DAE gain index (DGI) and the DAE
offset index (DOI) associated with the desired values.

The ADC quantizes the *V*_{out} uniformly in the range –2.5V ≤*V*_{ADC}≤+2.5V, so that the quantization step is *q*_{ADC}=5.0/2^{14} = 0.30518mV. The quantization
formula is

- [math] S = \text{round} \left(\frac{V_{\rm out} + 2.5}{q_{\rm ADC}} \right), [/math]

and the output is stored as an unsigned integer of 16 bits.

The digitized scientific data are then processed by the Radiometer Electronics Box Assembly (REBA), which runs the LFI on-board software. For each LFI detector, the REBA processes the data in the form of time series, which are split into telemetry packets. To satisfy the LFI assigned telemetry budget limit of 53.5 kbps, the REBA implements seven acquisition modes (processing types), which reduce the scientific data rate by applying a number of processing steps. The following figure illustrates the main steps of the on-board processing and the corresponding processing types (PTypes).

*PType 0:*- in this mode the REBA just packs the raw data of the selected channel without any processing.
*PType 1:*- consecutive
*S*_{sky}or*S*_{load}samples are coadded and stored as unsigned integers of 32 bits. The number of consecutive samples to be coadded is specified by the*N*_{aver}parameter. *PType 2:*- in this mode, two main processing steps are applied. First, pairs of averaged
*S*_{sky}and*S*_{load}samples, respectively, [math]\overline{S}_{\rm sky}[/math] and [math]\overline{S}_{\rm load}[/math], are mixed by applying two different gain modulation factors, GMF1 and GMF2: - [math] \begin{eqnarray} P_1 & = & \overline{S}_{\rm sky} - \text{GMF1} \cdot \overline{S}_{\rm load}; \\ P_2 & = & \overline{S}_{\rm sky} - \text{GMF2} \cdot \overline{S}_{\rm load}. \end{eqnarray} [/math]
- The operations are performed as floating point operations. Then the two values obtained are requantized, converting them into two 16-bit signed integers:
- [math] \begin{equation} Q_i = \text{round}\left( q \left( P_i + \text{Offset} \right) \right). \end{equation} [/math]
*PType 3:*- with respect to PType 2, in this mode only a single gain modulation factor is used, GMF1, obtaining
- [math] P = \overline{S}_{\rm sky} - \text{GMF1} \cdot \overline{S}_{\rm load}, [/math]
- and analogously to PType 2, the value is requantized obtaining a 16-bit signed integer.
*PTypes 4, 5, 6:*- with the processing types PType 4, PType 5 and PType 6, the REBA performs a lossless adaptive arithmetic compression of the data obtained, respectively, with the processing types PType 0, PType 2, and PType 3. The compressor takes couples of 16-bit numbers and stores them in the output stream up to the complete filling of the data segment for the packet in process.

A set of REBA processing parameters — *N*_{aver}, GMF1, GMF2, *q* and Offset — is selected for each of the 44 LFI channels. They are also included in a teartiary header of each scientific telemetry packet sent to the ground. The REBA can acquire data from a channel in two modes at the same time. This capability is used to verify the effect of a certain processing type on the data quality. So, in nominal conditions, the LFI instrument uses PType 5 for all its 44 detectors and every 15 minutes a single detector, in turn, is also processed with PType 1, in order to periodically check the gain modulation factors and the second quantization parameters. The other processing types are mainly used for diagnostic, testing, or contingency purposes.

Packets generated by the REBA follow the ESA Packet Telemetry Standard and Packet Telecommand Standard, the CCSDS Packet Telemetry recommendations, and the ESA Packet Utilization Standard (PUS). The packet structure for an LFI scientific telemetry packet is shown in the following figure.

## From packets to raw TOI[edit]

On a daily basis, the LFI Level 1 software pipeline retrieves the housekeeping and scientific telemetry packets dumped from the satellite on-board memory through the MOC Data Disposition System (DDS). The Level 1 software has to recover, as accurately as possible, the values of the original (averaged) sky and load samples acquired on-board. Data acquired with PTypes 4, 5, and 6 are first uncompressed. The lossless compression applied on-board is simply inverted and the number of samples obtained is checked with the value stored in the tertiary header.

The digitized data, processed by the REBA, are not in physical units but in ADU (Analogue-to-Digital Units). The conversion of *S*_{sky} and *S*_{load} in volts requires the Data Source Address (DSA), i.e., the radiometer and detector from which the data are generated, the blanking time (indexed by the Blancking Time Index, BTI), the DGI (DAE Gain Index) and the DOI (DAE Offset Idex). The DSA and BTI values are recovered from the packet tertiary header, while the DGI and DOI values are recovered from the LFI HK telemetry. Hence, the value in volts is obtained as

- [math] V_i = \dfrac{S_i \cdot q_{\rm ADC} - Z_{\rm DAE} - 2.5}{G_{\rm DAE}} - O_{\rm DAE} \approx \dfrac{S_i - \tilde{Z}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DGI})}{\tilde{G}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DGI})} - \tilde{O}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DOI}) [/math]

where [math]\tilde{G}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DGI})[/math], [math]\tilde{O}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DOI})[/math], and [math]\tilde{Z}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DGI})[/math] are look-up tables estimated during the LFI ground calibration campaign with:

- [math]\tilde{G}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DGI}) \approx \dfrac{G_{\rm DAE}}{q_{\rm ADC}} [/math];

- [math]\tilde{O}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DOI}) \approx O_{\rm DAE}[/math];

- [math]\tilde{Z}_{\rm DAE}(\text{DSA}, \text{BTI}, \text{DGI}) \approx \dfrac{Z_{\rm DAE} + 2.5}{q_{\rm ADC}}[/math].

This conversion is the only processing required by PTypes 0 and 3 and it is the last step in the processing of all the other processing types. Since PType 1 data are just coadded on-board, the division by *N*_{aver} is performed by the Level 1 software. PType 2 and 5 data have to be dequantized by

- [math] P_i = \dfrac{Q_i}{q} - \text{Offset} [/math]

and then demixed to obtain [math]\overline{S}_{\rm sky}[/math] and [math]\overline{S}_{\rm load}[/math]:

- [math] \begin{eqnarray} \overline{S}_{\rm sky} & = & \dfrac{P_2 \cdot \text{GMF1} - P_1 \cdot \text{GMF2}}{\text{GMF1} - \text{GMF2}}; \\ \overline{S}_{\rm load} & = & \dfrac{P_2 - P_1}{\text{GMF1} - \text{GMF2}}. \end{eqnarray} [/math]

## On-board time reconstruction[edit]

The On-Board Time (OBT) reconstruction for scientific data has to take into account the phase switch status and the processing type applied on-board. If the phase switch is off, it means that the packet contains consecutive values of either sky or load samples, and the sampling frequency, *f*_{sampling}, is 8192 Hz. Denoting with *i* ≥ 0 the sample index within the packet, for PType 0 and 4 we have that

- [math] t^{\rm obt}_{i} = t^{\rm obt}_{0} + i\dfrac{1}{f_{\rm sampling}}, [/math]

where *t*_{0}^{obt} is the on-board time of the packet (*t*_{pkt}^{obt}) and *i* = 0 denotes the first sample in the packet. If the switching status is on, either consecutive pairs of (sky, load) samples or (load, sky) samples are stored in the packets. Hence, consecutive pairs of samples have the same time stamp and *f*_{sampling} = 4096 Hz.

For averaged data (PTypes 1, 2, 3, 5, and 6), the first sample of a scientific packet is the sum (mean) of *N*_{aver} samples, and the packet time, *t*_{pkt}^{obt}, is the time of the first of the *N*_{aver} samples. In this case, *t*_{0}^{obt} is computed as

- [math] t^{\rm obt}_{0} = t^{\rm obt}_{\rm pkt} + \dfrac{N_{\rm aver}-1}{2} \dfrac{1}{f_{\rm sampling}} [/math]

and

- [math] t^{\rm obt}_{i} = t^{\rm obt}_{0} + i\dfrac{N_{\rm aver}}{f_{\rm sampling}}, \text{for} \ \ i \ge 1. [/math]

## Housekeeping telemetry handling[edit]

The structure of telecommand and housekeeping telemetry packets of the entire satellite is defined by the Mission Information Base (MIB), a database formed by a set of ASCII tables formatted according to the ESA Mission Control System interface control documents. The MIB information includes the type and structure of the telemetry packets, the location, type, and format of the monitoring parameters within the packets, the calibration curves to convert each parameter raw value into an engineering value, and the out-of-limit values to be checked for each parameter.

The Level 1 software uses the MIB information to group the housekeeping packets according to their type (PUS service type, sub-sytem, periodicity). A subset of the housekeeping packets that are relevant for the daily instrument quality verification and the scientific data analysis are further processed; samples of each parameter are extracted, grouped into timelines and saved as TOIs. Each TOI contains, for each parameter sample, the on-board time, the UTC time, the parameter raw and engineering value, and flags reporting some quality measures (time quality, or out-of-limit checking result).

## Auxiliary data handling[edit]

The MOC Flight Dynamics team daily provides the Attitude History information as an ASCII file (AHF), automatically delivered through the Planck File Transfer System. For stable pointing periods, the AHF provides quaternions describing, at given on-board times, the orientation of the Planck body reference frame with respect to the Ecliptic inertial reference system, and additional information, such as wobble angles, spin phase angle, and rate. An AHF file also contains different types of records: high frequency data records containing the raw attitude data; spin period frequency records, which are derived from the high frequency records by averaging data over a complete spin period; and observation frequency records, where data are averaged over a complete observation period. The Level 1 software simply reformats all data contained in the AHF, ingesting it into the LFI Level 1 data management system.

The MOC is also responsible for computing the correlation between the On-Board Time (OBT) and the ground Coordinated Universal Time (UTC) and providing the UTC time of each telemetry packet. Time couples (OBT, UTC), generated by processing the Standard Time Source packets received from the spacecraft, and the Time Correlation Coefficients, computed by a linear fit of the time couples, are also provided by the MOC as auxiliary data. The Level 1 software uses the time correlation coefficients to check the UTC time provided by the MOC. Moreover, the time couples are used to recompute the UTC time of each packet with a variation of the MOC fitting procedure, in order to reduce the time correlation variance.

(Planck) Low Frequency Instrument

Data Processing Center

(Planck) High Frequency Instrument

Command and Data Management Unit

[ESA's] Mission Operation Center [Darmstadt, Germany]

Attitude History File

analog to digital converter

LFI Data Acquisition Electronics

LFI Radiometer Electronics Box Assembly

European Space Agency

Packet Utilisation Standard

MOC's Data Distribution System

House Keeping

On-Board Time

Universal Time Coordinate(d)