ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

信号アナライザー アプリの使用

信号アナライザーアプリは、時間領域、周波数領域、時間-周波数領域における信号の視覚化、測定、解析、比較用の対話型ツールです。このアプリを使用すると、持続時間が異なる多数の信号を同じビュー内で同時に扱うことができます。

MATLAB® ツールストリップの [アプリ] タブからアプリを選択して起動します。MATLAB コマンド プロンプトで signalAnalyzer と入力してもアプリを起動できます。

信号アナライザーアプリを使用した信号の検証と比較の一般的なワークフローは以下のとおりです。

  1. 解析する信号の選択 — MATLAB ワークスペースで利用可能な任意の信号を選択します。アプリは MATLAB の timetable や timeseries オブジェクト、labeledSignalSet オブジェクトなど、固有の時間情報をもつ実数配列と信号を受け入れます。詳細は、信号アナライザーでサポートされるデータ型を参照してください。

  2. 信号の前処理 — ローパス、ハイパス、バンドパス、またはバンドストップ フィルターの信号。トレンドを削除し、信号包絡線を計算します。移動平均、回帰、Savitzky-Golay フィルター、その他の方法を使用して信号を平滑化します。信号のサンプルレートを変更するか、一様にサンプリングされていない信号を等間隔グリッドに内挿します。独自のカスタム関数を使用して信号を前処理します。MATLAB 関数を生成して、前処理操作を自動化します。

  3. 信号の調査 - サンプルレート、数値ベクトル、duration 配列または MATLAB 式を使用して、信号に時間情報を追加します。データとそのスペクトル、スペクトログラム、またはスカログラムのプロット、測定および比較を行います。時間領域、周波数領域、時間-周波数領域で特徴とパターンを探します。パーシステンス スペクトルを計算して散発的な信号を解析し、再割り当てを使用してスペクトログラム推定値を鮮明にします。信号から関心領域を抽出します。

  4. 信号のラベル付け — 機械学習と深層学習の分類および回帰タスクのために、信号の注釈をつけて信号データセットを準備します。

  5. 解析の共有 — ディスプレイをアプリからクリップボードにイメージとしてコピーします。信号を MATLAB ワークスペースにエクスポートするか、MAT ファイルに保存します。パワー スペクトル、スペクトログラム、またはパーシステンス スペクトルの推定値の計算と関心領域の抽出を自動化する MATLAB スクリプトを生成します。解析を後で、または別のマシンで再開するために、信号アナライザー セッションを保存します。

解析する信号の選択

信号アナライザー アプリは、MATLAB ワークスペース内のベクトル、行列、MATLAB の timetable、timeseries オブジェクト、または labeledSignalSet オブジェクトを操作します。アプリを起動すると、左下隅のワークスペース ブラウザーにワークスペース内のすべての使用可能な信号が表示されます。詳細は、信号アナライザーでサポートされるデータ型を参照してください。

ワークスペース ブラウザーからの信号の選択

ワークスペース ブラウザーから信号を選択するには、信号の名前をクリックして左上隅の信号テーブルにドラッグします。信号をプロットするには、ディスプレイにドラッグします。信号テーブル内の信号名の横にあるチェック ボックスを選択すると、選択したディスプレイに信号がプロットされます。ワークスペース ブラウザーからディスプレイに信号を直接ドラッグすることもできます。ドラッグした信号は、ディスプレイ内にプロットされ、信号テーブルのリストに表示されます。

メモ

信号アナライザーは、行列、時系列、timetable、または 8000 チャネルを超えるラベル付き信号セットをサポートしていません。

信号テーブルでは、2 つの異なる信号選択方法があります。それぞれの方法は、一連の別々の処理へのアクセスです。

  • 信号テーブルで [名前][INFO][時間]、または [開始時間] 列をクリックして信号を選択すると、[アナライザー] タブの操作すべてを実行できます。時間情報を変更して、信号を前処理、または複製することができます。信号をプロットして前処理する必要はありません。

  • 信号名の左側にあるチェック ボックスをオンにすると、現在選択されているディスプレイに信号がプロットされ、[表示] タブの操作すべてを実行することができます。周波数領域または時間-周波数領域で信号を表示したり、カーソルを使用して信号を測定することができます。

メモ

100 列を超える信号をインポートしようとすると、アプリにより警告が表示されます。インポートしようとする行列が解析するマルチチャネル信号の転置である可能性があります。その場合、警告ダイアログ ボックスの [いいえ] をクリックしてワークスペース内の行列を転置します。列を個別の信号としてインポートする場合は、[はい] をクリックします。行列をディスプレイにドラッグして警告ダイアログ ボックスで [はい] をクリックすると、アプリは行列の最初の 10 列のみをプロットしますが、すべての列がインポートされます。10 列目より先の信号列をプロットするには、対象をディスプレイにドラッグします。あるいは、信号テーブル内で、プロットする信号名の横にあるチェック ボックスを選択します。

MATLAB ワークスペース内の信号を変更すると、ワークスペース ブラウザーは自動的に更新を行います。ただしアプリは、信号が再度、信号テーブルやディスプレイにドラッグされて再インポートされた後変更を認識します。

行列の列の追加や削除を行った場合は、信号が削除され、信号のすべてのプロットが消去されて、変更後の行列の次元を使用した新しい信号が作成されます。

階層構造にネストされたチャネルを含む行列、timetable、時系列、およびラベル付き信号セットは、明示的に階層を表示するツリー ビューに表示されます。

メモ

