Blog Xiphos

A Guide to Advanced Data Processing for Satellite Missions

Written by Edwin Faier | Feb 16, 2024 3:06:04 PM

Today’s space missions increasingly require higher computing power on lower SWaP devices. Whether it’s for Low-Earth Orbit (LEO) or lunar vehicles and spacecraft, these missions often demand complex algorithms processed onboard in real-time. 

In 2021, Xiphos President and Director of Business Development Edwin Faier participated in a Satsearch webinar on the topic of advanced data processing for satellite missions. In this post, we’ll dive a bit deeper into that same subject.

As a leading provider of mission-enabling applications, Xiphos has many years of experience serving clients like NASA, the Canadian Space Agency, the European Space Agency, and a multitude of commercial space companies. We leverage automotive and industrial-grade components in a fault-tolerant architecture to provide robust performance that costs a fraction of the price of traditional space solutions. An established name in the space industry, we recently launched our 166th processor into space. Let’s explore some of the tools we’ve built for advanced data processing at the edge.

Why do today’s space applications need advanced data processing?

  • As technology advances, we’ve seen an increasing need for more complex algorithms on smaller, low-power platforms like payloads, lunar vehicles, and spacecraft with constrained size, mass, and power.
  • High-resolution sensors with high data throughputs generate gigabits of data per second, which is impossible for a regular processor to keep up with.
  • Constrained downlinks come with the need to maximize their precious usage over ground stations. As such, onboard processing is required when using modern high-throughput sensors. 

    While not data processing per se, another big trend in Low-Earth Orbit right now is the application of software defined radios (SDRs). These require high-speed digital signal processing (DSP) blocks to process digitized RF signals.

    Here, to solve these problems and more, Xiphos enters the scene with our advanced FPGA-based multiprocessors.

FPGA: powerful hybrid processing 

A field programmable gate array (FPGA) is an integrated circuit that’s reconfigurable; in other words, you can customize its hardware to meet your specific needs. 

Through a combination of programmable logic and advanced processing systems, multi-processor system on a chip (MPSoC) FPGAs deliver superior parallel processing power, real-time performance, fast computational speeds, and connectivity versatility. 

They also feature built-in memory and embedded hardcores for communications interfacing. All of this makes them the perfect tool for advanced data processing.

How FPGAs use logic to process high-speed data

Let’s look at just how FPGAs perform advanced data processing in space missions. 

In an earth observation type application, high-speed interfaces on FPGAs extract the data from the sensor—whether you’re using CameraLink, SpaceWire, LVDS, or Gbps transceivers—and process it in Programmable Logic (PL) before feeding it to the CPU. This allows for the use of a standard Linux OS, which simplifies application development and reduces costs. 

One problem with high-speed sensors is the need for image correction. Things like lens distortion or bad pixels can reduce the quality of your data, which then leads to erroneous images. Using an FPGA and custom logic, these artifacts can be corrected. In addition, you can use binning, which means effectively reducing the data sets by factors of four or eight. This reduces the resolution but allows you to process the image in real time.

Time Delay and Integration (TDI) is another real-time processing option that involves adding multiple image frames to improve signal-to-noise ratio. This can be performed at pixel speed using logic. It is also possible to perform centroiding in logic, to keep an image centered. We have been able to centroid at 30,000 frames per second for satellite pointing on our Q8 processor.

For compression and SDR signal processing, FPGAs include all the necessary DSP building blocks to interface to the RF transceivers’ ADCs and DACs. Some of these DSP cores include:

  • Fast Fourier Transforms (FFT) 
  • Inverse FFT (IFFT)
  • Finite Impulse Response (FIR) 
  • Infinite Impulse Response (IIR) filters
  • Digital Down Converter (DDC)

Meet the Q-Card family

