Radix-2 FFT Memory Optimization via In-Place Bit-Swap

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Fast Fourier Transform (FFT) algorithms face challenges in achieving high-speed processing while requiring large memory capacities, particularly due to difficulties in parallelizing bit-reverse operations and the memory inefficiencies of the Stockham autosort algorithm.

Innovation Solution

The proposed solution involves an information processing apparatus that performs a radix-2 Fast Fourier Transform using a control method that optimizes memory usage by performing bit-swap operations within the RAM, allowing for efficient data processing with reduced memory requirements through controlled reading, butterfly operations, and writing of data elements, thereby reducing the need for double-buffering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the Stockham autosort algorithm is used to perform FFT, then the processing speed is improved through parallelization, but the memory capacity requirement increases due to the need for double-buffering

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the FFT processing into multiple stages, where each stage processes a subset of data elements. The bit-reverse operation is divided into multiple bit-swap operations executed sequentially across stages, allowing data to be processed in-place rather than requiring complete duplicate buffers. This segmentation enables high-speed parallel processing within each stage while using the same memory space for all operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic bit-swap operations at each stage of the FFT processing. Data elements are periodically exchanged between memory locations according to bit-reversal patterns, allowing the same memory space to be reused across different processing stages. This periodic action eliminates the need for permanent double-buffering while maintaining the parallelization benefits of the Stockham algorithm.

Inventive Principle:
Principle #19Periodic action

2Productivity

If bit-reverse operations are parallelized to achieve high-speed processing, then the productivity is improved, but the difficulty of parallelizing the operation increases due to memory access conflicts

Engineering Contradiction:
Improveprocessing speedVSAvoidoperation parallelization difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the bit-reverse operation into multiple sequential bit-swap stages, where each stage handles a specific bit position. This segmentation allows parallel processing within each stage while avoiding memory access conflicts between stages, as each stage operates on data that has been partially reordered by previous stages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary bit-swap operations in early stages to partially reorder data before subsequent processing. This preliminary action reduces memory access conflicts in later stages by pre-positioning data elements, enabling more efficient parallelization without requiring complex memory arbitration mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8880575B2Fast fourier transform using a small capacity memory
Publication Date: 2014.11.04 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US8880575B2 patent drawing
  • US8880575B2 patent drawing
  • US8880575B2 patent drawing

AI summary

The present invention provides technologies for implementing a high-speed Fast Fourier Transform (FFT) algorithm with a small memory. An information processing apparatus for performing a radix-2 FFT on a data sequence comprises storage means, reading means, a plurality of butterfly operation means, writing means, and control means, wherein each stage of the FFT operation includes a plurality of operation steps, and at every operation step the control means controls each of the means so that: the reading means reads from the storage means sets of data elements referred by storage addresses A, A+1, A+2m, and A+2m+1, the plurality of butterfly operation means perform radix-2 butterfly operation on the data elements in the sets, and the writing means writes the sets of the result data into the storage area referred by the storage addresses A, A+1, A+2m, and A+2m+1.