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

关于论坛FFT工程

您好! 

        我将论坛提供的FFT工程(网址http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/12423.aspx)

   在6678 EVM 8个核上并行运行,发现以下问题:

        1.在主核上调用genFFTTestData()初始化数据时仅有1024个点的值为1.0,剩下的(1024 * 1024 – 1024)个点的值全为0,这么

    生成有什么目的吗?

       2. 我改了上面提到的初始化数据的方法,将所有的1024 * 1024个点全部初始化为0~255的随机数或不全为1.0和0.0的数,发现

    compare_float()返回非零值并且主核打印输出fail之类的。我通过debug发现,compare_float()里的用8核并行计算得到每个点的

    FFT值和主核用dft()计算得到的每个点的FFT值相差比较大,远远超过了规定的0.01,甚至达到了几十。

       我想问:

       1.工程里用8核算FFT和主核用dft()计算得到每个点的FFT值是不是应该完全一样?允许两次计算有差值吗?

       2.如果不一样是什么地方的什么原因导致的?有无改进的方法?怎么改进?

       3.如果两次计算的差值确实存在,怎么评估该差值是否在可接受的范围内?

       

Andy Yin1:

差异取决于两者的计算方法,你可以将两者的结果与matlab浮点结果比较看看差异。

赞(0)
未经允许不得转载:TI中文支持网 » 关于论坛FFT工程
分享到: 更多 (0)