Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

spectrumAnalyzer

時間領域信号の周波数スペクトルの表示

R2022a 以降

説明

spectrumAnalyzer オブジェクトは、周波数領域信号と、時間領域信号の周波数スペクトルを表示します。スコープには、スペクトル ビューとスペクトログラム ビューが表示されます。このオブジェクトは、平均修正ピリオドグラムのフィルター バンク法とウェルチ法を使用して、スペクトル推定を行います。スペクトル アナライザーの表示は、必要なデータと測定情報を表示するようにカスタマイズできます。詳細は、アルゴリズムを参照してください。スペクトル アナライザーでは、[Watts][dBm][dBW] の 3 つの単位で信号のパワー スペクトルを表示できます。これらの 3 つの単位の間でパワーを変換する方法の詳細については、単位間のパワーの変換を参照してください。

スペクトル アナライザーで信号のスペクトルを表示するには、次のようにします。

  1. spectrumAnalyzer オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

Snapshot of Spectrum Analyzer scope showing both the spectrum and the Spectrogram.

作成

説明

scope = spectrumAnalyzer は、実信号または複素信号の周波数スペクトルを表示する spectrumAnalyzer オブジェクトを作成します。

scope = spectrumAnalyzer(Name=Value) は、1 つ以上の名前と値の引数を使用して、scope の既定以外のプロパティを指定します。たとえば、スペクトルとスペクトログラムの両方を表示するには、ViewType"spectrum-and-spectrogram" に設定します。

プロパティ

すべて展開する

よく使用される項目

可視化する入力信号の領域。"time" または "frequency" として指定します。時間領域信号を可視化する場合、スペクトル アナライザーは Method プロパティで指定するアルゴリズムに基づいて信号を周波数スペクトルに変換します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブで、[入力領域][時間][周波数] に設定します。

データ型: char | string

表示するスペクトルのタイプ。次のいずれかとして指定します。

  • "power" — パワー スペクトル。

  • "power-density" — パワー スペクトル密度。パワー スペクトル密度は、1 Hz の帯域幅に正規化されたスペクトルの二乗振幅です。

  • "rms" — 平方根平均二乗。平方根平均二乗は平均二乗の平方根を示します。電圧や電流の信号の周波数を表示する場合に、このオプションを使用します。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"time" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブで、[スペクトル] ドロップ ダウンの矢印をクリックし、[パワー][パワー密度] または [RMS] を選択します。

これらのオプションを有効にするには、[推定] タブで [入力領域][時間] に設定します。

First UI button on Analyzer tab. Clicking on the drop down arrow gives the three spectrum options.

データ型: char | string

表示するビュー。次のいずれかとして指定します。

  • "spectrum" — 信号の周波数スペクトルを表示します。

  • "spectrogram" — 信号のスペクトログラムを表示します。スペクトログラムは時間の経過に沿って周波数成分を表示します。スペクトログラムの各ラインは 1 つのピリオドグラムです。時間は表示の上部から下部に向かってスクロールします。直近のスペクトログラムの更新は表示の上部にあります。

  • "spectrum-and-spectrogram" — スペクトルとスペクトログラムの両方を表示します。

スペクトル アナライザーがスペクトルとスペクトログラムをどのように計算するかの詳細については、アルゴリズムのセクションを参照してください。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブで、[スペクトル][スペクトログラム] またはその両方を選択します。

First UI button on Analyzer tab is Spectrum. Second UI button is Spectrogram. You can select either of these or both.

データ型: char | string

入力のサンプル レート (Hz 単位)。正のスカラーとして指定します。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[帯域幅] セクションで [サンプル レート (Hz)] を有限のスカラーに指定します。

スペクトル アナライザーでは、サンプル レートが表示下部のステータス バーに表示されます。

データ型: double

スペクトル推定法。次のいずれかとして指定します。

  • "filter-bank" –– 解析フィルター バンクを使用してパワー スペクトルを推定します。ウェルチ法と比較すると、この手法はノイズ フロアは低く、周波数分解能は高く、スペクトル漏れは低く、更新ごとに必要なサンプル数が少なくて済みます。

  • "welch" –– 平均修正ピリオドグラムのウェルチ法を使用します。

これらの方法の詳細については、アルゴリズムを参照してください。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"time" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブで、[メソッド][フィルター バンク][ウェルチ] に設定します。

このパラメーターを有効にするには、[推定] タブで [入力領域][時間] に設定します。

データ型: char | string

両側スペクトルをプロットするオプション。次のいずれかとして指定します。

  • true — 両側スペクトル推定を計算およびプロットします。入力信号が複素数値の場合、このプロパティを true に設定しなければなりません。

  • false — 片側スペクトル推定を計算およびプロットします。このプロパティを false に設定する場合、入力信号は実数値でなければなりません。

    このプロパティを false に設定すると、スペクトル アナライザーはパワーの折り返しを行います。0 とナイキスト周波数を除き、y 軸の値はこのプロパティを true に設定した場合の振幅の 2 倍になります。片側パワー スペクトル密度 (PSD) には、DC からナイキスト レートの半分までの周波数範囲内での信号の合計パワーが含まれます。詳細については、pwelch を参照してください。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブまたは [スペクトログラム] タブ (有効になっている場合) をクリックします。[トレース オプション] セクションで [両側スペクトル] を選択して、両側スペクトル推定を計算およびプロットします。

データ型: logical

周波数表示のスケール。次のいずれかとして指定します。

  • "linear" — 線形スケールを使用して x 軸に周波数を表示します。

  • "log" — 対数スケールを使用して x 軸に周波数を表示します。

調整可能: Yes

依存関係

このプロパティを "log" に設定するには、PlotAsTwoSidedSpectrum プロパティを false に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブまたは [スペクトログラム] タブ (有効になっている場合) をクリックします。[スケール] セクションで [周波数スケール][線形] または [対数] に設定します。

