Main Content

spectrumAnalyzer

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

説明

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

Spectrum Analyzer で信号のスペクトルを表示するには、次のようにします。

  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 プロパティで指定するアルゴリズムに基づいて信号を周波数スペクトルに変換します。

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

スペクトル アナライザーのツールストリップの [Estimation] タブで、[Input Domain][Time][Frequency] に設定します。

データ型: char | string

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

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

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

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

調整可能: Yes

依存関係

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

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

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

これらのオプションを有効にするには、[Estimation] タブで [Input Domain][Time] に設定します。

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

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

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

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

データ型: char | string

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

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

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

このプロパティは、スペクトル アナライザー ウィンドウの下部にあるステータス バーで有効にできます。ステータス バーを右クリックし、Sample Rate を選択します。

Sample Rate parameter enabled for display in the status bar.

データ型: double

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

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

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブで、[Method][Filter bank][Welch] に設定します。

このパラメーターを有効にするには、[Estimation] タブで [Input Domain][Time] に設定します。

データ型: char | string

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

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

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

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

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

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

データ型: logical

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

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Spectrum] タブまたは [Spectrogram] タブ (有効になっている場合) をクリックします。[Scale] セクションで [Frequency Scale][Linear] または [Log] に設定します。

[Frequency Scale][Log] に設定するには、[Spectrum] タブまたは [Spectrogram] タブ (有効になっている場合) の [Trace Options] セクションで [Two-Sided Spectrum] チェック ボックスをオフにします。[Two-Sided Spectrum] チェック ボックスをオンにした場合、[Frequency Scale][Linear] に設定しなければなりません。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

  • PlotNormalTracetrue に設定する。

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックし、[Configuration] セクションに移動し、[Settings] をクリックします。開いた [Spectrum Analyzer Settings] ウィンドウの [Display and Labels][Plot Type][Line] または [Stem] に設定します。

[Plot Type] を有効にするには、以下が必要です。

  • [Analyzer] タブの [Views] セクションで、[Spectrum] か、[Spectrum][Spectrogram] の両方を選択する。

  • [Spectrum] タブの [Trace Options] セクションで [Normal Trace] チェック ボックスを有効にする。

データ型: 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

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

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

データ型: char | string

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

spanRBW>2

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

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

詳細は、分解能帯域幅 (RBW)を参照してください。

調整可能: Yes

依存関係

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

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

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

このプロパティは、スペクトル アナライザー ウィンドウの下部にあるステータス バーで有効にできます。ステータス バーを右クリックし、RBW を選択します。

Enable RBW.

Status bar showing RBW.

データ型: double

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

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

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

調整可能: Yes

依存関係

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

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

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

[Frequency (Hz)] を有効にするには、[Input Domain][Frequency] に設定します。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

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

[Frequency (Hz)] を有効にするには、[Input Domain][Frequency] に設定します。

データ型: double

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

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

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Frequency Options] セクションで、[Frequency Span][Full][Span and Center Frequency] または [Start and Stop Frequencies] に設定します。

[Frequency Span] を有効にするには、[Input Domain][Time] に設定します。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Frequency Options] セクションで、[Frequency Span][Span and Center Frequency] に設定し、[Span (Hz)] を正のスカラーに設定します。

[Frequency Span] を有効にするには、[Input Domain][Time] に設定します。

データ型: double

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Frequency Options] セクションで、[Frequency Span][Span and Center Frequency] に設定し、[Center Frequency (Hz)] を実数スカラーに設定します。

[Frequency Span] を有効にするには、[Input Domain][Time] に設定します。

データ型: double

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Frequency Options] セクションで、[Frequency Span][Start and Stop Frequencies] に設定し、[Start Frequency (Hz)] を実数スカラーに設定します。

[Frequency Span] を有効にするには、[Input Domain][Time] に設定します。

データ型: double

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Frequency Options] セクションで、[Frequency Span][Start and Stop Frequencies] に設定し、[Stop Frequency (Hz)] を実数スカラーに設定します。

[Frequency Span] を有効にするには、[Input Domain][Time] に設定します。

データ型: double

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Window Options] セクションで [Overlap (%)] を設定します。

[Overlap (%)] を有効にするには、スペクトル アナライザーのツールストリップの [Estimation] タブで、[Input Domain][Time] に設定し、[Method][Welch] に設定します。

データ型: double

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

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

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

調整可能: Yes

依存関係

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

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

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

[Window] を有効にするには、スペクトル アナライザーのツールストリップの [Estimation] タブで、[Input Domain][Time] に設定し、[Method][Welch] に設定します。

データ型: 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" に設定します。

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

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

データ型: char | string

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Window Options] セクションで [Attenuation (dB)] を設定します。

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

  • [Input Domain][Time] に設定する。

  • [Method][Welch] に設定する。

  • スペクトル アナライザーのツールストリップの [Estimation] タブで、[Window][Chebyshev] または [Kaiser] に設定する。

