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.

[参考译文] SolarLib 应用库中可能存在错误

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/570105/possible-bug-in-solarlib-application-library

大家好
在我看来、包含在"SolarLib"应用库中的函数"SINEAANALYZER_DIFF_F"的建议初始化中存在一个错误。
由于初始化函数"SINEAALYZER_DIFF_F_INIT"只会清除为零个内部字段、并且库的说明建议仅初始化"SampleFreq"和"Threshold"字段、
"nsamplesMin"和"nsamplesMax"字段保持= 0、而它们在处理函数中用于验证检测到的过零点。
我认为在调用"SINEAANALYZER_DIFF_F_INIT"之后、在使用计算函数之前、应该将它们初始化为如下所示的内容:

nsamplesMin =采样频率/最大电网频率
nsamplesMax =采样频率/最小电网频率

实际上、文件 SolarLib.pdf 建议对例程的"SINEAALYZER_DIFF_wPWR_F"版本(也计算功率的版本)进行此初始化、但这些值也在"较轻"版本中使用:

if (v->nsamplesMin < v->nsamples < v->nsamplesMax)

       //计算@过零点

因此、需要对它们进行初始化。

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

    太阳能库的所有者将在下周之前离开办公室、因此响应会有一些延迟。

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

    您好、Lori、

    好的、没问题。 同时、我已经使用"增强"初始化检查了代码的行为、它看起来很有效。

    谢谢你

    Alberto

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

    感谢您指出这一点、您对 SINENALYZER_DIFF_例程的初始化部分的理解是正确的。

    我们稍后添加了此部分、为了降低正弦分析器例程中的噪声、尤其是当交流电压信号在过零附近产生噪声时、我将把它归档为一个文档错误。

    此致
    Manish Bhardwaj