[周波数スケール][対数] に設定するには、[スペクトル] タブまたは [スペクトログラム] タブ (有効になっている場合) の [トレース オプション] セクションで [両側スペクトル] チェック ボックスをオフにします。[両側スペクトル] チェック ボックスをオンにした場合、[周波数スケール][線形] に設定しなければなりません。

データ型: char | string

通常のトレースの表示に使用するプロット タイプ。"line" または "stem" として指定します。"通常の" トレースとは、フリーラン スペクトル推定を表示するトレースのことです。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  • ViewType"spectrum" または "spectrum-and-spectrogram" に設定する。

  • PlotNormalTracetrue に設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックし、[構成] セクションに移動し、[設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][プロット タイプ][ライン] または [ステム] に設定します。

[プロット タイプ] を有効にするには、以下が必要です。

  • [アナライザー] タブの [ビュー] セクションで [スペクトル] を選択する。

  • [スペクトル] タブの [トレース オプション] セクションで [通常のトレース] チェック ボックスを有効にする。

データ型: char | string

座標軸のスケーリング モード。次のいずれかとして指定します。

  • "auto" — シミュレーションの実行中および実行後に、データを近似させるためにスコープが座標軸をスケーリングします。

  • "manual" — スコープは座標軸を自動スケーリングしません。

  • "onceatstop" — シミュレーションが停止したときと関数 release を呼び出したときに、スコープは座標軸をスケーリングします。

  • "updates" — 特定回数の表示更新後に、スコープは座標軸をスケーリングします。更新回数は AxesScalingNumUpdates プロパティを使用して決定されます。

調整可能: Yes

データ型: char | string

スケーリング前の更新回数。正の整数として指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、AxesScaling"updates" に設定します。

データ型: double

詳細設定

分解能帯域幅 (RBW) のソース。"auto" または "property" として指定します。

  • "auto" — スペクトル アナライザーは定義された周波数スパン全体に 1,024 の RBW 間隔が必ず存在するようにスペクトル推定分解能を調整します。

  • "property"RBW プロパティを使って分解能帯域幅を直接指定します。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[帯域幅] セクションで [RBW (Hz)][自動] または正のスカラーに設定します。

データ型: char | string

分解能帯域幅 (RBW) (Hz 単位)。正のスカラーとして指定します。指定した周波数スパンに少なくとも 2 つの RBW 間隔が存在するように値を指定します。スパン全体と RBW の比率は、次の条件を満たします。

spanRBW>2

FrequencySpan プロパティの設定に基づいてスパン全体を指定します。

RBW は表示する信号のスペクトル分解能を制御します。RBW 値により、分解できる周波数の間隔が決定されます。値が小さいと、スペクトル分解能は高くなり、ノイズ フロアは低くなります。つまり、スペクトル アナライザーはより間隔の狭い周波数を分解できます。ただし、その代わりにスイープ時間は長くなります。

調整可能: Yes

依存関係

このプロパティを有効にするには、RBWSource"property" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[帯域幅] セクションで [RBW (Hz)] を正のスカラーに設定します。

スペクトル アナライザーでは、RBW の値が表示下部のステータス バーに表示されます。

データ型: double

プロトタイプ ローパス フィルターの鮮鋭度。[0,1] の範囲の実数の非負のスカラーとして指定します。

フィルターの鮮鋭度を上げると、スペクトル漏れが減少し、より精度の高いパワーの読み取り値が得られます。

調整可能: Yes

依存関係

このプロパティを有効にするには、Method"filter-bank" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[周波数分解能] セクションで [鮮鋭度] スライダーを動かします。

このパラメーターを有効にするには、[推定] タブで [入力領域][時間] に設定します。

データ型: double

周波数ベクトルのソース。次のいずれかとして指定します。

  • "auto" — スペクトル アナライザーは、入力信号のフレーム サイズと指定されたサンプル レートに基づいて周波数ベクトルを計算します。

  • "property"FrequencyVector プロパティにカスタム ベクトルを入力します。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"frequency" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[領域] セクションで [周波数 (Hz)][自動] または入力信号のフレーム サイズと等しい長さの単調増加ベクトルに設定します。

[周波数 (Hz)] を有効にするには、[入力領域][周波数] に設定します。

データ型: char | string

カスタム周波数ベクトル。単調増加ベクトルとして指定します。このベクトルによって、表示の x 軸が決定されます。ベクトルは単調増加し、入力信号のフレーム サイズと同じ長さでなければなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[領域] セクションで [周波数 (Hz)][自動] または入力信号のフレーム サイズと等しい長さの単調増加ベクトルに設定します。

[周波数 (Hz)] を有効にするには、[入力領域][周波数] に設定します。

データ型: double

周波数スパン モード。次のいずれかとして指定します。

  • "full" –– スペクトル アナライザーは、ナイキスト周波数範囲全体のスペクトルを計算およびプロットします。

  • "span-and-center-frequency" –– スペクトル アナライザーは、Span プロパティと CenterFrequency プロパティで指定された区間のスペクトルを計算し、プロットします。

  • "start-and-stop-frequencies" –– スペクトル アナライザーは、StartFrequency プロパティと StopFrequency プロパティで指定された区間のスペクトルを計算し、プロットします。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"time" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[周波数オプション] セクションで、[周波数スパン][フル][スパンと中心周波数] または [開始周波数と終了周波数] に設定します。

[周波数スパン] を有効にするには、[入力領域][時間] に設定します。

データ型: char | string

スペクトル アナライザーがスペクトルを計算してプロットする周波数スパン。Hz 単位の正のスカラーとして指定します。このプロパティと CenterFrequency プロパティで定義されるスパン全体が、ナイキスト周波数範囲の範囲内になければなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[周波数オプション] セクションで、[周波数スパン][スパンと中心周波数] に設定し、[スパン (Hz)] を正のスカラーに設定します。

[周波数スパン] を有効にするには、[入力領域][時間] に設定します。

データ型: double

