Matlab/Simulink中功率测量方法比对

Guo_ivy 2024-07-22 12:05:02 阅读 68

因为毕业设计需要测量功率,但在matlab还没找到合适的模块(可能是水平不够,如果大家有能直接测量的模块请多多指教~),目前综合了一下网上的几个方案,简单的学习并且验证了一下使用方法,供大家参考一下,如有错误,欢迎指正~

首先放一个有功功率的公式,之后的验证就是围绕这个公式进行的。

P=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}u(t)i(t)dt

P=UIcos\varphi

1、利用Discrete-Time Integrator模块

关于这个模块的原理,下面这篇博客讲的挺好的,所以就不再分析了,就直接上应用。Simulink常用模块库(Integrator/Discrete-TimeIntegrator)_discrete-time integrator-CSDN博客

首先,创建两个Sine Wave信号源。分别为Sine wave1,Sine wave2,其内部的配置如下所示,设置频率均为50Hz,其中Sine Wave2的相位为90°即

\frac{\pi }{2}

根据公式

P=UIcos\varphi

可以算出,此时的有功功率应该为0。

通过功率测量模块进行验证:

整体的搭建如下所示。

其中Discrete-Time Integrator模块的参数如下,采样时间对应的是powergui中的采样时间。

clock模块用的是默认参数。

最终输出的有功功率的波形如下图所示:

2、利用Mean模块

根据

P=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}u(t)i(t)dt

公式以及对比Mean的描述,可以看到可以使用Mean对电压电流瞬时值的乘积做一个平均值。

输出的波形如下所示:(看起来好像还可以)

3、利用Integrator模块

主要原理也是积分然后再除以时间。

输出的波形如下图所示(感觉和第一个差不多)

4、三个方法效果比对

下图中,蓝色:方法1,绿色:方法3,红色方法2,可以看到绿色和蓝色的效果基本一致,红色的效果最好。

后续可能也有别的方法~还会继续补充



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。