Main Content

frest.PRBS

2 値疑似乱数列入力信号

説明

frest.PRBS オブジェクトを使用して、周波数応答推定の 2 値疑似乱数列 (PRBS) 入力信号を表します。PRBS 信号は、2 つの値の間で切り替わる、ホワイトノイズのようなプロパティをもつ、確定的な信号です。PRBS 信号は、最大周期の長さが 2n–1 (n は PRBS の次数) で本来的に周期的です。

PRBS 信号は、sinestream の入力信号を使用する場合と比較して、合計の推定時間が削減される一方で、比較可能な結果が得られます。PRBS 信号は、パルス幅変調 (PWM) 発生器などの、高周波数スイッチング コンポーネントを使用する通信システムやパワー エレクトロニクス システム向けに周波数応答を推定するのに有用です。

PRBS 入力信号を、コマンド ラインで、またはモデル線形化器アプリでの推定に使用できます。推定アルゴリズムは、推定用に指定された入力ポイントに PRBS 信号を挿入し、出力ポイントで応答を測定します。詳細については、PRBS 入力信号を参照してください。

入力信号のプロットを表示するには、plot(input) と入力します。入力信号用の timeseries オブジェクトを作成するには、generateTimeseries コマンドを使用します。

作成

説明

input = frest.PRBS(sys) は、線形システム sys のダイナミクスに基づいて PRBS 信号を作成します。たとえば、システムの正確な線形化がある場合は、それを使用してパラメーターを初期化することができます。

input = frest.PRBS(Name,Value) は、1 つ以上の名前と値のペアを使って指定されたプロパティを使用して、PRBS 信号を作成します。各プロパティ名を引用符で囲みます。

入力引数

すべて展開する

線形動的システム。SISO の ss オブジェクト、tf オブジェクト、または zpk オブジェクトとして指定します。非線形システムを線形化することで、既知のダイナミクスを指定するか、線形モデルを取得することができます。

結果の frest.PRBS オブジェクトでは、線形システムに基づいて Order プロパティおよび Ts プロパティが自動的に設定されます。Amplitude プロパティおよび NumPeriods プロパティは既定の値のままです。詳細については、PRBS 入力信号を参照してください。

プロパティ

すべて展開する

信号の振幅。正のスカラーとして指定します。用途に合わせてシステムが適切に励起されるような振幅を設定しなければなりません。入力の振幅が大きすぎる場合、信号がモデルの操作点から大きく逸脱する可能性があります。入力の振幅が小さすぎる場合、PRBS 信号がモデルのノイズやリップルと区別できません。

信号のサンプル時間 (秒単位)。正のスカラーとして指定します。最初に、モデルのサンプル時間に一致するよう PRBS のサンプル時間を指定します。

一部のシステムでは、元のモデルよりも大きいサンプル時間を使用すると、低周波数の範囲で、より高い解像度の周波数応答推定結果が得られる可能性があります。この場合、入力および出力の線形解析ポイントでのモデルの周波数が、Ts で指定した値と一致しなければなりません。例については、2 値疑似乱数信号を使用したパワー エレクトロニクス モデルの周波数応答の推定を参照してください。

信号の順序。正の整数として指定します。PRBS 信号の最大の長さは 2n–1 (n は信号の順序) です。正確な周波数応答推定を取得するには、PRBS の長さは十分に大きくなければなりません。

与えられたサンプル時間に対して、より高い周波数解像度を得るには、より大きい信号の順序を指定します。

PRBS 信号の周期数。正の整数として指定します。ほとんどの周波数応答推定アプリケーションでは、既定値の 1 を使用します。単一の周期を使用すると、入力信号の周波数の範囲にわたってフラットな周波数プロファイルが出力されます。

NumPeriods > 1 の場合にクロック周期あたり 1 つのサンプルか複数のサンプルのいずれに対して入力信号を一定に維持するかを指定するオプション。次のいずれかとして指定します。

  • 'on' — 1 つのサンプルに対して信号を一定に維持する。

  • 'off'NumPeriods で指定された値と等しい数のサンプルに対して信号を一定に維持する。