データ型: double

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

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

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Averaging] セクションで、[Averaging Method][VBW] または [Exponential] に設定します。

[Averaging Method] を有効にするには、[Input Domain][Time] に設定します。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Averaging] セクションで [Forgetting Factor] のスライダーを調整します。

[Forgetting Factor] を有効にするには、[Input Domain][Time] に設定し、[Averaging Method][Exponential] に設定します。

データ型: double

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

  • "auto" — スペクトル アナライザーは RBW 値に合わせて VBW 値を調整します。

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Averaging] セクションで [VBW (Hz)][Auto] または [Sample Rate (Hz)]/2 以下の正の実数スカラーに設定します。

[VBW (Hz)] を有効にするには、[Input Domain][Time] に設定し、[Averaging Method][VBW] に設定します。

データ型: char | string

ビデオ帯域幅。SampleRate/2 以下の正のスカラーとして指定します。

VBW は、スペクトル アナライザーで信号を表示する前に行う信号のノイズの平均化または平滑化で使用するローパス フィルターの帯域幅です。ビデオ帯域幅はノイズのレベル (ノイズ フロア) には影響せず、ただ S/N 比が上昇し、ノイズのトレースが平滑化されます。

VBW の値を小さくすると、S/N 比は向上します。

ビデオ帯域幅フィルターのカットオフ周波数は次の式で求められます。

ωc=2πVBWFs/NFFT

Fs は入力サンプル レート、NFFT は FFT 点の数です。

スペクトル アナライザーでは、サンプル レート、VBW、NFFT の値が表示下部のステータス バーに表示されます。値を表示するには、ステータス バーを右クリックし、Sample Rate[VBW] および NFFT を選択します。

Enable Sample Rate, VBW, and NFFT in the status bar.

Status bar showing NFFT as 1536, VBW as 976.562 mHz and Sample Rate as 1 kHz.

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Estimation] タブをクリックします。[Averaging] セクションで、[VBW (Hz)][Auto] に設定するか、[Sample Rate (Hz)]/2 以下の正の実数スカラーを入力します。

[VBW (Hz)] を有効にするには、[Input Domain][Time] に設定し、[Averaging Method][VBW] に設定します。

データ型: double

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

調整可能: Yes

依存関係

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

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

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

[Input Unit] を有効にするには、[Input Domain][Frequency] に設定します。

データ型: char | string

スペクトル アナライザーが電力値を表示する単位。以下のいずれかとして指定します。

  • "dBm"

  • "dBFS"

  • "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""dBV", "Vrms"
"frequency""auto", "dBm", "dBV", "dBW", "Vrms", "Watts"

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

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

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

データ型: char | string

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

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

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

調整可能: Yes

依存関係

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

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

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

[Full Scale] を有効にするには、次のようにします。

  • [Analyzer] タブで、スペクトルのタイプを [Power] または [Power Density] に設定する。

  • [Estimation] タブで、[Input Domain][Time] を設定する。

  • [Spectrum] タブで、[Spectrum Unit][dBFS] または [dBFS/Hz] (スペクトルのタイプを [Power Density] に設定している場合) に設定する。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

  2. SpectrumType"power" に設定する。

  3. SpectrumUnits"dBFS" に設定する。

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

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

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

[Full Scale] を有効にするには、次のようにします。

  1. [Analyzer] タブで、スペクトルのタイプを [Power] に設定する。

  2. [Estimation] タブで、[Input Domain][Time] を設定する。

  3. [Spectrum] タブで、[Spectrum Unit][dBFS] に設定する。

データ型: double

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

調整可能: Yes

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

スペクトル アナライザーのツールストリップの [Spectrum] タブをクリックします。[Scale] セクションで [Reference Load (Ω)] を設定します。

データ型: double

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

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

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

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

調整可能: Yes

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

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

データ型: double

スペクトログラム

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

調整可能: Yes

依存関係

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

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

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

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

各スペクトログラム ラインの時間分解能のソース。"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

依存関係

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

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

スペクトル アナライザーのツールストリップの [Spectrogram] タブをクリックします。[Time Options] セクションで、[Time Resolution (s)]Auto に設定するか、正のスカラーを入力します。

[Time Resolution (s)] を有効にするには、[Analyzer] タブで [Spectrogram] を選択します。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Spectrogram] タブをクリックします。[Time Options] セクションで、[Time Resolution (s)]Auto に設定するか、正のスカラーを入力します。

[Time Resolution (s)] を有効にするには、[Analyzer] タブで [Spectrogram] を選択します。

データ型: double

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

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

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Spectrogram] タブをクリックします。[Time Options] セクションで、[Time Span (s)]Auto に設定するか、正のスカラーを入力します。

データ型: char | string

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

調整可能: Yes

依存関係

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

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

  • TimeSpanSource"property" に設定する。

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

スペクトル アナライザーのツールストリップの [Spectrogram] タブをクリックします。[Time Options] セクションで、[Time Span (s)]Auto に設定するか、正のスカラーを入力します。

