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/TMS320F28377D:当我使用控制套件示例 FPU/v1_50_00_00/rfft_ADC 时、FFT 结果不正确

Guru**** 2394305 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/818675/ccs-tms320f28377d-when-i-use-the-controsuite-example-fpu-v1_50_00_00-rfft_adc-the-fft-result-is-not-correct

器件型号:TMS320F28377D

工具/软件:Code Composer Studio

作为标题、在控制套件中使用 v1_50_00_00中的 rfft_ADC 例程、在 RFFTin1Buff 中读取数据与计算得出的 RFFTmagBuff 结果非常不一致。 下面是分析结果的比较。 以上是使用 MATLAB 的 RFFTin1Buff 中数据的 FFT。 以下是例程中的 DSP 计算。    FFT 配置如下所示。 我希望您能给我一些建议,说明我的用法是否错误,谢谢。

hnd_rfft_adc->Tail =&(hnd_rfft->OutBuf);

hnd_rfft->FFTize = RFFT_SIZE;//FFT 大小
hnd_rfft->FFTStage = RFFT_STA期;//FFT 级

hnd_rfft_adc->InBuf =&RFFTin1Buff[0];//输入缓冲器(12位 ADC)输入
hnd_rfft->OutBuf =&RFFToutBuff[0];//输出缓冲区
hnd_rfft->CosSinBuf =&RFFTF32Coef[0];//Twiddle 因子
hnd_rfft->MagBuf =&RFFTmagBuff[0];//幅度输出缓冲区

RFFT_F32_SINCOSTable (HND_rfft);//计算旋转因子
RFFT_ADC_F32 (HND_rfft_ADC);//使用16位计算实数 FFT
RFFT_F32_MAG (HND_RFFT);//计算幅度

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

    您好!

    该示例还计算基本频率,即最大分量频率,它是否与信号频率匹配? 您能否检查并确认。 基本上、我想知道它只是一个缩小幅度的问题还是整个 FFT 计算都是错误的。

    此致

    Himanshu

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

    您好!

    我想说、基频有时是正确的、但有时计算出的频率是正确基频的一半、 并且谐波频率始终是错误的。

    谢谢

    天一

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

    为什么 接近零频率的功率比基频的功率大得多、我真的很困惑。

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

    您好!

    接近零频率的功率要大得多、因为输入 PWM 信号具有固有的直流分量、因为高电平对应3.3V、而低电平对应0V、因此信号永远不会变为负电平、因此接近于零频率的功率太高。

    如果我的回复回答了您的问题、请点击位于我帖子底部的"我的问题已解决"按钮。

    此致

    Himanshu