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.

[参考译文] RTOS/OMAP-L138:RTOS/OMAP-L138

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/769970/rtos-omap-l138-rtos-omap-l138

器件型号:OMAP-L138
Thread 中讨论的其他器件:OMAPL138

工具/软件:TI-RTOS

您好!

您能否检查是否有用于缩短附加代码处理持续时间的 DSP API 库?

尤其是 短时间傅里叶变换部分。

谢谢、

Aviram

 

 

#include

#include "KaiserWindow_256.h"

#include

#include "s1_def.h"

 

int trationi[FFT_SIZE]__attribute__((section ("algo L2")));

 

int trationQ[FFT_SIZE]__attribute__((section ("algo L2")));

// Amnon:

//改为就地

// FFT_NUM_OF_THREADS-1循环,第一个 ACC 项已就地

int iq_Reduction (short* input_i、short* input_Q、float* output_IQ、int FFT_size)

           // IQ 降低-在 I 和 Q 样本上并行工作以降低计算复杂性

 

           int i、j;

           int sampleIndex;

 

           //int acc_i、acc_q;

           //int 缩减 i[FFT_MAX_SIZE];

           //int 缩减 Q[FFT_MAX_SIZE];

           

           Int Sumi;

           内部摘要;

           Int 曲折 I;

           Int 曲折 Q;

           int delta;

 

           //初始

           Sumi = 0;

           SumQ = 0;

 

           memset (reductionI、0、sizeof (reductionI));

           memset (reducionQ、0、sizeof (reducionQ));

 

 

           对于(I = 0;I < FFT_SIZE;I++)

           {

                       // Init 累加器

                       //acc_i = 0;

                       //ACC_Q = 0;

 

                       //初始输入索引

       samplpleIndex = i;

 

       对于(j = 0;j < FFT_NUM_OF_SETTINS;j++)

       {

           reducioni[i]+= input_i[samplpleIndex];

           reducionQ[i]+= input_Q[samplpleIndex];

           sampleIndex += FFT_SIZE;

       }

 

       Sumi +=简化 i[i];

       sumQ +=简化 Q[i];

 

 

                       //更新缩减结果

                       //reducioni[i]= acc_i;

                       //reducionQ[i]= ACC_Q;

           }

 

           //计算直流

           曲折 I =(int)(Sumi * DC_AVG_FACTOR);

           曲折 Q =(int)(sumQ * DC_AVG_FACTOR);

 

           //窗口功能

           对于(i = 0、j = 0;i < FFT_SIZE;i++、j += 2)

           {

 

                       // Kaiser 窗口-已乘以(reduction _AVG_factor)值

 

                       //删除 DC

                       Delta =(int) reductionI[i]-曲折 I;

                       output_iq[j]=(float)(delta)* KaiserWindow_256[i];

 

                       //删除 DC

                       Delta =(int) reducionQ[i]-曲折 Q;

                       output_iq[j+1]=(float)(delta)* KaiserWindow_256[i];

           }

 

           返回0;

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

    这是 Processor SDK RTOS 中 DSPLIB 的一部分吗? 哪个版本?

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

    您发布的代码似乎是基于 IQ 数学的代码、它是在某些定点 DSP 内核上编写的。 在 OMAPL138上、DSP C674xn`t 支持浮点、因此您无需使用定点算术来获得性能提升。

    话虽如此、我们确实为 C64x+ DSP 提供了 IQmath 库、这可能很有用
    http://www.ti.com/tool/SPRC542

    我们很少看到用户在 C674x 上对其进行实用化、因为内核本身支持定点序列。

    此致、
    Rahul