TI中文支持网
TI专业的中文技术问题搜集分享网站

关于28377 FFT和反FFT的性能

各位,

1.将程序放在内存中带仿真器调试,FFT的运行时间和文档《FPU_SW_LIB_UG.pdf》描述的差不多,但是把它烧在flash中带仿真器运行,这个时间相差的蛮大,时间至少长了15us左右(我把调用CFFT_f32的函数和CFFT_f32本身都指定到ramfuncs段中去运行了,#pragma CODE_SECTION(XXXXX, "ramfuncs");。为什么会有那么大的差距呢,这些关键的函数都放在RAM中运行,应该执行时间是一样的啊。

2.在FPU的库中有CFFT_f32和ICFFT_f32,但是针对实数FFT只有RFFT_f32,为什么没有IRFFT_f32呢,难道有别的函数可以代替?

谢谢!

Eric Ma:

1. 你可以检查一下函数中有哪些函数还跑在flash,然后测试一下。

2. 

C:\ti\controlSUITE\libs\dsp\VCU\v2_10_00_00\examples\fft

这里有利用VCU的例程,你可以看看。

ERIC

各位,

1.将程序放在内存中带仿真器调试,FFT的运行时间和文档《FPU_SW_LIB_UG.pdf》描述的差不多,但是把它烧在flash中带仿真器运行,这个时间相差的蛮大,时间至少长了15us左右(我把调用CFFT_f32的函数和CFFT_f32本身都指定到ramfuncs段中去运行了,#pragma CODE_SECTION(XXXXX, "ramfuncs");。为什么会有那么大的差距呢,这些关键的函数都放在RAM中运行,应该执行时间是一样的啊。

2.在FPU的库中有CFFT_f32和ICFFT_f32,但是针对实数FFT只有RFFT_f32,为什么没有IRFFT_f32呢,难道有别的函数可以代替?

谢谢!

Justin mo:

回复 Eric Ma:

1.我的数据都是float形,所以用VCU不合适,看VCU的接口都是整形数进行计算的。

2.我就单单将CFFT_F32这个函数放在ramfuncs中去运行(其他程序在flash中的),实测的时间也比手册上描述的要大很多。并且我用TI 原厂的2837x_CFFT的例程来测试运行时间,在RAM版本和在flash版本,该函数的运行时间也是不同的,flash要比RAM的时间要长得多。

各位,

1.将程序放在内存中带仿真器调试,FFT的运行时间和文档《FPU_SW_LIB_UG.pdf》描述的差不多,但是把它烧在flash中带仿真器运行,这个时间相差的蛮大,时间至少长了15us左右(我把调用CFFT_f32的函数和CFFT_f32本身都指定到ramfuncs段中去运行了,#pragma CODE_SECTION(XXXXX, "ramfuncs");。为什么会有那么大的差距呢,这些关键的函数都放在RAM中运行,应该执行时间是一样的啊。

2.在FPU的库中有CFFT_f32和ICFFT_f32,但是针对实数FFT只有RFFT_f32,为什么没有IRFFT_f32呢,难道有别的函数可以代替?

谢谢!

user5196261:请问你在原程序上怎样修改的?我每次想把fft例程烧写进flash,程序都无法运行

各位,

1.将程序放在内存中带仿真器调试,FFT的运行时间和文档《FPU_SW_LIB_UG.pdf》描述的差不多,但是把它烧在flash中带仿真器运行,这个时间相差的蛮大,时间至少长了15us左右(我把调用CFFT_f32的函数和CFFT_f32本身都指定到ramfuncs段中去运行了,#pragma CODE_SECTION(XXXXX, "ramfuncs");。为什么会有那么大的差距呢,这些关键的函数都放在RAM中运行,应该执行时间是一样的啊。

2.在FPU的库中有CFFT_f32和ICFFT_f32,但是针对实数FFT只有RFFT_f32,为什么没有IRFFT_f32呢,难道有别的函数可以代替?

谢谢!

Igor An:

回复 Justin mo:

在RAM中运行和在FLASH中运行,CPU的处理时间是一样的,没有区别,但每条指令的读取时间FLASH上和RAM上是不同的。
从手册上你可以看到,FLASH的最高运行频率要比主频低不少,而RAM基本上是与主频速率相同数量级的读写速度。
所以,如果所执行的代码有在Flash上运行的,那么整体执行时间就会变长很多。

赞(0)
未经允许不得转载:TI中文支持网 » 关于28377 FFT和反FFT的性能
分享到: 更多 (0)