0

全て。

私は助けが必要です、私はこのような信号を持っています

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

そして、すべてのピーク (負と正) を検出する必要があります。すべての値は float であり、すべて 66ms を取得します。2 つのピーク間の時間を知りたいです。私はそれを達成するために助けが必要です.最後のピークからのタイムスタンプを持つ配列にすべての値を保存する必要があると思います.誰かがそれを行うための最良の方法を持っていますか?

ありがとう。

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 に答える