Mixed-Radix FFT/iFFT with Phase Shift
https://github.com/rewertynpl/mixed-radix-iFFT
A flexible, open-source C++ implementation of the Mixed-Radix Fast Fourier Transform (FFT) and its inverse (iFFT). Designed for educational purposes, it supports signals of arbitrary composite lengths and includes a unique phase-shift feature.
This project provides a standalone C++ implementation of the Mixed-Radix Cooley-Tukey algorithm. Unlike standard Radix-2 FFTs, which require the signal length to be a power of two (), this algorithm supports any length that can be factorized into a product of small prime numbers.
The code is written to be explicit and verbose, serving as a learning tool to demonstrate how "butterfly" computations work for various radixes.
- Mixed-Radix Support: Works with any signal length factorizable into implemented radixes.
- Wide Radix Base: Native support for Radix-2, 3, 4, 5, 7, 11, and a generic implementation for primes up to 97.
- Phase Shift (
fi): A unique global parameter allowing for circular signal shifting directly within the frequency domain transform. - Verification: Includes a generic DFT implementation for accuracy verification.
- License: MIT License.
Brak komentarzy:
Prześlij komentarz