Main Content

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

Spectrum Analyzer ブロックの測定データをプログラムによって取得

Spectrum Analyzer ブロックを使用して、ノイズを含む正弦波入力信号のパワー スペクトルを計算して表示します。次のブロック構成プロパティを有効にして、スペクトル内のカーソルの位置、隣接チャネル電力比、歪み、ピークの値を測定します。

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • PeakFinder

モデルのオープンと検証

Lowpass Filter ブロックを使用して、ノイズを含むストリーミング正弦波入力信号をフィルター処理します。入力信号は次の 2 つの正弦波トーンから構成されます。1 kHz と 15 kHz。ノイズは、平均 0、分散 0.05 のホワイト ガウス ノイズです。サンプリング周波数は 44.1 kHz です。モデルを開いて、ブロック内のパラメーター値を検証します。

model = 'spectrumanalyzer_measurements.slx';
open_system(model)

関数 get_param を使用して Spectrum Analyzer ブロックのコンフィギュレーション プロパティにアクセスします。

sablock = 'spectrumanalyzer_measurements/Spectrum Analyzer';
cfg = get_param(sablock,'ScopeConfiguration');

測定データの有効化

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

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

モデルのシミュレート

モデルを実行します。Spectrum Analyzer ブロックで元のスペクトルとフィルター処理されたスペクトルが比較されます。

sim(model)

スペクトル アナライザー ウィンドウの下部にあるペインに、有効にした測定値が表示されます。

関数 getMeasurementsData の使用

関数 getMeasurementsData を使用して、プログラムで測定値を取得します。

data = getMeasurementsData(cfg)
data =

  1x5 table

    SimulationTime    PeakFinder    CursorMeasurements    ChannelMeasurements    DistortionMeasurements
    ______________    __________    __________________    ___________________    ______________________

        9.9962        1x1 struct        1x1 struct            1x1 struct               1x1 struct      

測定値パネルに表示される値は、data に表示される値と一致します。data の個々のフィールドにアクセスして、さまざまな測定値をプログラムによって取得できます。

ピーク値の比較

例として、ピーク値を比較します。data.PeakFinder で取得したピーク値がスペクトル アナライザー ウィンドウの値と一致することを確認します。

peakvalues = data.PeakFinder.Value
frequencieskHz = data.PeakFinder.Frequency/1000
peakvalues =

   26.9725
   26.4314
   -2.7048


frequencieskHz =

   15.0015
    1.0049
   19.0210

参考

関数

オブジェクト

ブロック