嵌入式开发者社区

标题: 关于FFT速度 [打印本页]

作者: 爱发槑    时间: 2018-8-24 10:31
标题: 关于FFT速度
我在用C6748的板子跑创龙的FFT例程,然后我想测试一下具体算一次需要多少时间,我用的是_itoll(TSCH, TSCL)函数,在仿真中看它执行了多少周期,然后用456M去算时间,算出来是毫秒级的,这正确吗?

作者: 广州创龙廖工    时间: 2018-8-24 11:06
您好,TSCH, TSCL是CPU内部的计时器,也是精度最高的,如果您的设置的,测试点正确,那这个计时的测试时间,就是正确的。
不过程序的运行时间,在CPU的内部RAM运行,和在外设的DDR中运行,也是不一样的,请您参考,我们提供的视频教程,也可以进行,进一步的测试。


[attach]3569[/attach]


作者: human    时间: 2018-8-24 11:10
建议参考我们提供的测试demo:FFT_Benchmark——快速傅里叶变换/逆变换(打开/关闭缓存速度对比)
作者: 爱发槑    时间: 2018-8-24 11:22
广州创龙廖工 发表于 2018-8-24 11:06
您好,TSCH, TSCL是CPU内部的计时器,也是精度最高的,如果您的设置的,测试点正确,那这个计时的测试时间 ...

那贵公司测过1024个点的FFT要多久吗,我感觉我测得时间太久了,不太对啊
作者: 爱发槑    时间: 2018-8-24 11:27
human 发表于 2018-8-24 11:10
建议参考我们提供的测试demo:FFT_Benchmark——快速傅里叶变换/逆变换(打开/关闭缓存速度对比) ...

您好,我想知道这个例程里这个打开和关闭缓存指的是什么,然后为什么跟我用上述函数测得的差了这么多,这是我刚测一个赋值指令得到的结果,能解释下吗?
作者: 广州创龙廖工    时间: 2018-8-24 14:22
您好,建议您配合,我们的是视频教程,进行学习,开启缓存后,速度提升,确实是比较明显的,但是关于读写的操作,也是需要注意,不要对,同一段地址空间,多次覆盖写入,否则,速度提升会不明显,我们提供的视频教程中,也有相关说明,请您参考。

[attach]3573[/attach]
[attach]3574[/attach]


作者: 爱发槑    时间: 2018-8-24 14:29
广州创龙廖工 发表于 2018-8-24 14:22
您好,建议您配合,我们的是视频教程,进行学习,开启缓存后,速度提升,确实是比较明显的,但是关于读写的 ...

廖工您好,那我还想问一下,贵公司的没有使用缓存的FFT例程,我使用之前视频中教学的TSCL计数器对DSPF_sp_ifftSPxSP(Tn,CFFT_Out,Cw,CFFT_InvOut,brev,rad,0,Tn)  这个函数进行周期计算,算出来确实很大,是毫秒级的,这情况对吗?
作者: 鲸鱼嘉宾    时间: 2019-4-17 14:38
爱发槑 发表于 2019-2-17 15:06
应该是128K

你好楼主,FFT的速度问题解决了吗??我尝试了很多种方法都没办法把速度提高,一直是毫秒级,没体现出6748的性能啊
作者: 广州创龙莫工    时间: 2019-5-22 09:15
我司的FFT_Benchmark例程测试可供参考。
[attach]5093[/attach]
作者: 爱发槑    时间: 2019-5-22 09:24
鲸鱼嘉宾 发表于 2019-4-17 14:38
你好楼主,FFT的速度问题解决了吗??我尝试了很多种方法都没办法把速度提高,一直是毫秒级,没体现出674 ...

你是多少位的FFT
作者: sunny_sweet    时间: 2019-5-30 11:20
广州创龙莫工 发表于 2019-5-22 09:15
我司的FFT_Benchmark例程测试可供参考。

请问该例程使能的是L1和L2缓存,具体指的是什么呢?是否使能缓存对数据具体处理流程有何区别?
另外看到历程里使能是如下描述,0xC0000000对应的是DDR2的地址?请问0x08000000含义是什么?谢谢~
        CacheEnableMAR((unsigned int)0xC0000000, (unsigned int)0x08000000);
        CacheEnable(L1DCFG_L1DMODE_32K | L1PCFG_L1PMODE_32K | L2CFG_L2MODE_256K);




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4