Main Content

tsadifference

時間同期平均化信号の差分信号

説明

Y = tsadifference(X,fs,rpm,orderList) は、サンプリング レート fs、回転速度 rpm、およびフィルター処理する次数 orderList を使用して、時間同期平均化 (TSA) 信号ベクトル X の差分信号 Y を計算します。Y は、X から規則的な信号、'NumSidebands' の値、およびそれぞれの高調波を取り除くことで計算されます。規則的な信号の詳細については、tsaregular を参照してください。

予知保全のために Y を使用して回転機の状態インジケーターをさらに抽出できます。たとえば、Y から "FM4" インジケーターを抽出すると、ギアの噛み合いにおける限られた数の歯に分離された故障を検出するのに役立ちます。

Y = tsadifference(X,t,rpm,orderList) は、t から対応する時間値を使用して TSA 信号ベクトル X の差分信号 Y を計算します。

Y = tsadifference(XT,rpm,orderList) は、timetable XT に格納された TSA 信号の差分信号 Y を計算します。XT には単一の数値列変数が含まれていなければなりません。

[Y,S] = tsadifference(___) は、差分信号 Y の振幅スペクトル S を返します。S は、Y の正規化された高速フーリエ変換 (FFT) を使用して計算された振幅スペクトルです。

___ = tsadifference(___) では、1 つ以上の名前と値のペアの引数を使用して追加のパラメーターを指定できます。この構文は、前述の任意の入力引数と出力引数で使用できます。

出力引数のない tsadifference(___) は、TSA の生の信号と差分信号の時間領域プロットと周波数領域プロットをプロットします。

すべて折りたたむ

次の図に示すように、振動センサーが取り付けられたモーターで 6 つのギアを駆動するドライブトレインについて考えます。モーター シャフト上のギア 1 は、ギア 2 とギア比 17:1 で噛み合います。最終ギア比、すなわち、ギア 1 と 2 と、ギア 3 と 4 の比は 51:1 です。モーター シャフト上のもう 1 つのギア 5 は、ギア 6 とギア比 10:1 で噛み合います。モーターは 180 RPM で回転し、振動センサーのサンプリング レートは 50 KHz です。ギア 5 と 6 の噛み合い成分のみを含む信号を取得するには、対応するギア比 17 と 51 を orderList で指定して、シャフトの回転、ギア 1 と 2、およびギア 3 と 4 の成分をフィルターで除外します。シャフトの回転に対応する信号成分 (order = 1) は計算に暗黙的に常に含まれます。

rpm = 180;                                          
fs = 50e3;                                          
t = (0:1/fs:(1/3)-1/fs)';                           % sample times
orderList = [17 51];                                
f = rpm/60*[1 orderList 10];

実際は、加速度計から得られる振動信号などの測定データを使用します。この例では、モーターに取り付けられた振動センサーからのシミュレーション データである TSA 信号 X を生成します。

X = sin(2*pi*f(1)*t) + sin(2*pi*2*f(1)*t) + ...     % motor shaft rotation and harmonic
    3*sin(2*pi*f(2)*t) + 3*sin(2*pi*2*f(2)*t) + ... % gear mesh vibration and harmonic for gears 1 and 2
    4*sin(2*pi*f(3)*t) + 4*sin(2*pi*2*f(3)*t) + ... % gear mesh vibration and harmonic for gears 3 and 4
    2*sin(2*pi*10*f(1)*t);                          % gear mesh vibration for gears 5 and 6

サンプル時間、rpm、およびフィルターで除外する噛み合い次数を使用して、TSA 信号の差分信号を計算します。

Y = tsadifference(X,t,rpm,orderList);

出力 Y は、ギア 5 と 6 のギア噛み合い信号と高調波を含むベクトルです。

差分信号、生の TSA 信号、およびそれらの振幅スペクトルをプロットで可視化します。

tsadifference(X,fs,rpm,orderList)

Figure contains 2 axes objects. Axes object 1 with title Difference Signal, xlabel Rotation (rev), ylabel Amplitude contains 2 objects of type line. These objects represent Raw Signal, Difference Signal. Axes object 2 with title Order Amplitude Spectrum, xlabel Order (1/rev), ylabel Amplitude contains 2 objects of type stem. These objects represent Raw Signal, Difference Signal.

振幅スペクトルのプロットで次の成分を確認します。

  • 次数 17 のフィルター処理された成分と次数 34 のその高調波

  • 次数 51 の 2 つ目のフィルター処理された成分と次数 102 のその高調波

  • 次数 10 のギア 5 と 6 の残差の噛み合い成分

  • 次数 1 と 2 のフィルター処理されたシャフト成分

  • スペクトルのプロットの振幅と個々の信号の振幅の一致

この例の sineWavePhaseMod.mat には、位相変調された正弦波のデータが格納されています。XT は正弦波データの timetable、使用された rpm は 60 RPM です。正弦波の周波数は 32 Hz です。変調されない正弦波と側波帯を位相変調信号からフィルターで除外するには、orderList として 32 を使用します。

