FPGA Computing System for SWAP-Constrained Satellite Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing high-resolution images from focal plane arrays on orbiting satellites is challenging due to size, weight, and power (SWAP) constraints, as existing technologies like GPUs, CPUs, and FPGAs either consume excessive power or require numerous devices, violating these constraints.

Innovation Solution

A computing system architecture that includes a host controller, hardware acceleration engines within an FPGA, and external memory devices, allowing parallel data transfer and processing, which reduces idle time and meets SWAP constraints by efficiently executing algorithms on a smaller number of FPGAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPUs are used to execute complex algorithms for processing FPA images, then processing capability is improved, but power consumption increases and violates power constraints

Engineering Contradiction:
Improveprocessing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the processing system into multiple FPGAs working in parallel, each handling a portion of the image data. This distributes the processing load across multiple lower-power devices rather than relying on a single high-power GPU, thereby maintaining processing capability while reducing overall power consumption to meet satellite constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the fundamental processing parameter from using predefined instruction sets (GPU architecture) to implementing custom parallel processing logic through hardware description languages on FPGAs. This allows optimization of the processing architecture to match specific algorithm requirements, achieving high processing efficiency with lower power consumption suitable for satellite environments.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If ASICs are custom-designed to execute complex algorithms, then SWAP constraints are met, but adaptability is lost as algorithms cannot be updated after deployment

Engineering Contradiction:
ImproveSWAP constraints complianceVSAvoidalgorithm update capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent employs FPGAs which provide dynamic reconfigurability through programmable logic. The processing architecture can be dynamically updated by loading new configuration bitstreams, allowing algorithm updates and adaptations after deployment without requiring hardware replacement. This maintains SWAP constraint compliance while restoring adaptability lost in fixed ASIC designs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal processing platform using FPGAs that can execute multiple different algorithms through software configuration. The same hardware infrastructure can be reprogrammed to handle various image processing tasks, providing both the SWAP efficiency of custom-designed systems and the adaptability of programmable systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If FPGAs are used for onboard image processing, then adaptability is improved, but the number of FPGAs required increases and violates SWAP constraints

Engineering Contradiction:
ImproveprogrammabilityVSAvoidnumber of FPGAs
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple FPGA devices into a coordinated parallel processing system where each FPGA handles a specific portion of the processing workload. By optimizing the data flow and inter-FPGA communication, the system achieves the processing power of many FPGAs while using fewer physical devices, thereby maintaining adaptability while complying with SWAP constraints.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent transitions from sequential processing on a single FPGA to parallel processing across multiple FPGAs operating simultaneously. This dimensional change in processing architecture allows the system to achieve higher throughput with fewer devices by exploiting spatial parallelism, reducing the total FPGA count needed while maintaining programmability and adaptability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Adaptability or versatility

If CPUs are used for image processing, then adaptability is maintained, but processing efficiency decreases due to limitations in parallel processing

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent substitutes the general-purpose sequential processing mechanism of CPUs with specialized parallel processing hardware on FPGAs. This replacement maintains programming flexibility through hardware description languages and configuration files while dramatically improving processing efficiency for image data through parallel execution of multiple processing operations simultaneously.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11314508B1FPGA-based computing system for processing data in size, weight, and power constrained environments
Publication Date: 2022.04.26 NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA LLC
  • US11314508B1 patent drawing
  • US11314508B1 patent drawing
  • US11314508B1 patent drawing

AI summary

Technologies that are well-suited for use in size, weight, and power (SWAP)-constrained environments are described herein. A host controller dispatches data processing instructions to hardware acceleration engines (HAEs) of one or more field programmable gate arrays (FPGAs) and further dispatches data transfer instructions to a memory controller, such that the HAEs perform processing operations on data stored in local memory devices of the HAEs in parallel with other data being transferred from external memory devices coupled to the FPGA(s) to the local memory devices.