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.

[参考译文] 编译器/TMS320C5517:如何使用 DSPLIB 继续16384或32768点 FFT、您能提供帮助吗?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/661069/compiler-tms320c5517-how-can-i-proceed-16384-or-32768-point-fft-with-dsplib-could-you-give-help

器件型号:TMS320C5517

工具/软件:TI C/C++编译器

你(们)好

我们的项目需要继续 执行16384或32768 点 FFT 进行振动分析,但我发现55x DSPLIB 只能支持1024点 FFT,如何实现目标?  您能为16384或32768 点 FFT 提供帮助吗?

此致

Ralf

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

    团队将收到通知。 他们将直接在此处发布反馈。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    user3540741、
    请访问 e2e.ti.com/.../60457

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

    你(们)好

    感谢您的支持!

    Lali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好 Lali
    感谢您的支持,我仔细阅读了您与我分享的详细信息,但我发现“请参阅 e2e.ti.com/.../60457"案例,仅讨论如何使用4096点 FFT 进行 DEL,它比1024点好得多。但仍然不能满足我们的要求。
    DSPLIB 是否支持32768点 FFT? 如果支持,在哪里可以找到32768 Twiddle 文件?


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

    你(们)好  

    有更新吗?

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

    您好、Ralf、

    Radix-2 FFT 算法的工作原理是将 N 点 FFT 分解为2 N/2点 FFT、然后重新组合结果。 它重复此分解、直到剩余几个2点 FFT、但我们使用 FFT 蝶形计算这些2点 FFT。 然后、只需将嵌套子 FFT 与一些复杂数学运算进行拼接、并在过程中应用分维因子。

    FFT 应用手册- SPRABB6介绍了使用1024点 FFT 计算更大 FFT 的高级算法。 请参阅以下摘录。

    请在此处下载 SPRABB6: http://www.ti.com/lit/an/sprabb6b/sprabb6b.pdf

    请参阅以下 MATLAB 代码、以生成和绘制任意长度 FFT 的 Twiddle 因子。 请注意、对于较小的 FFT、可以对较大的 FFT 使用 Twiddle 表的子集。

    清除;
    全部关闭;
    
    %创建 N 点 FFT 的 Twiddle 因子%
    
    N = 4096;
    
    Twiddle =零(1、N);%实数和 Imag 组合为[re、Im、re、I]格式
    tid_r =零(1、N/2);Twiddle 的%仅实数部分
    d_r =(1、N、2);tTwiddle 部分0 (1、N);teg2 (仅为0)
    
    %离散时间网格
    
    %添加实数部分
    tird_r = cos (2*pi*n/N);
    Twiddle (1:2:N)= cos (2 * pi * n/N);
    
    % Create Imag part
    tild_i =-sin (2 * pi * n/N);
    Twiddle (2:2:N)=-sin (2 * pi *拧 n/N);
    
    % thretwisted to S16Q15 Fix-Point Format (2:2:2:2:2:i:i:i:d);twidd_hex
    
    
    
    
    (
    
    1、tfi_hex = 1、15);
    tid_i_fi_hex = tid_i_fi.hex;
    
    子图(2、1、1)
    图(tid_r_fi)
    标题('re\{twidedle\}')
    
    子图(2、1、2)
    图(tid_i_fi)
    标题('im\{twidedle\}')
    

    为了进行优化、可以调整 DSPLib 汇编代码以支持更大的 FFT、但为了进行概念验证、可以使用 C 代码。

    另一个优化是使用 Radix-4 FFT 算法、而不是 Radix-2。 基数4将 FFT 问题分解为4个较小的问题、而不是2个。

    请记住、C55xx 是定点处理器(16位自然字)、因此动态范围和精度会成为这些较大 FFT 的问题。 如果您丢失有关信号的过多信息、请考虑使用 C6000等浮点处理器。

    希望这对您有所帮助、
    标记

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

    感谢您的支持