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.

[参考译文] ADS131M08:ads131m08-ADCEnergyMetrologyLibrarySW_1.03-evaluate_main_frequency 当使用16000采样率时出现问题

Guru**** 2455360 points
Other Parts Discussed in Thread: ADS131M08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1408287/ads131m08-ads131m08-adcenergymetrologylibrarysw_1-03-evaluate_mains_frequency-issue-when-use-16000-sample-rate

器件型号:ADS131M08

工具与软件:

大家好!

我正在使用 ads131m08执行与计量相关的应用。 我使用的是 ADCEnergyMetrologyLibrarySW_1.03。

一个60Hz 的信号输入到了我的电路板。

当我将 SAMPLE_RATE (metrology-template.h)定义为8000时、函数 Evaluate_main_frequency 可以正常运行。

我在函数 evaluate_main_frequency 中的 return 语句之前打印了  main 频率、并且我可以获得正确的主频率:

但当我将 SAMPLE_RATE 更改为16000 (同时选择 CLOCK_OSR_256)时、输出市电频率似乎是错误的:

我尝试修改了与主频率相关的代码(256 -> 128):

然后可以根据 SAMPLE_RATE=16000获得正确的值:

我不知道我的修改是否为 make sence、因为我无法理解如何计算主频率的代码。

谁能在这方面帮助我?

谢谢。

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

    这个 lib (ADCEnergyMetrologyLibrarySW_1.03)是否适用于 SAMPLE_RATE=16000?

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

    尊敬的宋先生:

    根据我的理解、当用户更改采样率时、这意味着每秒的采样计数会发生改变。

    本文档介绍了计算的一些基本原理:https://www.ti.com/lit/an/sboa444/sboa444.pdf 

    希望这对您有所帮助。

    B.R.

    SAL

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

    感谢您的申请!

    是的、我已经将 SMAPLE_RATE 微控制器更改为16000。  每秒的采样计数也发生了变化。

    由于我正在使用 ADCEnergyMetrologyLibrarySW_1.03来执行相关工作、我认为此库应该适合所有受支持的采样率、对吗?

    但现在、只有在将 SAMPLE_RATE 定义为8000时、它似乎才起作用。

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

    尊敬的宋先生:

    是的、我认为这适合 所有支持的采样率。

    在我看来:

    采样率->您已将其更改为正确的新值- 16000。

    频率->此值在算法中计算、因此还需要由于采样率变化而修改此值、然后 每个市电周期的样本数也将发生变化。

    我还没有分析低级代码行为。 我建议您可以花一些时间来了解 公式以及它在算法中的处理方式。

    我可以尝试联系库所有者、看看他是否可以帮助在这里发表一些评论。 如果有任何进展、我们会提供反馈给您。

    B.R.

    SAL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
      非常感谢   您的 帮助 
     将 尝试  理解  源 代码 同时  、您能否  帮助 我 与  作者联系 、 询问               除了  修改  采样 率之外是否还有其他参数需要同步 
    谢谢 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的宋先生:

    当然、我正在与专家联系。 并且将在此处提供包含他的评论的反馈。

    感谢您的耐心。

    B.R.

    SAL

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

    尊敬的 Sal:

    是否有进展?

    谢谢!

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

    尊敬的宋先生:

    很抱歉这么晚才回复、我收到了一些反馈。

    首先要说明的是:

    我们现在已经移至基于 SDK 的 ADC 库版本、只需查看 nortos/G3507下最新的 MSPM0 SDK 即可。 重新编排了代码、以便提高可移植性。

    对于原始库、如果您坚持这样做、就已经像您所做的那样更正了采样率和 OSR (过采样率)。

     剩下的另一个问题是、进行上述更改后、我们可能没有16000的 FIR 样本。 可能需要使用这些滤波器值进行更新。 您可以参考此主题:

    https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1402778/ads131m08-how-are-the-metrology-fir-table-c-generated-in-adcenergymetrologylibrary-sw_1-03 

    B.R.

    SAL