信号アナライザーは、チャネルが 1 つだけの場合でも、timetable をマルチチャネル信号として取り扱います。

  • 例: sgn という名前の 100 行 3 列の行列は、sgn として信号テーブルに表示されます。ツリー ビューを展開すると、3 つの個別の列、ラベル付き sgn(:,1)sgn(:,2)、および sgn(:,3) を確認できます。

  • 例: 4 つの変数で timetable を作成します。"Temperature" には 2 つのチャネル、"WindSpeed" に 1 つのチャネル、"Electric" に 3 つのチャネル、および "Magnetic" に 1 つのチャネルがあります。

    tmt = timetable(seconds(0:99)', ...
        randn(100,2),randn(100,1),randn(100,3),randn(100,1));
    tmt.Properties.VariableNames = ...
        ["Temperature" "WindSpeed" "Electric" "Magnetic"];
    信号テーブルに timetable をドラッグします。ツリー ビューを展開し、個々のチャネルを表示します。

信号テーブルにおける信号のフィルター

信号テーブル内で大量のデータを探索する場合、信号をフィルターすることができます。フィルター条件には、信号名またはその他の列に含まれる任意のテキストを使用できます。

  • 特定の名前をもつ信号を表示するには、[信号をフィルター] テキスト ボックスに検索フレーズを入力します。一致したテキストがフィルターの結果で強調表示されます。

    仮に、3 つの sig 信号 sig01sig02sig03 があり、3 つの sgn 信号 sgn01sgn02sgn03 があるとします。sg と入力して 3 つの sgn 信号を表示したり、2 と入力して sig02sgn02 を表示できます。

  • 時間情報に従って信号をフィルターすることもできます。この機能を使用するには、探索結果ボックス内部をクリックし、次に [詳細設定] をクリックします。時間情報の入力の詳細については、サンプルレートおよびその他の時間情報の編集を参照してください。

    次のサンプル時間と開始時間をもつ 6 つの信号があるとします。

    [詳細設定] メニューでは、[名前][サンプル][開始時間]、あるいはサンプルレートまたはサンプル時間に関する [時間] で信号を探索できます。

    [時間] オプションを選択して 20 を入力すると、アプリは 200 Hz でサンプリングされた 4 つの信号を検出します。また、2 番目のテキスト ボックスで、[開始時間] オプションを選択して 0 と入力すると、sgn01sig01 が検索されます。

    メモ

    フィルターは値を数値ではなくテキストで一致させます。たとえば、[開始時間] オプションを選択して 00 と入力した場合、そのフィルターでは結果が返されません。

  • フィルターは、後で使用するために保存して格納できます。探索結果ボックスの [詳細設定] メニューで、[クイック検索の設定] をクリックします。[検索に名前を付けて保存] ボックスに名前を入力して、[保存] をクリックします。

信号の前処理

信号アナライザー アプリを使用すると、複数の信号前処理タスクを実行できます。さまざまな処理オプションが [アナライザー] タブに表示されます。

前処理操作、元に戻す操作、および関数の生成は、信号テーブルで現在選択されているすべての信号に適用されます。信号を選択するには、信号テーブルで [名前][INFO][時間]、または [開始時間] 列をクリックします。

メモ

  • 前処理は、ラベル付き信号セットではサポートされません。

  • 前処理操作は、処理対象の信号に上書きします。元の信号を維持する場合は、その信号を複製して複製した信号に対して操作します。

何回でも任意の順番で前処理アクションを実行できます。信号テーブルの [INFO] 列には、何らかの前処理が信号に対して実行されているかどうかを示すアイコン が入ります。アイコンをクリックすると、実行されたアクションと順番が列挙されます。[アナライザー] タブまたは前処理のアクションにより生成されるタブ上の [前処理を元に戻す] をクリックして前処理のステップを元に戻すことができます。ステップは直近のものから始めて、一度に 1 つずつ元に戻ります。

ヒント

選択した設定すべてを含む、実行した前処理ステップの概要をすべて参照するには、[アナライザー] タブの [関数の生成] をクリックします。

マルチチャネル信号の個々のチャネルを前処理できます。前処理のためにマルチチャネル信号とそのチャネルの 1 つを選択した場合、アプリは一度だけ個々のチャネルを前処理します。

信号の複製と名前の変更

信号アナライザーでは、信号を複製して名前を変更し、後の解析のために前処理またはエクスポートすることができます。

信号を複製するには、[アナライザー] タブまたは前処理アクションで生成されるタブ上の [複製] ボタンを使用します。あるいは、信号テーブルで信号を右クリックし、[複製] を選択します。複製は、元の信号と同じ名前で _copy が付加されています。

複製のために信号とそのチャネルの 1 つを選択した場合、アプリは信号の複製と選択したチャネルの独立した複製を作成します。

信号名を変更するには、信号テーブルの信号名をダブルクリックして名前を変更します。あるいは、信号テーブルの信号を右クリックし、[名前の変更] を選択します。

メモ

マルチチャネル信号の個々のチャネルの名前を変更することはできません。

信号のフィルター処理

1 つ以上の選択した信号をフィルター処理するには、[アナライザー] タブで、[前処理] ギャラリーの [ローパス][ハイパス][バンドパス]、または [バンドストップ] アイコンをクリックします。アプリでは、関数 lowpasshighpassbandpass、および bandstop を使用して、フィルター処理を実行します。阻止帯域の減衰量、通過帯域周波数、および遷移領域の幅を制御できます。詳細は、関数リファレンス ページを参照してください。フィルター処理では、一様にサンプリングされていない信号はサポートしません。

信号の平滑化

