Fixed-point Fast Fourier Transform
This "no-std" crate is intended for use with cores without an FPU and that can perform a fixed point FFT more quickly. The FFT code uses a signed 16 bit number format, which is interpreted as a Q15 format (i.e. one sign bit, 15 fractional bits).
The code was written under the assumption that a Count Leading Zeros (CLZ)
instruction is available on the target architecture and that
leading_zeros()
uses this instruction.
This code was inspired by fix_fft.c, which is a very simple fixed-point FFT function written in C. The idea is to provide a simple, straightforward and target-independent FFT implementation.
Example with complex input data
use ;
use Complex;
Example with real input data
use fft_radix2_real_q15;
use Complex;