Multi-dimensional FFT Single Loop Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The computational overhead associated with multi-dimensional Fast Fourier Transforms (FFTs) is significant due to the complexity of controlling and configuring special purpose hardware, leading to increased code size and processing cycles, especially when performing two-dimensional FFTs, which require separate loops for row and column calculations.

Innovation Solution

A method that stores data values in a concatenated sequence within a data value memory, allowing for a single loop traversal using efficient special purpose hardware, with Fourier coefficient changes to accommodate multi-dimensional processing, reducing the need for additional control structures and loops, and enabling efficient caching and reuse of processing kernels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If separate loops are used for row and column FFT calculations, then the multi-dimensional FFT can be computed accurately, but the code size and processing overhead increase significantly

Engineering Contradiction:
ImproveFFT calculation accuracyVSAvoidcontrol structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the row and column FFT calculation loops into a single unified loop structure. By reordering the data layout to store data as a concatenated sequence of rows and using a single loop to traverse all data values, the patent eliminates the need for separate outer loops for rows and columns, thereby reducing control structure complexity while maintaining computational accuracy

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the data storage dimensionality from a traditional two-dimensional array layout to a one-dimensional concatenated sequence. This dimensional transformation allows the multi-dimensional FFT to be computed using a single loop that processes data in a flattened manner, reducing the nesting level of control structures from multiple loops to a single loop

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

2Speed

If special purpose hardware is used for FFT computation, then the inner loop processing speed improves, but the control complexity and hardware configuration overhead increase

Engineering Contradiction:
ImproveFFT processing speedVSAvoidhardware control complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent designs a universal control mechanism that can handle multi-dimensional FFTs of different sizes and configurations using the same single loop structure. The control logic is parameterized to accommodate different dimensions and data layouts without requiring separate control circuits for each configuration, thereby reducing hardware control complexity while maintaining high processing speed

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

Solution Approach 2:

The patent uses parameter changes in the single loop control structure to adapt the FFT computation to different dimensions and data configurations. By modifying loop parameters such as stride values, data address calculations, and coefficient selection based on the problem dimensions, the system achieves flexible multi-dimensional FFT computation without additional control hardware

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If multiple processing loops are used for row and column transformations, then the FFT can be computed in sequence, but the processing overhead and time consumption increase

Engineering Contradiction:
Improvetransform computation accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements continuous processing within a single loop that traverses all data values without interruption. The single loop structure maintains continuous useful action by processing data values in a unified sequence, eliminating the idle time and overhead associated with transitioning between separate row and column loop structures, thereby reducing processing overhead while maintaining computational accuracy

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7657587B2Multi-dimensional fast fourier transform
Publication Date: 2010.02.02 ARM LTD
  • US7657587B2 patent drawing
  • US7657587B2 patent drawing
  • US7657587B2 patent drawing

AI summary

A multi-dimensional FFT is calculated upon 2n rows of 2m data values set out end-to-end in memory by traversing the data set as a whole using stride values and block sizes which halve upon each pass through the data. As the data values represent multi-dimensional data, there are one or more dimensional boundaries within the data and as these are crossed the coefficient values being applied by the complex butterfly calculation are adjusted to take account of the manipulation being performed. The linearity of the matrix calculations underlying the butterfly calculation means that the order in which these calculations are performed is not significant and accordingly multiple passes with appropriate coefficient changes can perform a multi-dimensional calculation even if the different components of the calculation in respect of each dimension arise upon different passes through the data set.