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.

[参考译文] 采样和 FFT 数据处理问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/594189/sampling-and-fft-data-processing-question

主题中讨论的其他器件:ADS42B49EVM

嘿、大家、

我希望这是发表这类问题的正确地方、因为我已经从 HSADC 论坛转过来了、无论如何、我会继续努力。

我正在等待 ADS42B49EVM 的到来、因此我已开始研究(明智地)如何实现特定信号的数据采集处理。 有一点是、我一直在检查 CMSIS DSP 库以与配合使用、但是、我在理解如何实际使用该算法来处理我将采集的所有数据方面遇到了一些困难。  

正在处理的信号是10MHz 信号、因此我将以50MHz (50MSPS)的频率进行采样、以获得良好的信号精度和分辨率。  

我的问题是在思考这个问题之后提出的:如果我有50MSPS (假设我的信号需要每5ms 处理一次):

5ms/1000ms =  0.005%

50 000 000 * 0.005 = 250 000个样本存在于这5ms 中。

如果我想进行频谱分析、并每5ms 处理一次使用 FFT 的250000个样本;如何使用 CMSIS DSP 库的 FFT 函数?

我提出这一问题是因为函数的限制为4096、文档指出输出提供了直流分量、基频、一次谐波等。但是、如果我从 ADC (ADS42B49EVM)获得4096个值、 然后通过执行 FFT 来处理它们、我将没有足够的数据来检查该延时频率是否发生变化(因为仅考虑前4096个样本、其他245 904个样本如何?)

有什么建议或建议可以指导我进行此操作?

我对如何实现这一点非常困惑、问题不断增加。

谢谢、Alan。

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

    我不确定这是对 ADS42B49EVM 应用团队的问题、因为这是一个有关 Cortex DSP 库中 FFT 函数的应用问题。 或许这更适合于 Cortex ARM 人员? 您是否以特定处理器为目标? 这也有助于将其提供给合适的团队。

    通常、如果要处理整个信号、则需要具有能够运行此大型数据集的 FFT。 给定缓冲器大小的 FFT 将仅为您提供该时间范围内的信号信息、如果您的信号频率在该缓冲器内发生变化、您将无法检测到它、因为 FFT 将显示不同延迟的一些平均功率。 如果音调发生变化、您将在每个频率单元中看到一些功率。 要检测频率变化、您需要决定解析频率的精确度(时间分辨率)、并根据该精度决定缓冲器。 然后、您将基于此进行 FFT、并在频率从缓冲器变为缓冲器时确定从缓冲器到缓冲器和电容器的信号频率。

    您可以将250k 样本存储到存储器中、然后一次只处理4096个样本、并确定您在哪个缓冲器上检测到频率变化。