Expand description
Fractional Fourier Transform module
The Fractional Fourier Transform (FrFT) is a generalization of the standard Fourier transform, allowing for transformation at arbitrary angles in the time-frequency plane. It provides a continuous transformation between the time and frequency domains.
§Mathematical Definition
The continuous Fractional Fourier Transform of order α for a signal f(t) is defined as:
F_α(u) = ∫ f(t) K_α(t, u) dt
where K_α(t, u) is the transformation kernel:
K_α(t, u) = √(1-j cot(α)) * exp(j π (t² cot(α) - 2tu csc(α) + u² cot(α)))
§Special Cases
- α = 0: Identity transform (returns the input signal)
- α = 1: Standard Fourier transform
- α = 2: Time reversal (f(t) → f(-t))
- α = 3: Inverse Fourier transform
- α = 4: Identity transform (cycles back to original)
§Implementation
This implementation uses an efficient algorithm based on the FFT, with special handling for the cases where α is close to 0, 1, 2, or 3.
§Numerical Stability
Important: The current implementation has known numerical stability issues, particularly with the additivity property. See FRFT_NUMERICAL_ISSUES.md for detailed information about these limitations and proposed solutions.
Functions§
- frft
- Computes the Fractional Fourier Transform of order
alpha
. - frft_
bandwidth_ saturated_ simd - Bandwidth-saturated SIMD implementation of Fractional Fourier Transform
- frft_
complex - Special implementation for Complex64 input to avoid conversion issues.
- frft_
dft - Computes the Fractional Fourier Transform using DFT eigenvector decomposition
- frft_
near_ special_ case_ bandwidth_ saturated_ simd - Bandwidth-saturated SIMD implementation of near special case handling
- frft_
stable - Computes the Fractional Fourier Transform using the Ozaktas-Kutay algorithm
- frft_
stable_ bandwidth_ saturated_ simd - High-performance stable FrFT with bandwidth-saturated SIMD optimizations