データ型: double

測定

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

調整可能: Yes

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

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

データ型: double

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

調整可能: Yes

依存関係

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

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

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

[Channel Measurements] タブは、[Analyzer] タブで [Spectrum] を選択していると表示されます。

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

調整可能: Yes

依存関係

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

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

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

[Measurements] タブは、[Analyzer] タブで [Spectrum] を選択していると表示されます。

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

調整可能: Yes

依存関係

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

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

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

[Measurements] タブは、[Analyzer] タブで [Spectrum] を選択していると表示されます。

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

調整可能: Yes

依存関係

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

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

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

[Measurements] タブは、[Analyzer] タブで [Spectrum] を選択していると表示されます。

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

調整可能: Yes

依存関係

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

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

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

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

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

[Spectral Mask] タブは以下の場合に表示されます。

  • [Analyzer] タブで [Spectrum] を選択します。

  • [Spectrum] のドロップダウン リストで [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" に設定します。

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

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

[Normal Trace] チェック ボックスを有効にするには、[Analyzer] タブで [Spectrum] または [Spectrum][Spectrogram] を選択します。

データ型: logical

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

調整可能: Yes

依存関係

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

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

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

[Max-Hold Trace] チェック ボックスを有効にするには、[Analyzer] タブで [Spectrum] または [Spectrum][Spectrogram] を選択します。

データ型: logical

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

調整可能: Yes

依存関係

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

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

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

[Min-Hold Trace] チェック ボックスを有効にするには、[Analyzer] タブで [Spectrum] または [Spectrum][Spectrogram] を選択します。

データ型: logical

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

調整可能: Yes

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Configuration] セクションで [Settings] をクリックします。開いた [Spectrum Analyzer Settings] ウィンドウの [Display and labels][Title] を入力します。

データ型: char | string

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Configuration] セクションで [Settings] をクリックします。開いた [Spectrum Analyzer Settings] ウィンドウの [Display and labels][Y-Label] を入力します。

[Y-Label] を有効にするには、[Analyzer] タブで [Spectrum] または [Spectrum][Spectrogram] を選択します。

データ型: char | string

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Configuration] セクションで [Settings] をクリックします。開いた [Spectrum Analyzer Settings] ウィンドウの [Display and labels][Y-Axis Limits] を入力します。

[Y-Axis Limits] を有効にするには、[Analyzer] タブで [Spectrum] または [Spectrum][Spectrogram] を選択します。

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

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Configuration] セクションで [Settings] をクリックします。開いた [Spectrum Analyzer Settings] ウィンドウの [Display and labels][Color Limits] を入力します。

[Color Limits] を有効にするには、[Analyzer] タブで [Spectrogram] または [Spectrum][Spectrogram] を選択します。

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

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Configuration] セクションで [Settings] をクリックします。開いた [Spectrum Analyzer Settings] ウィンドウの [Display and labels][Color Map] を入力します。

[Color Map] を有効にするには、[Analyzer] タブで [Spectrogram] または [Spectrum][Spectrogram] を選択します。

データ型: double | char | string

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

調整可能: Yes

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Configuration] セクションで [Settings] をクリックします。表示された [Spectrum Analyzer Settings] ウィンドウの [Display and labels][Show Grid] を選択します。

データ型: logical

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

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

調整可能: Yes

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

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

データ型: logical

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

調整可能: Yes

依存関係

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

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

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

[Colorbar] を有効にするには、[Analyzer] タブで [Spectrogram] または [Spectrum][Spectrogram] を選択します。

データ型: logical

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

  • 凡例

  • [Spectrum Analyzer Settings][Color and styling] セクション

  • [Measurements] タブと [Channel Measurements] タブ

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

調整可能: Yes

依存関係

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

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

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

データ型: char

座標軸のレイアウト。"horizontal" または "vertical" のいずれかで指定します。

調整可能: Yes

依存関係

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

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

スペクトル アナライザーのツールストリップの [Analyzer] タブをクリックします。[Spectrum][Spectrogram] を選択します。[Configuration] セクションで [Layout] を選択し、更新します。

データ型: char | string

使用法

説明

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

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

入力引数

すべて展開する

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

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

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

例: scope(signal1,signal2)

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

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

データ型: 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
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 を実行して Spectrum Analyzer ウィンドウを閉じます。

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 を実行して Spectrum Analyzer ウィンドウを閉じます。

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 の使用

ノイズを含む正弦波入力信号でストリーミングを行い、スペクトル アナライザーを使用して信号のパワー スペクトルを推定します。スペクトルの特性を測定します。関数 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.9261
   24.1149
  -46.3163

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

    4.9957
    0.9905
    0.0646

ヒント

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

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

  • MATLAB の関数 mcc を使用して、Spectrum Analyzer を含むコードをコンパイルします。

アルゴリズム

すべて展開する

拡張機能

バージョン履歴

R2022a で導入