1 つ以上の選択した信号を平滑化するには、[アナライザー] タブで、[前処理] ギャラリーの [平滑化] アイコンをクリックします。アプリでは、MATLAB 関数 smoothdata を使用して、平滑化を実行します。以下の平滑化メソッドを使用できます。

  • 移動平均値

  • 移動中央値

  • ガウス

  • 線形回帰

  • 2 次回帰

  • ロバスト線形回帰

  • ロバスト 2 次回帰

  • Savitzky-Golay フィルター

信号のリサンプリング

1 つ以上の選択した信号をリサンプリングするには、[アナライザー] タブで、[前処理] ギャラリーを展開し、[リサンプリング] アイコンをクリックします。信号アナライザーは、Signal Processing Toolbox™ 関数 resample を使用して、リサンプリングを実行します。以下のオプションを使用できます。

  • 信号が一様にサンプリングされていない場合は、アプリを使用して等間隔グリッドに内挿できます。内挿法と信号をサンプリングするサンプルレートを指定できます。以下の内挿法を使用できます。

    • 線形内挿

    • 形状維持区分的 3 次内挿

    • 節点なしの端点条件を使用した 3 次スプライン内挿

    詳細は、interp1 のリファレンス ページを参照してください。

  • 信号が一様にサンプリングされている場合は、アプリを使用してそのサンプルレートを変更できます。目的のサンプルレートまたは信号をアップサンプリングまたはダウンサンプリングする要因のいずれかを指定できます。この場合、[リサンプリング] タブの内挿パネルは、一様にサンプリングされている信号では内挿操作は意味をなさないため、無効になります。

リサンプリング操作には時間情報が必要です。サンプルの信号をリサンプリングをしようとすると、アプリは警告を表示します。

信号のトレンド除去

1 つ以上の選択した信号をトレンド除去するには、[アナライザー] タブで、[前処理] ギャラリーを展開し、[トレンド除去] アイコンをクリックします。信号アナライザーは、MATLAB 関数 detrend を使用してトレンド除去を実行します。アプリは、信号から次のトレンドを削除します。

  • 定数トレンド。

  • 線形トレンド。

  • 区分線形トレンド。区分線形トレンドを削除するには、ブレークポイントをコンマ区切りリストとして指定します。

信号包絡線の計算

1 つ以上の選択した信号の包絡線を計算するには、[アナライザー] タブで、[前処理] ギャラリーを展開し、[包絡線] アイコンをクリックします。信号アナライザーは、Signal Processing Toolbox 関数 envelope を使用して、包絡線を推定します。各信号の上部包絡線または下部包絡線を計算できます。次の包絡線推定アルゴリズムが利用できます。

  • ヒルベルト — アプリは、hilbert に実装されるように離散フーリエ変換を使用して検出された解析信号の振幅として信号包絡線を計算します。

  • FIR — アプリは、調整可能なサイズのヒルベルト FIR フィルターで信号をフィルター処理したり、解析信号の虚数部としての結果を使用して、信号包絡線を計算します。

  • RMS — アプリは、調整可能な長さの移動ウィンドウを使用して計算した RMS 値を結合して信号包絡線を計算します。

  • ピーク — アプリは、調整可能なサンプル数単位で分割された局所的最大値にスプライン内挿を使用して、信号包絡線を計算します。

カスタム前処理関数の追加

カスタム前処理関数を追加するには、[アナライザー] タブで、[前処理] ギャラリーの隣にある矢印をクリックして、[カスタム関数の追加] を選択します。アプリによって関数名と概要を入力するように求められます。

  • 前処理関数を書き込み済みでその関数が現在のフォルダーまたは MATLAB パスにある場合、アプリはその関数をギャラリーに組み込みます。関数名の検索にタブ補完を使用することができます。

  • 関数をまだ書き込んでいない場合、アプリはエディターで白紙のテンプレートを開きます。

カスタム前処理関数には必須およびオプションの引数があります。

  • 最初の入力引数 x は、入力信号です。この引数はベクトルでなければならず、単一チャネルとして取り扱われます。

  • 2 番目の入力引数 tIn は、時間値のベクトルです。ベクトルは信号と同じ長さでなければなりません。入力信号に時間情報がない場合、関数はこの引数を空の配列として読み取ります。

  • 追加の入力引数を指定するには、varargin を使用します。追加の入力引数がない場合は、varargin を省略できます。追加の引数は、[前処理] タブに順序付きのコンマ区切りリストとして入力します。

  • 最初の出力引数 y は、前処理済みの信号です。

  • 2 番目の出力引数 tOut は、出力時間値のベクトルです。入力信号に時間情報がない場合、tOut は空の配列として返されます。

  • アルゴリズムを実装するために、MATLAB 関数または Signal Processing Toolbox 関数を使用できます。

詳細は、独自の関数を使用した飽和信号のクリップ除去を参照してください。

例: 次の関数はその平均値を減算して信号の DC 値を削除します。

function [y,tOut] = removeDC(x,tIn)
% Remove the DC value of a signal by subtracting its mean
   y = x - mean(x);
   tOut = tIn;
end

例: 次の関数は指定した値に信号の開始時間を変更します。

function [y,tOut] = timealign(x,tIn,startTime)
% Change the starting time of a signal
   y = x;
   t = tIn;
   if ~isempty(t)
       t = t - t(1) + startTime;
   end
   tOut = t;
end

必要に応じて、ギャラリーの [カスタム関数の管理] オプションを使用して、関数の編集、説明の編集、またはそれらの削除をすることができます。

信号の調査

信号アナライザーアプリを使用すると、データの調査に役立つ複数のタスクを実行できます。

信号のプロット

