A combined software and hardware data compression approach in PLATO

PLATO is ESA's upcoming exoplanet-hunting mission. The spacecraft has 26 cameras equipped with a total of 104 individual CCDs, which together provide more than 2,000 megapixels, giving a combined optical sensitivity surface of 0.66m2. This is more than twice as much detector area than on ESA's Gaia mission, the largest camera ever flown in space. To measure changes in stellar brightness, the CCDs are read out at a cadence of 25 seconds, resulting in a massive amount of data that has to be processed on-board. In a pre-reduction step, hundreds of thousands of small windows of the target stars, called imagettes, are extracted from the detector arrays. This reduction process decreases the data volume down from several gigabytes to 25 MiB per acquisition period. Following this step, the remaining science data are sent to the instrument control unit (ICU), where they are processed and compressed in a lossless manner. While some science data products, such as measured backgrounds and fluxes, can be processed in software, the number of imagettes to be compressed (90% of the total science data) exceeds the available CPU resources. To solve this critical problem, a specialised hardware data compressor logic was developed for an RTAX-2000 field-programmable gate array (FPGA). The implemented compression method decorrelates the data temporally by a running average, which has an exponential tail. This pre-encoding step results in an almost geometric distribution of the residuals, a suitable input for the successive Golomb encoder. The set of parameters that control the encoder are semi- adaptive, i.e., they self-adjust to the data at certain intervals. While in principle being quite straightforward, the implementation turned out to be very challenging with the required handling of the data streams in real-time. With our approach we are able to meet the high requirements and managed to process the imagette data lossless with a speed of 2 MBps at a compression ratio up to 3.2. This paper shows how the PLATO data compression concept works, which algorithms are involved in it, and discusses the specifics of the hardware and software implementation.

[1]  R. Ottensamer,et al.  The instrument control unit of the ESA-PLATO 2.0 mission , 2016, Astronomical Telescopes + Instrumentation.

[2]  Enzo Pascale,et al.  UvA-DARE (Digital Academic Repository) A chemical survey of exoplanets with ARIEL , 2022 .

[3]  Steve Parkes SpaceWire Remote Memory Access Protocol , 2005 .

[4]  Franz Kerschbaum,et al.  HERSCHEL/PACS on-board reduction flight software , 2008, Astronomical Telescopes + Instrumentation.

[5]  H. Rauer,et al.  Space Missions for Exoplanet Science: PLATO , 2018 .

[6]  Luca Fanucci,et al.  Simulation and Validation of a SpaceWire On-Board Data-Handling Network for the PLATO Mission , 2018, 2018 IEEE Workshop on Complexity in Engineering (COMPENG).

[7]  Solomon W. Golomb,et al.  Run-length encodings (Corresp.) , 1966, IEEE Trans. Inf. Theory.

[8]  M. S. Gorbunov,et al.  Design of fault-tolerant microprocessors for space applications , 2019, Acta Astronautica.

[9]  E. Tommasi,et al.  The design of the instrument control unit and its role within the data processing system of the ESA PLATO Mission , 2018, Astronomical Telescopes + Instrumentation.

[10]  David C. van Voorhis,et al.  Optimal source codes for geometrically distributed integer alphabets (Corresp.) , 1975, IEEE Trans. Inf. Theory.

[11]  P. Giommi,et al.  The PLATO 2.0 mission , 2013, 1310.0696.

[12]  Luca Fanucci,et al.  The PLATO Payload and Data Processing System Space Wire Network , 2018, 2018 IEEE Workshop on Complexity in Engineering (COMPENG).