![](/images/new-backgrounds/1139870/13987083x1.webp)
DSP_fft16x16r
DSP_fft16x16r | Complex Forward Mixed Radix 16 x | |||
Function |
|
|
| |
| void DSP_fft16x16r(int nx, short * restrict x, const short * restrict w, const un- | |||
|
| signed char * restrict brev, short * restrict y, int radix, int offset, int nmax) | ||
Arguments |
| nx | Length of FFT in complex samples. Must be power of 2 or 4, and | |
|
|
| ≤16384 | |
|
| x[2*nx] | Pointer to complex | |
|
| w[2*nx] | Pointer to complex FFT coefficients | |
|
| brev[64] | Pointer to bit reverse table containing 64 entries. Only required for | |
|
|
| C code. Use NULL for assembly code since BITR instruction | |
|
|
| is used instead. | |
|
| y[2*nx] | Pointer to complex | |
|
| radix | Smallest FFT butterfly used in computation used for | |
|
|
| decomposing FFT into | |
|
| offset | Index in complex samples of | |
|
| nmax | Size of main FFT in complex samples. | |
Description |
| This routine implements a | ||
|
| with scaling, rounding and digit reversal. Input data x[ ], output data y[ ], and |
coefficients w[ ] are
This redundant set of twiddle factors is size 2*N short samples. As pointed out in subsequent sections, dividing these twiddle factors by 2 will give an effective divide by 4 at each stage to guarantee no overflow. The function is accurate to about 68dB of signal to noise ratio to the DFT function as follows.