スペクトル アナライザーがスペクトルを計算してプロットする周波数スパンの中心。Hz 単位の実数スカラーとして指定します。Span とこのプロパティで定義される周波数スパン全体が、ナイキスト周波数範囲の範囲内になければなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[周波数オプション] セクションで、[周波数スパン][スパンと中心周波数] に設定し、[Center Frequency (Hz)] を実数スカラーに設定します。

[周波数スパン] を有効にするには、[入力領域][時間] に設定します。

データ型: double

スペクトル アナライザーがスペクトルを計算してプロットする周波数範囲の開始周波数。Hz 単位の実数スカラーとして指定します。このプロパティと StopFrequency で定義されるスパン全体が、ナイキスト周波数範囲の範囲内になければなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[周波数オプション] セクションで、[周波数スパン][開始周波数と終了周波数] に設定し、[開始周波数 (Hz)] を実数スカラーに設定します。

[周波数スパン] を有効にするには、[入力領域][時間] に設定します。

データ型: double

スペクトル アナライザーがスペクトルを計算してプロットする周波数範囲の終了周波数。Hz 単位の実数スカラーとして指定します。このプロパティと StartFrequency プロパティで定義されるスパン全体が、ナイキスト周波数範囲の範囲内になければなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[周波数オプション] セクションで、[周波数スパン][開始周波数と終了周波数] に設定し、[Stop Frequency (Hz)] を実数スカラーに設定します。

[周波数スパン] を有効にするには、[入力領域][時間] に設定します。

データ型: double

バッファーされた現在と直前のデータ セグメント間のオーバーラップ率。範囲 [0 100) のスカラーとして指定します。オーバーラップにより、オブジェクトがスペクトル推定の計算に使用するウィンドウ セグメントが作成されます。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[ウィンドウ オプション] セクションで [オーバーラップ (%)] を設定します。

[オーバーラップ (%)] を有効にするには、スペクトル アナライザーのツールストリップの [推定] タブで、[入力領域][時間] に設定し、[メソッド][ウェルチ] に設定します。

データ型: double

ウィンドウ関数。次のいずれかのプリセット ウィンドウとして指定します。ウィンドウ オプションの詳細については、対応する関数へのリンクをクリックしてください。

ウィンドウ オプション対応する Signal Processing Toolbox™ 関数
"hann"hann
"blackman-harris"blackmanharris
"chebyshev"chebwin
"flat-top"flattopwin
"hamming"hamming
"kaiser"kaiser
"rectangular"rectwin

独自のスペクトル推定ウィンドウを使用するには、このプロパティを "custom" に設定し、CustomWindow プロパティでカスタム ウィンドウ関数を指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[ウィンドウ オプション] セクションで [ウィンドウ] を設定します。

[ウィンドウ] を有効にするには、スペクトル アナライザーのツールストリップの [推定] タブで、[入力領域][時間] に設定し、[メソッド][ウェルチ] に設定します。

データ型: char | string

カスタム ウィンドウ関数の名前。文字配列または string スカラーとして指定します。カスタム ウィンドウ関数名は MATLAB® パス上になければなりません。このプロパティを使用して、Signal Processing Toolbox で使用可能な追加のプロパティを使用してウィンドウ関数をカスタマイズします。

調整可能: Yes

例:

カスタム ウィンドウ関数を定義して使用します。

function w = my_hann(L)
    w = hann(L,"periodic")
end

scope.Window = "custom";
scope.CustomWindow = "my_hann"

依存関係

このプロパティを使用するには、Window"custom" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[ウィンドウ オプション] セクションの [ウィンドウ] で、カスタム ウィンドウ関数名を入力します。

データ型: char | string

ウィンドウのサイドローブ減衰 (dB)。45 以上の正のスカラーとして指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、Window"chebyshev" または "kaiser" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[ウィンドウ オプション] セクションで [減衰 (dB)] を設定します。

[減衰 (dB)] を有効にするには、次を設定します。

  • [入力領域][時間] に設定する。

  • [メソッド][ウェルチ] に設定する。

  • スペクトル アナライザーのツールストリップの [推定] タブで、[ウィンドウ][チェビシェフ] または [カイザー] に設定する。

データ型: double

平均化方法。次のいずれかとして指定します。

  • "vbw" — ビデオ帯域幅の手法。オブジェクトは、ローパス フィルターを使用して、トレースを平滑化し、ノイズを減少させます。VBWSource プロパティと VBW プロパティを使用して VBW 値を指定します。

  • "exponential" — サンプルの加重平均。オブジェクトは、指数的に減衰する忘却係数で重み付けされたサンプルの平均を計算します。ForgettingFactor プロパティを使用して重み付け忘却係数を指定します。

平均化方法の詳細については、平均化方法を参照してください。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"time" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[平均化] セクションで、[平均化方法][VBW] または [指数] に設定します。

[平均化方法] を有効にするには、[入力領域][時間] に設定します。

データ型: char | string

指数的な加重平均法の忘却係数。[0,1] の範囲のスカラーとして指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[平均化] セクションで [忘却係数] のスライダーを調整します。

[忘却係数] を有効にするには、[入力領域][時間] に設定し、[平均化方法][指数] に設定します。

データ型: double

ビデオ帯域幅のソース (VBW)。"auto" または "property" として指定します。

  • "auto" — スペクトル アナライザーは等価忘却係数が 0.9 になるように VBW を調整します。

  • "property" — スペクトル アナライザーは VBW プロパティで指定された値を使用して VBW を調整します。

ビデオ帯域幅の手法の詳細については、平均化方法を参照してください。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"time"AveragingMethodvbw に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[平均化] セクションで [VBW (Hz)][自動] または [サンプル レート (Hz)]/2 以下の正の実数スカラーに設定します。

[VBW (Hz)] を有効にするには、[入力領域][時間] に設定し、[平均化方法][VBW] に設定します。

データ型: char | string

ビデオ帯域幅。SampleRate/2 以下の正のスカラーとして指定します。ビデオ帯域幅の手法の詳細については、平均化方法を参照してください。

スペクトル アナライザーでは、VBW の値が表示下部のステータス バーに表示されます。

調整可能: Yes

依存関係

