ドキュメンテーション

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

信号アナライザーのヒントと制限

よくある質問と信号アナライザー アプリの現在の制限です。

解析する信号の選択

  1. "512 行 24 列の行列をディスプレイにドラッグしましたが、アプリは 24 信号のうち 10 信号のみをプロットしました。他の信号はどのようにプロットすればよいですか。"

    既定では、信号アナライザーはマルチチャネル信号の列すべてをインポートしますが、プロットするのは最初の 10 列のみです。10 列目より先の信号列をプロットするには、対象をディスプレイにドラッグします。あるいは、信号テーブルで、プロットする信号名の横にあるチェック ボックスを選択します。

  2. "データは構造体内に保存されています。どうすれば信号アナライザーで解析できますか。"

    信号アナライザーで構造体を調べるには、timetable に変換します。変換する最も簡単な方法は、構造体をテーブルに変換し、そのテーブルを timetable に変換します。2 番目のステップには、duration 配列への時間変数の変換が含まれます。次の例は、フィールドが 3 つある構造体を作成します。1 つには時間値が含まれ、信号アナライザーによって読み取り可能な timetable に構造体を変換します。

    str.st = (0:999)'/1000;
    str.s1 = randn(1000,1);
    str.s2 = sin(2*pi*20*str.st);
    
    T = struct2table(str);
    T.st = seconds(T.st);
    TT = table2timetable(T,'RowTimes','st');

    構造体に時間情報がない場合、その他の MATLAB® 関数を使用できます。次の関数は入力として構造体を取得し、そこから信号の値の配列を抽出して、信号アナライザーを呼び出して信号をプロットします。

    function structSig(x)
       names = fieldnames(x);
       for i = 1:length(names)
          signalAnalyzer(getfield(x,names{i}))
       end
    end

  3. "信号テーブルの行が灰色に強調表示されている場合は何を意味しますか。またチェック ボックスは何を意味しますか。"

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

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

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

  4. "datetime 配列として保存した時間値を含む timetable を使用しています。どうすれば解析できますか。"

    datetime 配列として保存された時間値を含む timetable を解析するには、他のすべてから最初の要素を減算することによってその配列を相対的な duration 配列を変換します。次の例では、datetime 行時間を含む timetable を作成し、信号アナライザーによって読み取り可能な timetable に変換します。

    tt = timetable(datetime(2016,11,9,2,30,1:10)',randn(10,1));
    dt = tt.Time-tt.Time(1);
    tn = timetable(dt,tt.Var1);

    別の例については、固有の時間情報をもつ信号の解析を参照してください。

  5. "timetable がありますが、一部の変数のみがインポートされました。どうすればインポートできますか。"

    信号アナライザーには、表示および処理できる変数のみ一覧表示されます。timetable の一部の変数がインポートされない場合は、おそらく複素数であるか、NaN があります。アプリにそれらをインポートできるようにするには、最初に MATLAB で修正しなければなりません。timetable を修正するには、欠損または重複する時間および非等間隔の時間をもつ timetable の整理 (MATLAB)のヒントを使用できます。

  6. "MATLAB ワークスペースの変数を変更しました。信号アナライザー ディスプレイに変更がないのはなぜですか。"

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

信号の前処理

  1. "一様にサンプリングされていない信号にローパス フィルターをどのように適用すればいいですか。"

    信号アナライザーのフィルター処理機能は一様にサンプリングされている信号のみをサポートします。関数 resample を使用して等間隔グリッドに信号をリサンプリングできます。関数は、リサンプリングされた信号と時間値の等間隔グリッドを戻します。

  2. "前処理操作にどのパラメーターが使用されたかを知るにはどうすればよいですか。"

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

信号の調査

  1. "信号のスカログラムを表示したいのですが、一様にサンプリングされている信号を作成する必要があるという警告が表示されます。どのように信号をリサンプリングしたらよいですか。"

    関数 resample を使用して等間隔グリッドに信号をリサンプリングできます。関数は、リサンプリングされた信号と時間値の等間隔グリッドを戻します。

  2. "スカログラムのナイキスト範囲外のズームアウトができないのはなぜですか。"

    実信号が適切にサンプリングされていれば、その信号の周波数情報はすべてナイキスト範囲内に含まれます。

  3. "どうすれば 10 個の異なる信号のスペクトログラムを比較できますか。"

    信号アナライザーの時間-周波数の表示では、ディスプレイごとに 1 つの信号のみをサポートしています。10 個の異なる信号のスペクトログラムを比較するには、10 個のディスプレイを開き、それぞれのディスプレイに各信号をドラッグします。パーシステンス スペクトルとスカログラムに同じ手順を使用できます。

解析の共有

  1. "作成したスクリプトにそれが使用する変数が存在せず、実行されません。なぜですか。"

    信号アナライザーの信号を抽出、複製、または名前変更して、変更した信号をエクスポートしないで MATLAB スクリプトを生成した場合、そのスクリプトは動作しません。スクリプトの開始点として使用する信号を必ずエクスポートしてください。

  2. "どうすれば信号アナライザー スペクトル、MATLAB のパーシステンス スペクトル、スペクトログラム、またはスカログラムを再現できますか。"

    [表示] タブの [スペクトル] または [スペクトログラム] をクリックして、スペクトル、パーシステンス スペクトル、スペクトログラム、またはプロットした信号のスカログラムを計算して表示します。信号に最適な設定をしている場合、[スクリプトの生成] をクリックして、[スペクトル スクリプト][パーシステンス スペクトル スクリプト][スペクトログラム スクリプト]、または [スカログラム スクリプト] を選択し、MATLAB で使用できるスクリプトを生成します。

参考

関連する例

詳細