最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
時間領域信号の周波数スペクトルの表示
Spectrum Analyzer System object™ は、時間領域信号の周波数スペクトルを表示します。このスコープは可変サイズの入力をサポートするため、入力フレーム サイズを変更することができます。フレーム サイズは入力ベクトルの最初の次元です。入力チャネル数は一定でなければなりません。
Spectrum Analyzer で信号のスペクトルを表示するには、次のようにします。
dsp.SpectrumAnalyzer
オブジェクトを作成し、そのプロパティを設定します。
関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とはを参照してください。
scope = dsp.SpectrumAnalyzer
は Spectrum Analyzer System object を作成します。このオブジェクトは、実数値と複素数値の浮動小数点信号と固定小数点信号の周波数スペクトルを表示します。
scope = dsp.SpectrumAnalyzer(ports)
は Spectrum Analyzer オブジェクトを作成し、NumInputPorts プロパティを ports
の値に設定します。
scope = dsp.SpectrumAnalyzer(Name,Value)
は、1 つ以上の名前と値のペアを使用してプロパティを設定します。各プロパティ名を一重引用符で囲みます。
特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release
を使用します。
プロパティが "調整可能" の場合、その値をいつでも変更できます。
プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。
NumInputPorts
— 入力端子の数1
(既定値) | [1, 96] の間の整数入力端子の数。正の整数として指定します。個別の入力から入ってくる各信号はスコープで個別のチャネルになります。このプロパティの値と同じ入力の数でスコープを呼び出さなければなりません。
InputDomain
— 入力信号の領域"Time"
(既定値) | "Frequency"
可視化する入力信号の領域。時間領域信号を可視化する場合、信号は Method パラメーターで指定するアルゴリズムに基づいて周波数スペクトルに変換されます。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[入力領域] を設定します。
データ型: char
| string
SpectrumType
— 表示するスペクトルのタイプ"Power"
(既定値) | "Power density"
| "RMS"
表示するスペクトルのタイプを指定します。
"Power"
— パワー スペクトル
"Power density"
— パワー スペクトル密度。パワー スペクトル密度は、1 Hz の帯域幅に正規化されたスペクトルの振幅の二乗です。
"RMS"
— 平方根平均二乗。平方根平均二乗は平均二乗の平方根を示します。このオプションは電圧や電流の信号の周波数を表示する場合に便利です。
調整可能: Yes
[スペクトル設定] を開きます。[メイン オプション] セクションで、[タイプ] を設定します。
データ型: char
| string
ViewType
— ビューアーのタイプ"Spectrum"
(既定値) | "Spectrogram"
| "Spectrum and spectrogram"
スペクトル タイプを "Spectrum"
、"Spectrogram"
または "Spectrum and spectrogram"
のいずれかとして指定します。
"Spectrum"
— パワー スペクトルを表示します。
"Spectrogram"
— 時間の経過に沿って周波数成分を表示します。スペクトログラムの各ラインは 1 つのピリオドグラムです。時間は表示の下部から上部に向かってスクロールします。直近のスペクトログラムの更新は表示の下部にあります。
"Spectrum and Spectrogram"
— デュアル表示でスペクトルとスペクトログラムの両方を表示します。
調整可能: Yes
[スペクトル設定] を開きます。[メイン オプション] セクションで、[ビュー] を設定します。
データ型: char
| string
SampleRate
— 入力のサンプルレート10000
(既定値) | 有限スカラー入力信号のサンプルレートを Hz 単位で有限の数値スカラーとして指定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[サンプル レート (Hz)] を設定します。
Method
— スペクトル推定法"Welch"
(既定値) | "Filter Bank"
Welch
または Filter bank
のスペクトル推定法を指定します。
このプロパティを有効にするには、InputDomain を "Time"
に設定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[メソッド] を設定します。
データ型: char
| string
PlotAsTwoSidedSpectrum
— 両側スペクトル フラグtrue
(既定値) | false
true
— 両側スペクトル推定を計算およびプロットします。入力信号が複素数値の場合、このプロパティを true
に設定しなければなりません。
false
— 片側スペクトル推定を計算およびプロットします。このプロパティを false
に設定する場合、入力信号は実数値でなければなりません。
このプロパティが false
の場合、Spectrum Analyzer はパワーの折り返しを行います。0
とナイキスト周波数を除き、y 軸の値はこのプロパティを true
に設定した場合の振幅の 2 倍になります。片側パワー スペクトル密度 (PSD) には、DC からナイキスト レートの半分までの周波数範囲内での信号の合計パワーが含まれます。詳細については、pwelch
を参照してください。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[両側スペクトル] を選択します。
データ型: logical
FrequencyScale
— 周波数スケール"Linear"
(既定値) | "Log"
"Log"
— 対数スケールの x 軸に周波数を表示します。"Log"
の設定を使用するためには、PlotAsTwoSidedSpectrum
プロパティも false
に設定しなければなりません。
"Linear"
— 線形スケールの x 軸に周波数を表示します。"Linear"
の設定を使用するためには、PlotAsTwoSidedSpectrum
プロパティも true
に設定しなければなりません。
調整可能: Yes
[スペクトル設定] を開きます。[トレース オプション] セクションで、[スケール] を設定します。
データ型: char
| string
FrequencySpan
— 周波数スパン モード"Full"
(既定値) | "Span and center frequency"
| "Start and stop frequencies"
"Full"
- Spectrum Analyzer は、ナイキスト周波数範囲全体のスペクトルを計算およびプロットします。
"Span and center frequency"
- Spectrum Analyzer は、Span プロパティと CenterFrequency プロパティで指定された区間のスペクトルを計算し、プロットします。
"Start and stop frequencies"
- Spectrum Analyzer は、StartFrequency プロパティと StopFrequency プロパティで指定された区間のスペクトルを計算し、プロットします。
調整可能: Yes
[スペクトル設定] を開きます。[メイン オプション] セクションで、"Full"
の [全周波数スパン] を選択します。それ以外の場合、[全周波数スパン] チェック ボックスをオフにし、[スパン]
または [FStart]
を選択します。
データ型: char
| string
Span
— スペクトルを計算する周波数スパン10e3
(既定値) | 実数の正のスカラーSpectrum Analyzer がスペクトルを計算してプロットする周波数スパン (Hz 単位) を指定します。このプロパティと CenterFrequency プロパティで定義されるスパン全体が、ナイキスト周波数範囲範囲内になければなりません。
調整可能: Yes
このプロパティを有効にするには、FrequencySpan を "Span and center frequency"
に設定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[全周波数スパン] チェック ボックスをオフにし、[スパン]
を設定します。
StartFrequency
— スペクトルを計算する周波数の開始点-5e3
(既定値) | 実数スカラースペクトルが計算される周波数範囲の開始点。実数のスカラーとしてヘルツ数で指定します。このプロパティと StopFrequency で定義されるスパン全体が、ナイキスト周波数範囲範囲内になければなりません。
調整可能: Yes
このプロパティを有効にするには、FrequencySpan を "Start and stop frequencies"
に設定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[全周波数スパン] をオフにし、[スパン]
を [FStart]
に変更します。[FStart (Hz)] を設定します。
StopFrequency
— スペクトルを計算する周波数の終了点5e3
(既定値) | 実数スカラースペクトルが計算される周波数範囲の終了点。実数のスカラーとしてヘルツ数で指定します。このプロパティと StartFrequency プロパティで定義されるスパン全体が、ナイキスト周波数範囲内になければなりません。
調整可能: Yes
このプロパティを有効にするには、FrequencySpan を "Start and stop frequencies"
に設定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[全周波数スパン] をオフにし、[スパン]
を [FStart]
に変更します。[FStop (Hz)] を設定します。
CenterFrequency
— 周波数スパンの中心0
(既定値) | 実数スカラーSpectrum Analyzer がスペクトルを計算してプロットする範囲の中心周波数 (Hz 単位) を実数のスカラーとして指定します。Span とこのプロパティで定義される周波数スパン全体が、ナイキスト周波数範囲範囲内になければなりません。
調整可能: Yes
このプロパティを有効にするには、FrequencySpan を "Span and center frequency"
に設定します。
[スペクトル設定] を開きます。[メイン] で、[全周波数スパン] をオフにし、[CF (Hz)] を設定します。
FrequencyResolutionMethod
— 周波数分解能の方法"RBW"
(既定値) | "WindowLength"
| "NumFrequencyBands"
Spectrum Analyzer の周波数分解能の方法を指定します。
"RBW"
- RBWSource プロパティと RBW プロパティは、アナライザーの周波数分解能 (Hz 単位) を制御します。FFT 長は指定した RBW 値を達成した結果のウィンドウの長さまたは 1024 のどちらか大きいほうの値になります。
"WindowLength"
- Method プロパティが "Welch"
に設定されている場合にのみ適用されます。WindowLength プロパティは、周波数分解能を制御します。FFT 点の数は、FrequencyResolutionMethod
プロパティが "WindowLength"
の場合にのみ制御できます。
"NumFrequencyBands"
- Method プロパティが "Filter Bank"
に設定されている場合にのみ適用されます。FFTLengthSource
プロパティと FFTLength
プロパティは、周波数分解能を制御します。
調整可能: Yes
このプロパティを有効にするには、InputDomain を "Time"
に設定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[RBW (Hz)] ドロップダウンを選択して周波数分解能の方法を設定します。
データ型: char
| string
RBWSource
— 分解能帯域幅の値のソース"Auto"
(既定値) | "Property"
分解能帯域幅 (RBW) のソースを "Auto"
または "Property"
のいずれかとして指定します。
"Auto"
— スペクトル アナライザーは定義された周波数スパン全体に 1024 の RBW 間隔が必ず存在するようにスペクトル推定分解能を調整します。
"Property"
— RBW プロパティを使って分解能帯域幅を直接指定します。
調整可能: Yes
このプロパティを有効にするには、次のいずれかを設定します。
InputDomain を "Time"
、FrequencyResolutionMethod を "RBW"
に設定する。
InputDomain
を "Frequency"
に設定する。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[RBW (Hz)] を設定します。
データ型: char
| string
RBW
— 分解能帯域幅9.76
(既定値) | 実数の正のスカラーRBW は Spectrum Analyzer のスペクトル分解能を制御します。分解能帯域幅を Hz 単位で実数の正のスカラーとして指定します。指定した周波数スパンに少なくとも 2 つの RBW 間隔が必ず存在するようになる値を指定しなければなりません。したがって、スパン全体と RBW の比率は、次の式で表すように 2 より大きくなければなりません。
FrequencySpan プロパティの設定方法に基づいて、スパン全体をさまざまな方法で指定することができます。
有効にするには、以下を設定します。
RBWSource を "Property"
に設定する。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[RBW (Hz)] を設定します。
WindowLength
— ウィンドウの長さ1024
(既定値) | 2 より大きい整数スペクトル推定の計算に使用するウィンドウの長さをサンプル数で指定して、周波数分解能を制御します。ウィンドウの長さは 2 より大きい整数のスカラーでなければなりません。
調整可能: Yes
このプロパティを有効にするには、次を設定します。
FrequencyResolutionMethod を "WindowLength"
に設定し、ウィンドウの長さ設定に基づいて周波数分解能を制御する。
Method を "Welch"
に設定する。
[スペクトル設定] を開きます。[RBW (Hz)] ドロップダウンを [ウィンドウの長さ]
に変更します。
FFTLengthSource
— FFT 長のソース"Auto"
(既定値) | "Property"
"Auto"
- FFT 長を WindowLength プロパティで指定されたウィンドウの長さまたは 1024 のどちらか大きいほうの値に設定します。
"Property"
- FFTLength
プロパティを使用した FFT 点の数。FFTLength
は WindowLength
よりも大きくなければなりません。
調整可能: Yes
このプロパティを有効にするには、FrequencyResolutionMethod を "WindowLength"
に設定します。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[RBW (Hz)] オプションの横に数値を入力するか [自動]
を選択します。
データ型: char
| string
FFTLength
— FFT 長1024
(既定値) | 正の整数Spectrum Analyzer がスペクトル推定を計算するために使用する FFT 長を指定します。
FrequencyResolutionMethod が "RBW"
の場合、FFT 長は指定された分解能帯域幅値を得るために必要なウィンドウの長さまたは 1024 のどちらか大きいほうの値に設定されます。
調整可能: Yes
このプロパティを使用するには、以下に該当しなければなりません。
FrequencyResolutionMethod が "WindowLength"
または "NumFrequencyBands"
に設定されている。
FFTLength
が WindowLength 以上。
FFTLengthSource が "Property"
に設定されている。
[スペクトル設定] を開きます。[メイン オプション] セクションで、[RBW (Hz)] オプションの横に数値を入力するか [自動]
を選択します。
NumTapsPerBand
— 周波数帯域ごとのフィルター タップ数12
(既定値) | 正の偶数のスカラーFrequencyVectorSource
— 周波数ベクトルのソース"Auto"
(既定値) | "Property"
"Auto"
— 周波数ベクトルは入力の長さから計算されます。周波数ベクトルを参照してください。
"Property"
— 周波数ベクトルとしてカスタム ベクトルを入力します。
このプロパティを有効にするには、InputDomain を "Frequency"
に設定します。
[スペクトル設定] を開きます。[周波数入力オプション] セクションで、[周波数 (Hz)] を設定します。
データ型: char
| string
FrequencyVector
— カスタム周波数ベクトル[-5000 5000]
(既定値) | 単調増加ベクトル表示の x 軸を決定する周波数ベクトルを設定します。ベクトルは単調増加し、入力フレーム サイズと同じサイズでなければなりません。
このプロパティを有効にするには、FrequencyVectorSource
を "Property"
に設定します。
[スペクトル設定] を開きます。[周波数入力オプション] セクションで、[周波数 (Hz)] を設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
OverlapPercent
— オーバーラップ率0
(既定値) | 実数のスカラー値バッファーされた現在と直前のデータ セグメント間のオーバーラップ率。実数のスカラー値として指定します。オーバーラップにより、スペクトル推定の計算に使用されるウィンドウ セグメントが作成されます。この値は 0 以上 100 未満でなければなりません。
調整可能: Yes
[スペクトル設定] を開きます。[ウィンドウ オプション] セクションで、[オーバーラップ (%)] を設定します。
Window
— ウィンドウ関数"Hann"
(既定値) | "Rectangular"
| "Chebyshev"
| "Flat Top"
| "Hamming"
| "Kaiser"
| "Blackman-Harris"
| "Custom"
スペクトル推定器のウィンドウ関数を指定します。以下の表に事前に設定されたウィンドウを示します。詳細については、Signal Processing Toolbox™ ドキュメンテーションの対応する関数リファレンスへのリンクを参照してください。
ウィンドウ オプション | 対応する Signal Processing Toolbox 関数 |
---|---|
"Rectangular" | rectwin |
"Chebyshev" | chebwin |
"Flat Top" | flattopwin |
"Hamming" | hamming |
"Hann" | hann |
"Kaiser" | kaiser |
"Blackman-Harris" | blackmanharris |
独自のスペクトル推定ウィンドウを設定するには、このプロパティを "Custom"
に設定し、CustomWindow プロパティでカスタム ウィンドウ関数を指定します。
調整可能: Yes
[スペクトル設定] を開きます。[ウィンドウ オプション] セクションで [ウィンドウ] を設定します。
データ型: char
| string
CustomWindow
— カスタム ウィンドウ関数"hann"
(既定値) | 文字配列 | 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
SidelobeAttenuation
— ウィンドウのサイドローブ減衰60
(既定値) | 実数の正のスカラーウィンドウのサイドローブ減衰 (dB 単位)。値は 45
以上でなければなりません。
調整可能: Yes
このプロパティを有効にするには、Window を "Chebyshev"
または "Kaiser"
に設定します。
[スペクトル設定] を開きます。[ウィンドウ オプション] セクションで、[減衰 (dB)] を設定します。
InputUnits
— 周波数入力の単位"dBm"
(既定値) | "dBV"
| "dBW"
| "Vrms"
| "Watts"
周波数領域入力の単位を選択します。このプロパティによって、単位, Units単位Units プロパティで異なる表示単位を選択した場合にスペクトル アナライザーは周波数データをスケーリングできます。
このオプションは、InputDomain が [周波数]
に設定されている場合にのみ使用できます。
[スペクトル設定] を開きます。[周波数入力オプション] セクションで、[入力単位] を設定します。
データ型: char
| string
SpectrumUnits
— スペクトルの単位"Auto"
(既定値) | "dBm"
| "dBFS"
| "dBV"
| "dBW"
| "Vrms"
| "Watts"
Spectrum Analyzer が電力値を表示する単位を指定します。
調整可能: Yes
使用可能なスペクトルの単位は SpectrumType の値によって異なります。
InputDomain | SpectrumType | 指定可能な SpectrumUnits |
---|---|---|
Time | Power または Power density | "dBFS" 、"dBm" 、"dBW" 、"Watts" |
RMS | "Vrms" 、"dBV" | |
Frequency | ― | "dBm" 、"dBV" 、"dBW" 、"Vrms" 、"Watts" |
[スペクトル設定] を開きます。[トレース オプション] セクションで、[単位] を設定します。
データ型: char
| string
FullScaleSource
— フル スケールのソース"Auto"
(既定値) | "Property"
dBFS スケーリング係数のソースを "Auto"
または "Property"
のいすれかとして指定します。
"Auto"
- Spectrum Analyzer は入力データに基づいてスケーリング係数を調整します。
"Property"
- FullScale
プロパティを使用してフル スケールのスケーリング係数を指定します。
このプロパティを有効にするには、SpectrumUnits を "dBFS"
に設定します。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[フル スケール] を Auto
に設定するか、数値を入力します。
データ型: char
| string
FullScale
— フル スケール1
(既定値) | 正のスカラーdBFS
のフル スケールに対して実数の正のスカラーを指定します。
調整可能: Yes
このオプションを有効にするには、次のように設定します。
SpectrumUnits を "dBFS"
に設定する。
FullScaleSource を "Property"
に設定する。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[フル スケール] を Auto
に設定するか、数値を入力します。
AveragingMethod
— 平滑化法"Running"
(既定値) | "Exponential"
平滑化法を指定します。
Running
— 最後の n 個のサンプルの移動平均。SpectralAverages
プロパティを使用して n を指定します。
Exponential
— サンプルの加重平均。ForgettingFactor
プロパティを使用して重み付け忘却係数を指定します。
平均化方法の詳細については、平均化方法を参照してください。
このプロパティを有効にするには、ViewType
を "Spectrum"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[平均化方法] を設定します。
データ型: char
| string
SpectralAverages
— スペクトル平均の数1
(既定値) | 正の整数Spectrum Analyzer は、最後の N 個のパワー スペクトル推定の移動平均を計算することで現在のパワー スペクトル推定を計算します。このプロパティは N を定義します。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrum"
に設定します。
このプロパティは AveragingMethod
が "Running"
である場合にのみ適用されます。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[平均] を設定します。
ForgettingFactor
— 重み付け忘却係数0.9
(既定値) | (0,1] の範囲のスカラー指数の重み付けの値を 0 より大きい 1 以下のスカラー値として指定します。
このプロパティは AveragingMethod
が "Exponential"
である場合にのみ適用されます。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[忘却係数] を設定します。
ReferenceLoad
— 参照負荷1
(既定値) | 実数の正のスカラースコープがパワー レベルの計算で基準として使用する負荷。
調整可能: Yes
[スペクトル設定] を開きます。[トレース オプション] セクションで、[参照負荷] を設定します。
FrequencyOffset
— Frequency offset0
(既定値) | スカラー | ベクトルスカラー — 同じ周波数オフセットをすべてのチャネルに適用します。文字ベクトルとしてヘルツ数で指定します。
ベクトル — 各チャネルに特定の周波数オフセットを適用します。周波数のベクトルを指定します。ベクトルの長さは入力チャネル数と同じでなければなりません。
周波数軸の値はこのプロパティで指定される値でオフセットされます。スパン全体がナイキスト周波数範囲の範囲内になければなりません。FrequencySpan
プロパティの設定方法に基づいて、スパン全体をさまざまな方法で制御することができます。
調整可能: Yes
[スペクトル設定] を開きます。[トレース オプション] セクションで、[オフセット (Hz)] を設定します。
SpectrogramChannel
— スペクトログラムがプロットされるチャネル1
(既定値) | 正のスカラー整数スペクトログラムがプロットされるチャネルを、[1 N] の範囲内にある実数の正のスカラー整数として指定します。ここで、N は入力チャネルの数です。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrogram"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[スペクトログラム オプション] セクションで、[チャネル] を選択します。
TimeResolutionSource
— 時間分解能値のソース"Auto"
(既定値) | "Property"
各スペクトログラム ラインの時間分解能のソースを "Auto"
または "Property"
のいずれかとして指定します。TimeResolution プロパティは、さまざまな周波数分解能方法の時間分解能と時間分解能のプロパティを示します。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrogram"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[スペクトログラム オプション] セクションで、[時間分解能 (s)] を設定します。
データ型: char
| string
TimeResolution
— 時間分解能0.001
(既定値) | 正のスカラー各スペクトログラム ラインの時間分解能を秒単位で表される正のスカラーとして指定します。
時間分解能の値は、周波数分解能法、RBW の設定および時間分解能の設定に基づいて決定されます。
メソッド | 周波数分解能の方法 | 周波数分解能の設定 | 時間分解能の設定 | 結果として得られる時間分解能 (秒単位) |
---|---|---|---|---|
ウェルチ またはフィルター バンク | RBW (Hz) | 自動 | 自動 | 1/RBW |
ウェルチ またはフィルター バンク | RBW (Hz) | 自動 | 手動入力 | 時間分解能 |
ウェルチ またはフィルター バンク | RBW (Hz) | 手動入力 | 自動 | 1/RBW |
ウェルチ またはフィルター バンク | RBW (Hz) | 手動入力 | 手動入力 | 達成可能な最小時間分解能である 1/RBW 以上でなければなりません。いくつかのスペクトル推定が 1 つのスペクトログラム ラインにまとめられ、目的の時間分解能が得られます。1/RBW の整数倍でない時間分解能の値を得るには内挿が使用されます。 |
ウェルチ | ウィンドウの長さ | — | 自動 | 1/RBW |
ウェルチ | ウィンドウの長さ | — | 手動入力 | 達成可能な最小時間分解能以上でなければなりません。いくつかのスペクトル推定が 1 つのスペクトログラム ラインにまとめられ、目的の時間分解能が得られます。1/RBW の整数倍でない時間分解能の値を得るには内挿が使用されます。 |
フィルター バンク | 周波数帯域の数 | — | 自動 | 1/RBW |
フィルター バンク | 周波数帯域の数 | — | 手動入力 | 達成可能な最小時間分解能である 1/RBW 以上でなければなりません。 |
調整可能: Yes
このプロパティを有効にするには、次を設定します。
ViewType を "Spectrogram"
または "Spectrum and spectrogram"
に設定する。
TimeResolutionSource を "Property
に設定する。
[スペクトル設定] を開きます。[スペクトログラム オプション] セクションの [時間分解能 (s)] ボックスで、数値を入力します。
TimeSpanSource
— 時間範囲の値のソース"Auto"
(既定値) | "Property"
スペクトログラムの時間範囲のソースを "Auto"
または "Property"
のいずれかとして指定します。このプロパティを "Auto"
に設定すると、スペクトログラムは常に 100 のスペクトログラム ラインを表示します。このプロパティを "Property"
に設定すると、スペクトログラムは TimeSpan プロパティで秒単位で指定する持続時間を使用します。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrogram"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[スペクトログラム オプション] セクションで、[時間範囲 (秒)] を設定します。
データ型: char
| string
TimeSpan
— 時間範囲0.1
(既定値) | 正のスカラースペクトログラム表示の時間範囲を秒単位で指定します。時間範囲は、スペクトルの更新に必要なサンプル数の持続時間の少なくとも 2 倍に設定しなければなりません。
調整可能: Yes
このプロパティを有効にするには、次を設定します。
ViewType を "Spectrogram"
または "Spectrum and spectrogram"
に設定する。
TimeSpanSource を "Property"
に設定する。
[スペクトル設定] を開きます。[スペクトログラム オプション] セクションの [時間範囲 (秒)] ボックスで、数値を入力します。
MeasurementChannel
— 測定値が取得されるチャネル1
(既定値) | 正の整数測定値が取得されるチャネル。0 より大きく、100 以下である実数の正の整数として指定します。指定できる最大値は入力信号内のチャネル (列) 数です。
調整可能: Yes
[ツール]、[測定値]、[トレース選択] 設定をクリックします。
データ型: double
SpectralMask
— スペクトル マスク ラインSpectralMaskSpecification
オブジェクトスペクトル マスクの上側のラインと下側のラインをスペクトル プロットに表示するかどうかを指定します。このプロパティは SpectralMaskSpecification
プロパティを使用し、スペクトル マスクを有効にして構成します。SpectralMaskSpecification
プロパティは、以下のとおりです。
EnabledMasks
— 有効にするマスク。文字ベクトルまたは string として指定します。有効な値は "None"
、"Upper"
、"Lower"
または "Upper and lower"
です。
既定値: "None"
UpperMask
— スペクトル マスクの上限。スカラーまたは 2 列の行列として指定します。UpperMask
がスカラーの場合、上限マスクは Spectrum Analyzer に適用できるすべての周波数値に対してスカラーの電力値を使用します。UpperMask
が行列の場合、最初の列には x 軸の値に対応する周波数値 (Hz) が含まれます。2 番目の列には、関連付けられた y 軸の値に対応する電力値が含まれます。電力値および周波数値にオフセットを適用するには、それぞれ ReferenceLevel
プロパティと MaskFrequencyOffset
プロパティの値を使用します。
既定値: Inf
LowerMask
— スペクトル マスクの下限。スカラーまたは 2 列の行列として指定します。LowerMask
がスカラーの場合、下限マスクは Spectrum Analyzer に適用できるすべての周波数値に対してスカラーの電力値を使用します。LowerMask
が行列の場合、最初の列には x 軸の値に対応する周波数値 (Hz) が含まれます。2 番目の列には、関連付けられた y 軸の値に対応する電力値が含まれます。電力値および周波数値にオフセットを適用するには、それぞれ ReferenceLevel
プロパティと MaskFrequencyOffset
プロパティの値を使用します。
既定値: -Inf
ReferenceLevel
— マスクの電力値の基準レベル。"Custom"
または "Spectrum peak"
のいずれかで指定します。ReferenceLevel
が "Custom"
の場合、CustomReferenceLevel
プロパティの値が UpperMask
および LowerMask
プロパティの電力値 (dBr 単位) に対する基準として使用されます。ReferenceLevel
が "Spectrum peak"
の場合、SelectedChannel
の電流スペクトルのピーク値が使用されます。
既定値: "Custom"
CustomReferenceLevel
— カスタム基準レベル。実数値で指定します (電力単位と同じ単位)。基準レベルとは、UpperMask
プロパティおよび LowerMask
プロパティの電力値の基準となる値です。このプロパティは、ReferenceLevel
が "Custom"
に設定されている場合に適用されます。このプロパティは、Spectrum Analyzer の PowerUnits
プロパティと同じ単位を使用します。
既定値: 0
SelectedChannel
— マスク基準レベルとして使用するピーク スペクトルを含む入力チャネル。整数として指定します。このプロパティは、ReferenceLevel
が "Spectrum peak"
に設定されている場合に適用されます。
既定値: 1
MaskFrequencyOffset
— 周波数オフセット。有限の数値スカラーとして指定します。周波数オフセットとは、UpperMask
プロパティと LowerMask
プロパティの周波数値に適用するオフセットの量です。
既定値: 0
SpectralMaskSpecification
プロパティはすべて調整可能です。
マスクはスペクトル上に重ねられます。マスクが緑の場合、信号はマスク制限をパスしています。マスクが赤の場合、信号はマスク制限に掛かっています。
スペクトル マスクのステータスは次のいずれかのメソッドを使用して確認できます。
スペクトル マスクを変更し、スペクトル マスクのステータスを確認するには、スコープのツール バーで [スペクトル マスク] ボタン を選択します。表示される [スペクトル マスク] ペインでは、マスクを変更したり、マスクに成功している時間の割合、失敗しているマスク、マスクに失敗した回数、失敗の原因となったチャネルに関する詳細を確認することができます。
スペクトル マスクの現在のステータスを取得するには、関数 getSpectralMaskStatus
を呼び出します。
マスクに失敗するたびにアクションを実行するには、MaskTestFailed
イベントを使用します。マスクに失敗したときに関数をトリガーするには、MaskTestFailed
イベントのリスナーを作成し、トリガーするコールバック関数を定義します。イベントの使用の詳細については、イベントを参照してください。
調整可能: Yes
[スペクトル マスク] ペインを開いて、[設定] オプションを変更します。
PeakFinder
— ピークの検出測定PeakFinderSpecification
オブジェクトピークの検出を有効にして、最大ピーク値を計算し、計算された最大ピーク値を表示します。PeakFinder
プロパティは PeakFinderSpecification
プロパティを使用します。
PeakFinderSpecification
プロパティは、以下のとおりです。
MinHeight
–– ピークが検出される最低レベル。スカラー値として指定します。
既定値: -Inf
NumPeaks
–– 表示するピークの最大数。100 より小さい正の整数スカラーとして指定します。
既定値: 3
MinDistance
–– 隣接するピーク間のサンプルの最小数。正の実数スカラーとして指定します。
既定値: 1
Threshold
–– ピークとその隣接するサンプルとの高さの最小差異。非負の実数スカラーとして指定します。
既定値: 0
LabelFormat
–– 計算されたピーク値の隣に表示する座標。文字ベクトルまたは string スカラーとして指定します。有効な値は "X"
、"Y"
、または "X + Y"
です。
既定値: "X + Y"
Enable
–– ピークの検出測定を有効にするには、このプロパティを true
に設定します。有効な値は true
または false
です。
既定値: false
PeakFinderSpecification
プロパティはすべて調整可能です。
調整可能: Yes
[ピークの検出] ペイン () を開き、[設定] オプションを変更します。
CursorMeasurements
— カーソルの測定CursorMeasurementsSpecification
オブジェクト画面または波形カーソルを表示するには、カーソルの測定を有効にします。CursorMeasurements
プロパティは CursorMeasurementsSpecification
プロパティを使用します。
CursorMeasurementsSpecification
プロパティは、以下のとおりです。
Type
–– ディスプレイ カーソルのタイプ。"Screen cursors"
または "Waveform cursors"
のいずれかで指定します。
既定値: "Waveform cursors"
ShowHorizontal
–– 水平方向のスクリーン カーソルを表示するには、このプロパティを true
に設定します。このプロパティは、Type
プロパティを "Screen cursors"
に設定した場合に適用されます。
既定値: true
ShowVertical
–– 垂直方向のスクリーン カーソルを表示するには、このプロパティを true
に設定します。このプロパティは、Type
プロパティを "Screen cursors"
に設定した場合に適用されます。
既定値: true
Cursor1TraceSource
–– 波形カーソル 1 のソースを正の実数スカラーとして指定します。このプロパティは、Type
プロパティを "Waveform cursors"
に設定した場合に適用されます。
既定値: 1
Cursor2TraceSource
–– 波形カーソル 2 のソースを正の実数スカラーとして指定します。このプロパティは、Type
プロパティを "Waveform cursors"
に設定した場合に適用されます。
既定値: 1
LockSpacing
–– カーソル間の間隔をロックします。logical のスカラーとして指定します。
既定値: false
SnapToData
–– カーソルをデータにスナップします。logical のスカラーとして指定します。
既定値: true
XLocation
–– カーソルの x 座標。長さが 2 に等しい実数ベクトルとして指定します。
既定値: [-2500 2500]
YLocation
–– カーソルの y 座標。長さが 2 に等しい実数ベクトルとして指定します。このプロパティは、Type
プロパティを "Screen cursors"
に設定した場合に適用されます。
既定値: [-55 5]
Enable
–– カーソルの測定を有効にするには、このプロパティを true
に設定します。有効な値は true
または false
です。
既定値: false
CursorMeasurementsSpecification
プロパティはすべて調整可能です。
[カーソルの測定] ペイン () を開いて、[設定] オプションを変更します。
ChannelMeasurements
— チャネル測定ChannelMeasurementsSpecification
オブジェクトチャネル測定を有効にして、占有帯域幅または隣接チャネル電力比を計算して表示します。ChannelMeasurements
プロパティは ChannelMeasurementsSpecification
プロパティを使用します。
ChannelMeasurementsSpecification
プロパティは、以下のとおりです。
Algorithm
–– 表示する測定データのタイプ。"Occupied BW"
または "ACPR"
のいずれかで指定します。
既定値: "Occupied BW"
FrequencySpan
–– 周波数スパン モード。"Span and center frequency"
または "Start and stop frequencies"
のいずれかで指定します
既定値: "Span and center frequency"
Span
–– チャネル測定を計算する周波数スパン。実数の正のスカラーで指定します (Hz 単位)。このプロパティは、FrequencySpan
プロパティを "Span and center frequency"
に設定した場合に適用されます。
既定値: 2000
Hz
CenterFrequency
–– チャネル測定を計算するスパンの中心周波数。実数スカラーで指定します (Hz 単位)。このプロパティは、FrequencySpan
プロパティを "Span and center frequency"
に設定した場合に適用されます。
既定値: 0
Hz
StartFrequency
–– チャネル測定を計算する周波数の開始点。実数スカラーで指定します (Hz 単位)。このプロパティは、FrequencySpan
プロパティを "Start and stop frequencies"
に設定した場合に適用されます。
既定値: -1000
Hz
StopFrequency
–– チャネル測定を計算する周波数の終了点。実数スカラーで指定します (Hz 単位)。このプロパティは、FrequencySpan
プロパティを "Start and stop frequencies"
に設定した場合に適用されます。
既定値: 1000
Hz
PercentOccupiedBW
–– 占有帯域幅を計算するパワー比率。正の実数スカラーとして指定します。このプロパティは、Algorithm
プロパティを "Occupied BW"
に設定した場合に適用されます。
既定値: 99
NumOffsets
–– 隣接チャネル ペアの数。実数の正の整数として指定します。このプロパティは、Algorithm
プロパティを "ACPR"
に設定した場合に適用されます。
既定値: 2
AdjacentBW
–– 隣接するチャネル帯域幅。正の実数のスカラーとして指定します。このプロパティは、Algorithm
プロパティを "ACPR"
に設定した場合に適用されます。
既定値: 1000
FilterShape
–– メイン チャネルと隣接チャネル両方のフィルターの形状。"None"
、"Gaussian"
、または "RRC"
で指定します。このプロパティは、Algorithm
プロパティを "ACPR"
に設定した場合に適用されます。
既定値: "None"
FilterCoeff
–– チャネル フィルター係数。0
と 1
の間の実数スカラーとして指定します。このプロパティは、Algorithm
プロパティを "ACPR"
に設定し、FilterShape
プロパティを "Gaussian"
または "RRC"
のいずれかに設定した場合に適用されます。
既定値: 0.5
ACPROffsets
–– メイン チャネルの中心周波数に対する隣接チャネルの周波数。NumOffsets
で指定したオフセット ペアの数に等しい長さの実数ベクトルとして指定します。このプロパティは、Algorithm
プロパティを "ACPR"
に設定した場合に適用されます。
既定値: [2000 3500]
Enable
–– チャネル測定を有効にするには、このプロパティを true
に設定します。有効な値は true
または false
です。
既定値: false
ChannelMeasurementsSpecification
プロパティはすべて調整可能です。
[チャネル設定] ペイン () を開いて、[測定] オプションと [チャネル設定] オプションを変更します。
DistortionMeasurements
— 歪みの測定DistortionMeasurementsSpecification
オブジェクト高調波歪みと相互変調歪みを計算して表示するには、歪みの測定を有効にします。DistortionMeasurements
プロパティは DistortionMeasurementsSpecification
プロパティを使用します。
DistortionMeasurementsSpecification
プロパティは、以下のとおりです。
Algorithm
–– 表示する測定データのタイプ。"Harmonic"
または "Intermodulation"
のいずれかで指定します。
既定値: "Harmonic"
NumHarmonics
–– 測定する高調波の数。実数の正の整数として指定します。このプロパティは、Algorithm
を "Harmonic"
に設定した場合に適用されます。
既定値: 6
Enable
–– 歪みの測定を有効にするには、このプロパティを true
に設定します。
既定値: false
DistortionMeasurementsSpecification
プロパティはすべて調整可能です。
[歪みの測定] ペイン () を開いて、[歪み] オプションと [高調波] オプションを変更します。
CCDFMeasurements
— CCDF 測定値CCDFMeasurementsSpecification
オブジェクト 入力信号の瞬時電力が信号の平均電力よりも上の特定の dB 量になる確率を表示するには、CCDF 測定を有効にします。CCDFMeasurements
プロパティは CCDFMeasurementsSpecification
プロパティを使用します。
CCDFMeasurementsSpecification
プロパティは、以下のとおりです。
PlotGaussianReference
–– 加法性ホワイト ガウス ノイズの参照 CCDF 曲線を表示します。このプロパティを true
に設定すると、CCDF 参照曲線がプロットされます。
既定値: false
Enable
–– CCDF 測定を有効にするには、このプロパティを true
に設定します。有効な値は true
または false
です。
既定値: false
CCDFMeasurementsSpecification
プロパティはすべて調整可能です。
[CCDF 測定] ペイン () を開いて、[ガウス参照をプロット] オプションを有効にします。
Name
— ウィンドウ名"Spectrum Analyzer"
(既定値) | 文字ベクトル | string スカラースコープ ウィンドウのタイトル。
調整可能: Yes
データ型: char
| string
Position
— ウィンドウの位置[left bottom width height]
ピクセル単位でのスペクトル アナライザー ウィンドウの位置。スコープ ウィンドウのサイズと位置によって [左 下 幅 高さ] という形式の 4 要素の double ベクトルとして指定します。このプロパティの値を変更することで、スコープ ウィンドウを画面上の特定の位置に配置できます。
既定の設定では、ウィンドウは幅 800
ピクセル、高さ 450
ピクセルで画面中央に表示されます。厳密な中心座標は画面の解像度により異なります。
調整可能: Yes
PlotType
— 通常のトレースのプロット タイプ"Line"
(既定値) | "Stem"
通常のトレースの表示に使用するプロット タイプを "Line"
または "Stem"
として指定します。"通常の" トレースとは、フリーラン スペクトル推定を表示するトレースのことです。
調整可能: Yes
このプロパティを有効にするには、次を設定します。
ViewType を "Spectrum"
または "Spectrum and spectrogram"
に設定する。
PlotNormalTrace を true
に設定する。
[スタイル] プロパティを開いて [プロット タイプ] を設定します。
データ型: char
| string
PlotNormalTrace
— 通常のトレース フラグtrue
(既定値) | false
このプロパティを false
に設定して通常のトレースの表示を削除します。これらのトレースはフリーラン スペクトル推定を表示します。トレースが表示から削除された場合でも、Spectrum Analyzer でスペクトルの計算が続行されます。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrum"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[通常のトレース] を選択します。
データ型: logical
PlotMaxHoldTrace
— 最大ホールド トレース フラグfalse
(既定値) | true
各入力チャネルの最大ホールド スペクトルを計算し、プロットするには、このプロパティを true
に設定します。各周波数ビンでの最大ホールド スペクトルは、すべてのパワー スペクトル推定の最大値を維持することによって計算されます。このプロパティを切り替えると、Spectrum Analyzer で最大ホールドの計算がリセットされます。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrum"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[最大ホールド トレース] を選択します。
データ型: logical
PlotMinHoldTrace
— 最小ホールド トレース フラグfalse
(既定値) | true
各入力チャネルの最小ホールド スペクトルを計算し、プロットするには、このプロパティを true
に設定します。各周波数ビンでの最小ホールド スペクトルは、すべてのパワー スペクトル推定の最小値を維持することによって計算されます。このプロパティを切り替えると、Spectrum Analyzer で最小ホールドの計算がリセットされます。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrum"
または "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[トレース オプション] セクションで、[最小ホールド トレース] を選択します。
データ型: logical
ReducePlotRate
— プロットの比率を下げてパフォーマンスを改善true
(既定値) | false
シミュレーション速度は、このプロパティが true
に設定されているときのほうが高速になります。
true
— スコープは後で使用するためにデータをログ記録し、固定時間間隔で表示を更新します。これらの固定間隔の間に発生するデータはプロットされない可能性があります。
false
— スコープはパワー スペクトルを計算するたびに更新されます。シミュレーション速度が低下した場合でもスペクトルの更新が毎回必ず行われるようにするには、false
の設定を使用します。
調整可能: Yes
[再生] 、 [プロットの比率を下げて性能を改善] を選択します。
Title
— 表示タイトル''
(既定値) | 文字ベクトル | string スカラー表示タイトルを文字ベクトルまたは string として指定します。
調整可能: Yes
[コンフィギュレーション プロパティ] を開きます。[タイトル] を設定します。
データ型: char
| string
YLabel
— Y 軸ラベル''
(既定値) | 文字ベクトル | string スカラーy 軸の左に表示するスコープの文字を指定します。
このプロパティに関係なく、Spectrum Analyzer は常に電力単位を SpectrumUnits
の値のいずれかとして表示します。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrum"
または "Spectrum and spectrogram"
に設定します。
[コンフィギュレーション プロパティ] を開きます。[Y ラベル] を設定します。
データ型: char
| string
ShowLegend
— 凡例の表示false
(既定値) | true
入力名を付けた凡例を表示するには、このプロパティを true
に設定します。
表示する信号を凡例から制御できます。この制御は、[スタイル] ダイアログ ボックスでの可視性の変更と等価です。スコープの凡例で、信号名をクリックするとそのスコープ内の信号が非表示になります。信号を表示する場合は、信号名を再度クリックします。信号を 1 つだけ表示する場合は、信号名を右クリックします。すべての信号を表示するには Esc キーを押します。
メモ
凡例には信号が最初の 20 個のみ表示されます。追加の信号を凡例から表示または制御することはできません。
調整可能: Yes
[コンフィギュレーション プロパティ] を開きます。[表示] タブの [凡例の表示] を選択します。
データ型: logical
ChannelNames
— チャネルの名前入力チャネルの名前を文字ベクトルの cell 配列として指定します。名前は凡例、[スタイル] ダイアログ ボックス、[測定値] パネルに表示されます。名前が指定されない場合、チャネルには Channel 1
、Channel 2
などのラベルが付けられます。
調整可能: Yes
チャネル名を表示するには、ShowLegend
を true
に設定します。
凡例で、チャネル名をダブルクリックします。
データ型: char
ShowGrid
— グリッドの可視性true
(既定値) | false
このプロパティを true
に設定すると、プロットでグリッド線が表示されます。
調整可能: Yes
[コンフィギュレーション プロパティ] を開きます。[表示] タブで、[グリッド表示] を設定します。
データ型: logical
YLimits
— Y 軸の範囲[-80, 20]
(既定値) | [ymin ymax]
y 軸の範囲を 2 要素の数値ベクトルとして指定します。形式は [ymin ymax]
です。
例: scope.YLimits = [-10,20]
調整可能: Yes
このプロパティを有効にするには、ViewType プロパティを "Spectrum"
または "Spectrum and spectrogram"
に設定します。
この単位は SpectrumUnits プロパティに直接依存します。
[コンフィギュレーション プロパティ] を開きます。[Y 軸範囲 (最大)] および [Y 軸範囲 (最小)] を設定します。
ColorLimits
— スペクトログラムの色の範囲をスケーリング[-80, 20]
(既定値) | [colorMin colorMax]
2 要素の数値ベクトル [colorMin colorMax]
を使用して、スペクトログラムの色の範囲を制御します。
例: scope.ColorLimits = [-10,20]
このプロパティを有効にするには、ViewType プロパティを "Spectrogram"
または "Spectrum and spectrogram"
に設定します。
この単位は SpectrumUnits
プロパティに直接依存します。
[コンフィギュレーション プロパティ] を開きます。[色の範囲 (最小)] および [色の範囲 (最大)] を設定します。
AxesScaling
— 座標軸のスケーリング モード"Auto"
(既定値) | "Manual"
| "OnceAtStop"
| "Updates"
スコープによる座標軸の自動スケーリングのタイミングを指定します。有効な値は、次のとおりです。
"Auto"
— シミュレーションの実行中および実行後に、データを近似させるためにスコープが必要に応じて座標軸をスケーリングします。
"Manual"
— スコープは座標軸を自動スケーリングしません。
"OnceAtStop"
— シミュレーションが停止したときに、スコープは座標軸をスケーリングします。
"Updates"
— スコープは 10 回の更新後に 1 回座標軸をスケーリングします。
[ツール] 、 [座標軸のスケーリング] を選択します。
データ型: char
| string
AxesLayout
— スペクトルとスペクトログラムの向き"Vertical"
(既定値) | "Horizontal"
レイアウトのタイプを "Horizontal"
または "Vertical"
のいずれかに指定します。垂直方向のレイアウトでは、スペクトルがスペクトログラムの上に表示されます。水平方向のレイアウトでは、2 つのビューが並べて表示されます。
調整可能: Yes
このプロパティを有効にするには、ViewType を "Spectrum and spectrogram"
に設定します。
[スペクトル設定] を開きます。[座標軸のレイアウト] を設定します。
データ型: char
| string
scope(
は、Spectrum Analyzer の信号のスペクトルを更新します。signal
)
scope(signal1,signal2,...,signalN)
は、Spectrum Analyzer で複数の信号を表示します。この信号は同じフレーム長でなければなりませんが、チャネル数は異なっていてもかまいません。この NumInputPorts
プロパティを設定して、複数の入力信号を有効にしなければなりません。
signal
— 可視化する入力信号可視化する 1 つ以上の入力信号を dsp.SpectrumAnalyzer
で指定します。信号のチャネル数は異なっていてもかまいませんが、フレーム長は同じでなければなりません。
例: scope(signal1, signal2)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、次の構文を使用します。
release(obj)
generateScript | Generate MATLAB script to create scope with current settings |
getMeasurementsData | Get the current measurement data displayed on the spectrum analyzer |
getSpectralMaskStatus | Get test results of current spectral mask |
getSpectrumData | Save spectrum data shown in spectrum analyzer |
isNewDataReady | Check spectrum analyzer for new data |
異なる振幅と周波数をもつ固定された実数の正弦波の和から作成された片側パワー スペクトルを表示します。
Fs = 100e6; % Sampling frequency 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 = dsp.SpectrumAnalyzer; scope.SampleRate = Fs; scope.SpectralAverages = 1; scope.PlotAsTwoSidedSpectrum = false; scope.RBWSource = 'Auto'; scope.PowerUnits = 'dBW'; for idx = 1:1e2 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');
この例では、追加のランダム ノイズをもつチャープ信号のスペクトログラムを説明します。
Fs = 233e3; frameSize = 20e3; chirp = dsp.Chirp('SampleRate',Fs,... 'SamplesPerFrame',frameSize,... 'InitialFrequency',11e3,... 'TargetFrequency',11e3+55e3); scope = dsp.SpectrumAnalyzer('SampleRate',Fs); scope.ViewType = 'Spectrogram'; scope.RBWSource = 'Property'; scope.RBW = 500; scope.TimeSpanSource = 'Property'; scope.TimeSpan = 2; scope.PlotAsTwoSidedSpectrum = false; for idx = 1:50 y = chirp()+ 0.05*randn(frameSize,1); scope(y); end release(scope)
Spectrum Analyzer 上でノイズのある正弦波の両側パワー スペクトルを表示します。
sin = dsp.SineWave('Frequency',100,'SampleRate',1000); sin.SamplesPerFrame = 1000; scope = dsp.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');
スペクトル アナライザーを使用して、ホワイト ガウス ノイズに組み込まれている正弦波のスペクトル推定から周波数入力を表示します。
初期化
表示する 2 つの dsp.SpectrumEstimator
オブジェクトを初期化します。ウェルチ手法に基づくスペクトル推定法をハン ウィンドウで使用するように 1 つのオブジェクトを設定し、フィルター バンク推定を使用するようにもう 1 つのオブジェクトを設定します。サンプル当たりの周期が 0.16、0.2、0.205、0.25 の 4 つの正弦波を持つ、ノイズを含む正弦波入力信号を指定します。スペクトル推定は、周波数入力を処理するように設定された 3 番目のオブジェクトであるスペクトル アナライザーを使って表示します。
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 = dsp.SpectrumAnalyzer('InputDomain','Frequency',... 'SampleRate',Fs/FrameSize,... '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
dsp.SpectrumAnalyzer
System object の測定データをプログラムによって取得dsp.SpectrumAnalyzer
System object を使用して、ノイズを含む正弦波入力信号のパワー スペクトルを計算して表示します。次のプロパティを有効にすることで、スペクトル内のピーク、カーソルの配置、隣接チャネル電力比、歪み、CCDF 値を測定します。
PeakFinder
CursorMeasurements
ChannelMeasurements
DistortionMeasurements
CCDFMeasurements
初期化
入力正弦波は次の 2 つの周波数をもちます。1000 Hz、5000 Hz。これら 2 つの周波数を生成する 2 つの dsp.SineWave
System object を作成します。パワー スペクトルを計算して表示する dsp.SpectrumAnalyzer
System object を作成します。
Fs = 44100; Sineobject1 = dsp.SineWave('SamplesPerFrame',1024,'PhaseOffset',10,... 'SampleRate',Fs,'Frequency',1000); Sineobject2 = dsp.SineWave('SamplesPerFrame',1024,... 'SampleRate',Fs,'Frequency',5000); SA = dsp.SpectrumAnalyzer('SampleRate',Fs,'Method','Filter bank',... 'SpectrumType','Power','PlotAsTwoSidedSpectrum',false,... 'ChannelNames',{'Power spectrum of the input'},'YLimits',[-120 40],'ShowLegend',true);
測定データの有効化
測定値を取得するには、測定の Enable
プロパティを true
に設定します。
SA.CursorMeasurements.Enable = true; SA.ChannelMeasurements.Enable = true; SA.PeakFinder.Enable = true; SA.DistortionMeasurements.Enable = true;
getMeasurementsData
の使用
ノイズを含む正弦波入力信号でストリーミングを行い、スペクトル アナライザーを使用して信号のパワー スペクトルを推定します。スペクトルの特性を測定します。関数 getMeasurementsData
を使用して、これらの測定値をプログラムによって取得します。関数 isNewDataReady
は、新しいスペクトル データが存在するタイミングを示します。測定データは変数 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.9848
24.1734
-52.0597
frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz = 3×1
4.9957
0.9905
3.1869
[メソッド] プロパティを [ウェルチ]
に設定すると、次のアルゴリズムが適用されます。Spectrum Analyzer は、[スペクトル設定] ペインの [RBW]
または [ウィンドウの長さ]
の設定を使用してデータ ウィンドウの長さを特定します。その後、入力信号がウィンドウを適用した複数のデータ セグメントに分割されます。最後に、Spectrum Analyzer は修正ピリオドグラム法を使用してスペクトルの更新を計算し、セグメントごとにウィンドウを適用したピリオドグラムを平均化します。
Spectrum Analyzer では、スペクトル推定を計算するために最小数のサンプルが必要です。1 つのスペクトルの更新を計算するために必要なこの入力サンプルの数は、[メイン オプション] ペインの [サンプル/更新] として表示されます。この値は、次の式で分解能帯域幅 RBW に直接関連付けられるか、手順 2 に示す式でウィンドウの長さに直接関連付けられます。
正規化された有効ノイズ帯域幅 NENBW は、ウィンドウ法によって決まる係数です。Spectrum Analyzer は、[スペクトル設定] ペインの [ウィンドウ オプション] ペインに NENBW の値を表示します。オーバーラップ率 Op は、[スペクトル設定] ペインの [ウィンドウ オプション] ペインの [オーバーラップ (%)] パラメーターの値です。Fs は入力信号のサンプル レートです。Spectrum Analyzer は、サンプル レートを [スペクトル設定] ペインの [メイン オプション] ペインに表示します。
[RBW (Hz)] モードの場合、1 つのスペクトルの更新を計算するために必要なウィンドウの長さ Nwindow は、分解能帯域幅と正規化された有効ノイズ帯域幅に直接関連付けられます。
[ウィンドウの長さ] モードの場合、指定どおりのウィンドウの長さが使用されます。
1 つのスペクトルの更新を計算するために必要な入力サンプルの数 Nsamples は、次の式でウィンドウの長さとオーバーラップ量に直接関連付けられます。
オーバーラップ率を増やすと、新しいスペクトルの更新を計算するために必要な新しい入力サンプルが少なくなります。たとえば、ウィンドウの長さが 100 の場合、1 つのスペクトルの更新を計算するために必要な入力サンプルの数は次の表に示すようになります。
Op | Nsamples |
---|---|
0% | 100 |
50% | 50 |
80% | 20 |
正規化された有効ノイズ帯域幅 NENBW は、ウィンドウの長さ Nwindow と使用するウィンドウのタイプで決まるウィンドウ パラメーターです。w(n) が Nwindow ウィンドウ係数のベクトルを表す場合、NENBW は次の式で求められます。
[RBW (Hz)] モードの場合は、[スペクトル設定] ペインの [メイン オプション] ペインの [RBW (Hz)] パラメーターの値を使用して分解能帯域幅を設定できます。指定した周波数スパンに少なくとも 2 つの RBW 間隔が必ず存在するようになる値を指定しなければなりません。スパン全体と RBW の比率は 2 より大きくなければなりません。
既定の設定では、[メイン オプション] ペインの [RBW (Hz)] パラメーターは [自動]
に設定されています。この場合、Spectrum Analyzer は適切な値を特定し、指定された周波数スパンに 1024 の RBW 間隔が必ず存在するようにします。[RBW (Hz)] を [自動]
に設定した場合、RBW は次のように計算されます。
[ウィンドウの長さ] モードの場合は、Nwindow を指定し、結果として得られる RBW は次のようになります。
指定された入力サンプル数では、指定した分解能帯域幅を得るには不十分である場合があります。この状況が発生した場合、Spectrum Analyzer は次のメッセージを表示します。
十分なデータが入力されるとこのメッセージは削除され、スペクトル推定が表示されます。
メモ
FFT 点の数 (Nfft) はウィンドウの長さ (Nwindow) とは無関係です。Nfft が Nwindow 以上であれば、これらの値を別の値に設定できます。
[メソッド] プロパティを [フィルター バンク]
に設定すると、次のアルゴリズムが適用されます。Spectrum Analyzer は [スペクトル設定] ペインの [RBW (Hz)] または [周波数帯域の数] プロパティを使用して、入力フレーム長を特定します。
Spectrum Analyzer では、スペクトル推定を計算するために最小数のサンプルが必要です。1 つのスペクトルの更新を計算するために必要なこの入力サンプルの数は、[メイン オプション] ペインの [サンプル/更新] として表示されます。この値は、次の式によって分解能帯域幅 RBW に直接関連付けられます。
Fs は入力信号のサンプル レートです。Spectrum Analyzer は、サンプル レートを [スペクトル設定] ペインの [メイン オプション] ペインに表示します。
[RBW (Hz)] モードの場合は、[スペクトル設定] ペインの [メイン オプション] ペインの [RBW (Hz)] パラメーターの値を使用して分解能帯域幅を設定できます。指定した周波数スパンに少なくとも 2 つの RBW 間隔が必ず存在するようになる値を指定しなければなりません。スパン全体と RBW の比率は 2 より大きくなければなりません。
既定の設定では、[メイン オプション] ペインの [RBW] パラメーターは [自動]
に設定されています。この場合、Spectrum Analyzer は適切な値を特定し、指定された周波数スパンに 1024 の RBW 間隔が必ず存在するようにします。したがって、[RBW] を [自動]
に設定した場合、その値は次の式で計算されます。
[周波数帯域の数] モードの場合、入力フレーム サイズを指定します。周波数帯域の数が [自動]
の場合、結果として得られる RBW は次のようになります。
周波数帯域の数が手動で指定された場合、結果として得られる RBW は次のようになります。
フィルター バンクのアルゴリズムの詳細については、Polyphase Implementationを参照してください。
指定された入力サンプル数では、指定した分解能帯域幅を得るには不十分である場合があります。この状況が発生した場合、Spectrum Analyzer は次のメッセージを表示します。
十分なデータが入力されるとこのメッセージは削除され、スペクトル推定が表示されます。
PlotAsTwoSidedSpectrum プロパティを true
に設定すると、範囲は ヘルツになります。
PlotAsTwoSidedSpectrum
プロパティを false
に設定すると、範囲は ヘルツになります。
Spectrum Analyzer は、修正 "ピリオドグラム" 推定器によって計算されるパワー スペクトル、パワー スペクトル密度、RMS を計算し、プロットします。ピリオドグラム法の詳細については、periodogram
を参照してください。
パワー スペクトル密度 — パワー スペクトル密度 (PSD) は次の式で求められます。
この式で、x[n] は離散入力信号です。入力信号フレームごとに、Spectrum Analyzer はできるだけ多くのオーバーラップ ウィンドウ (各ウィンドウは x(p)[n] として表される) を生成し、それらのピリオドグラムを計算します。Spectrum Analyzer は、最新のピリオドグラム P の移動平均を表示します。
パワー スペクトル — パワー スペクトルは、パワー スペクトル密度と分解能帯域幅の積で、次の式で求められます。
スペクトログラム — いずれのパワーもスペクトログラムとしてプロットできます。スペクトログラムの各ラインは 1 つのピリオドグラムです。各ラインの時間分解能は、達成可能な最小分解能である 1/RBW です。必要な分解能を得るには、いくつかのピリオドグラムを結合しなければならない場合があります。その後、内挿を使用して 1/RBW の非整数値を計算します。スペクトログラム表示で、時間は上から下にスクロールするため、最新のデータは表示領域の一番上に示されます。オフセットは、最新のスペクトログラム ラインの中心が発生した時間値を示します。
[自動]
に設定すると、周波数領域入力の周波数ベクトルはソフトウェアによって計算されます。
PlotAsTwoSidedSpectrum プロパティが true に設定されている場合、周波数ベクトルは次のようになります。
PlotAsTwoSidedSpectrum プロパティが false に設定されている場合、周波数ベクトルは次のようになります。
"占有帯域幅" は次のように計算されます。
測定された周波数範囲内の電力合計を計算します。
低周波数値を特定します。範囲内で最も低い周波数から始めて上に移動し、各周波数内で分散している電力が合計されます。これは、この結果が電力合計の
になるまで行われます。
高周波数値を特定します。範囲内で最も高い周波数から始めて下に移動し、各周波数内で分散している電力が合計されます。これは、この結果が電力合計の
になるまで行われます。
低電力周波数値と高電力周波数値の間の帯域幅が占有帯域幅です。
低周波数値と高周波数値の中間の周波数が中心周波数です。
"歪みの測定" は次のように計算されます。
スペクトル成分はスペクトル内のピークを検出することで推定されます。アルゴリズムによってピークが検出されるとき、ピークの幅が記録され、すべての単調減少値がクリアされます。つまり、このアルゴリズムでは、これらの値はすべてピークに属するものとして扱われます。この方法を使用して、DC (0 Hz) を中心とするすべてのスペクトル成分をスペクトルから削除し、クリアされた帯域幅の量 (W0) を記録します。
表示されているスペクトルの残りの最大値から基本電力 (P1) を特定します。ピーク近くの電力に対する中心モーメントを計算して、基本周波数の局所的な推定 (Fe1) を行います。基本電力成分の帯域幅 (W1) を記録します。その後、手順 1 と同様に基本の電力を削除します。
局所的な推定 (Fe1) の該当する倍数に最も近い周波数を調べて、高次の高調波の電力と幅 (P2、W2、P3、W3 など) を連続して特定します。次の高調波に進む前にまず、高調波周波数に関して単調に減少するスペクトル成分をスペクトルから削除します。
DC 成分、基本成分および高調波成分をスペクトルから削除したら、残りのスペクトルの電力の合計 (Premaining)、ピーク値 (Pmaxspur) および中央値 (Pestnoise) を調べます。
削除したすべての帯域幅の合計を次のように計算します。Wsum = W0 + W1 + W2 +...+ Wn
2 次以上の高調波の電力合計を次のように計算します。 Pharmonic = P2 + P3 + P4 +...+ Pn
ノイズ パワーの合計を次のように推定します。
dF は周波数ビン間の差の絶対値であり、RBW はウィンドウの分解能帯域幅です。
推定値から SNR、THD、SINAD および SFDR の指標を計算します。
高調波歪み測定では、測定値への入力として表示領域に示されるスペクトル トレースを使用します。Spectrum Analyzer の既定の [ハン]
ウィンドウ設定では、測定信号のノイズ フロアを完全にマスクするような漏れが現れる場合があります。
高調波測定では、高調波ピークの最大値から単調に減少する周波数成分をすべて無視することで、漏れの補正が試行されます。ウィンドウの漏れがスペクトル内の周波数帯域幅の 70% を超える部分を覆う場合は、[SNR] および [SINAD] に対して空白 (–) の読み取りが発生する可能性があります。アプリケーションで等価ノイズ帯域幅 (ENBW) の増加を許容できる場合は、スペクトル漏れを最小限に抑えるために減衰量の大きい (最大 330 dB) カイザー ウィンドウを使用することを検討してください。
DC 成分は無視されます。
ウィンドウ処理後に、各高調波成分の幅によって、基本周波数および高調波の近傍にあるノイズ パワーがマスクされます。各領域のノイズ パワーを推定するために、Spectrum Analyzer はスペクトルの高調波以外の領域のノイズ レベルの中央値を計算します。その後、その値を各領域に外挿します。
N 次相互変調積は、A*F1 + B*F2 で発生します。
ここで、F1 および F2 は正弦波入力周波数で、|A| + |B| = N です。A および B は整数値です。
相互変調測定では、3 次インターセプト (TOI) ポイントは次のように計算されます。ここで、P は dBm (1 mW を基準とした測定電力のデシベル) 単位の電力です。
TOIlower = PF1 + (PF2 - P(2F1-F2))/2
TOIupper = PF2 + (PF1 - P(2F2-F1))/2
TOI = + (TOIlower + TOIupper)/2
移動平均の計算には 2 つの方法のいずれかが使用されます。
Running
— 入力の各フレームについて、アルゴリズムで計算される最後の N 個のスケーリングされた Z ベクトルの平均を求めます。変数 N は、スペクトル平均の数に指定した値です。十分な数の Z ベクトルがない場合、アルゴリズムは空の要素を 0 で埋めます。
Exponential
— 指数の重み付け法を使用した移動平均の計算では、現在の Z ベクトルと前の Z ベクトルについて計算されます。計算の詳細については、dsp.MovingAverage
オブジェクトのExponential Weighting Methodを参照してください。
使用上の注意および制限:
オブジェクトの呼び出しを外部として扱うことで MEX コード生成をサポートします。スタンドアロン アプリケーション用のコード生成はサポートしません。
MATLAB コード生成における System object (MATLAB Coder)を参照してください。
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.