このプロパティを有効にするには、VBWSource"property" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[平均化] セクションで、[VBW (Hz)][自動] に設定するか、[サンプル レート (Hz)]/2 以下の正の実数スカラーを入力します。

[VBW (Hz)] を有効にするには、[入力領域][時間] に設定し、[平均化方法][VBW] に設定します。

データ型: double

周波数領域入力の単位。"dBm""dBuV" (R2023b 以降)"dBV""dBW""Vrms""Watts" または "none" として指定します。スペクトル アナライザーは、表示単位に従って周波数データをスケーリングします。

調整可能: Yes

依存関係

このプロパティを有効にするには、InputDomain"frequency" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [推定] タブをクリックします。[領域] セクションで [入力単位] を設定します。

[入力単位] を有効にするには、[入力領域][周波数] に設定します。

データ型: char | string

スペクトルの単位。次のいずれかとして指定します。

  • "dBm"

  • "dBFS"

  • "dBuV" (R2023b 以降)

  • "dBV"

  • "dBW"

  • "Vrms"

  • "Watts"

  • "dBm/Hz"

  • "dBW/Hz"

  • "dBFS/Hz"

  • "Watts/Hz"

  • "auto"

調整可能: Yes

依存関係

使用できるスペクトルの単位は SpectrumType プロパティで指定した値によって異なります。

InputDomainSpectrumType指定可能な SpectrumUnits
"time""power""dBm", "dBW", "dBFS", "Watts"
"power-density""dBm/Hz", "dBW/Hz","dBFS/Hz", "Watts/Hz"
"rms""dBuV" (R2023b 以降), "dBV", "Vrms"
"frequency""auto", "dBm", "dBuV" (R2023b 以降), "dBV", "dBW", "Vrms", "Watts"

InputDomain プロパティを "frequency" に設定し、SpectrumUnits プロパティを "auto" に設定した場合、スペクトル アナライザーはスペクトル単位が InputUnits プロパティで指定された入力単位と等しいものと仮定します。InputDomain"time" に設定し、SpectrumUnits"auto" 以外のオプションに設定した場合、スペクトル アナライザーは InputUnits で指定された単位を SpectrumUnits で指定された単位に変換します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックします。[スケール] セクションで [スペクトルの単位] を設定します。

データ型: char | string

dBFS スケーリング係数のソース。"auto" または "property" のいすれかとして指定します。

  • "auto" –– スペクトル アナライザーは入力データに基づいてスケーリング係数を調整します。

  • "property" –– FullScale プロパティを使用してフル スケールのスケーリング係数を指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックします。[スケール] セクションで、[フル スケール][自動] または正のスカラーに設定します。

[フル スケール] を有効にするには、次のようにします。

  • [アナライザー] タブで、スペクトルのタイプを [パワー] または [パワー密度] に設定する。

  • [推定] タブで、[入力領域][時間] を設定する。

  • [スペクトル] タブで、[スペクトルの単位][dBFS] または [dBFS/Hz] (スペクトルのタイプを [パワー密度] に設定している場合) に設定する。

データ型: char | string

dBFS フル スケール。正のスカラーとして指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  1. InputDomain"time" に設定する。

  2. SpectrumType"power" または "power-density" に設定する。

  3. SpectrumUnits"dBFS" または "dBFS/Hz" に設定する。

  4. FullScaleSource"property" に設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックします。[スケール] セクションで、[フル スケール][自動] に設定するか、正のスカラーを入力します。

[フル スケール] を有効にするには、次のようにします。

  • [アナライザー] タブで、スペクトルのタイプを [パワー] または [パワー密度] に設定する。

  • [推定] タブで、[入力領域][時間] を設定する。

  • [スペクトル] タブで、[スペクトルの単位][dBFS] または [dBFS/Hz] (スペクトルのタイプを [パワー密度] に設定している場合) に設定する。

データ型: double

スコープがパワー レベルを計算するために参照として使用する負荷。オーム単位の正のスカラーとして指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  • SpectrumType"power" または "power-density" に設定する。

  • SpectrumUnits"dBFS" および "dBFS/Hz" 以外のいずれかのオプションに設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックします。[スケール] セクションで [参照負荷 (Ω)] を設定します。

データ型: double

周波数軸 (x 軸) に適用する Hz 単位のオフセット。次のいずれかとして指定します。

  • スカラー — 同じ周波数オフセットをすべてのチャネルに適用します。

  • ベクトル — 各チャネルに特定の周波数オフセットを適用します。ベクトルの長さは入力チャネル数と同じでなければなりません。

    スパン全体がナイキスト周波数範囲の範囲内になければなりません。FrequencySpan プロパティの設定方法に基づいて、スパン全体をさまざまな方法で制御することができます。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[帯域幅] セクションで [オフセット (Hz)] を設定します。

データ型: double

スペクトログラム

スペクトログラムがプロットされるチャネル。[1 N] の範囲内にある正の整数として指定します。ここで、N は入力チャネルの数です。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrogram" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトログラム] タブをクリックします。[チャネル] セクションで [チャネル] を選択します。

データ型: double

各スペクトログラム ラインの時間分解能のソース。"auto" または "property" のいずれかとして指定します。

RBWSource および TimeResolutionSource"auto" に設定すると、1 つの周波数スパンに 1,024 の RBW 間隔が存在するように RBW が設定されます。時間分解能は 1/RBW に設定されます。

RBWSource"auto" に設定し、TimeResolutionSource"property" に設定すると、時間分解能が制御の中心となり、RBW は 1/TimeResolution Hz に設定されます。

RBWSource"property" に設定し、TimeResolutionSource"auto" に設定すると、RBW が制御の中心となり、時間分解能は 1/RBW s に設定されます。

RBWSourceTimeResolutionSource の両方を "property" に設定する場合、指定する時間分解能の値は、1/RBW で定義される達成可能な最小時間分解能と等しいか、それより大きくなければなりません。いくつかのスペクトル推定が 1 つのスペクトログラム ラインにまとめられ、目的の時間分解能が得られます。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  • InputDomain"time" に設定する。

  • ViewType"spectrogram" または "spectrum-and-spectrogram" に設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトログラム] タブをクリックします。[時間オプション] セクションで、[時間分解能 (秒)]Auto に設定するか、正のスカラーを入力します。

