0

全部。

我需要帮助,我有这样的信号

                          /\
     /\                  /  \
    /  \      /\        /    \
0 ---------------------------------------
  /      \  /    \    /        \    /
          \/      \  /          \  /
                   \/            \/

我需要检测所有峰值(负和正)。所有值都是浮点数,我得到所有 66 毫秒。我想知道两个峰之间的时间。我需要帮助来实现它,我想我需要将所有值存储在一个带有上一个峰值的时间戳的数组中,任何人都有最好的方法来做到这一点?

谢谢。

4

1 回答 1

0

要发现一个高峰,您可能需要发现方向的变化。

您不一定必须将值存储在数组中。

伪代码:

//every frame:
frameIncrement++;
currentDir = currentVal - prevVal
if( (prevDir < 0 && currentDir > 0) || (prevDir > 0 && currentDir < 0)) {
  //change in direction!
  time = frameIncrement * 66
  frameIncrement = 0
}

prevDir = currentDir
prevVal = currentVal

希望这可以帮助!

于 2013-04-03T20:08:03.753 回答