Other Parts Discussed in Thread: FFTLIB,
Tool/software: TI-RTOS
I am trying to use the DSPs via OpenCL to do an IFFT. I've had success using DSPLIB but I need to do a non-power of two FFT now (50 elements to be exact). I read that FFTLIB has non-power of two FFTs and indeed the fftlib_c66x_2_0_0_2 provides the following documentation (I've only included a short extract to give some context):
| int ifft_sp_1d_c2r_batch_direct | ( | fft_param_u | u, | |
| void * | edmaState | |||
| ) |
Parameters:
| N | = IFFT size | |
| M | = Power of 2 IFFT size, if Bluestein algorithm is used |
Assumptions:Batch size is at least 4.
N is a positive value.
Looks great, but there was no ae66 library for the whole project, but I did find fftlib_3_1_0_0 in ti-processor-sdk-linux-am57xx-evm-05.01.00.11 which seemed great because it's much more recent and included the library. Problem is, the function documentation explains that non-power of two is more or less not supported, suggesting a rollback in features? Here is another documentation extract from fftlib_3_1_0_0:
| void ifft_sp_plan_1d_c2r_batch | ( | int | N, |
| int | mode, | ||
| fft_callout_t | fxns, | ||
| fft_plan_t * | p, | ||
| float * | in, | ||
| float * | out, | ||
| float * | tw, | ||
| float * | work | ||
| ) |
Parameters
| N | = IFFT size |
Assumptions:
Batch size is at least 8.
N is a positive value.
N is multiple of 8.
So my concern is: did the IFFT in 2_0_0_2 version not work for non-powers of 2? Or was there a feature rollback?