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

DSP C5517 FFT问题咨询

各位大拿好,小弟在对一组数据(144个)做hwafft处理时,如果用hwafft_256pts,返回值为0,FFT数据存储在data里,如果用hwafft_512pts或者hwafft_1024pts返回值为1,FFT数据存储在scratch_data里,这个没有错。但随后做IFFT时,hwafft_512pts或者hwafft_1024pts用scratch_data里的数据做IFFT可以得到原始数据。但hwafft_256pts 用data(此时FFT数据储存在DATA里)里的数据做IFFT得不到原始数据,如果用scratch_data里的非FFT数据做IFFT反而可以得到原始数据。

小弟有点搞不懂这个现象,有谁可以解释一下是哪里出错了吗?

Shine:

确定hwafft_256pts时代返回值是0?

看一下data, scratch buffer是否定义在0x10000以下的RAM?

Advisory 2.0.4 HWAFFT: Data and Scratch Buffers Must Reside at Data Locations Less Than Word Address 0x10000http://www.ti.com/lit/er/sprz383b/sprz383b.pdf

chaoyang guo:

回复 Shine:

是的,返回值是0, BUFFER是定义在

DARAM0 (RWIX): origin = 0x0000c0, length = 0x007f40 /* 32KB – MMRs */ DARAM1 (RWIX) : origin = 0008000h length = 003000h /* on-chip DARAM 1 */

.br_buf > DARAM1 .src_buf :> DARAM1 .scratch_buf :> DARAM1 /* output data of scratch */

Shine:

回复 chaoyang guo:

br_buf需要对齐。2.9 Appendix A Methods for Aligning the Bit-Reverse Destination Vectorhttp://www.ti.com/lit/ug/spruh16b/spruh16b.pdf

chaoyang guo:

回复 Shine:

您好!

  按照PDF上提供的三种方式试了还是不行啊,128点和256点返回值是0数据存在data缓存,然后做IFFT得不到原始值,  512和1024是正常的。

Shine:

回复 chaoyang guo:

感谢反馈!

赞(0)
未经允许不得转载:TI中文支持网 » DSP C5517 FFT问题咨询
分享到: 更多 (0)