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.

[参考译文] TMS320F28335:FFT 拼接

Guru**** 2394305 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1129404/tms320f28335-fft-stitching

器件型号:TMS320F28335
Thread 中讨论的其他器件:controlSUITEC2000WARE

我的客户正在 F28335上寻求524‘288点 FFT 软件支持。

对于雷达应用、我已经了解了如何获取1024p FFT 并生成2048p 或4096p FFT。

工艺:«FFT 拼接是一项支持大 FFT 尺寸的特性» ->请参阅 雷达硬件加速器-第2部分

我们能否以某种方式支持 F28335上支持524‘288点 FFT 的解决方案?

此致、
Bernd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bernd、

    我不太熟悉 FFT 拼接、但从我在本文中所读出的内容来看、所有 FFT 都是对收集的数据执行的、不是实时校正? 客户是否计划使用 DSP FPU FFT 或其他版本?

    此致、

    Omer Amir

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Omer、

    他打算使用 controlSUITE 中支持 obvoiusly 4096p FFT 的"C28x_fixedpoint_dsp_library_fpu32.lib"。

    此致、

    Bernd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    他使用的 FFT 的数据类型是什么? 它是16位定点 FFT 吗? 要存储512K 的数据值需要大量时间、因此可能没有足够的存储器来实现此目的(我很确定在添加数据时无法完成 FFT)。

    此致、

    Omer Amir

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Omer、

    客户将 UINT16作为输入数据类型。 内存不是问题、因为他添加了外部 RAM 来存储数据。 当 FFT 开始时、数据采样完成。

    数据样本实际上不是512K 长、但他使用零填充扩展该样本以提高频率分辨率。

    BTW:我们能否提供"C28x_fixedpoint_dsp_library_fpu32.lib"的源代码

    此致、

    Bernd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bernd、

    如果是这种情况、客户就不会有问题;512K 点 FFT 和带拼接的4K 点 FFT 之间的唯一区别是迭代次数。 客户不需要在迭代3停止、而是需要扩展到511。 这可以通过简单地修改 重复步骤的次数来完成。 我不确定您支持解决方案意味着什么、因为我可能会尝试找到一种实现方法、但我无法在我的一侧测试它。

    对于 "C28x_fixedpoint_dsp_library_fpu32.lib"的源代码、 您可以在"C2000Ware_4_01_00_00_Copy\libraries\DSP\FixedPoint\c28\source "目录中找到这些文件。 无法以正确查看其源代码的方式打开.lib 本身。

    此致、

    Omer Amir

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    客户有以下问题:

    在幅值结果中、使用具有单个频率的测试信号时、我得到结果中的4个峰值。 结果镜像到我知道的奈奎斯特频率以上、但我仍有两个峰值低于该频率。 因此、在测试频率为 F1时、我得到 F1、FS/2-F1、FS/2+F1和 FS-F1输出。 我只期望 F1和 FS-F1。 这对于该算法而言是正常的吗?

    此外、我正在使用集成 ADC 在 F28335进行数据采集。 数据将通过 DMA 从 ADC 结果寄存器写入 RAM。 如果 ADC 设置为级联和顺序采样模式、则工作正常。 但是、如果我更改为模拟采样模式、则 DMA 不再移位数据。
    您是否有示例/提示、这里可能会出现什么问题?

    对于 ADC、我查看了 F28335的器件勘误表、并发现如果采样时间<=160nS、则在同步模式下、第一个采样对中的 ADC 可能出现故障。 如何在连续运行模式下、它只适用于绝对第一个采样还是定期适用于写入结果寄存器的第一对?

    此致、

    Bernd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Omer、

    如何增加迭代次数? 我是否需要编辑库文件来执行此操作?

    我知道的一种方法是执行多个1K 点 FFT (如库中提供的那样)、并根据 FFT 拼接算法对其进行汇编。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

    您无需编辑库文件。 如果您查看 Bernd 放置在其初始帖子中的文档(见下文)、有关 FFT 拼接的部分包含用户将编写的程序代码中的迭代。 就像您提到的那样、您执行多个1K 点 FFT、然后根据拼接算法对其进行汇编、但您将算法缩放到所需的拼接量。 基本上、如果您有一个汇编 FFT 输出点的算法、该算法将需要一个 for loop 来遍历每组1K 点。 对于较大的 FFT、该环路只需重复更多。

    此致、

    Omer Amir

    e2e.ti.com/.../swru527a.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bernd、

    我可以尝试让 ADC 负责人来帮助回答您的最后两个问题。 为了获得两个基本频率、是否可以在这篇文章中附加数据的 FFT 图以便我查看它? 很难在不看到错误的情况下解释可能是什么。 此外、请附上传入信号的示波器、作为完整性检查。

    此致、

    Omer Amir

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢您 Omer、

    这解决了我关于如何执行这些错误的问题。

    最恰当的考虑

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Omer、

    关于我使用定点 FFT 库获得的原始频率、请参阅下面的原始数据和 FFT 输出的图像。 我执行了128点 FFT。 我尝试使用实数和复数 FFT 函数。 我得到的频率并不总是像 BO 前一篇文章中所说的那样经常。 FFT 返回正确频率的唯一时间是输入信号中的频率是我尝试 FS/16 (两次的幂)时。

    我尝试了 C28x_FPU_DSP_library.lib 并成功获得了预期的 FFT 频谱。

    我仍然想知道定点库可能存在什么问题。

    此致、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

    定点库的问题与任何定点运算的问题相同。 定点依赖于数字值是二的幂、即使是小数点位置的右侧也是如此。 因此、相对于非2的幂值的浮点值、它将始终更加不准确且更容易出现错误结果、因为浮点在表示小数时更加准确。 您尝试使用两次幂时、FFT 返回正确结果的原因很可能是这样的结果。

    此致、

    Omer Amir