メインコンテンツ

convertVibration

加速度計、速度センサー、または変位センサーのいずれかによる単一のセンサー出力を使用して、ベースライン補正とフィルター処理が適用された加速度、速度、および変位の信号を振動測定値から計算

R2024a 以降

説明

convertVibration 関数は、加速度計の信号をベースライン補正とフィルター処理が適用された速度および変位の信号に変換します。この関数は、ISO 10816 および 20816 の振動の規格を使用して機械振動の監視を行う場合に特に便利です。convertVibration を使用して、変位または速度の測定値を 3 つの信号形式に変換することもできます。

ISO には、RMS 速度の測定値 (単位は mm/s) と RMS 変位の測定値 (単位は μm) についての規格はありますが、加速度計の測定値 (単位は g または mm/s2) についての規格はありません。convertVibration は、ハイパス フィルター処理、積分、およびベースライン補正の組み合わせを使用して、加速度計の測定値を速度と変位の両信号に正確に変換します。関数は同様のアルゴリズムを使用して位置信号を加速度に変換しますが、その場合は積分の代わりに微分が使用されます。速度信号を加速度と位置に変換するときは、微分と積分の組み合わせが使用されます。

convertVibration の出力信号の単位は、入力信号および関数で実行される積分関数または微分関数の単位と一致します。

  • 積分 (加速度から速度など): 入力信号の単位に秒が乗算されます。したがって、たとえば m/s2 は m/s になります。

  • 微分 (変位から速度など): 入力信号の単位が秒で除算されます。したがって、たとえば m は m/s になります。

入力の単位が g の場合、結果を m/s (速度) または m (変位) に変換するには、出力に 9.81 を乗算する必要があります。

変換された信号を返す

[A,V,D] = convertVibration(X,Fs) は、測定加速度データ X から、ベースライン補正された加速度 A、速度 V、および変位 D の信号を返します。

[A,V,D] = convertVibration(T,Variable=var) は、timetable T の変数 var の測定加速度データを使用します。

[___] = convertVibration(___,Name=Value) では、1 つ以上の名前と値の引数を使用して追加のパラメーターを指定できます。たとえば、T のデータが加速度信号ではなく速度信号を表す場合は、名前と値の引数 Type="velocity" を使用します。

[___,Options] = convertVibration(___) は、サンプリング周波数 Fs やローパス フィルター カットオフ周波数 Fmax など、変換を実行するために使用された各種パラメーターの値を含む Options 構造体も返します。

この構文は、前述の任意の入力引数と出力引数の組み合わせで使用できます。

変換された信号のプロット

convertVibration(___) は、変換された信号をプロットします。

すべて折りたたむ

実際の加速度信号 acc_true、ノイズ、オフセット、ドリフトを含む測定加速度 acc_meas、およびサンプリング周波数 Fs で構成されるデータを読み込みます。

load acceldata acc_meas acc_true Fs

Fs から時間ベクトルを生成します。

t = (0:1/Fs:0.4);

実際の信号と破損した信号を一緒にプロットします。

plot(t,acc_meas,t,acc_true)
title('Acceleration Signal')
legend('Corrupted','True')

Figure contains an axes object. The axes object with title Acceleration Signal contains 2 objects of type line. These objects represent Corrupted, True.

convertVibration を使用して、加速度計の信号にベースライン補正を適用し、信号を速度信号と変位信号に変換します。3 つの信号をすべてプロットする構文を使用します。

convertVibration(acc_meas, Fs);

Figure contains 3 axes objects. Axes object 1 with title Displacement, xlabel Time, ylabel Displacement contains an object of type line. This object represents Estimated Signal. Axes object 2 with title Velocity, xlabel Time, ylabel Velocity contains an object of type line. This object represents Estimated Signal. Axes object 3 with title Acceleration, xlabel Time, ylabel Acceleration contains 2 objects of type line. These objects represent Corrected Signal, Input Signal.

変換によって加速度信号が補正され、安定した変位信号と速度信号が得られます。

出力引数を指定して信号を保存します。

[A,V,D] = convertVibration(acc_meas,Fs);

実際の速度信号 vel_true、ノイズ、オフセット、ドリフトを含む測定速度 vel_meas、およびサンプリング周波数 Fs で構成されるデータを読み込みます。信号は timetable に格納されています。

load veldata vel_meas_tt vel_true_tt Fs

Fs から時間ベクトルを生成します。

t = (0:1/Fs:0.2)';

実際の信号と破損した信号を一緒にプロットします。

plot(t,vel_meas_tt.vel,t,vel_true_tt.vel)
title('Velocity Signal')
legend('Corrupted','True');

Figure contains an axes object. The axes object with title Velocity Signal contains 2 objects of type line. These objects represent Corrupted, True.

