TMS320F28335: 如何使用片外RAM进行快速傅里叶变换运算?

Part Number: TMS320F28335
Other Parts Discussed in Thread: CONTROLSUITE

想使用片外RAM进行傅里叶变换,即调用RFFT_32(),RFFT_32_mag()实现。可是输出数据都是+Inf和-Inf,这是为什么? 

可以用指针对片外RAM正常进行读写。

  • 修改了一下,fft的输入数据放入片内RAM输出数据放入片外RAM就正常了。反过来(输入片外,输出片内)还不行。不知为何?

  • 您好,

    否则、您是否能够正确访问(读取/写入)片外 RAM?

    您是否满足 FFT 缓冲器的所有对齐要求?

    使用片上 RAM 时、FFT 是否可以正常工作?

  • 可以读写片外RAM。我给自己的回复贴说了,rfft的输入数据放入片内RAM输出数据放入片外RAM就正常了。反过来(输入片外,输出片内)还不行。不知为何?关于是否对齐,您看看我发的图片。谢谢。

  • 您好,

    请告诉我使用哪个特定函数来计算 FFT? 另外、如果有具体示例用作参考、请告诉我。

    另外,我假定正在使用controlSUITE?

  • 对,controlSUITE。调用RFFT_32(),RFFT_32_mag()实现。

  • 您好,

    当您将输入数据放入片外 RAM 中时、是否相应地对齐输入缓冲器?

  • 是否对齐,您看看我的图片好么?是否对齐您看看。也许对齐在cmd文件中还有其它语句我不知道。

    不过,既然输入输出都在片内没问题,输入片内输出片外也没问题,只要输入在片外就不行,那应该不是对齐的问题。

  • 您好,

    第三个图表显示输入 RFFTdata1 (对齐的)、而在片上 RAM 中、输出片外 RAM 中的 RFFTdata2 ->这不起作用。

    第一个图显示输入 RFFTdata1 (对齐)、而在片外 RAM 中、输出 RFFTdata2也在片外 RAM 中->此配置是否有效?

    此外、您可以尝试使用 RFFT_f32u 而不是 RFFT_F32。
    此外、请告知我上述配置的任何构建警告?

  • 您好,你说的" 第三个图表显示输入 RFFTdata1 (对齐的)、而在片上 RAM 中、输出片外 RAM 中的 RFFTdata2 ->这不起作用。"那怎样写cmd文件才能起作用?而且,这么写可以得到正确的结果,输出的数据确实在片外ram。你所说的不起作用指的什么?

    你所说的" 第一个图显示输入 RFFTdata1 (对齐)、而在片外 RAM 中、输出 RFFTdata2也在片外 RAM 中->此配置是否有效",有效是什么意思?我确实可以看到输入输出数据都在片外ram,就是输出结果不对。

    没有任何警告。

  • 您好,

    很抱歉让你感到困惑。

    我建议按如下方式修改 cmd 文件、并尝试这样做:

    RFFTdata1 :> ZONE7B, page = 1, align (1024)

    RFFTdata2:>RAML4、页=1

    另外、请您发送生成的.map 文件。

    谢谢!

  • 以下分别是cmd文件和map文件截图

  • 您好,

    很抱歉耽误你的时间。 我出差了 3 周多。

    我要求客户尝试的内容与他们尝试的内容之间似乎存在差异。

    你们可以尝试一下这个:

    RFFTdata1 : > ZONE7B,    PAGE = 1, ALIGN(1024)

    RFFTdata2: > RAML4, PAGE=1

  • 您好,我发的帖子第二条就说了,片外输入片内输出不行。

  • 您好,

    我们似乎围绕着同一主题画了圈。

    我的要求是客户通过分析数据变化的位置来进一步调试这一点。

    我们有一种输出正确的情况-它们可以在每个阶段后捕获预期的数据。

    然后、我们遇到输出不正确的情况-它们可以在每个 FFT 阶段后捕获数据并对照上述情况进行检查、以了解出现差异的地方。

x 出现错误。请重试或与管理员联系。