CMSIS-DSP
CMSIS-DSP copied to clipboard
Reduce the size of tables for RFFT/RIFFT fixed point versions
https://github.com/ARM-software/CMSIS_5/issues/1275
This is a quite problematic issue for uses of RFFT on many smaller microcontrollers. Regardless of what length FFT is used, it always takes 32 kB FLASH space for the tables.
This is especially surprising since there are dedicated initialization functions for each RFFT length. Such as arm_rfft_init_64_q15 or arm_rfft_init_128_q15. However, each single one of them uses the same tables:
S->pTwiddleAReal = (q15_t *) realCoefAQ15; \
S->pTwiddleBReal = (q15_t *) realCoefBQ15; \
realCoefAQ15 and realCoefBQ15 are 16kB each.