faultBandMetrics
パワー スペクトル密度 (PSD) の指定した故障周波数帯域のスペクトル メトリクス
構文
説明
は、spectralMetrics = faultBandMetrics(psd,freqGrid,FB)FB の各故障周波数範囲について、freqGrid で指定された周波数で定義されるパワー スペクトル密度 (PSD) データ psd の一連のスペクトル メトリクス spectralMetrics を返します。
出力 spectralMetrics には、FB で指定された各周波数範囲のピーク振幅、ピーク周波数、および帯域パワーとすべての周波数帯域の合計帯域パワーが含まれます。
は、cell 配列 spectralMetrics = faultBandMetrics(X,FB)X で指定された PSD と周波数グリッドのデータについての一連のスペクトル メトリクス spectralMetrics を返します。faultBandMetrics は、X の各 cell の最後のデータ列に周波数グリッドが格納され、最初の列に PSD データが格納されていると仮定します。データが同じ順序でない場合は、名前と値のペアの引数 'SpectrumColumn' と 'FrequencyColumn' をそれぞれ使用して PSD データと周波数グリッドの列の番号または名前を指定します。出力 spectralMetrics には、cell 配列 X の長さと同じ数の行が含まれます。
は、データ セット spectralMetrics = faultBandMetrics(T,FB)T で指定された PSD と周波数グリッドのデータについての一連のスペクトル メトリクス spectralMetrics を返します。
T は table/timetable またはアンサンブルにすることができます。行列または table のメンバー変数に 1 つの実験に対応する PSD データを格納する必要があります。メンバー変数の最後のデータ列に周波数グリッドが格納され、最初の列に PSD データが格納されている必要があります。
T が同じ順序でない場合は、名前と値のペアの引数 'SpectrumColumn' と 'FrequencyColumn' をそれぞれ使用して PSD データと周波数グリッドの列の番号または名前を指定します。出力 spectralMetrics には、データ セット T の行数と同じ数の行が含まれます。
では、1 つ以上の名前と値のペアの引数を使用して追加のパラメーターを指定できます。spectralMetrics = faultBandMetrics(___,Name,Value)
[ は、spectralMetrics,info] = faultBandMetrics(___)spectralMetrics の計算に使用された table または fileEnsembleDatastore オブジェクトの変数に関する追加の情報を含む構造体 info も返します。
例
この例では、入力シャフトの 8 歯のピニオンが出力シャフトの 42 歯の平ギアと噛み合う簡単なギア セットについて考えます。入力シャフトは 20 Hz で駆動されるものと仮定します。データ セット motorSignal.mat には、1500 Hz でサンプリングされたギアの噛み合いの振動データが格納されています。
まず、ギア セットの物理的特性を使用してギアの噛み合いの周波数帯域を構成します。最初の 3 つの側波帯を含めて周波数帯域を構成します。
Ni = 8;
No = 42;
FR = 20;
FB = gearMeshFaultBands(FR,Ni,No,'Sidebands',1:3)FB = 15×2
19.0000 21.0000
2.8095 4.8095
79.0000 81.0000
99.0000 101.0000
119.0000 121.0000
139.0000 141.0000
179.0000 181.0000
199.0000 201.0000
219.0000 221.0000
147.5714 149.5714
151.3810 153.3810
155.1905 157.1905
162.8095 164.8095
166.6190 168.6190
170.4286 172.4286
⋮
FB は一次周波数とそれらの側波帯を含む 15 行 2 列の配列になります。
振動データを読み込み、pspectrum を使用して PSD と周波数グリッドを計算します。周波数分解能には 0.5 を使用します。
load('motorSignal.mat','C'); fs = 1500; [psd,freqGrid] = pspectrum(C,fs,'FrequencyResolution',0.5);
次に、周波数帯域と PSD データを使用してスペクトル メトリクスを計算します。
spectralMetrics = faultBandMetrics(psd,freqGrid,FB)
spectralMetrics=1×46 table
PeakAmplitude1 PeakFrequency1 BandPower1 PeakAmplitude2 PeakFrequency2 BandPower2 PeakAmplitude3 PeakFrequency3 BandPower3 PeakAmplitude4 PeakFrequency4 BandPower4 PeakAmplitude5 PeakFrequency5 BandPower5 PeakAmplitude6 PeakFrequency6 BandPower6 PeakAmplitude7 PeakFrequency7 BandPower7 PeakAmplitude8 PeakFrequency8 BandPower8 PeakAmplitude9 PeakFrequency9 BandPower9 PeakAmplitude10 PeakFrequency10 BandPower10 PeakAmplitude11 PeakFrequency11 BandPower11 PeakAmplitude12 PeakFrequency12 BandPower12 PeakAmplitude13 PeakFrequency13 BandPower13 PeakAmplitude14 PeakFrequency14 BandPower14 PeakAmplitude15 PeakFrequency15 BandPower15 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
0.0054125 19 0.0051216 0.55167 4.25 0.41848 0.0022699 81 0.0029792 0.0012756 99.438 0.0019134 0.0023457 119.25 0.0032812 0.0030216 139.75 0.0036398 0.0015424 180.06 0.0021249 0.0023163 200.81 0.0029269 0.013511 221 0.012079 0.0037697 148.06 0.003914 0.0020528 151.56 0.0025637 0.0021721 156.5 0.0022927 0.0020822 162.81 0.0015729 0.0015305 168.25 0.001575 0.0010234 170.44 0.0013135 0.46577
spectralMetrics は、FB の各周波数範囲の計算されたピーク振幅、ピーク周波数、および帯域パワーを含む 1 行 46 列の table になります。spectralMetrics の最後の列は、FB の 15 個のすべての周波数全体で計算された合計帯域パワーです。
この例では、ピッチの直径が 12 cm で 10 個の転動体をもつボール ベアリングについて考えます。各転動体の直径は 0.5 cm です。内輪が 25 Hz で駆動される間、外輪は静止状態を保ちます。ボールの接触角は 0 度です。データ セット bearingData.mat には、ベアリング振動信号についてのパワー スペクトル密度 (PSD) とそれぞれの周波数データが table に格納されています。
まず、ボール ベアリングの物理的特性を使用して最初の 3 つの側波帯を含むベアリング周波数帯域を構成します。
FR = 25;
NB = 10;
DB = 0.5;
DP = 12;
beta = 0;
FB = bearingFaultBands(FR,NB,DB,DP,beta,'Sidebands',1:3)FB = 14×2
118.5417 121.0417
53.9583 56.4583
78.9583 81.4583
103.9583 106.4583
153.9583 156.4583
178.9583 181.4583
203.9583 206.4583
262.2917 264.7917
274.2708 276.7708
286.2500 288.7500
310.2083 312.7083
322.1875 324.6875
334.1667 336.6667
10.7292 13.2292
⋮
FB は一次周波数とそれらの側波帯を含む 14 行 2 列の配列になります。
PSD データを読み込みます。bearingData.mat の table X には、1 列目に PSD、2 列目に周波数グリッドがそれぞれ cell 配列として格納されています。
load('bearingData.mat','X') X
X=1×2 table
Var1 Var2
________________ ________________
{12001×1 double} {12001×1 double}
table X の PSD データと FB の周波数帯域を使用してスペクトル メトリクスを計算します。
spectralMetrics = faultBandMetrics(X,FB)
spectralMetrics=1×43 table
PeakAmplitude1 PeakFrequency1 BandPower1 PeakAmplitude2 PeakFrequency2 BandPower2 PeakAmplitude3 PeakFrequency3 BandPower3 PeakAmplitude4 PeakFrequency4 BandPower4 PeakAmplitude5 PeakFrequency5 BandPower5 PeakAmplitude6 PeakFrequency6 BandPower6 PeakAmplitude7 PeakFrequency7 BandPower7 PeakAmplitude8 PeakFrequency8 BandPower8 PeakAmplitude9 PeakFrequency9 BandPower9 PeakAmplitude10 PeakFrequency10 BandPower10 PeakAmplitude11 PeakFrequency11 BandPower11 PeakAmplitude12 PeakFrequency12 BandPower12 PeakAmplitude13 PeakFrequency13 BandPower13 PeakAmplitude14 PeakFrequency14 BandPower14 TotalBandPower
______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ ______________ ______________ __________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ _______________ _______________ ___________ ______________
121 121 314.43 56.438 56.438 144.95 81.438 81.438 210.57 106.44 106.44 276.2 156.44 156.44 407.45 181.44 181.44 473.07 206.44 206.44 538.7 264.75 264.75 691.77 276.75 276.75 723.27 288.69 288.69 754.61 312.69 312.69 817.61 324.62 324.62 848.94 336.62 336.62 880.44 13.188 13.188 31.418 7113.4
spectralMetrics は、FB の各周波数範囲の計算されたピーク振幅、ピーク周波数、および帯域パワーを含む 1 行 43 列の table になります。spectralMetrics の最後の列は、FB の 14 個のすべての周波数全体で計算された合計帯域パワーです。
4 つのデータ セットがまとめられた psdData.zip について考えます。ベアリングのタコメーター、振動、およびパワー スペクトルのデータについての個別の table が各ファイルに格納されています。アンサンブル用の読み取りファイル hReadData.m も含まれています。
各データ セットに 4 列の table spectrum が含まれています。最初の列 F に周波数グリッド データが格納され、Pxx、Pyy、および Pzz という名前の他の 3 つの列にスペクトル データが格納されています。
圧縮されたファイルを展開し、table のデータを読み取り、table のデータを使用して fileEnsembleDatastore オブジェクトを作成します。ファイル アンサンブル データストアの作成の詳細については、fileEnsembleDatastoreを参照してください。
unzip psdData.zip; ens = fileEnsembleDatastore(pwd,'.mat'); ens.ReadFcn = @hReadData; ens.DataVariables = {'tach','vibration','spectrum'}; ens.SelectedVariables = ens.DataVariables;
故障帯域 FB を想定して、スペクトル メトリクスを計算します。使用するスペクトルの列、データ変数、および周波数の列を指定します。
FB = [10,20;40,50;60,70]
FB = 3×2
10 20
40 50
60 70
[spectralMetrics,info] = faultBandMetrics(ens,FB, ... 'SpectrumColumn','Pxx', ... 'FrequencyColumn','F', ... 'DataVariable','spectrum'); size(spectralMetrics)
ans = 1×2
4 10
出力 table spectralMetrics には、各行が 1 つのデータ セットに対応した 4 行のメトリクスが含まれます。
info
info = struct with fields:
SpectrumColumn: 'Pxx'
FrequencyColumn: 'F'
DataVariable: 'spectrum'
構造体 info には、メトリクスの計算に使用されたデータ変数、周波数の列、およびスペクトルの列に関する情報が格納されます。
入力引数
パワー スペクトル密度 (PSD) データ。ベクトルまたは配列として指定します。psd に応じて次のようになります。
ベクトルの場合は、
faultBandMetricsで列ベクトルに変換され、psdが単一チャネルとして扱われます。配列の場合は、使用する PSD データの列を名前と値のペア '
SpectrumColumn' で指定します。指定した PSD データの列についてのみ、faultBandMetricsでスペクトル メトリクスが計算されます。
PSD の計算の詳細については、pspectrum を参照してください。
故障周波数帯域。Nx2 の配列として指定します。ここで、N は故障周波数の数です。FB で指定する周波数帯域は、周波数グリッド freqGrid の範囲内に含まれていなければなりません。また、FB とベクトル freqGrid の値の周波数単位は同じでなければなりません。
PSD と周波数グリッドのデータ セット。行列または table の cell 配列として指定します。各 cell に 1 つの実験に対応する PSD データを含めます。faultBandMetrics は、各 cell の最後のデータ列に周波数グリッドが格納され、最初の列に PSD データが格納されていると仮定します。データが同じ順序でない場合は、名前と値のペアの引数 'SpectrumColumn' と 'FrequencyColumn' をそれぞれ使用して PSD データと周波数グリッドの列の番号または名前を指定します。
PSD と周波数グリッドのデータ セット。timetable、table/timetable の table、または fileEnsembleDatastore オブジェクトとして指定します。各メンバー変数に 1 つの実験に対応する PSD データを含めます。faultBandMetrics は、T のメンバー変数の最後のデータ列に周波数グリッドが格納され、最初の列に PSD データが格納されていると仮定します。T が同じ順序でない場合は、名前と値のペアの引数 'SpectrumColumn' と 'FrequencyColumn' をそれぞれ使用して PSD データと周波数グリッドの列の番号または名前を指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a 以前は、名前と値をそれぞれコンマで区切り、 Name を引用符で囲みます。
例: ...,'SpectrumColumn','Var1'
使用する PSD データの列。'SpectrumColumn' と整数または string で構成されるコンマ区切りのペアとして指定します。faultBandMetrics は、既定では最初のデータ列を使用します。PSD データが cell 配列 X またはデータ セット T の最初の列にない場合は、'SpectrumColumn' を使用して PSD データの列の列番号または名前を指定します。
'DataVariable' を指定する場合、それに含まれるデータ列として 'SpectrumColumn' を指定する必要があります。
データ セットが行列の cell 配列に含まれている場合は、'Var1' または 'Var2' などの列ベースの変数名を使用してスペクトル データの列を指定できます。ソフトウェアは 'Varn' を cell 配列の各行列の n 番目の列として解釈します。
使用する周波数グリッド データの列。'FrequencyColumn' と整数または string で構成されるコンマ区切りのペアとして指定します。faultBandMetrics は、既定では最後のデータ列を使用します。周波数グリッド データが cell 配列 X またはデータ セット T の最後の列にない場合は、'FrequencyColumn' を使用して周波数グリッド データの列の列番号または名前を指定します。
データ セットが行列の cell 配列に含まれている場合は、'Var1' または 'Var2' などの列ベースの変数名を使用して周波数データの列を指定できます。ソフトウェアは 'Varn' を cell 配列の各行列の n 番目の列として解釈します。
PSD と周波数グリッドのデータを格納するデータ変数。'DataVariable' と string で構成されるコンマ区切りのペアとして指定します。'DataVariable' は、入力データ セットが table の cell 配列、table の table、行列の table/timetable、または fileEnsembleDatastore オブジェクトの場合に、PSD と周波数グリッドの両方のデータを格納するデータ変数を指定するために使用します。'DataVariable' は有効な table 変数の名前でなければなりません。
出力引数
スペクトル メトリクス。n 行 m 列の table として返されます。ここで次のようになります。
faultBandMetrics は、FB の各周波数範囲について次のスペクトル メトリクスを返します。
Peak Amplitude—FBの各周波数範囲のピーク振幅値。Peak Frequency—FBの各周波数範囲のピーク周波数値。Band Power—FBの各周波数範囲の平均パワー。帯域パワーの詳細については、bandpowerを参照してください。Total Band Power—FBの一連の周波数範囲における個々の帯域パワーの合計。
拡張機能
使用に関するメモと制限:
fileEnsembleDatastoreオブジェクトおよびworkspaceEnsembleオブジェクトに格納されたデータや tall 配列の形式のデータはサポートされません。
バージョン履歴
R2019b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)