FFT PPT
FFT PPT
Implementation in Verilog
Members:
• Decimation in Time (DIT) FFT splits the input into even and odd indices,
processing each separately to reduce redundant calculations.
• Process Flow:
• Splitting the Input Sequence: Separates even and odd indexed elements, allowing
efficient recursive calculation.
• Bit-Reversal Permutation: Reorders input indices according to bit-reversed order
to set up for recursive FFT operations.
Datapath Design
Role of Datapath: Handles the actual computation by performing arithmetic
operations and data storage.
Components:
Twiddle Factor Unit: Computes twiddle factors for each FFT stage.
Floating-Point Format: Using 8.8 format to represent twiddle factors for increased
precision.
Butterfly Operation
• Complex Arithmetic: The core computation in FFT.
• Butterfly Structure: Combines two values (real and imaginary) at each stage
using addition and subtraction.
• Verilog Implementation:
o Perform operations on real and imaginary parts.
o Store intermediate results for the next FFT stag
8.8 Fixed-Point Structure
Structure: In 8.8 format, 8 bits represent the integer part and 8 bits represent the
fractional part.
Range & Precision: This format allows for values between -128 and +127 with
sufficient precision.
Usage: When multiplying two 8.8 values, the result is shifted by 8 bits to maintain the
8.8 format, ensuring accurate and efficient calculations.
Control Path and FSM Design
• FSM Role: Coordinates the flow of data through the system, ensuring correct
sequencing of operations at each stage of the FFT.
• States of FSM:
• State Transitions: Designed for smooth data processing with minimal delay
Code Snippet
Butterfly Stage 1
Butterfly Stage 2
Butterfly Stage 3
Control Path
Optimization Techniques
• 8.8 Fixed-Point Structure: Precision for accurate calculations
without excess hardware overhead.
• Benefits: Reduced complexity and improved processing.
Future Work
• Booth’s Algorithm: For efficient signed multiplication
• Floating Point: Use IEEE 754 floating point representation.
• Generalized: Make it more generalized for any N-point DFT.