ワークスペース ブラウザーまたは信号テーブル内で信号の名前をクリックして選択します。次に、選択した信号をディスプレイにドラッグし、プロットします。また、この操作を行うと、信号テーブルの信号の [名前] の左側にあるチェック ボックスが選択されます。このチェック ボックスを選択して信号をプロットすることもできます。アプリには、時間領域の波形を含む座標軸のセット、および表示を制御するオプションを含む [時間] タブが表示されます。

ワークスペース ブラウザーからディスプレイに行列をドラッグした場合は、アプリによって自動的に最大 10 列までの各列が個別の信号としてプロットされます。アプリは信号テーブルに残りの列に対する信号を作成しますが、追加の信号をディスプレイにドラッグしなければなりません。

メモ

時間情報のない信号は、x 軸上のサンプル単位でプロットされます。時間情報のある信号は、x 軸上の時間単位でプロットされます。同一のディスプレイ上に複数の信号をプロットするには、すべての信号が時間情報をもっているか、あるいはすべての信号がサンプル単位であることを確認してください。そうでない場合、警告が表示されます。

複数のプロットでの信号の表示

[グリッドの表示] をクリックして、ディスプレイを作成または削除します。

ディスプレイ間の信号の移動

あるディスプレイから別のディスプレイに信号を移動させるには、プロットされたラインをクリックするか、[凡例] の信号名 (例: ) を選択します。表示が太く変わったラインをクリックして目的のディスプレイにドラッグします。

信号スペクトルの可視化

信号アナライザーアプリを使用して、周波数領域内の信号を解析します。信号の周波数領域の表示をアクティブにするには、[表示] タブで [スペクトル] ▼ をクリックし、[スペクトル] を選択します。アプリには、信号スペクトルを含む座標軸のセット、および表示を制御するオプションを含む [スペクトル] タブが表示されます。

  • パナーがアクティブ化され、特定の関心領域でズームインされている場合、ディスプレイのスペクトルは信号全体ではなく関心領域に対応します。

  • [表示] タブのいずれかのズーム操作を使用して、時間プロットの信号の領域をズームインすると、ディスプレイのスペクトルは信号全体ではなく関心領域に対応します。

  • ナイキスト範囲を超えて周波数をズームアウトすることはできません。

  • 同じ信号の時間プロットとスペクトル プロットを並べて表示するには、異なるディスプレイを使用します。信号を 2 つのディスプレイにドラッグします。[表示] タブで [時間] または [スペクトル] をクリックして、各ディスプレイに何をプロットするか制御します。

信号アナライザーがスペクトルを計算する方法の詳細は、信号アナライザーでのスペクトル計算を参照してください。

信号のサンプリングが等間隔でない場合、信号アナライザーは信号を等間隔グリッドに内挿して、スペクトル推定を計算します。アプリは線形内挿を使用し、サンプル時間が隣接する時間点の差の中央値に等しいと仮定します。サンプリングが一様ではない信号がサポートされるには、時間間隔の中央値と時間間隔の平均値は以下に従わなければなりません。

1100<Median time intervalMean time interval<100.

パーシステンス スペクトルの可視化

信号アナライザーアプリを使用して信号のパーシステンス スペクトルを可視化します。パーシステンス スペクトルには、与えられた周波数位置と強度レベルにおける時間依存の信号の発生確率が含まれています。このようなスペクトルは、瞬間的なイベントを検出する場合に役に立ちます。

パーシステンス スペクトルをアクティブにするには、[表示] タブで [スペクトル] ▼ をクリックし、[パーシステンス スペクトル] を選択します。アプリには、パーシステンス スペクトルを含む座標軸のセット、および表示を制御するオプションを含む [パーシステンス スペクトル] タブが表示されます。ナイキスト範囲を超えて周波数をズームアウトすることはできません。

メモ

パーシステンス スペクトルをプロットできるのは、ディスプレイごとに 1 つの信号のみです。

信号アナライザーがパーシステンス スペクトルを計算する方法の詳細は、信号アナライザーのパーシステンス スペクトルを参照してください。

信号スペクトログラムの可視化

信号アナライザーアプリを使用して、時間-周波数領域内の信号を解析します。信号のスペクトログラム表示をアクティブにするには、[表示] タブで [時間-周波数] ▼ をクリックし、[スペクトログラム] を選択します。アプリには、信号スペクトログラムを含む座標軸のセット、および表示を制御するオプションを含む [スペクトログラム] タブが表示されます。

メモ

スペクトログラムをプロットできるのは、ディスプレイごとに 1 つの信号のみです。

  • パナーがアクティブ化され、特定の関心領域でズームインされている場合、ディスプレイのスペクトログラムは信号全体ではなく関心領域に対応します。

  • [表示] タブのいずれかのズーム操作を使用して、時間プロットの信号の領域をズームインすると、ディスプレイのスペクトログラムは信号全体ではなく関心領域に対応します。

  • ナイキスト範囲を超えて周波数をズームアウトすることはできません。

  • 同じ信号の時間プロットとスペクトログラム プロットを並べて表示するには、異なるディスプレイを使用します。信号を 2 つのディスプレイにドラッグします。[表示] タブで [時間] または [時間-周波数] をクリックして、各ディスプレイに何をプロットするかを制御します。

信号アナライザーがスペクトログラムを計算する方法の詳細は、信号アナライザーでのスペクトログラム計算を参照してください。

再割り当て手法では、各パワー スペクトル推定をエネルギー中心の位置に再割り当てすることで、スペクトログラムの時間と周波数の局所化を鮮明にします。十分に局所化された時相成分またはスペクトル成分が信号に含まれる場合、このオプションは、読み取りと解釈の容易なスペクトログラムを生成します。スペクトログラムに再割り当てを適用するには、[スペクトログラム] タブで [再割り当て] をオンにします。

