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.

[参考译文] CCS/TMS320F2.8379万D:tms320f2.8379万d

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/580451/ccs-tms320f28379d-tms320f28379d

部件号:TMS320F2.8379万D

工具/软件:Code Composer Studio

我正在使用TMS320F2.8379万D及其坞站 。

我使用RFFT_ADC示例代码,我有一个问题。

   hnd_rfft_adC->Tail =&(hnd_rfft->OutBuf);
   
   hnd_rfft->FFTSize  = RFFT_SIZE;      //FFT大小
   hnd_rfft->FFTStages = RFFT_stages;    //FFT stages
   HND_rfft_ADC->InBuf =&RFFTin1Buff[0];//输入缓冲区(16位ADC)输入
   hnd_rfft->OutBuf   =&RFFToutBuff[0];//输出缓冲区
   HND_rfft->CosSinBuf =&RFFTF32Coef[0];//twiddle因子
   hnd_rfft->MagBuf   =&RFFTmagBuff[0];//幅值输出缓冲区

在此代码中,我需要为RFFToutBuff中存储的数据取绝对值。

因此,我添加了一个类似这样的代码,

RFFToutBuff[0]=fabsf(RFToutBuff[0]);

我认为我的说法不正确。

如何获取RFFToutBuff数据的绝对值?

谢谢你

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

    fabsf()应该是获取绝对值的正确方法。 RFFToutBuff[0]以前的值是什么? 之后是什么?

    Whitney

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

    代码如下所示

    hnd_rfft->FFTSize = RFFT_size; //FFT大小
    hnd_rfft->FFTStages = RFFT_stages; //FFT阶段
    HND_rfft_ADC->InBuf =&RFFTin1Buff[0];//输入缓冲区(16位ADC)输入
    hnd_rfft->OutBuf =&RFFToutBuff[0];//输出缓冲区
    HND_rfft->CosSinBuf =&RFFTF32Coef[0];//twiddle因子
    hnd_rfft->MagBuf =&RFFTmagBuff[0];//幅值输出缓冲区
    RFFToutBuff[0]=fabsf(RFToutBuff[0]);

    而且,我想知道对RFFToutBuff中存储的数据取绝对值是否正确。

    RFFToutBuff[0]中的原始数据具有负值,之后的值具有相同的负值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    很抱歉回复太慢。 您是否仍有问题? 您是否可以查看反汇编窗口并查看为fabsf()生成了哪种代码? 这可能会给我们一些关于出现什么问题的提示。

    Whitney