Prime Factor Algorithm DFT Index Generation Without Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for implementing Prime Factor Algorithm (PFA) based Discrete Fourier Transform (DFT) require additional memory for storing index lookup tables, which is inefficient and increases cycle count in communication systems, especially for non-integer power DFT lengths like 3780 points used in digital multimedia broadcast-terrestrial digital television standards.

Innovation Solution

A processor-based method that generates pipelined data read and write indexes for PFA DFT without using lookup tables by factorizing the DFT into mutually prime and non-prime factors, calculating index corrections, and using modulus operations to determine column increment indices, thereby eliminating the need for extra memory and reducing CPU cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If lookup tables are used to store input/output indexes for PFA DFT, then the indexing mechanism is simplified, but memory requirement increases

Engineering Contradiction:
Improveindexing mechanismVSAvoidmemory requirement
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the index generation logic from static lookup tables and implements it through dynamic computational formulas. The index calculation is derived by analyzing the mathematical structure of PFA DFT, extracting the essential indexing pattern, and replacing the table storage approach with a computational method that generates indexes on-demand using factorization and modular arithmetic operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical/storage-based indexing system (lookup tables in memory) with a computational/mathematical system. Instead of storing pre-computed indexes and retrieving them, the system computes indexes dynamically using mathematical operations based on the factorization of DFT length N into prime factors, substituting memory access with computational logic.

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

2Speed

If lookup tables are used for PFA DFT indexing, then index retrieval is faster, but CPU cycle count increases

Engineering Contradiction:
Improveindex retrieval speedVSAvoidCPU cycle count
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent performs preliminary factorization of the DFT length N into prime factors before the actual DFT computation. This pre-computation of the factorization structure enables efficient index generation during the DFT process without requiring slow memory accesses. The factorization results are stored as computational parameters rather than lookup tables, allowing faster index calculation through direct mathematical operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous index generation through pipelined processing. Multiple index calculations are performed in parallel across different stages of the DFT algorithm, with each stage generating indexes continuously as data flows through the pipeline. This eliminates the start-stop nature of table lookup and provides sustained computational throughput without memory access bottlenecks.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8832171B2Index generation scheme for prime factor algorithm based mixed radix discrete fourier transform (DFT)
Publication Date: 2014.09.09 TEJAS NETWORKS LTD
  • US8832171B2 patent drawing
  • US8832171B2 patent drawing
  • US8832171B2 patent drawing

AI summary

In one embodiment, a processor performs a method of generating pipelined data read indexes and data write indexes for a Prime Factor Algorithm (PFA) Discrete Fourier Transform (DFT) without look-up tables. The processor is adapted to factorize an ā€˜N’ point PFA DFT into one or more mutually prime factors and zero or more non-prime factors, calculate a 0th column index for an ith row (Xi0), calculate an IndCor when the value of Xi0 equals zero and when a row number (i) does not equal zero, calculate Xij, generate the data read indexes, perform a DFT kernel computation on Lk point for the mutually prime factors and the non-prime factors, and generate the data write indexes for the mutually prime factors and the non-prime factors. Xij represents ith row and jth column of 2D input Buffer and enables a selection of a linear index from the 2D input buffer.