2016-08-07 33 views
1

信号のピークの位置と値を見つけるためにMatlabで(findpeaks)関数を使用しました。ピーク間の測定距離

findpeaks(X_Segments{1}); 

X_Segmentsは私が図に示すように、ピークの一部が互いに非常に接近している

Find All Peaks in the signal

を得たフィギュアのサンプルが、私は、それゆえ、あるここでは、データが含まれていますこれらのピークをフィルタリングして除去します(除去してください)。一定の間隔で信号にピークを持ちます。

答えて

1

パラメータMinPeakDistancefindpeaks関数に渡すと、ピーク間の最小距離を設定できます。あなたのケースでは:

findpeaks(X_Segments{1}, 'MinPeakDistance', 10); 

はまた、あなたはMinPeakProminenceまたはthresholdパラメータが役に立つかもしれません。例hereを参照してください。

+1

私は別の質問をお願いします。私は の連続ピーク間の時間をミリ秒単位で測定して平均を計算したいと思います。 –

+1

ピークのインデックスを返す 'findpeaks'を見てください。これらを使用して、ピークの実際の時間値を決定します。 'diff'と' mean'関数を使って平均間隔を見つけることができます。あなたのデータを見ると、ピークは非常に均等には見えません。あなたが苦労している場合は、別の質問をしてみてください(コメントセクションは本当に新しい質問をする場所ではありません!) – RPM

+0

ありがとう –

関連する問題