データと必要な変数を読み込みます。

load('sineWavePhaseMod.mat','XT','rpm','orders')
head(XT,4)
         Time          Data  
    ______________    _______

    0 sec                   0
    0.00097656 sec     0.2011
    0.0019531 sec     0.39399
    0.0029297 sec     0.57078

XT の時間値は厳密に増加する等間隔の有限値であることに注意してください。

差分信号とその振幅スペクトルを計算します。次数の単位が Hz であるため、'Domain' の値を 'frequency' に設定します。

[Y,S] = tsadifference(XT,rpm,orders,'Domain','frequency')
Y=1024×1 timetable
         Time            Data   
    ______________    __________

    0 sec             2.2849e-15
    0.00097656 sec      0.046525
    0.0019531 sec       0.091185
    0.0029297 sec        0.13219
    0.0039062 sec         0.1679
    0.0048828 sec        0.19688
    0.0058594 sec        0.21799
    0.0068359 sec        0.23039
    0.0078125 sec         0.2336
    0.0087891 sec        0.22751
    0.0097656 sec        0.21239
    0.010742 sec         0.18888
    0.011719 sec         0.15793
    0.012695 sec         0.12081
    0.013672 sec        0.079041
    0.014648 sec        0.034303
      ⋮

S = 1024×1 complex

  -0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
   0.0000 + 0.0000i
  -0.0000 - 0.0000i
  -0.0000 + 0.0000i
   0.0000 + 0.0000i
  -0.0000 - 0.0000i
   0.0000 + 0.0000i
      ⋮

出力 Y は差分信号を含む timetable、S は差分信号 Y の振幅スペクトルを含むベクトルです。

この例の sineWaveRectangularPulse.mat には、矩形パルスで変調された正弦波のデータが格納されています。X はシャフト回転数 60 RPM で得られた変調後の正弦波のデータを含むベクトルです。変調されない正弦波の周波数は 32 Hz、振幅は 1.0 単位です。

データを読み込み、変調後の TSA 信号 X の差分信号をプロットします。差分信号を取得するには、orderList で周波数 32 Hz を指定して、変調されない正弦波と側波帯を変調信号からフィルターで除外します。'Domain' の値を 'frequency' に設定します。

load('sineWaveRectangularPulse.mat','X','t','rpm','orderList')
tsadifference(X,t,rpm,orderList,'Domain','frequency');

Figure contains 2 axes objects. Axes object 1 with title Difference Signal, xlabel Time (ms), ylabel Amplitude contains 2 objects of type line. These objects represent Raw Signal, Difference Signal. Axes object 2 with title Amplitude Spectrum, xlabel Frequency (Hz), ylabel Amplitude contains 2 objects of type stem. These objects represent Raw Signal, Difference Signal.

プロットで差分信号と生の信号の波形と振幅スペクトルをそれぞれ確認します。差分信号に以下を除くすべてが含まれていることがわかります。

  • 32 Hz の変調されない正弦波

  • 31 Hz と 33 Hz の変調されない正弦波の 1 次側波帯

入力引数

すべて折りたたむ

時間同期平均化 (TSA) 信号。ベクトルとして指定します。時間同期平均化信号は、比較的周期的な長い生の信号から同期、リサンプリング、および平均化によって計算されます。TSA 信号の詳細については、tsa を参照してください。

時間同期平均化は、複素信号のスペクトルに含まれるバックグラウンド ノイズの削減に便利な方法です。予知保全のために時間領域信号から抽出できる有用な情報を集約するのに効果的です。一般に、同期には生のセンサー データに加えてタコメーター パルス信号が必要になります。TSA 信号は、対象のシャフトの単一の分解能で等間隔の角度位置の測定値を示します。

時間同期平均化 (TSA) 信号。timetable として指定します。XT には TSA 信号に対応する単一の数値列変数が含まれていなければなりません。XT の時間値は厳密に増加する等間隔の有限値でなければなりません。

TSA 信号のヘルツ単位のサンプリング周波数。正のスカラーとして指定します。

TSA 信号のサンプル時間。正のスカラーまたは正の値のベクトルとして指定します。

t に応じて次のようになります。

  • 正のスカラーの場合、サンプル間の時間間隔または持続時間を含めます。tduration の変数として指定する必要があります。

  • 正の値のベクトルの場合、X の要素に対応するサンプル時間を含めます。時間値は厳密に増加する等間隔の有限値でなければなりません。tdouble または duration の変数として指定できます。

シャフトの回転速度。正のスカラーとして指定します。tsadifference は、TSA 信号から Y を計算するために、シャフト回転数および 'NumSidebands' の値と等しい対象周波数周辺の帯域幅を使用します。rpm は 1 分あたりの回転数で指定します。この周波数に対応する信号成分である order = 1 は常にフィルターで除外されます。

