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.
我们需要精确计算电网电压中高达第9个谐波的谐波。 采样将以16KHz 的固定速率完成、即设置 PWM 频率的速率。 在恰好为50Hz 时、结果为320个采样点。 同样、在60Hz 时、会产生大约267个样本。 此外、电网频率会发生变化、因此每个周期的采样点数量会发生变化。 我完全不知道这个问题的一个好解决方案、因为 FFT 库只对2^N 的样本进行计算。 采样信号段必须包含整数个周期。 我知道如果 FFT 是在不完整周期上计算的(例如、256/320=50Hz 周期的0.8部分或512/320=50Hz 周期的1.6部分)、那么这会导致大量其他谐波的结果和不正确的结果。 请提供相关指南、了解如何继续执行此操作。
尊敬的 Asad:
如果您打算使用针对计算效率优化的 FFT 库、那么必须有2^N 个点。 否则、您将不得不实施自己的解决方案。 您可以查看这样的示例:
请记住、C2000Ware 中使用的 FFT 库已优化为快速、因此如果您的数据不满足2^N 的要求、精度将会有所折衷。 如果您想要精确度、实施自己的 FFT 函数是可行的、但速度优势将丧失。 这由您来确定哪一种最适合您的用例。
此致、
阿米尔·奥马尔
尊敬的 Omer Amir:
假设对于50Hz 信号改变理想采样频率、例如1.6KHz。 在这个非常理想的情况下、我们可以有1600/50= 32个样本。 现在、如果变化量为+/- 1Hz、则每个周期的样本数可以是31或33、即不是2的倍数。 现在、如果同一系统需要测量60Hz 的采样频率、则意味着通常的采样率为1600/60=27个采样。 因此、实际上、对于任何固定采样频率、实际电网可能具有2个样本的倍数的可能性非常小。 在这种情况下、频率窗口也将是1600/27= 59.26Hz、即不是60的确切倍数。 每次在移动中计算 Twiddle 因子的计算成本都非常高。 有两个问题:
1-在整个周期内等间隔的样本精确到2的倍数不一定是这种情况、但在计算每个周期的旋转因子时、计算成本会非常高。
固定速率采样不保证频率窗口恰好是基波的倍数。
我认为 TI 会有一个很好的解决方案来解决这个问题、因为这种实现并不是很少见。 我相信很多人已经能够以较高的精度完成电网谐波计算。 我可能忽略了一些非常基本的东西。 TI 是否为此用例提供了任何应用手册或任何示例实现? 我正在搜索、但仅找到了 TIDM-THREEPHASEMETER-F67641作为相关源。 他们使用 Goertzel 算法进行 THD 计算。 您能评论一下它在我的应用中的用法吗?
朝觐、
该问题的一个常见解决方案是使用某种确保同步采样的 PLL。 这在功率质量分析仪的标准 IEC 61000-4-30中也是必需的。
您可以使用 HC4046等 PLL 直接驱动 ADC、也可以通过使用某种随市电频率变化的可变频率 PWM 重新创建时钟来间接驱动 ADC。
此致、
安迪
Andy、您好!
您能否参考上述方法的任何应用手册或实现示例? 事实上、我们使用乘法器 IC (CD404040B)探索了 PLL (SN74LV4046ANSR)选项、以便在电网电压的一个周期内精确采集32个样本。 然而、来自这个采样数据的 FFT 结果并不准确。 特别是、我们在二次谐波和三次谐波计算中发现了更多的误差。 我们知道、这是 PLL 中的某种抖动导致的、导致采样脉冲不是完全相等。 如果我们有某种参考实现来看看是否出现了问题、将会非常有用。 市电频率之后的可变 PWM 的第二种方法对我们来说是新方法。 有关该主题的任何进一步详细信息也将很有帮助。
第二种方法基于使用一个 eCAP 来逐周期测量市电频率、甚至是逐半周期测量更好的市电频率。 然后、在每个周期或半个周期、PWM 频率都会更新为新值。 该方法的优点是可以滤除不必要的频率变化、或在主电源电压骤降或中断时管理系统。 如果您的 PWM 无法生成以足够精度驱动 ADC 时钟所需的高频、您仍需要使用 PLL (由低频 PWM 驱动的 PLL)。
但在这两种方法中、最重要的是准确地获得市电频率、这意味着在测量频率之前必须消除谐波。 一个可能的方法就是执行通带模拟滤波器、例如40-70Hz。
此致、
安迪
您好、Asad、
我想知道具体的应用、以及来自任何电源转换器 ISR 的16kHz PWM 频率规范。 此外、您使用的是内部 ADC 还是外部。
您可以在 C:\ti\cc2000\C2000Ware_5_00_00_00\libraries\dsp -> docs 文件夹中找到有关 C2000 FFT 库的文档
谢谢、此致、PAWAN
尊敬的 PAWAN NAYAK:
此应用是并网太阳能转换器。 您认为16KHz 是逆变器开关的开关频率是正确的。 下面我们使用内部 ADC。 对于 FFT、我们将使用来自调谐到电网频率的 PLL 电路的外部 ADC 触发器。 到目前为止、我们只使用32点采样、并认为这个数字太小、除了 PLL 输出中固有的抖动外、这也是 THD 测量不准确的原因之一。 现在、我们已将采样率增加到每周期128点、并对其进行测试。 我们对改善抱有希望。
谢谢、此致。
您好、Asad、
如果需要此方面的进一步支持、请及时告知我们。 我们提供了软件 PLL 库、以便您尝试基于软件的 PLL。
谢谢、此致、PAWAN
尊敬的 PAWAN NAYAK:
将采样增加到128个点后、结果要好得多。 然而、我们在调整 PLL 以锁定45Hz 至65Hz 电网频率范围方面遇到了一些困难(逆变器可以在50Hz 和60Hz 电网中运行)。 我们可以尝试一下软件 PLL、因为它可以轻松地重新配置为50Hz/60Hz、并且从降低硬件成本的角度来看也很有吸引力。 请分享一些详细信息和相关应用手册/示例。
您好、Asad、
软件 Ware_Digital 库的位置为 C:\ti\c2000\c2000\c2000\c20002000_SDK_4_04_00_00\libraries/spll\include
相关文档可在下面的 模块中找到:
单相和三相软件 PLL 的应用手册如下
https://www.ti.com/lit/an/sprabt4a/sprabt4a.pdf
https://www.ti.com/lit/an/sprabt3a/sprabt3a.pdf
谢谢、此致、PAWAN
使用128点 FFT 时、结果是可接受的。 似乎32点采样不够好。 我想我们可以关闭这个 TT。