FPGAs not only help with advanced data processing, they solve the problems mentioned above. Thus FPGAs:

  • Are low SWaP, which means they fit comfortably in a small payload, lunar vehicle, or spacecraft.
  • Process data via logic in real-time, onboard, before feeding it to the CPU.
  • Perform pre-processing for SDRs, and are capable of handling high-speed digitized RF.

Xiphos FPGA-based processor products are created specifically to meet the unique challenges of extreme space environments. These products, from our Q-Card family, are based on multi-processor systems on a chip (MPSoC).

Q7S Processor

The Q7S, based on an AMD Zynq 7020 FPGA, contains a dual-core ARM processor with additional supervisory functions to allow it to operate in space. As with all of our processor products, it is used with an application-specific daughter board customized to the mission. About the size of a business card, it weighs 24 grams, but with a powerful CPU and dense programmable logic, it provides high performance at extremely low power.

Q8S Processor

This Q-card processor is the latest addition to the Xiphos Q-Card family and one of its highest performing members. It also features a hybrid environment including multiple multi-core CPUs supported by massive programmable logic resources and a wide array of hardware interfaces—all operating at extremely low power.

Based on the AMD UltraScale+ MPSoC, it has about five times the FPGA logic and processing horsepower of the Q7, making it ideal for higher computing requirements. It has been used in earth observation systems, synthetic-aperture radar (SAR) processing, hyper/multispectral compression, SDR systems, stereo and monocular visual odometry, image registration and alignment, and convolutional neural networks.

Q8JS Processor

This variant of the Q8 extends its capability by adding multi-Gbps interfaces supporting  JESD204B and PCIe interfaces, as well as providing access to external DDR3 or DDR4 memory—making it ideal for wideband SDR applications or those requiring mass memory storage via PCIe-based solid state drives (SSD).

Hybridization: sharing computation between CPUs and FPGAs

A conventional CPU can only perform one operation at a time, whereas logic excels at computing things in parallel and in high volumes. However, a CPU includes other functions that an FPGA doesn’t, so simply replacing the CPU with an FPGA won’t always solve the problem. 

Hybridization is an approach that lets you use both an FPGA and a CPU, leveraging the tight coupling of processors and logic in an MPSoC FPGA (such as those mentioned above), along with the unique capabilities of a CPU. Hybridization allows complex algorithms, typically developed and characterized on powerful desktop or server computers, to run on small SWaP space processors.

At Xiphos, we’ve developed a methodology for hybridization:

  • First, we profile conventional C and C++ code and find out where the processor is spending a lot of its time.
  • Next, we identify those software processes that are amenable to be ported to an FPGA and accelerated (pipelining, parallel processing, etc).
  • Then, we convert that software into VHDL code, or logic, always considering the return on effort versus the increase in performance.

The updated software will then use converted logic instead of software routines, allowing it to handle vast amounts of data simultaneously. Complex hybridized algorithms can substantially reduce the CPU horsepower required, as well as the related power, size, and mass requirements for space missions. Hybridization effectively becomes a mission enabler. Of course, some applications and algorithms are more conducive to hybridization than others, but in general, performance can be improved. 

Hybridization: an example

A pipeline is a purpose-built computing engine that never rests. Using an FPGA, you can load that pipeline with data every single clock cycle. In other words, instead of just ending up with one result every four o’clock cycles, you’ll have a result every single clock cycle. You can then expand that to process multiple data streams at the same time.

For example, we helped the Canadian Space Agency by hybridizing several algorithms they’d developed on an i7 PC but couldn’t use on a space processor running at 2 watts (as opposed to hundreds of watts). The hybridized algorithms were much more feasible for use on satellites and rovers.

Enable your missions with advanced data processing from Xiphos

With a strong background in designing applications for extreme space environments, Xiphos is well-equipped to enable your low-earth orbit and lunar missions. Our products’ high processing capabilities allow you to execute complex algorithms in real time, supporting advanced data processing.

Explore our range of FPGA-based processors and discover the applications you can use to leverage their high processing power.