[時間分解能 (秒)] を有効にするには、[アナライザー] タブで [スペクトログラム] を選択し、[推定] タブで [入力領域][時間] に設定します。

データ型: char | string

各スペクトログラム ラインの秒単位の時間分解能。正のスカラーとして指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  • InputDomain"time" に設定する。

  • ViewType"spectrogram" または "spectrum-and-spectrogram" に設定する。

  • TimeResolutionSource"property" に設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトログラム] タブをクリックします。[時間オプション] セクションで、[時間分解能 (秒)]Auto に設定するか、正のスカラーを入力します。

[時間分解能 (秒)] を有効にするには、[アナライザー] タブで [スペクトログラム] を選択し、[推定] タブで [入力領域][時間] に設定します。

データ型: double

スペクトログラムの時間範囲のソース。次のいずれかとして指定します。

  • "auto" –– スペクトログラムは常に 100 のスペクトログラム ラインを表示します。

  • "property" –– スペクトログラムは TimeSpan プロパティで秒単位で指定する持続時間を使用します。

    指定する時間範囲は、スペクトルの更新に必要なサンプル数の持続時間の少なくとも 2 倍なくてはなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrogram" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトログラム] タブをクリックします。[時間オプション] セクションで、[時間範囲 (秒)]Auto に設定するか、正のスカラーを入力します。

データ型: char | string

スペクトログラム表示の時間範囲 (秒単位)。正のスカラーとして指定します。時間範囲は、スペクトルの更新に必要なサンプル数の持続時間の少なくとも 2 倍に設定しなければなりません。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  • ViewType"spectrogram" または "spectrum-and-spectrogram" に設定する。

  • TimeSpanSource"property" に設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトログラム] タブをクリックします。[時間オプション] セクションで、[時間範囲 (秒)]Auto に設定するか、正のスカラーを入力します。

データ型: double

測定

測定値を取得する必要のあるチャネル。[1 N] の範囲内にある正の整数として指定します。ここで、N は入力チャネルの数です。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [測定値] タブをクリックします。[チャネル] セクションで [チャネル] を選択します。

データ型: double

チャネル測定。ChannelMeasurementsConfiguration オブジェクトとして指定します。チャネル測定を有効にして、占有帯域幅または隣接チャネル電力比を計算して表示します。ChannelMeasurementsConfiguration プロパティはすべて調整可能です。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [チャネル測定] タブをクリックし、測定の設定を変更します。

[チャネル測定] タブは、[アナライザー] タブで [スペクトル] を選択していると表示されます。

カーソルの測定。CursorMeasurementsConfiguration オブジェクトとして指定します。波形カーソルを表示するには、カーソルの測定を有効にします。CursorMeasurementsConfiguration プロパティはすべて調整可能です。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [測定値] タブをクリックし、[カーソル] セクションでカーソルの測定を変更します。

歪みの測定。DistortionMeasurementsConfiguration オブジェクトとして指定します。高調波歪みと相互変調歪みを計算して表示するには、歪みの測定を有効にします。DistortionMeasurementsConfiguration プロパティはすべて調整可能です。詳細は、歪みの測定および高調波測定を参照してください。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [測定値] タブをクリックし、[歪み] セクションで歪みの測定を変更します。

[測定値] タブは、[アナライザー] タブで [スペクトル] を選択していると表示されます。

ピークの検出測定。PeakFinderConfiguration オブジェクトとして指定します。ピークの検出を有効にして、最大ピーク値を計算し、計算された最大ピーク値を表示します。PeakFinderConfiguration プロパティはすべて調整可能です。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [測定値] タブをクリックし、[ピーク] セクションでピークの検出の測定を変更します。

[測定値] タブは、[アナライザー] タブで [スペクトル] を選択していると表示されます。

スペクトル マスク構成。SpectralMaskConfiguration オブジェクトとして指定します。スペクトル マスク構成を使用して、パワーおよびパワー密度のプロットに、上下または上か下のマスク ラインを描画します。SpectralMaskConfiguration プロパティはすべて調整可能です。

調整可能: Yes

依存関係

このプロパティを有効にするには、次を設定します。

  • ViewType"spectrum" または "spectrum-and-spectrogram" に設定する。

  • SpectrumType"power" または "power-density" に設定する。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル マスク] タブをクリックし、設定を変更します。

[スペクトル マスク] タブは以下の場合に表示されます。

  • [アナライザー] タブで [スペクトル] を選択します。

  • [スペクトル] のドロップダウン リストで [パワー] または [パワー密度] を選択します。

可視化

スコープ ウィンドウに表示する表題。文字ベクトルまたは string スカラーとして指定します。

調整可能: Yes

データ型: char | string

ピクセル単位でのスペクトル アナライザー ウィンドウの位置。[left bottom width height] という形式の 4 要素の double ベクトルとして指定します。このプロパティの値を変更することで、スコープ ウィンドウを画面上の特定の位置に配置できます。

既定の設定では、ウィンドウは幅 800 ピクセル、高さ 500 ピクセルで画面中央に表示されます。厳密な中心座標は画面の解像度により異なります。

調整可能: Yes

座標軸の最大化。次のいずれかとして指定します。

  • "auto" –– スペクトル アナライザーは、表示にラベルやタイトルの注釈が含まれていない場合に限り、座標軸を最大化します。

  • "on" –– スペクトル アナライザーは、あらゆる表示において座標軸を最大化します。

  • "off" –– スペクトル アナライザーは、いかなる表示においても座標軸を最大化しません。

調整可能: Yes

データ型: char | string

通常のトレースの表示を削除するには、このプロパティを false に設定します。これらのトレースはフリーラン スペクトル推定を表示します。スペクトル アナライザーは、このプロパティを false に設定している場合でも、スペクトル計算を継続します。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックし、[トレース オプション] セクションで [通常のトレース] チェック ボックスをオンにします。

