データをストリーミングするための特徴抽出関数と Simulink モデルのエクスポート
診断特徴デザイナーで、選択した特徴の対話的な計算を自動化する MATLAB® 関数を生成できます。生成する関数は、次の 2 つの方法で書式設定できます。
MATLAB の生成コードを使用した自動特徴抽出の説明に従って、マルチメンバー データ アンサンブルからの特徴抽出を自動化します。
データをストリーミングするための特徴抽出を自動化します。
MATLAB Coder™ に準拠する MATLAB 関数を生成し、
codegen
(MATLAB Coder) を使用してその関数を C/C++ に変換します。MATLAB 関数を使用する Simulink® モデルを生成します。
自己回帰モデリングまたは状態空間モデリングを使用して作成するスペクトル特徴は、データのストリーミングではサポートされません。スペクトル特徴のコードを生成するには、ウェルチ法を使用して特徴を抽出する必要があります。また、アンサンブル統計の変数またはフレームベースの処理から派生する特徴もコード生成ではサポートされません。
ストリーミング用の MATLAB 関数の生成
次の図は、一連の特徴のランク付け table を示しています。これらの特徴には、自己回帰モデルを使用して計算されたスペクトル特徴が含まれています。
[エクスポート] をクリックしてエクスポート オプションにアクセスし、[特徴の関数の生成]
を選択します。
このダイアログ ボックスでは、上位ランクの特徴の数や、関数をデータのストリーミング用に書式設定するかどうかを選択できます。
[OK] をクリックすると、ストリーミング用に書式設定された関数が生成されます。次のコードは、関数の先頭にある説明用ヘッダーです。
%DIAGNOSTICFEATURES recreates results in Diagnostic Feature Designer. % % Input: % inputData: A timetable. % % Output: % featureTable: A table containing all features. % % This function computes signals: % Vibration_tsa/Data % % This function computes features: % Vibration_sigstats/Mean % Vibration_tsa_rotmac/RMS % Vibration_tsa_rotmac/CrestFactor % % Organization of the function: % 1. Compute signals/spectra/features % 2. Extract computed features into a table % % Modify the function to add or remove data processing, feature generation % or ranking operations. % Auto-generated by MATLAB
比較のために、同じセッション データからストリーミング形式を使用せずにエクスポートされたコードの説明がMATLAB の生成コードを使用した自動特徴抽出に示されています。
ストリーミング コードの生成
この新しい MATLAB 関数から、codegen
(MATLAB Coder) を使用して C または C++ コードを生成できます。
たとえば、関数のファイル名が diagnosticFeatures.m
で、代表的な関数入力が timetable tt
内にある場合は、次のコマンドを使用して C コードを生成します。
codegen diagnosticFeatures.m -args {tt}
データをストリーミングするための Simulink ブロックのエクスポート
MATLAB 関数のエクスポートに加え、その関数を使用する Simulink ブロックもエクスポートできます。
[エクスポート] メニューで、[特徴抽出 Simulink ブロックの生成]
を選択します。
表示されるダイアログ ボックスは [特徴の関数の生成] ダイアログ ボックスに似ていますが、ストリーミングのチェックボックスが含まれていません。これは、Simulink ブロックのコードは常にストリーミング用に書式設定されるためです。
[OK] をクリックすると、振動信号とタコメーター信号の入力、エクスポートされた Feature Extraction ブロック、および出力スコープを含むテンプレート Simulink モデルが生成されます。
Feature Extraction ブロックをダブルクリックしてブロック パラメーターを開き、特徴抽出関数とバッファリング、独立変数、およびサンプル時間と開始時間の情報を確定するか指定します。
入力ブロックをダブル クリックして入力パラメーターを指定します。ブロックにはメイン パラメーターと信号属性のタブが含まれています。
分類学習器の Predict ブロックなどの追加ブロックを組み込むこともできます。
参考
診断特徴デザイナー | MATLAB Coder (MATLAB Coder) | codegen
(MATLAB Coder) | 分類学習器