Function Descriptions
Item Description Format Comment
InBuf Input data Pointer to 32-bit float array Input buffer alignment is required. Re-
fer to the alignment section.
OutBuf Output buffer Pointer to 32-bit float array Result of RFFT_f32. This buffer can
then be used as the input to the magni-
tude and phase calculations. The out-
put order for FFTSize = N is:
OutBuf[0] = real[0]
OutBuf[1] = real[1]
OutBuf[2] = real[2]
...
OutBuf[N/2] = real[N/2]
OutBuf[N/2+1] = imag[N/2-1]
...
OutBuf[N-3] = imag[3]
OutBuf[N-2] = imag[2]
OutBuf[N-1] = imag[1]
CosSinBuf Twiddle factors Pointer to 32-bit float array Calculate using
RFFT_f32_sincostable( ).
FFTSize FFT size Uint16 Must be a power of 2 greater than or
equal to 32.
FFTStages Number of stages Uint16 Stages = log2(FFTSize)
MagBuf Magnitude buffer Pointer to 32-bit float array Output from the magnitude calculation
if the magnitude functions is called.
FFTSize/2 in length.
PhaseBuf Phase buffer Pointer to 32-bit float array Output from the phase calculation if the
phase function is called. FFTSize/2 in
length.
Table 3.11: Elements of the Data Structure
Notes:
1. If the input buffer is not properly aligned, then the output will be unpredictable.
2. If you do not wish to align the input buffer, then you must use the RFFT_f32u func-
tion. This version of the function does not have any input buffer alignment require-
ments. Using RFFT_f32u will, however, result in a lower cycle performance.
3. All buffers and stack are placed in internal memory (zero-wait states in data space).
Sep 10, 2012 29