[通常のトレース] チェック ボックスを有効にするには、[アナライザー] タブで [スペクトル] を選択します。

データ型: logical

最大ホールド トレースをプロットするオプション。true または false として指定します。各入力チャネルの最大ホールド スペクトルを計算し、プロットするには、このプロパティを true に設定します。スペクトル アナライザーは、各周波数ビンでの最大ホールド スペクトルを、すべてのパワー スペクトル推定の最大値を維持することによって計算します。このプロパティの値を変更すると、スペクトル アナライザーで最大ホールドの計算がリセットされます。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックし、[トレース オプション] セクションで [最大ホールド トレース] チェック ボックスをオンにします。

[最大ホールド トレース] チェック ボックスを有効にするには、[アナライザー] タブで [スペクトル] を選択します。

データ型: logical

最小ホールド トレースをプロットするオプション。true または false として指定します。各入力チャネルの最小ホールド スペクトルを計算し、プロットするには、このプロパティを true に設定します。スペクトル アナライザーは、各周波数ビンでの最小ホールド スペクトルを、すべてのパワー スペクトル推定の最小値を維持することによって計算します。このプロパティの値を変更すると、スペクトル アナライザーで最小ホールドの計算がリセットされます。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [スペクトル] タブをクリックし、[トレース オプション] セクションで [最小ホールド トレース] チェック ボックスをオンにします。

[最小ホールド トレース] チェック ボックスを有効にするには、[アナライザー] タブで [スペクトル] を選択します。

データ型: logical

表示タイトル。文字ベクトルまたは string スカラーとして指定します。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][タイトル] を入力します。

データ型: char | string

y 軸ラベル。文字ベクトルまたは string スカラーとして指定します。スペクトル アナライザーは、このラベルを y 軸の左に表示します。

このプロパティに関係なく、スペクトル アナライザーは常にパワー単位を SpectrumUnits の値のいずれかとして表示します。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][Y ラベル] を入力します。

[Y ラベル] を有効にするには、[アナライザー] タブで [スペクトル] を選択します。

データ型: char | string

y 軸の範囲。[ymin ymax] という形式の 2 要素の数値ベクトルとして指定します。y 軸の範囲の単位は SpectrumUnits プロパティによって異なります。

例: scope.YLimits = [-10,20]

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType プロパティを "spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][Y 軸の範囲] を入力します。

[Y 軸範囲] を有効にするには、[アナライザー] タブで [スペクトル] を選択します。

スペクトログラムの色の範囲。[colorMin colorMax] という形式の 2 要素の数値ベクトルとして指定します。色の範囲の単位は SpectrumUnits プロパティに直接依存します。

例: scope.ColorLimits = [-10,20]

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType プロパティを "spectrogram" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][色の範囲] を入力します。

[色の範囲] を有効にするには、[アナライザー] タブで [スペクトログラム] を選択します。

カラー ルックアップ テーブル。有効なカラーマップ名か、RGB 3 成分を定義する範囲 [0,1] の値をもつ 3 列の行列として指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType プロパティを "spectrogram" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。開いた [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][カラーマップ] を入力します。

[カラーマップ] を有効にするには、[アナライザー] タブで [スペクトログラム] を選択します。

データ型: double | char | string

グリッドを表示するフラグ。true または false として指定します。このプロパティを true に設定すると、プロットでグリッド ラインが表示されます。

調整可能: Yes

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[構成] セクションで [設定] をクリックします。表示された [スペクトル アナライザーの設定] ウィンドウの [表示とラベル][グリッドの表示] を選択します。

データ型: logical

凡例の表示/非表示。true または false として指定します。入力名を付けた凡例を表示するには、このプロパティを true に設定します。

凡例を使用して、表示する信号を制御します。スコープの凡例で、信号名をクリックするとそのスコープ内の信号が非表示になります。信号を表示する場合は、信号名を再度クリックします。信号を 1 つだけ表示する場合は、信号名を右クリックします。すべての信号を表示するには Esc キーを押します。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType プロパティを "spectrum" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。凡例を表示するには、[構成] セクションで [凡例] をクリックします。

[凡例] を有効にするには、[アナライザー] タブで [スペクトル] を選択します。

データ型: logical

カラー バーの表示/非表示。true または false として指定します。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType プロパティを "spectrogram" または "spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。カラー バーを表示するには、[構成] セクションで [カラー バー] をクリックします。

[カラー バー] を有効にするには、[アナライザー] タブで [スペクトログラム] を選択します。

データ型: logical

入力データ内のチャネルの名前。文字ベクトルの cell 配列または string の配列として指定します。このプロパティで指定した名前は、次の場所に表示されます。

  • 凡例

  • [スペクトル アナライザーの設定][色とスタイル] セクション

  • [測定値] タブと [チャネル測定] タブ

チャネル名を指定しない場合、スペクトル アナライザーはチャネルに Channel 1Channel 2 などの名前を付けます。

調整可能: Yes

依存関係

チャネル名を表示するには、ShowLegendtrue に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。凡例を表示するには、[構成] セクションで [凡例] をクリックします。

データ型: char

座標軸のレイアウト。"vertical" または "horizontal" のいずれかで指定します。垂直方向のレイアウトでは、スペクトルがスペクトログラムの上に表示されます。水平方向のレイアウトでは、2 つのビューが並べて表示されます。

調整可能: Yes

依存関係

このプロパティを有効にするには、ViewType"spectrum-and-spectrogram" に設定します。

スコープ ウィンドウの使用

スペクトル アナライザーのツールストリップの [アナライザー] タブをクリックします。[スペクトル][スペクトログラム] を選択します。[構成] セクションで [レイアウト] を選択し、更新します。

データ型: char | string

使用法

説明

scope(signal) は、スペクトル アナライザーで時間領域信号の周波数スペクトルを表示します。signal が周波数領域信号の場合、その信号はスペクトル アナライザーで直接表示されます。

