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.

TMS320C553X:用硬件FFT加速器实现多点FFT,点数超过了最大硬件FFT加速器(1024点)

TMS320C553X:用硬件FFT加速器实现多点FFT,点数超过了最大硬件FFT加速器(1024点),所以将数据分段,前10级用硬件FFT,后面级数用CPU计算,但是遇到一个问题,问题是在进行FFT时:把数据进行位反转后,对这些位反转后的数据直接进行硬件FFT,输出结果是正确的的,但是如果把位反转后的数据搬移到其他块存储空间,再对这些数据进行硬件FFT,这是输出的结果就是错误的,硬件FFT对数据存储空间有要求吗?其中位反转考虑到了内存对齐。

  • 请问数据搬移到哪块存储空间?HWAFFT要求 The data and scratch vectors must reside in separate blocks of RAM (DARAM or SARAM) to maximize memory bandwidth
    对内存对齐要求是This buffer must be aligned in RAM such that log2(4 * N) zeros appear in the least significant bits of the byte address (8 bits)
    www.ti.com/.../sprabb6b.pdf
  • 非常谢谢您的回复,我是新手,刚学DSP一个月多点,
    下面是搬移前后的位置
    搬移前的位置:SARAM2 : origin = 0034000h length = 002000h /* on-chip SARAM */
    搬移后的位置:SARAM4 : origin = 0021000h length = 001000h /* on-chip SARAM */
    数据搬移后FFT输出的结果是错误的,
  • 请看一下搬移后的buffer是否是8bit对齐的? 可以和搬移之前的数据做比对。

    另外,SARAM2, SARAM4的memory地址和数据手册上的memory map不符。
    Table 6-4. SARAM Blocks for C5533
    www.ti.com/.../tms320c5535.pdf