Multi-dimensional FFT Single Loop Traversal
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