信号のサンプリングが等間隔でない場合、信号アナライザーは信号を等間隔グリッドに内挿して、スペクトル推定を計算します。アプリは線形内挿を使用し、サンプル時間が隣接する時間点の差の中央値に等しいと仮定します。サンプリングが一様ではない信号がサポートされるには、時間間隔の中央値と時間間隔の平均値は以下に従わなければなりません。

1100<Median time intervalMean time interval<100.

信号スカログラムの可視化

信号アナライザー アプリを使用して、信号のスカログラムを可視化します。スカログラムは、低周波数成分を含む信号を識別したり、周波数成分が時間によって急激に変化する信号を解析するのに役に立ちます。スカログラムの表示を使用するには、Wavelet Toolbox™ のライセンスが必要です。

信号のスカログラム表示をアクティブにするには、[表示] タブで [時間-周波数] ▼ をクリックし、[スカログラム] を選択します。アプリには、信号スカログラムを含む座標軸のセット、および表示を制御するオプションを含む [スカログラム] タブが表示されます。

メモ

1 つのディスプレイには 1 つの信号のスカログラムのみがプロットできます。

  • パナーがアクティブ化され、特定の関心領域でズームインされている場合、ディスプレイのスカログラムは関心領域ではなく信号全体に対応します。信号アナライザーは、滑らかな曲線を表示する内挿を使用して光学ズームを実行します。

  • [表示] タブのいずれかのズーム操作を使用して、時間プロットの信号の領域をズームインすると、ディスプレイのスカログラムは関心領域ではなく信号全体に対応します。信号アナライザーは、滑らかな曲線を表示する内挿を使用して光学ズームを実行します。

  • 同じ信号の時間プロットとスカログラム プロットを並べて表示するには、異なるディスプレイを使用します。[表示] タブで、[グリッドの表示] をクリックし、左右に並べたペアのディスプレイを作成して、両方のディスプレイに信号をドラッグ アンド ドロップします。[表示] タブで [時間] または [時間-周波数] をクリックして、各ディスプレイに何をプロットするかを制御します。

メモ

スカログラム表示は一様にサンプリングされていない信号をサポートしていません。

信号アナライザーがスカログラムを計算する方法の詳細は、信号アナライザーでのスカログラム計算を参照してください。

信号を介したズームとパン

信号アナライザーアプリはパナーを特徴としています。これは、信号が周波数と時間でどのように変化するかを確認するため、信号を介したズームインとナビゲートを可能にします。パナーをアクティブ化するには、[表示] タブで [パナー] をクリックします。

パナーは信号の持続時間全体をレンダリングします。関心領域を選択するには、パナーをクリックしてドラッグし、ズーム ウィンドウを作成します。マウスを使用して、ズーム ウィンドウを信号の長さに沿ってリサイズまたはスライドします。

時間情報の編集と時間を合わせたディスプレイのリンク

信号アナライザーアプリを使用して、信号に時間情報を追加します。信号テーブルで、時間情報の追加や変更を行う信号を選択します。信号に時間情報を追加するには、[アナライザー] タブの [時間値] をクリックします。

メモ

  • 固有の時間情報をもつ timetable または時系列の時間情報を編集することはできません。

  • ラベル付き信号セットの時間情報を編集することはできません。

  • マルチチャネル信号の個々のチャネルの時間情報を編集することはできません。信号全体の時間情報を編集しなければなりません。

時間情報は、サンプルレートか、またはサンプル時間と開始時間によって表現できます。また、明示的な時間値を追加するには、数値ベクトル、duration 配列または MATLAB 式を使用します。時間値は一意で、NaN にすることはできませんが、その間隔は均一である必要はありません。アプリは時間値からサンプルレートを派生させ、信号テーブルの [時間] 列に表示します。詳細は、サンプルレートおよびその他の時間情報の編集を参照してください。

メモ

フィルター処理とスカログラム表示は一様にサンプリングされていない信号はサポートしていません。

  • 信号のサンプリングが等間隔でない場合、信号アナライザーは信号を等間隔グリッドに内挿して、スペクトル推定を計算します。アプリは線形内挿を使用し、サンプル時間が隣接する時間点の差の中央値に等しいと仮定します。信号テーブルでは、派生されたサンプルレートに、信号が等間隔でないサンプルであることを示すアスタリスクが表示されます。サンプリングが一様ではない信号がサポートされるには、時間間隔の中央値と時間間隔の平均値は以下に従わなければなりません。

    1100<Median time intervalMean time interval<100.

    メモ

    内挿は、スペクトル推定を計算するためだけに使用されます。時間プロットはリサンプリングされません。

  • 水平方向に移動してズームする際に、プロットの応答が同期するようにディスプレイの時間範囲をリンクすることができます。リンクするディスプレイ内の信号に時間情報が含まれていなければなりません。ディスプレイの時間範囲を既にリンクされているディスプレイの時間範囲にリンクするには、ディスプレイを選択して、[表示] タブで [時間のリンク] を選択します。ディスプレイのリンクを解除するには、ディスプレイを選択して [時間のリンク] をオフにします。

    メモ

    [時間のリンク] を選択すると、選択したディスプレイが既にリンクされているディスプレイの完全な集合にリンクされます。

    リンクされた時間範囲を持つディスプレイでは、次の操作が同期されます。

    • プロットを選択およびドラッグすることによる移動、またはディスプレイのパナーを使用した移動。

    • ズームイン、ズームアウト、時間軸に沿ったズーム。1 つのディスプレイでのズームインまたはズームアウトは、他のリンクされたディスプレイの時間軸にのみ影響します。

    • データのビューへの適合。アプリによって、リンクされたディスプレイ内のすべての信号間で最も早い時間から最も遅い時間までが表示されるように、共通の時間軸が引き伸ばされます。

    • 2 つのディスプレイの軸が時間でリンクされている場合は、これらのディスプレイの時間カーソルもリンクされています。

    リンクされたディスプレイの時間軸は、信号を追加または削除すると更新される場合があります。