convertVibration を使用して、速度信号にベースライン補正を適用し、加速度信号と変位信号を変換して補正し、3 つすべての信号を返します。高周波数ノイズの影響を軽減するために、カットオフ周波数 Fmax を 500 に設定します。3 つのすべての信号タイプに加え、使用したオプションの情報を返します。

[a,v,d,options] = convertVibration(vel_meas_tt,Var="vel",Type="velocity",FMax=500);

使用したオプションを調べます。

options
options = struct with fields:
        Fmin: 20
        Fmax: 500
        Type: "velocity"
    Variable: "vel"
          Fs: 10000

options には、周波数範囲、信号タイプ、変数名、およびサンプリング周波数の情報が格納されています。

3 つの信号をプロットします。

convertVibration(vel_meas_tt,Var="vel",Type="velocity",FMax=500);

Figure contains 3 axes objects. Axes object 1 with title Displacement, xlabel Time, ylabel Displacement contains an object of type line. This object represents Estimated Signal. Axes object 2 with title Velocity, xlabel Time, ylabel Velocity contains 2 objects of type line. These objects represent Corrected Signal, Input Signal. Axes object 3 with title Acceleration, xlabel Time, ylabel Acceleration contains an object of type line. This object represents Estimated Signal.

補正された速度を実際の速度と比較します。

figure
plot(t,v,t,vel_true_tt.vel)
legend('Corrected Velocity','True Velocity')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Corrected Velocity, True Velocity.

補正された速度は、測定された速度よりも、実際の速度にはるかによく適合しています。

入力引数

すべて折りたたむ

測定振動データ。倍精度または単精度のデータを含む数値ベクトルとして指定します。

データ サンプリング レート。Hz 単位の正の数値スカラーとして指定します。

測定振動データを含む timetable。複数のデータ変数を格納できる timetable として指定します。

変換する T の timetable 変数。string として指定します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: convertVibration(v_tt,Var=vel,Type="velocity") は、timetable v_tt の変数 vel に格納された速度測定値を補正された速度、加速度、および位置の信号に変換し、それらをプロットします。

入力信号のタイプ。"acceleration""velocity"、または "displacement" のいずれかの値として指定します。

ハイパス フィルター処理に使用される周波数範囲の下限。Hz 単位のスカラーとして指定します。ハイパス フィルター処理は、低周波数ノイズによる DC オフセットとドリフトを除去するために使用されます。ハイパス フィルター処理により、積分を含む計算 (加速度信号から速度を取得する場合の計算など) も向上します。Fmin の値は、ナイキスト周波数 Fs/2 より小さくなければなりません。

ローパス フィルター処理に使用される周波数範囲の上限。Hz 単位のスカラーとして指定します。ローパス フィルター処理は、高周波数ノイズを除去するために使用されます。ローパス フィルター処理により、微分を含む計算 (速度信号から加速度を取得する場合の計算など) も向上します。Fmax の値は、ナイキスト周波数 Fs/2 より小さくなければなりません。

出力引数

すべて折りたたむ

ベースライン補正された加速度信号。数値ベクトルとして返されます。A は加速度計の信号から直接計算される場合と、速度センサーまたは変位センサーの信号から変換される場合があります。

ベースライン補正された速度信号。数値ベクトルとして返されます。V は速度センサーの信号から直接計算される場合と、加速度計または変位センサーの信号から変換される場合があります。

ベースライン補正された変位信号。数値ベクトルとして返されます。D は変位センサーの信号から直接計算される場合と、加速度計または速度センサーの信号から変換される場合があります。

変換に使用するオプション。構造体として指定します。

アルゴリズム

convertVibration のアルゴリズムは、[1] に記載のある数値積分器の設計に基づいています。この積分器には 3 つの段階があり、それぞれの段階にオフセット キャリブレーションまたはベースライン キャリブレーション、ハイパス フィルター処理、および積分の何らかの組み合わせとシーケンスが含まれています。結果は安定した速度信号と変位信号です。次のブロック線図は [1] から応用したもので、加速度計の入力の一般的なアルゴリズムのフローを示しています。

Block diagram of vibration conversion that starts with accelerometer input on the top left corner and corrected acceleration, velocity, and position outputs along the top row

同様のアルゴリズムによって位置データが 3 つの補正出力に変換されますが、その場合は積分の代わりに微分が使用されます。convertVibration による速度データの変換には、積分と微分の組み合わせが使用されます。

参照

[1] S. Thenozhi, W. Yu and R. Garrido, "A novel numerical integrator for structural health monitoring." 2012 5th International Symposium on Resilient Control Systems, Salt Lake City, UT, USA, 2012, pp. 92-97, doi: 10.1109/ISRCS.2012.6309300.

バージョン履歴

R2024a で導入

参考

外部の Web サイト