CMSIS-DSP
CMSIS DSP Software Library
|
Content | |
Real FFT Tables | |
Functions | |
void | arm_rfft_f32 (const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst) |
Processing function for the floating-point RFFT/RIFFT. Source buffer is modified by this function. More... | |
void | arm_rfft_fast_f16 (const arm_rfft_fast_instance_f16 *S, float16_t *p, float16_t *pOut, uint8_t ifftFlag) |
Processing function for the floating-point real FFT. More... | |
void | arm_rfft_fast_f32 (const arm_rfft_fast_instance_f32 *S, float32_t *p, float32_t *pOut, uint8_t ifftFlag) |
Processing function for the floating-point real FFT. More... | |
void | arm_rfft_fast_f64 (arm_rfft_fast_instance_f64 *S, float64_t *p, float64_t *pOut, uint8_t ifftFlag) |
Processing function for the Double Precision floating-point real FFT. More... | |
arm_status | arm_rfft_fast_init_f16 (arm_rfft_fast_instance_f16 *S, uint16_t fftLen) |
Initialization function for the floating-point real FFT. More... | |
arm_status | arm_rfft_fast_init_f32 (arm_rfft_fast_instance_f32 *S, uint16_t fftLen) |
Initialization function for the floating-point real FFT. More... | |
arm_status | arm_rfft_fast_init_f64 (arm_rfft_fast_instance_f64 *S, uint16_t fftLen) |
Initialization function for the Double Precision floating-point real FFT. More... | |
arm_status | arm_rfft_init_f32 (arm_rfft_instance_f32 *S, arm_cfft_radix4_instance_f32 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
Initialization function for the floating-point RFFT/RIFFT. More... | |
arm_status | arm_rfft_init_q15 (arm_rfft_instance_q15 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
Initialization function for the Q15 RFFT/RIFFT. More... | |
arm_status | arm_rfft_init_q31 (arm_rfft_instance_q31 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
Initialization function for the Q31 RFFT/RIFFT. More... | |
void | arm_rfft_q15 (const arm_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst) |
Processing function for the Q15 RFFT/RIFFT. More... | |
void | arm_rfft_q31 (const arm_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst) |
Processing function for the Q31 RFFT/RIFFT. More... | |
arm_rfft_instance_q31 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft}; arm_rfft_instance_q15 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft};where
fftLenReal
is the length of the real transform; fftLenBy2
length of the internal complex transform (fftLenReal/2). ifftFlagR
Selects forward (=0) or inverse (=1) transform. bitReverseFlagR
Selects bit reversed output (=0) or normal order output (=1). twidCoefRModifier
stride modifier for the twiddle factor table. The value is based on the FFT length; pTwiddleAReal
points to the A array of twiddle coefficients; pTwiddleBReal
points to the B array of twiddle coefficients; pCfft
points to the CFFT Instance structure. The CFFT structure must also be initialized. void arm_rfft_f32 | ( | const arm_rfft_instance_f32 * | S, |
float32_t * | pSrc, | ||
float32_t * | pDst | ||
) |
[in] | S | points to an instance of the floating-point RFFT/RIFFT structure |
[in] | pSrc | points to the input buffer |
[out] | pDst | points to the output buffer |
void arm_rfft_fast_f16 | ( | const arm_rfft_fast_instance_f16 * | S, |
float16_t * | p, | ||
float16_t * | pOut, | ||
uint8_t | ifftFlag | ||
) |
[in] | S | points to an arm_rfft_fast_instance_f16 structure |
[in] | p | points to input buffer (Source buffer is modified by this function.) |
[in] | pOut | points to output buffer |
[in] | ifftFlag |
|
void arm_rfft_fast_f32 | ( | const arm_rfft_fast_instance_f32 * | S, |
float32_t * | p, | ||
float32_t * | pOut, | ||
uint8_t | ifftFlag | ||
) |
[in] | S | points to an arm_rfft_fast_instance_f32 structure |
[in] | p | points to input buffer (Source buffer is modified by this function.) |
[in] | pOut | points to output buffer |
[in] | ifftFlag |
|
void arm_rfft_fast_f64 | ( | arm_rfft_fast_instance_f64 * | S, |
float64_t * | p, | ||
float64_t * | pOut, | ||
uint8_t | ifftFlag | ||
) |
[in] | S | points to an arm_rfft_fast_instance_f64 structure |
[in] | p | points to input buffer (Source buffer is modified by this function.) |
[in] | pOut | points to output buffer |
[in] | ifftFlag |
|
arm_status arm_rfft_fast_init_f16 | ( | arm_rfft_fast_instance_f16 * | S, |
uint16_t | fftLen | ||
) |
[in,out] | S | points to an arm_rfft_fast_instance_f16 structure |
[in] | fftLen | length of the Real Sequence |
fftLen
is not a supported lengthfftLen
specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096. arm_status arm_rfft_fast_init_f32 | ( | arm_rfft_fast_instance_f32 * | S, |
uint16_t | fftLen | ||
) |
[in,out] | S | points to an arm_rfft_fast_instance_f32 structure |
[in] | fftLen | length of the Real Sequence |
fftLen
is not a supported lengthfftLen
specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096. arm_status arm_rfft_fast_init_f64 | ( | arm_rfft_fast_instance_f64 * | S, |
uint16_t | fftLen | ||
) |
[in,out] | S | points to an arm_rfft_fast_instance_f64 structure |
[in] | fftLen | length of the Real Sequence |
fftLen
is not a supported lengthfftLen
specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096. arm_status arm_rfft_init_f32 | ( | arm_rfft_instance_f32 * | S, |
arm_cfft_radix4_instance_f32 * | S_CFFT, | ||
uint32_t | fftLenReal, | ||
uint32_t | ifftFlagR, | ||
uint32_t | bitReverseFlag | ||
) |
[in,out] | S | points to an instance of the floating-point RFFT/RIFFT structure |
[in,out] | S_CFFT | points to an instance of the floating-point CFFT/CIFFT structure |
[in] | fftLenReal | length of the FFT. |
[in] | ifftFlagR | flag that selects transform direction
|
[in] | bitReverseFlag | flag that enables / disables bit reversal of output
|
fftLenReal
is not a supported lengthfftLenReal
specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 128, 512, 2048. ifftFlagR
controls whether a forward or inverse transform is computed. Set(=1) ifftFlagR to calculate RIFFT, otherwise RFFT is calculated. bitReverseFlag
controls whether output is in normal order or bit reversed order. Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order. arm_status arm_rfft_init_q15 | ( | arm_rfft_instance_q15 * | S, |
uint32_t | fftLenReal, | ||
uint32_t | ifftFlagR, | ||
uint32_t | bitReverseFlag | ||
) |
[in,out] | S | points to an instance of the Q15 RFFT/RIFFT structure |
[in] | fftLenReal | length of the FFT |
[in] | ifftFlagR | flag that selects transform direction
|
[in] | bitReverseFlag | flag that enables / disables bit reversal of output
|
fftLenReal
is not a supported lengthfftLenReal
specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192. ifftFlagR
controls whether a forward or inverse transform is computed. Set(=1) ifftFlagR to calculate RIFFT, otherwise RFFT is calculated. bitReverseFlag
controls whether output is in normal order or bit reversed order. Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order. arm_status arm_rfft_init_q31 | ( | arm_rfft_instance_q31 * | S, |
uint32_t | fftLenReal, | ||
uint32_t | ifftFlagR, | ||
uint32_t | bitReverseFlag | ||
) |
[in,out] | S | points to an instance of the Q31 RFFT/RIFFT structure |
[in] | fftLenReal | length of the FFT |
[in] | ifftFlagR | flag that selects transform direction
|
[in] | bitReverseFlag | flag that enables / disables bit reversal of output
|
fftLenReal
is not a supported lengthfftLenReal
specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192. ifftFlagR
controls whether a forward or inverse transform is computed. Set(=1) ifftFlagR to calculate RIFFT, otherwise RFFT is calculated. bitReverseFlag
controls whether output is in normal order or bit reversed order. Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order. void arm_rfft_q15 | ( | const arm_rfft_instance_q15 * | S, |
q15_t * | pSrc, | ||
q15_t * | pDst | ||
) |
[in] | S | points to an instance of the Q15 RFFT/RIFFT structure |
[in] | pSrc | points to input buffer (Source buffer is modified by this function.) |
[out] | pDst | points to output buffer |
RFFT Size | Input Format | Output Format | Number of bits to upscale |
---|---|---|---|
32 | 1.15 | 5.11 | 5 |
64 | 1.15 | 6.10 | 6 |
128 | 1.15 | 7.9 | 7 |
256 | 1.15 | 8.8 | 8 |
512 | 1.15 | 9.7 | 9 |
1024 | 1.15 | 10.6 | 10 |
2048 | 1.15 | 11.5 | 11 |
4096 | 1.15 | 12.4 | 12 |
8192 | 1.15 | 13.3 | 13 |
RIFFT Size | Input Format | Output Format | Number of bits to upscale |
---|---|---|---|
32 | 1.15 | 5.11 | 0 |
64 | 1.15 | 6.10 | 0 |
128 | 1.15 | 7.9 | 0 |
256 | 1.15 | 8.8 | 0 |
512 | 1.15 | 9.7 | 0 |
1024 | 1.15 | 10.6 | 0 |
2048 | 1.15 | 11.5 | 0 |
4096 | 1.15 | 12.4 | 0 |
8192 | 1.15 | 13.3 | 0 |
void arm_rfft_q31 | ( | const arm_rfft_instance_q31 * | S, |
q31_t * | pSrc, | ||
q31_t * | pDst | ||
) |
[in] | S | points to an instance of the Q31 RFFT/RIFFT structure |
[in] | pSrc | points to input buffer (Source buffer is modified by this function) |
[out] | pDst | points to output buffer |
RFFT Size | Input Format | Output Format | Number of bits to upscale |
---|---|---|---|
32 | 1.31 | 5.27 | 5 |
64 | 1.31 | 6.26 | 6 |
128 | 1.31 | 7.25 | 7 |
256 | 1.31 | 8.24 | 8 |
512 | 1.31 | 9.23 | 9 |
1024 | 1.31 | 10.22 | 10 |
2048 | 1.31 | 11.21 | 11 |
4096 | 1.31 | 12.20 | 12 |
8192 | 1.31 | 13.19 | 13 |
RIFFT Size | Input Format | Output Format | Number of bits to upscale |
---|---|---|---|
32 | 1.31 | 5.27 | 0 |
64 | 1.31 | 6.26 | 0 |
128 | 1.31 | 7.25 | 0 |
256 | 1.31 | 8.24 | 0 |
512 | 1.31 | 9.23 | 0 |
1024 | 1.31 | 10.22 | 0 |
2048 | 1.31 | 11.21 | 0 |
4096 | 1.31 | 12.20 | 0 |
8192 | 1.31 | 13.19 | 0 |