メモ

周波数軸はディスプレイ間でリンクされません。

信号、スペクトル、および時間-周波数データの測定

データ カーソルを使用してデータを測定します。

  1. [表示] タブの [データ カーソル] ▼ をクリックして、すべてのディスプレイに 1 つまたは 2 つのデータ カーソルを追加します。時間領域と周波数領域のカーソルはリンクされず、単独で移動させることができます。

  2. パーシステンス スペクトル、スペクトログラム、およびスカログラムのビューでは 2 次元の十字カーソルが表示されます。

  3. データ カーソルを移動させるには、カーソルを左右上下にドラッグして目的の点に合わせます。カーソルを 1 サンプルずつ移動させるには、時間または周波数フィールドをクリックして方向キーを使用します。

  4. データ カーソルは、ドラッグせずに特定の点に移動させることができます。データ カーソルの時間フィールドまたは周波数フィールドをクリックして値を入力します。

    信号が目的の点でサンプリングされていない場合は、アプリによって値が線形内挿されます。値が内挿された場合は、データ カーソルのラベルにアスタリスクが表示されます。

  5. 既定では、カーソルは最も近いデータ点に配置されます。この動作を変更するには、[表示] タブの [データにスナップ] チェック ボックスをオフにします。

  6. カーソルを切り替えるには、[データ カーソル] をクリックします。

信号の関心領域の抽出

信号アナライザー アプリでは、調査中の信号から関心領域を抽出して、後の解析のためにエクスポートすることができます。関心領域を抽出するには、関心領域を含むディスプレイを選択します。[表示] タブで [信号の抽出] をクリックするか、ディスプレイを右クリックして [信号の抽出] を選択します。

  • 選択したディスプレイの時間範囲で定義した関心領域を抽出する場合は、[時間範囲の間] を選択します。時間範囲を変更するには、パナーを使用できます。[表示] タブのいずれかのズーム操作を選択するか、[表示][時間][スペクトログラム][スカログラム] タブのいずれかで限界値を変更します。

  • 選択したディスプレイの時間領域カーソルの位置で定義した関心領域を抽出する場合は、[時間カーソルの間] を選択します。

  • 信号が時間情報を持つ場合は、[開始時間の保持] をオンにすることで関心領域の開始時間を保持できます。

抽出した関心領域は、信号テーブルの一番下に追加されます。

信号のラベル付け

信号アナライザーアプリを使用すると、対話形式で信号をラベル付けしてラベル付き信号を可視化できます。解析に信号の注釈を付け、機械学習および深層学習の分類および回帰タスクのために信号データセットを準備します詳細は、信号ラベラーを参照してください。

メモ

信号ラベラーを使用した後にラベル付き信号を保存するには、信号アナライザー セッションを保存するか、ラベル付き信号を信号アナライザーから MATLAB ワークスペースまたは MAT ファイルにエクスポートしなければなりません。ラベル付き信号は labeledSignalSet オブジェクトとしてエクスポートされます。

ヒント

信号ラベラーは、マルチチャネル信号に対応するラベルをレンダリングするときにチャネルの色を平均化します。最適な結果を得るには、指定した信号のチャネルすべてに対してまったく同じになるようにラインの色をカスタマイズします。信号ラベラーを入力する前に信号アナライザーでカスタマイズを実行します。

diffr のラベルの色 (チャネルが異なる色をもつ信号) を equal のラベルの色 (チャネルすべてが同じ色をもつ信号) と比較します。equal のいずれのラベルも、チャネルすべてが共有する青色の陰影でレンダリングされます。diffr のラベルは、チャネルの色のいずれにも一致しない茶色の陰影でレンダリングされます。

解析の共有

ディスプレイのコピー

信号アナライザーアプリを使用して作成したプロットを共有するには、1 つ以上のディスプレイをイメージとしてクリップボードにコピーして、別のアプリケーションに貼り付けます。

ディスプレイをクリップボードにコピーするには、[表示] タブで [すべてのディスプレイをコピー] ▼ をクリックします。ここで、選択したディスプレイまたは全ディスプレイのレイアウトのどちらかをコピーできます。

1 つのディスプレイをクリップボードにコピーする場合は、ディスプレイを右クリックして [ディスプレイをコピー] を選択してもできます。

信号のエクスポート

信号アナライザーの信号テーブルの任意の信号を MATLAB ワークスペースまたは MAT ファイルにエクスポートできます。

信号をエクスポートするには:

  1. 信号テーブルから 1 つ以上の信号を選択します。

  2. [アナライザー] タブの [エクスポート] をクリックします。

  3. 選択した信号を MATLAB ワークスペースにエクスポートするか、MAT ファイルに保存するかを選択します。信号の保存を選択する場合は、ファイルの保存場所を参照してファイル名を指定し、[保存] をクリックします。

信号を選択し右クリックして、[エクスポート] を選択することもできます。

