一种计算给定数据集中给定属性的循环次数的方法

问题描述 投票:0回答:1

我想找到给定的电机故障电流数据集中的周期数,它是由在不同时间测量的电机电流给出的,我想知道它是否可以被视为一个信号或者它只是一个模式?

motor fault current

我尝试了一些库,但它们适用于不同的条件,例如它们对所使用的信号有零交叉点,并且我找不到可以为此变成零交叉的点,因为电机电流始终为+ve,因此它只是随着时间的推移而略有波动,因此我得到了一个情节

python machine-learning deep-learning data-science signals
1个回答
0
投票

您似乎已经确定了问题中的一个关键问题——如何识别周期?正如您所指出的,该值始终为正,因此您不能简单地计算过零次数。但是,您可以尝试一些简单的方法:

  • 减去偏差,然后计算过零:如果您知道信号的平均值是多少,则可以从信号中减去该平均值,使绘图回到零,然后计算过零。例如,在您所附的图像中,由于绘图或多或少在 2.2 和 2.8 的极值(大约)之间交替,因此如果您从信号中减去 2.5,然后计算过零,您应该会非常接近。这样做的一个缺点是它会错过“周期”,即该值无法干净地跨越新的零。然而,到那时,您需要重新开始思考完整“周期”的定义,以及这些案例是否算作您目的的一个周期。

  • 作为上述内容的扩展,如果您有一个信号随时间缓慢漂移的系统,您可以计算滑动窗口上的平均偏差,然后减去它来计算,而不是从信号中减去恒定偏差零交叉点。如果信号突然漂移或滑动窗口无法跟上偏差变化的速度,这种方法可能会失败,但如果您的信号表现与提供的图像一样好,那么这应该不是问题。

  • 如果您仅将周期定义为信号中的峰值和谷值,那么您可以计算信号的一阶和/或二阶导数来计算局部最大值或最小值。如果您绘制一个单独的图表,其中值是第一个图表中两个连续值之间的差值(一阶差值),则该新图表中的过零要么是原始信号中的峰值或谷值。如果你还计算二阶导数,那么二阶导数的符号会告诉你它是局部最大值还是最小值,而一个完整的周期就是其中之一的计数。这种方法不受漂移影响,但它对信号中可能存在的任何噪声非常敏感,因此如果您的信号有噪声,您可能需要先通过低通滤波器运行它以消除噪声,然后再应用这种方法。

© www.soinside.com 2019 - 2024. All rights reserved.