ピーク検出
- 更新日2025-07-30
- 7分で読める
入力信号の±ピークの位置、振幅、および2次導関数を検出します。

入力/出力
X
—
Xは解析する信号を表す入力値の配列です。 データは、単一配列または連続データブロックです。連続したデータブロックは、大きいデータ配列またはリアルタイム処理に役に立ちます。リアルタイム処理では、幅の約半分のデータポイントが+ピークまたは-ピークの位置を超えるまで±ピークは検出されないことに注目してください。
しきい値
—
しきい値は、サイズの値が小さすぎる場合、±ピークを無視するようにVIに指示します。VIは、フィット振幅がしきい値以下の場合、ピークを無視します。-ピークの場合、しきい値より大きい場合は無視されます。
幅
—
幅は、2次最小二乗近似で使用する連続したデータポイントの数を指定します。幅は強制的に3以上になります。 値は、しきい値の上の+ピークまたはしきい値の下の-ピークの半分の幅よりも小さくする必要があり、ノイズのないデータに対してはより小さく (ただし、> 2) にできます。この値を大きくすると、±ピークの高さや位置くを正しく観察できません。ノイズを含むデータでは、ノイズにより実際のピークが不明確になるため、この修正は重要ではありません。理想的には、幅は可能な限り小さい値で、ノイズによる不正確なピークが検出されないように調整する必要があります。
±ピーク
—
±ピークは、VIが+ピークまたは-ピークを検索するかを指定します。
初期化 (T)
—
初期化の設定がTRUEの場合、データの最初のブロックを処理するよう指定します。 VIは操作が正常に実行するように初期内部設定を必要とします。1つのデータブロックの処理のみを行う場合、初期化を配線しないか、または、デフォルトの状態をTRUEに設定します。連続したデータブロックを処理する場合、最初のブロックに対して初期化をTRUE、他のすべてのデータブロックに対してFALSEに設定します。
データの最後 (T)
—
データの最後の設定がTRUEの場合、データの最後のブロックを処理するよう指定します。 最後のブロックを処理した後、VIは内部データを管理します。1つのデータブロックの処理のみを行う場合、データの最後を配線しないか、デフォルトの状態をTRUEに設定します。連続したデータブロックを処理する場合、最後のデータのブロックを除くすべてのブロックに対してデータの最後をFALSEに設定します。
検出数
—
検索数は、現在のデータブロックで検出された±ピークの数です。検索数は、位置、振幅、および2次導関数の配列のサイズです。
位置
—
位置には、現在のデータブロック内で検出されたすべての+ピークまたは-ピークの指標位置が含まれます。 ピーク検出アルゴリズムは2次近似を使用するため、実際データポイント間を補間します。そのため、指標は整数ではありません。つまり、検出されたピークは実際の入力データポイントとは限らず、指標の一部分で、入力配列で検出されない振幅にある場合があります。 位置を時間単位で参照するには、以下の式を使用してください。時間 位置[i] = t0 + dt*位置[i]
振幅
—
振幅には、現在のデータブロックで検索した+ピークまたは-ピークの振幅が含まれています。 メモ ダイナミックレンジが広いノイズを多く含む信号では、位置と振幅が実際の+ピークまたは-ピークからずれる場合があります。
2次導関数
—
2次導関数は、現在のデータブロックで検索した各±ピークの2次導関数を表示します。 2次導関数は、+ピークまたは-ピークの精度の概算測定値を提供します。+ピークの場合は、値はすべて負になります。-ピークの場合は、値はすべて正になります。
メモ dt (サンプル間の時間差) は1に等しいことを前提としています。
エラー
—
エラーは、VIからのエラーまたは警告を返します。エラーは「エラーコードからエラークラスタ」VIに配線して、エラーコードまたは警告をエラークラスタに変換できます。 |
データセットは、単一配列または連続したデータブロックとして「ピーク検出」VIに渡すことが可能です。
この「ピーク検出」VIは、2次多項式を連続したデータポイントのグループに近似させるアルゴリズムに基づきます。近似で使用されるデータポイントの数は幅によって指定します。
各+ピークまたは-ピークでは、2次近似はしきい値に対してテストされます。しきい値より低い+ピーク、またはしきい値より高い-ピークは無視されます。±ピークは、VIが±ピークの位置から約幅の半分のデータポイントを処理した後でしか検出されません。この遅延はリアルタイム処理のみに影響します。
「ピーク検出」VIがピーク検出アルゴリズムに対して内部のデータを初期化および解放できるように、このVIに最初と最後のブロックがVIに渡されるタイミングが通知される必要があります。
LabVIEWを使用したピーク検出については、ni.comの以下のサポートドキュメントを参照してください。
サンプルプログラム
LabVIEWに含まれている以下のサンプルファイルを参照してください。
- labview\examples\Signal Processing\Signal Operation\Peak Detection and Display.vi
X
—
しきい値
—
幅
—
±ピーク
—
初期化 (T)
—
検出数
—
位置
—