TSA 信号からフィルターで除外する次数。正の値のベクトルとして指定します。TSA 信号からフィルターで除外する次数と高調波は、それらを振幅スペクトルのプロットで確認して選択します。たとえば、既知の成分とその高調波をフィルターで除外するには、ギア列の既知の噛み合い次数として orderList を指定します。詳細については、TSA 信号の差分信号と振幅スペクトルの可視化を参照してください。'Domain' に適切な値を選択して orderList の単位を指定します。

名前と値の引数

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

R2021a 以前は、名前と値をそれぞれコンマで区切り、 Name を引用符で囲みます。

例: ...,'NumSidebands',2

フィルター処理するシャフトおよびギア噛み合い周波数の高調波の数。'NumHarmonics' と正の整数で構成されるコンマ区切りのペアとして指定します。フィルター処理する既知の成分の高調波が TSA 信号に 2 つより多く含まれている場合は 'NumHarmonics' を変更します。

orderList の周波数とその高調波からフィルター処理する側波帯の数。'NumSidebands' と非負の整数で構成されるコンマ区切りのペアとして指定します。側波帯の幅は 2*(rpm/60)*(NumSidebands+0.5) を使用して求められます。振幅スペクトルのプロットで確認した X からフィルター処理する側波帯の数に基づいて 'NumSidebands' を変更します。

TSA 信号のシャフト回転数。'NumRotations' と正の整数で構成されるコンマ区切りのペアとして指定します。入力 X または XT に駆動ギア シャフトの複数の回転のデータが含まれる場合は 'NumRotations' を変更します。'NumRotations' は、プロットの x 軸に表示する回転数を特定するために関数で使用されます。この値は Y のフィルター処理の結果には影響しません。

orderList の値の単位。'Domain' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • orderList の次数をヘルツ単位の周波数として指定する場合は 'frequency'

  • orderList の次数を rpm の値に対する相対的な回転数として指定する場合は 'order'。たとえば、駆動されるギアの回転速度が駆動ギアの rpm の係数として定義されている場合は、'Domain' を 'order' として指定します。また、異なる回転数で動作するマシンから得られるデータを比較する場合も 'order' を選択します。

出力引数

すべて折りたたむ

TSA 信号の差分信号。以下として返されます。

  • TSA 信号をベクトル X として指定した場合はベクトル。

  • TSA 信号を timetable XT として指定した場合は timetable。

差分信号は、X から規則的な信号、1 次側波帯、'NumSidebands' の値、およびそれぞれの高調波を取り除くことで計算されます。予知保全のために Y を使用して回転機の状態インジケーターをさらに抽出できます。たとえば、Y から "FM4" インジケーターを抽出すると、ギアの噛み合いにおける限られた数の歯に分離された故障を検出するのに役立ちます。Y の計算の詳細については、アルゴリズムを参照してください。

規則的な信号の詳細については、tsaregular を参照してください。

差分信号の振幅スペクトル。ベクトルとして返されます。S は、信号 Y の正規化された高速フーリエ変換です。S の長さは入力 TSA 信号 X と同じになります。S の計算の詳細については、アルゴリズムを参照してください。

アルゴリズム

差分信号

差分信号は、信号スペクトルから以下をフィルター処理することで TSA 信号から計算されます。

  • シャフト周波数とその高調波

  • ギア噛み合い周波数とその高調波

  • ギア噛み合い周波数とその高調波の 1 次側波帯

  • ギア噛み合い周波数とその高調波の 'NumSidebands' で指定された側波帯 (オプション)

tsadifference は、TSA 信号から Y を計算するために、シャフト回転数と 'NumSidebands' の値の 3 倍に相当する対象周波数周辺の帯域幅を使用します。

振幅スペクトル

差分信号の振幅スペクトルは次のように計算されます。

S = fft(Y)length(Y)*2

ここで、Y は差分信号です。

参照

[1] McFadden, P.D. "Examination of a Technique for the Early Detection of Failure in Gears by Signal Processing of the Time Domain Average of the Meshing Vibration." Aero Propulsion Technical Memorandum 434. Melbourne, Australia: Aeronautical Research Laboratories, Apr. 1986.

[2] Večeř, P., Marcel Kreidl, and R. Šmíd. "Condition Indicators for Gearbox Monitoring Systems." Acta Polytechnica 45.6 (2005), pages 35-43.

[3] Zakrajsek, J. J., Townsend, D. P., and Decker, H. J. "An Analysis of Gear Fault Detection Methods as Applied to Pitting Fatigue Failure Data." Technical Memorandum 105950. NASA, Apr. 1993.

[4] Zakrajsek, James J. "An investigation of gear mesh failure prediction techniques." National Aeronautics and Space Administration Cleveland OH Lewis Research Center, 1989. No. NASA-E-5049.

拡張機能

バージョン履歴

R2018b で導入