単一周期の信号についてハン ウィンドウベースのフィルター処理を適用するかどうか、複数周期の信号についてダウンサンプリングを実施するかどうかを指定するオプション。'on' または 'off' として指定します。

単一周期の信号については、このオプションを使用して、記録された入力信号と出力信号のハン ウィンドウベースのフィルター処理を適用するかどうかを指定します。次のいずれかとして指定します。

  • 'on' — 入力信号と出力信号をフィルター処理する。フィルター処理を使用すると、frestimate による周波数応答の推定結果が滑らかになります。

  • 'off' — 入力信号をフィルター処理しない。

複数周期の信号については、このオプションを使用して、周波数応答の推定結果のダウンサンプリングを実施するかどうかを指定します。次のいずれかとして指定します。

  • 'on' — 周波数応答の推定結果をリサンプリングする。ダウンサンプリングを実施すると、frestimate による周波数応答の推定結果が滑らかになります。

  • 'off' — 周波数応答の推定結果をダウンサンプリングしない。

オブジェクト関数

frestimateSimulink モデルの周波数応答の推定
generateTimeseries入力信号の時間領域データの生成
frest.simCompare非線形および線形モデルの時間領域シミュレーションのプロット
frest.simView周波数応答モデルの時間領域および周波数領域でのプロット
getSimulationTime周波数応答推定のシミュレーションの最終時間

すべて折りたたむ

次の構成で PRBS を作成します。

  • 非周期的な PRBS を使用するには周期数を 1 に設定する。

  • PRBS の次数 12 を使用して、長さが 4095 の信号を作成する。

  • 信号のサンプル時間を 5e-6 に設定する。

  • 摂動振幅を 0.05 に設定する。

input = frest.PRBS('Order',12,'NumPeriods',1,'Amplitude',0.05,'Ts',5e-6)
 
The PRBS input signal:
 
      Amplitude  : 0.05
      Ts         : 5e-06 (secs)
      Order      : 12
      NumPeriods : 1
      OneSamplePerClockPeriod (on/off)    : on
      UseWindow (on/off) : on
 

結果として得られた PRBS 信号のサブセットを調べます。

plot(input)
xlim([0 0.001])

Figure contains an axes object. The axes object with title Time Series Plot:Created from a frest.PRBS signal contains an object of type line.

信号は確定的な疑似ランダムの形で、0.025 ~ -0.025 の間で切り替わります。

線形システムのダイナミクスに基づいた PRBS 入力信号を作成します。この方法は、周波数応答の推定を使ってモデルの線形化を検証する場合に便利です。

Simulink モデルを開きます。

model = 'watertank';
open_system(model)

この例では、モデルを定常状態の操作点で線形化して、PRBS 信号の初期化に使用できる状態空間モデルを取得します。

io(1) = linio('watertank/PID Controller',1,'input');
io(2) = linio('watertank/Water-Tank System',1,'openoutput');

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

sys = linearize(model,op,io);

PRBS 信号を作成します。

input = frest.PRBS(sys);

frest.PRBS は、システムのダイナミクスに基づいて入力信号の次数とサンプル時間を構成します。振幅と周期数は既定値のままです。

input
 
The PRBS input signal:
 
      Amplitude  : 1e-05
      Ts         : 7.94767061252222 (secs)
      Order      : 8
      NumPeriods : 1
      OneSamplePerClockPeriod (on/off)    : on
      UseWindow (on/off) : on
 

ドット表記を使用して信号のプロパティを変更できます。たとえば、信号振幅を大きくします。

input.Amplitude = 3e-5
 
The PRBS input signal:
 
      Amplitude  : 3e-05
      Ts         : 7.94767061252222 (secs)
      Order      : 8
      NumPeriods : 1
      OneSamplePerClockPeriod (on/off)    : on
      UseWindow (on/off) : on
 

代替機能

モデル線形化器

モデル線形化器で PRBS 入力信号を推定に使用するには、[推定] タブで [入力信号][PRBS 2 値疑似乱数列] を選択します。

バージョン履歴

R2020a で導入

すべて展開する

R2021a での動作変更