This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
您好!
我对 TMS320F28379D 的 FFT 库有一些疑问。
我想制作一个4096点 RFFT。
可以使用具有4096个点的库函数(RFFT_f32u)吗?
对于 RFFT 计算、需要一个包含 Twiddle 因子的表。 为了节省 RAM 中的空间、我想在闪存中使用一个 Twiddle 因子表。 RFFT… 可用于的函数使用基于闪存的 Twiddle 因子表(即 RFFT_f32ut)?
为了熟悉 FFT 库,我研究了一个示例(“2837x_rfft_unaligned_scaledMagnitude”、编译配置“RAM_TMU0”、编译器优化 FP_MODE=relaxed)。 在此示例中、将在运行时使用函数 RFFT_F32_SINCOSTable 计算旋转因子表。 n´t、该例程不使用 TMU0来计算旋转因子表的正弦和余弦值。 使用标准库中的 cosf 和 sinf 函数、而不是使用 TMU0。 在该函数中、使用多项式算法计算这些值。 我已经检查了结果的精度、并且发现 TMU0能够提供更好的正弦和余弦值结果。 我已经使用256 FFT 进行了测试、该测试基于2837x_rfft_unaligned_scaledMagnitude 示例和简单的矩形输入脉冲(请参阅附件)。 该测试可解决与现有定点算法的差异。
是否提供了使用 TMU0的计算例程(即 RFFT_F32_SINCOSTAR_TMU0)?
为了计算幅度、使用了 RFFT_f32s_mag_TMU0例程、该例程运行完美。
非常感谢
Ralf
Ralf、
您使用的示例工程具有多个构建配置、其中包括一个可从闪存获取的 Twiddle 因子(FPU 库具有存储在.asm 文件中的必要 Twiddle 因子系数)。
但是、使用 Twiddle 因子表时、支持的最大值为2048点 RFFT。 如果动态计算旋转因子、则支持4096 pt RFFT 甚至更高版本(我相信16384 pt RFFT、当然、在内存允许的情况下)。
应启用 TMU0、但-fp_mode 在项目设置中错误地设置为严格而不是宽松、这就是您看不到 TMU 已启用的原因。 一旦您进行更改、就会出现。
谢谢、
Sira