scope(signal1,signal2,...,signalN) は、スペクトル アナライザーで複数の信号の周波数スペクトルを表示します。各信号のチャネル数は異なっても構いませんが、各信号のフレーム サイズは等しくなければなりません。

入力引数

すべて展開する

可視化する入力信号。スカラー、ベクトルまたは行列として指定します。各信号のチャネル数は異なっても構いませんが、各信号のフレーム サイズは等しくなければなりません。

このスコープは可変サイズの入力をサポートします。そのため、入力信号のフレーム サイズ (行数) はシミュレーション中に変化しても構いませんが、チャネル数 (列数) の変化は不可です。

InputDomain プロパティを "time" に設定した場合、入力信号は実数または複素数にできます。InputDomain プロパティを "frequency" に設定した場合、入力信号は実数でなければなりません。

例: scope(signal1,signal2)

スコープ ウィンドウの使用

スペクトル アナライザーでの信号の外観を変更するには、[アナライザー] タブをクリックし、[設定] をクリックします。[スペクトル アナライザーの設定] ウィンドウの [色とスタイル] で、信号を選択し、そのスタイル、幅、色およびマーカー タイプを変更します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
複素数のサポート: あり

オブジェクト関数

すべて展開する

generateScriptGenerate MATLAB script to create scope with current settings
getMeasurementsDataGet the current measurement data displayed on the spectrum analyzer
getSpectralMaskStatusGet test results of current spectral mask
getSpectrumDataSave spectrum data shown in spectrum analyzer
isNewDataReadyCheck spectrum analyzer for new data
printToFigurePrint scope window to MATLAB figure
showDisplay scope window
hideHide scope window
isVisibleDetermine visibility of scope
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

メモ

シミュレーションを最初から再開するには、reset を呼び出してスコープ ウィンドウの表示をクリアします。release の呼び出し後に reset を呼び出さないでください。

すべて折りたたむ

異なる振幅と周波数をもつ固定された実数の正弦波の和から作成された片側パワー スペクトルを表示します。

Fs = 100e6;  % Sample rate
fSz = 5000;  % Frame size

sin1 = dsp.SineWave(1e0,5e6,0,SamplesPerFrame=fSz,SampleRate=Fs);
sin2 = dsp.SineWave(1e-1,15e6,0,SamplesPerFrame=fSz,SampleRate=Fs);
sin3 = dsp.SineWave(1e-2,25e6,0,SamplesPerFrame=fSz,SampleRate=Fs);
sin4 = dsp.SineWave(1e-3,35e6,0,SamplesPerFrame=fSz,SampleRate=Fs);
sin5 = dsp.SineWave(1e-4,45e6,0,SamplesPerFrame=fSz,SampleRate=Fs);

scope = spectrumAnalyzer(SampleRate=Fs,AveragingMethod="exponential",...
    PlotAsTwoSidedSpectrum=false,...
    RBWSource="auto",SpectrumUnits="dBW");
    
for idx = 1:250
     y1 = sin1();
     y2 = sin2();
     y3 = sin3();
     y4 = sin4();
     y5 = sin5();
     scope(y1+y2+y3+y4+y5+0.0001*randn(fSz,1));
end

関数 release を呼び出してプロパティ値と入力の特性を変更します。スコープは座標軸を自動スケーリングします。

release(scope)

関数 clear を実行してスペクトル アナライザー ウィンドウを閉じます。

clear('scope');

スペクトル アナライザー上でノイズのある正弦波の両側パワー スペクトルを表示します。

sin = dsp.SineWave(Frequency=100,SampleRate=1000,...
    SamplesPerFrame=1000);
scope = spectrumAnalyzer(SampleRate=sin.SampleRate);
for ii = 1:250
  x = sin() + 0.05*randn(1000,1);
  scope(x);
end

関数 release を呼び出してプロパティ値と入力の特性を変更します。スコープは座標軸を自動的にスケーリングし、データが内部バッファーにある場合は表示をもう一度更新します。

release(scope);

MATLAB 関数 clear を実行してスペクトル アナライザー ウィンドウを閉じます。

clear('scope');

追加のランダム ノイズをもつチャープ信号のスペクトログラムをプロットします。

Fs = 233e3;
frameSize = 20e3;
chirp = dsp.Chirp(SampleRate=Fs,SamplesPerFrame=frameSize,...
  InitialFrequency=11e3,TargetFrequency=11e3+55e3);
  
scope = spectrumAnalyzer(SampleRate=Fs,...
    AveragingMethod="exponential",...
    ForgettingFactor=0.3,ViewType="spectrogram",...
    RBWSource="property",RBW=500,...
    TimeSpanSource="property",TimeSpan=2);

scope.PlotAsTwoSidedSpectrum = false;

for idx = 1:50
  y = chirp()+0.05*randn(frameSize,1);  
  scope(y);
end
release(scope)

スペクトル アナライザーを使用して、ホワイト ガウス ノイズに組み込まれている正弦波のスペクトル推定から周波数入力を表示します。

初期化

dsp.SpectrumEstimator オブジェクトを 2 つ作成します。ウェルチ手法に基づくスペクトル推定法をハン ウィンドウで使用するように 1 つのオブジェクトを設定します。フィルター バンク推定を使用するようにもう 1 つのオブジェクトを設定します。サンプルあたりのサイクルが 0.16、0.2、0.205、0.25 の 4 つの正弦波を持つ、ノイズを含む正弦波入力信号を指定します。spectrumAnalyzer オブジェクトを使用してスペクトル推定を表示します。

FrameSize = 420;
Fs = 1;
Frequency = [0.16 0.2 0.205 0.25];
sinegen = dsp.SineWave(SampleRate=Fs,SamplesPerFrame=FrameSize,...
    Frequency=Frequency,Amplitude=[2e-5 1  0.05  0.5]);
NoiseVar = 1e-10;
numAvgs = 8;

hannEstimator = dsp.SpectrumEstimator(PowerUnits="dBm",...
    Window="Hann",FrequencyRange="onesided",...
    SpectralAverages=numAvgs,SampleRate=Fs);

