主题中讨论的其他部件:FFTLIB
工具/软件:
您好团队:
我 根据实数到复数内核 FFTLIB_fft1d_i32f_c32fc_o32fc 创建了一个 C7x 优化 FFT 计算包装器 、用于运行基于 C7x_0 的应用程序。 在对各种 FFT 长度进行测试时、观察到对于 N=32、我们得到返回 4 (FFTLIB_ERR_INVALID_DIANCE)。 检查内核源代码、即 freertos_sdk_am275x_11_00_00_16/source/fftlib/ft_fft7x/FFTLib_fft1d_i32f_c32fc_c32fc/c71/FFTLIB_fft1d_i32f_c32fc_cp_fcp src 函数、我看到 该函数为 checkfc_32fc_cp_fcp(注释 i32fc_cp_cp_fc_cp_fc_cc)
否则 if (bufParamsX->dim_x < 64 * 2){/*最小点数为 64 */
STATUS = FFTLIB_ERR_INVALID_DIANCE;
}
- 确认、根据源代码、显然 不支持我的 FFT 长度 N=32(但是 在 FFTLIB 文档中找不到此信息 ) 以实现 C7x 优化实施。 对吗? FFTLIB_fft1d_i32f_c32fc_o32fc 内核驱动程序的测试用例似乎也不包括 N=32。
- 知道为什么 DIM_x 的检查是 NFFT * 2? 我们是否 也会将 bufParamsData.dim_x 存储为 NFFT * 2? 我已经 为我的 FFT 包装器遵循了测试驱动程序 freertos_sdk_am275x_11_00_00_16/source/fftlib/test/fft7x/FFTLib_fft1d_i32f_c32fc/FFTLib_fft1d_i32f_c32fc_o32fc_d.c、似乎设置了 fft_paramsData.bufx 。 我是正确的
如果能回答上述问题以更清楚地了解 FFTLIB、我将不胜感激。
此致、
Sreekanth