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:如何使示例代码"2837x_RFFT_ADC"独立工作以获得准确的FFT输出

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/619386/ccs-tms320f28379d-how-to-make-the-example-code-2837x_rfft_adc-work-in-standalone-for-getting-the-accurate-fft-output

部件号:TMS320F2.8379万D

工具/软件:Code Composer Studio

您好,

我使用 示例代码“2837x_RFFT_ADC”在ADC输出中执行FFT。 如果我没有错,执行代码时,顺序应该如下所示:  

1) ADC输出保留在RFFTin1Buff中

2) FFT在RFFTin1Buff数据上完成,FFT输出保留在RFFToutBuff中

3) RFFT32Coef和RFFTmagBuff数据是从RFFToutBuff计算得出的。

当我在“调试”模式下运行代码时,一切都正常工作。 但当我尝试使其独立工作时,RFFTin1Buff数据似乎可以正常工作,但RFFToutBuff数据变得非常小(接近零)。 此外,RFFT32Coef数据正完全变为零,RFFTmagBuff数据也接近零。 对于RFFT32Coef和RFFTmagBuff,我想,由于它们是从RFFToutBuff计算的,并且由于RFFToutBuff在独立模式下不能正常工作,因此RFFT32Coef和RFFTmagBuff不能正常工作。 因此,问题似乎在于以独立模式获取准确的RFFToutBuff数据。

在这种情况下,如何解决此问题,以便在独立模式下获得准确的RFFToutBuff,RFFT32Coef和RFFTmagBuff?  

谢谢

Mohammad Arifur Rahman

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

    在我的机器上,我必须在两个位置定义符号闪烁。 在项目属性中:

    C2000编译器->高级选项->预定义符号

    C2000连接器->高级选项->命令文件预处理

    您是否可以确认您已经完成了这两项操作? 谢谢。

    此致,

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

    感谢您的回复。 在这两种情况下都定义了闪存。 但在独立模式下仍无法正常工作。

    Mohammad Arifur Rahman

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

    RFFT32Coef的值条目为0,这非常奇怪。 问题源于这一点,因为FFT从该数组中获取twiddle因子;如果它们为0,输出将为零,随后MAG和相位也将为0。

    在示例中,twiddle因子是在运行时计算的,

    RFFT_F32_sincostable (HND_rfft); //计算宽度因子 

    运行此功能后,RFFT32Coef 0或在稍后将其置零。 您是否收到任何构建警告?

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

    Vishal,感谢您的回复。

    我已经解决了问题。 我必须在项目中包含“RFFT_F32_sincostable.c”文件,并对主代码做了一些更改。 现在它开始工作了。

    谢谢

    Mohammad Arifur Rahman