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.

[参考译文] TMS320C6713B:变距器代码优化

Guru**** 2587365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/593255/tms320c6713b-pitch-shifter-code-optimization

器件型号:TMS320C6713B

您好!
我目前正在使用 DSK6713和 CCS v5.3研究实时变频器算法。 我的代码工作正常、但仅在采样频率高达8kHz 时。 我无法使用更高的采样频率、因为它花费了太多的时间(~0、024秒)。 以处理具有1024个样本的帧。 要使用44kHz、应在小于0、00582sec 的时间内处理当前帧、因此我需要优化我的代码4次。  

最有效时间(~2、353、044个周期)用于计算幅度和相位、例如:

对于(i = 0;i < 1024;i++){
a = 2*i;
r[i]= sqrt (FFT_IN[a]* FFT_IN[a]+ FFT_IN[a+1]* FFT_IN[a+1]);
phi[i]= atan2 (FFT_IN[a+1];FFT_IN[a+1]、FFT_IN[a+1]
和计算相位增量:
float mod (float A、float N){return a - N* floor (A/N);} 


对于(i=0;i<1024;i++){ PHASE_OUT[i]= mod (phi[i]-phi0[i]-omega[i]+M_PI、-2* M_PI)+ M_PI; delta_phi[i]= omega[i]+ PHASE_OUT[i]; phi0[i] = phi[i]; psi[i] = mod (psi]+delta_phi[i]*tsort_ratio+M_pi、-2*M_PI)+ M_PI; }

如何优化此代码以提高执行速度?  

谢谢、此致、
kA

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

    C6713是一款旧处理器。 为什么必须使用该处理器?

    尝试使用 C6748或 C6657获得更好的性能。

    您没有提到您已经采取了哪些优化步骤、因此我们无法解决问题、只能将您指向有关 C6000优化的 Wiki 文章。 请在 TI.com 中搜索这些内容。

    您的代码对我来说是没有意义的,因为在 mod()函数定义后面紧接一个 for 循环。 这似乎不是有效的 C 代码。

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

    有多种方法可以优化代码:

    基于 DSP 编译器的优化:
    您提供的有关数据类型的信息越多、循环迭代次数越多、其并行处理数据时的性能就越好。 下面的应用手册对此进行了详细说明:
    www.ti.com/.../sprabg7.pdf (优化 TI DSP 上的循环)
    www.ti.com/.../sprabf2.pdf (C6000 DSP 优化简介)
    www.ti.com/.../spru187u.pdf (使用 TI 编译器进行优化)

    2.使用 TI DSP 库进行优化:
    FastMath 库: http://www.ti.com/tool/mathlib
    DSPLIB: http://www.ti.com/tool/SPRC265

    3. SoC 级别优化:
    如果您在 DDR 之外运行代码、则需要打开高速缓存、并可能将关键数据重新定位到内部 DSP 存储器或片上存储器中。 您还可以使用 EDMA 将数据从 DDR 移入和移出 DSP 内部存储器。
    www.ti.com/.../spru656a.pdf (缓存用户指南)
    www.ti.com/.../spru234c.pdf (EDMA 用户指南)

    此致、
    Rahul