信号は、そのタイプに応じて、異なる形式でエクスポートされます。

  • 時間情報を持たない信号は、数値ベクトルとしてエクスポートまたは保存されます。

  • timetable として保存されていた信号は、timetable としてエクスポートまたは保存されます。

  • 時間情報を持つが timetable として保存されていない信号は、数値ベクトルとしてエクスポートまたは保存されます。時間情報を保持する場合は、信号を timetable として保存できます。[アナライザー] タブで [設定] をクリックし、[信号に時間情報がある場合は常に timetable を使用] をオンにします。

  • マルチチャネル信号のエクスポート動作は、選択する信号とチャネル、およびセットした設定によって異なります。

    • 可能な限り、アプリは、元の信号と同じ名前と型 (数値または timetable) の信号をエクスポートします。

    • いくつかのチャネルをもつ信号を選択した場合、アプリは、個々のチャネルに同じ長さと時間情報があれば単一の行列または timetable としてエクスポートします。

    • 異なる長さまたは異なる時間情報があるいくつかのチャネルをもつ信号を選択した場合、アプリはそれらを独立した信号としてエクスポートします。

    • 同じ時間に信号と 1 つ以上のチャネルを選択した場合、アプリは、選択したチャネルに対応するすべての信号と独立変数のコピーをエクスポートします。

    例: 3 つの 2 チャネル信号を作成します。sgn の各チャネルには 100 サンプル含まれています。sgt の各チャネルには 200 サンプル含まれています。timetable tmb には 1 Hz でサンプリングされた 2 つの 20 サンプル チャネルが含まれています。

    sgn = randn(100,2);
    sgt = randn(200,2);
    tmb = timetable(seconds(0:19)',randn(20,2));
    信号を信号テーブルにドラッグします。ツリー ビューを展開し、個々のチャネルを表示します。sgt を選択し、[アナライザー] タブで、[時間値] をクリックします。[サンプルレートと開始時間] を選択して、25 Hz のサンプルレートを指定します。sgnsgt の最初のチャネル、および tmb の唯一の変数で 2 番目のチャネルを選択します。

    [アナライザー] タブで [エクスポート] をクリックして選択した信号を MAT ファイルにエクスポートします。既定のファイル名を使用します。ファイルを MATLAB ワークスペースに読み込みます。

    load New_Export
    whos
      Name              Size            Bytes  Class
    
      sgn             100x2              1600  double
      sgt_1           200x1              1600  double
      tmb_Var1_2       20x1              1368  timetable
    アプリは、時間情報がある場合でも、sgt_1 をベクトルとしてエクスポートしました。[アナライザー] タブで [設定] をクリックし、[信号に時間情報がある場合は常に timetable を使用] をオンにします。信号を再度エクスポートします。sgt_1 は timetable になります。

    例: 4 つの変数で timetable を作成します。"Temperature" には 2 つのチャネル、"WindSpeed" に 1 つのチャネル、"Electric" に 3 つのチャネル、および "Magnetic" に 1 つのチャネルがあります。

    tmt = timetable(seconds(0:99)', ...
        randn(100,2),randn(100,1),randn(100,3),randn(100,1));
    tmt.Properties.VariableNames = ...
        ["Temperature" "WindSpeed" "Electric" "Magnetic"];
    信号テーブルに timetable をドラッグします。ツリー ビューを展開し、個々のチャネルを表示します。tmttmt.Temperaturetmt.Electric の 2 番目のチャネル、および tmt.Magnetic を選択します。

    [アナライザー] タブで [エクスポート] をクリックして選択した信号を MAT ファイルにエクスポートします。既定のファイル名を使用します。ファイルを MATLAB ワークスペースに読み込みます。

    load New_Export
    whos
      Name                   Size            Bytes  Class
    
      tmt                  100x4              8180  timetable
      tmt_Electric_2       100x1              2656  timetable
      tmt_Magnetic         100x1              2652  timetable
      tmt_Temperature      100x1              3458  timetable
    アプリは、tmt を 4 つの変数の timetable、つまり、tmt_Temperature を 2 チャネルの変数をもつ timetable、2 つの単一変数、単一チャネルの timetable tmt_Electric_2 および tmt_Magnetic としてエクスポートしました。

MATLAB スクリプトおよび関数の生成

MATLAB スクリプトを生成して、信号の関心領域を抽出したり、信号アナライザー アプリで取得したパワー スペクトル、パーシステンス スペクトル、スペクトログラム、またはスカログラムの推定値の計算を自動化することができます。

MATLAB スクリプトを生成するには、[表示] タブで [スクリプトの生成] をクリックします。生成されたスクリプトがエディターで開きます。

  • 選択したディスプレイの時間範囲で定義した関心領域を抽出する MATLAB スクリプトを生成する場合は、[時間範囲の間の ROI スクリプト] を選択します。関心領域は、設定に応じて、数値ベクトルまたは timetable として保存されます。

  • 選択したディスプレイの時間領域カーソルの位置で定義した関心領域を抽出する MATLAB スクリプトを生成する場合は、[時間カーソルの間の ROI スクリプト] を選択します。関心領域は、設定に応じて、数値ベクトルまたは timetable として保存されます。

  • 現在のすべての設定を含む、選択したディスプレイのスペクトル ビューに表示されているパワー スペクトルを計算する MATLAB スクリプトを生成する場合は、[スペクトル スクリプト] を選択します。

  • 現在のすべての設定を含む、選択したディスプレイのスペクトル ビューに表示されているパーシステンス スペクトルを計算する MATLAB スクリプトを生成する場合は、[パーシステンス スペクトル スクリプト] を選択します。

  • 現在のすべての設定を含む、選択したディスプレイのスペクトログラム ビューに表示されているスペクトログラムを計算する MATLAB スクリプトを生成する場合は、[スペクトログラム スクリプト] を選択します。

  • 現在のすべての設定を含む、選択したディスプレイのスカログラム ビューに表示されているスカログラムを計算する MATLAB スクリプトを生成する場合は、[スカログラム スクリプト] を選択します。スカログラムの表示を使用するには、Wavelet Toolbox のライセンスが必要です。

MATLAB 関数を生成して、信号アナライザー アプリを使用して実行された信号前処理ステップを自動化できます。

前処理用の MATLAB 関数を生成するには、[アナライザー] タブで [関数の生成] をクリックします。生成された関数がエディターで開きます。

信号解析セッションの保存と読み込み

セッションのスナップショットを共有するか、後で表示するためにアーカイブする場合は、その信号アナライザーセッションを MAT ファイルまたは MLDATX ファイルに保存してください。MLDATX ファイルを使用すると、保存および読み込み時間が高速になります。

セッションを MAT ファイルまたは MLDATX ファイルに保存するには:

  1. [アナライザー] タブの [保存] ▼ をクリックして、[保存] を選択します。

  2. ファイルの保存場所を参照してファイル名を指定し、形式を選択して、[保存] をクリックします。

ファイルを更新する場合は、[保存] をクリックします。別のファイルにセッションを保存する場合は、[保存] ▼ をクリックして [名前を付けて保存] を選択します。

保存したセッションを読み込むには:

  1. [アナライザー] タブの [開く] をクリックします。

  2. 前のセッションで保存された MAT ファイルまたは MLDATX ファイルを参照して選択し、[開く] をクリックします。信号のデータとプロパティが、ファイルが最後に保存されたときの状態で表示されます。

新しいセッションを開始するには、[アナライザー] タブの [新規] をクリックします。

信号アナライザーのカスタマイズ

ラインの色とスタイルの指定

ラインのスタイルと色を指定するには、信号の [ライン] 列をクリックします。[ライン] 列が表示されていない場合は、列セレクター ボタン を使用して列を追加します。パレットから色とラインのスタイルを選択します。信号に対してカスタム色を選択するには、[カスタム] をクリックします。カスタム色は、RGB 3 成分または 16 進数コードで指定できます。

信号テーブルの列の追加または削除

信号テーブルの列には、プロットの構成プロパティおよび信号プロパティが表示されます。列を追加または削除するには、列セレクター ボタン をクリックします。リストから表示する列を選択し、[OK] をクリックします。列を選択すると、新しい列が列の選択リストの表示順にテーブルに追加されます。

信号アナライザーディスプレイの変更

目的操作
ディスプレイ領域を拡大するためにワークスペース ブラウザーまたは信号テーブルを非表示にする。

[アナライザー] タブのどちらかのレイアウト ボタンをクリックします。

データを検証するためにズームと移動を行う。

[表示] タブのいずれかのズーム操作を選択します。

または、[パナー] をクリックしてパナーをアクティブにします。

スペクトログラム、スカログラム、またはパーシステンス スペクトルのカラーマップを現在のパワーまたは密度範囲に合わせる。

[表示] タブで、[カラーマップを合わせる] ボタン をクリックします。

プロットの座標軸の最小値と最大値を設定する。

[時間][スペクトル][パーシステンス スペクトル][スペクトログラム] または [スカログラム] タブで、座標軸の限界値を入力します。また、[表示] タブで最小時間値および最大時間値を変更できます。

ディスプレイの座標軸を設定するときは、限界値を指定する前に時間単位または周波数単位を指定できます。いくつかの工学単位も利用できます。

単位
時間ps、ns、μs、ms、s、分、時、日、年
周波数周期/年、周期/日、周期/時、周期/分、mHz、Hz、kHz、MHz、GHz、THz

メモ

座標軸の複数の限界値で異なる時間単位または周波数単位を選択した場合は、いずれのプロットも変更されません。

プロットされた信号を示す凡例を表示または非表示にする。

[表示] タブの [凡例] をクリックします。

各ディスプレイがそれぞれの凡例を取得します。凡例は、ディスプレイの上部または右側に表示されます。

ディスプレイをリンクまたはリンク解除する。

ディスプレイを選択します。[表示] タブの [時間のリンク] を選択します。[時間のリンク] は、2 つ以上のディスプレイがあり、少なくとも 1 つの信号に時間情報が含まれている場合にのみ有効化されます。

ディスプレイのリンクを解除するには、ディスプレイを選択して [時間のリンク] をオフにします。

周波数軸はディスプレイ間でリンクされません。

時間プロットの y 軸に沿って 0 から 1 までの各信号のデータを正規化する。

[時間] タブの [Y 軸の正規化] を選択します。

信号の時間プロットで各サンプル点にマーカーを表示する。[時間] タブの [マーカーの表示] を選択します。

信号アナライザーの設定

  • 時間情報を持つが timetable として格納されていない信号をエクスポートまたは保存する場合は、既定の設定では、時間情報は保存されません。信号を timetable として保存することで時間情報を保持する場合は、[アナライザー] タブの [設定] をクリックし、[信号に時間情報がある場合は常に timetable を使用] をオンにします。

  • 時間情報を持つが timetable として格納されていない信号に関連するスクリプトを生成する場合は、既定の設定では、時間情報は保存されません。信号を timetable として扱うスクリプトを生成することで時間情報を保持する場合は、[アナライザー] タブの [設定] をクリックし、[信号に時間情報がある場合は常に timetable を使用] をオンにします。

参考

|

関連する例

詳細