filterBankEstimator = dsp.SpectrumEstimator(PowerUnits="dBm",...
    Method="Filter bank",FrequencyRange="onesided",...
    SpectralAverages=numAvgs,SampleRate=Fs);

spectrumPlotter = spectrumAnalyzer(InputDomain="frequency",...
    SampleRate=Fs,SpectrumUnits="dBm",...
    YLimits=[-120,40],PlotAsTwoSidedSpectrum=false,...
    ChannelNames={'Hann window','Filter bank'},ShowLegend=true);

ストリーミング

入力をストリーミングします。スペクトル推定をスペクトル アナライザーで比較します。

for i = 1:1000
    x = sum(sinegen(),2) + sqrt(NoiseVar)*randn(FrameSize,1);
    Pse_hann = hannEstimator(x);
    Pfb = filterBankEstimator(x);
    spectrumPlotter([Pse_hann,Pfb])
end

spectrumAnalyzer MATLAB® オブジェクトを使用して、ノイズを含む正弦波入力信号のパワー スペクトルを計算して表示します。次のプロパティを有効にすることで、スペクトル内のピーク、カーソルの配置、隣接チャネル電力比、および歪みの値を測定します。

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

初期化

入力正弦波は次の 2 つの周波数をもちます。1000 Hz、5000 Hz。これら 2 つの周波数を生成する 2 つの dsp.SineWave System object を作成します。パワー スペクトルを計算して表示する spectrumAnalyzer オブジェクトを作成します。

Fs = 44100;
Sineobject1 = dsp.SineWave(SamplesPerFrame=1024,PhaseOffset=10,...
    SampleRate=Fs,Frequency=1000);
Sineobject2 = dsp.SineWave(SamplesPerFrame=1024,...
    SampleRate=Fs,Frequency=5000);
SA = spectrumAnalyzer(SampleRate=Fs,SpectrumType="power",...
    PlotAsTwoSidedSpectrum=false,ChannelNames={'Power spectrum of the input'},...
    YLimits=[-120 40],ShowLegend=true);

測定データの有効化

測定値を取得するには、Enabled プロパティを true に設定します。

SA.CursorMeasurements.Enabled = true;
SA.ChannelMeasurements.Enabled = true;
SA.PeakFinder.Enabled = true;
SA.DistortionMeasurements.Enabled = true;

getMeasurementsData の使用

ノイズを含む正弦波入力信号でストリーミングを行い、spectrumAnalyzer オブジェクトを使用して信号のパワー スペクトルを推定します。スペクトルの特性を測定します。関数 getMeasurementsData を使用して、これらの測定値をプログラムによって取得します。関数 isNewDataReady は、新しいスペクトル データが存在すると true を返します。測定データを変数 data に格納します。

data = [];
for Iter = 1:1000
    Sinewave1 = Sineobject1();
    Sinewave2 = Sineobject2();
    Input = Sinewave1 + Sinewave2;
    NoisyInput = Input + 0.001*randn(1024,1);
    SA(NoisyInput);
     if SA.isNewDataReady
        data = [data;getMeasurementsData(SA)];
     end
end

スコープ ウィンドウの下部にあるペインに、有効にした測定値が表示されます。これらのペインの値は、変数 data の最後のタイム ステップの値と一致します。data の個々のフィールドにアクセスして、さまざまな測定値をプログラムによって取得できます。

ピーク値の比較

PeakFinder プロパティを使用してピーク値を指定します。data の最後のタイム ステップのピーク値がスペクトル アナライザー プロットの値と一致することを確認します。

peakvalues = data.PeakFinder(end).Value 
peakvalues = 3×1

   26.3957
   22.7830
  -57.9977

frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz = 3×1

    4.9957
    0.9905
   20.6719

R2023b 以降

関数 printToFigure を使用し、spectrumAnalyzer オブジェクトの表示ウィンドウを新しい MATLAB® Figure に出力します。

チャープ信号を生成し、spectrumAnalyzer オブジェクトを使用してチャープのスペクトルを表示します。

chirp = dsp.Chirp(SweepDirection="Bidirectional", ...
    TargetFrequency=2000, ...
    InitialFrequency=0,...
    TargetTime=400, ...
    SweepTime=400, ...
    SamplesPerFrame=1024, ...
    SampleRate=4000);
scope = spectrumAnalyzer(AveragingMethod="exponential",...
    ForgettingFactor=0,SampleRate=4000);
scope(chirp());

チャープのスペクトルを新しい MATLAB Figure に出力します。関数は Figure のハンドルを返します。

scopeFig = printToFigure(scope);

Figure contains an axes object. The axes object contains an object of type image.

Figure scopeFig のハンドルを使用すると、Figure ウィンドウの外観と動作を変更できます。

Figure 名を指定し、Figure のサイズを 400×250 ピクセルに変更します。

scopeFig.Name="Spectrum of Chirp Signal";
scopeFig.NumberTitle="off";
scopeFig.Position=[1 1 400 250];

Figure Spectrum of Chirp Signal contains an axes object. The axes object contains an object of type image.

Figure に出力する際に引数 Visiblefalse に設定すると、Figure を非表示にすることができます。

scopeFig = printToFigure(scope,Visible=false);

制限

  • MATLAB Coder™ を使用した C/C++ コード生成をサポートしていません。スタンドアロン アプリケーションを生成するには、MATLAB Compiler™ を使用します。

  • オブジェクトの呼び出しを外部として扱うことで MEX コード生成をサポートします。

詳細

すべて展開する

ヒント

  • スコープ ウィンドウを閉じて、関連するデータをクリアするには、MATLAB の関数 clear を使用します。

  • スコープ ウィンドウを非表示または表示するには、関数 hideshow を使用します。

  • MATLAB の関数 mcc を使用して、スペクトル アナライザーを含むコードをコンパイルします。

アルゴリズム

すべて展開する

バージョン履歴

R2022a で導入

すべて展開する