リアルタイムで使用するための周波数応答の推定アルゴリズムの展開
周波数応答のオンライン推定アルゴリズムを、物理プラントのリアルタイム推定用にスタンドアロン アプリケーションで使用することができます。これを行うには、展開用の Simulink® モデルを作成して、Frequency Response Estimator ブロックを自身のシステムに展開しなければなりません。このモデルは実験パラメーターを使って構成できます。または、これらのパラメーターをシステムの他の部分から外部的に提供するように構成することも可能です システムに展開されると、推定器モデルは実験の制御に Simulink を使用せずに、プラントに信号を挿入してプラントの応答を受け取ります。推定アルゴリズムを展開するには Simulink Coder™ などのコード生成製品が必要です。
ワークフロー
リアルタイム調整のために Frequency Response Estimator を展開するワークフローの概要は次のとおりです。
システムにブロックを展開するための Simulink モデルを作成します。
推定実験の開始と終了のタイミングを制御する start/stop 信号を構成します。
推定を行う周波数などの実験パラメーターを構成します。
システムにモデルを展開し、物理プラントに対して推定実験を実行します。実験を終了すると、推定された周波数応答を調べることができます。
実際には、リアルタイムで推定を行う場合、推定周波数や摂動の振幅など、いくつかのパラメーターを実行時に指定することもできます。展開済みアプリケーションのパラメーター指定の詳細については、展開後の実験パラメーターへのアクセスを参照してください。
手順 1. Frequency Response Estimator ブロックを使った展開可能な Simulink モデルの作成
リアルタイム推定のために Frequency Response Estimator ブロックを使用するには、展開用の Simulink モデルの作成が必要です。最も基本的な形式では、リアルタイム推定を展開するためのモデルは次の図のようになります。
ここでは、Frequency Response Estimator ブロックの入力と出力に接続されているブロックが、システムのリアルタイム データの読み取りや書き込みを行うハードウェア インターフェイスを表します。たとえば、Read control signal
ブロックは、シリアル データを受け取るインターフェイス、UDP パケットを受け取る UDP Receive ブロック、またはワイヤレス ネットワークを介してその他の信号を受け取るインターフェイスにすることができます。同様に、Write plant input
などのデータ書き込みのブロックは、ハードウェアにデータを書き込むためのシリアル、UDP、その他のインターフェイスにすることができます。
Frequency Response Estimator ブロックの既定の端子は以下のとおりです。
u
— 制御信号を受け取ります。y
— プラント出力を受け取ります。start/stop
— 推定実験を開始および終了する信号を受け取ります。u + Δu
— プラント入力に渡す信号を出力します。実験が実行中でない場合、u + Δu
は制御信号をu
で受け取ったまま出力します。実験が実行中である場合、ブロックは摂動Δu
をこの信号に追加します。data
— 推定実験中に収集されたシミュレーション データを出力します。このデータには、プラント入力に適用された摂動と、y
で受け取った応答が含まれます。frd
— 推定された周波数応答を出力します。
すべての端子の詳細については、Frequency Response Estimator ブロックのリファレンス ページを参照してください。
図に示した構成では、推定を実行する周波数と、各周波数で適用する摂動の振幅はブロックに組み込まれています。これらの値を展開後に設定するには、ブロック パラメーター [励起信号ソース] を [外部端子] に設定します。これにより、次の図のように w
端子と amp
端子がブロックに追加されます。
この構成では、展開されたモジュールが、推定実験のための周波数と摂動の振幅を実行時に読み取ることができます。
オフライン推定のためのデータの保存
前の図に示した構成では、推定実験中に収集された入力信号と応答信号の提供される data
出力端子は破棄されます。この実験データを使用する場合は、この端子からの出力を保存することができます。たとえば、展開先環境のリソースを節約するため、推定を行わずに実験データを収集するようにブロックを構成できます。その後、MATLAB® で frestimate
を使用して推定を実行できます。この方法で展開用に構成されたモデルは、次の図のようになります。
手順 2. Start/Stop 信号の構成
周波数応答の推定実験を開始または終了するには、start/stop 端子で信号を使用します。実験が実行中でない場合、ブロックは摂動信号を生成しません。この状態では、ブロックはプラントの動作に影響しません。ブロックが start/stop 端子で立ち上がりまたは立ち下がり信号を受け取ると、それぞれに対し、周波数応答の推定実験は開始または終了します。実験の開始時間と終了時間を制御するために、アプリケーションに適した任意のロジックを構成することができます。
ブロックは、推奨される実験の長さをブロック パラメーターの [実験の長さ] セクションで指定します。通常、立ち上がり信号と立ち下がり信号の間に少なくともこれと同じ時間をもたせて start/stop 信号を構成します。展開先環境で実行時に推定パラメーターを設定する際は、推定周波数などの実験パラメーターが、必要な実験の長さに与える影響に注意しなければなりません。適切な長さの判定の詳細については、Frequency Response Estimator ブロックのリファレンス ページを参照してください。
手順 3. 実験パラメーターの設定
周波数応答の推定実験では、Frequency Response Estimation ブロックの [周波数] パラメーター (または w
端子) に指定された周波数で信号を挿入します。[振幅] パラメーターを使用して (または amp
端子で) 摂動の振幅を指定します。
ブロックは、各周波数の摂動を逐次正弦波 ([Sinestream])、同時正弦波 ([重ね合わせ])、または 2 値疑似乱数列 ([PRBS]) として適用できます。使用するモードを指定するには、[実験モード] パラメーターを設定します。
[Sinestream] モード — 摂動を 1 周波数ずつ適用します。sinestream モードは、重ね合わせモードに比べてより正確な場合があり、より広範な周波数を受け入れることができます。
重ね合わせ — すべての周波数を含む重ね合わせ信号として、摂動を一度に適用します。一般に、推定実験は重ね合わせモードの方が高速です。
PRBS — 2 つの値の間で切り替わる、ホワイトノイズのようなプロパティをもつ、確定的な 2 値疑似乱数列として摂動を適用します。PRBS 信号では、他の 2 つのモードと比較して、同等の結果を得ながら合計の推定時間が削減されます。PRBS 信号は、通信システムやパワー エレクトロニクス システム向けに周波数応答を推定するのに有用です。
摂動の適用時にシステムが整定するのを待つ時間の長さと、推定のために応答を測定する時間の長さをブロックに指示するパラメーターの指定もできます。2 つの信号タイプとその相対的な長所の詳細については、Frequency Response Estimator ブロックのリファレンス ページにある [実験モード] パラメーターの説明を参照してください。
手順 4. 実験の実行
推定モジュールをシステムに展開したら、立ち上がり start/stop
信号を使用して推定実験を開始します。展開したモジュールが物理プラントにリアルタイムでテスト信号を挿入します。適切な時間が過ぎた後、立ち下がり start/stop
信号によって実験が終了します (適切な長さの判定の詳細については、Frequency Response Estimator ブロックのリファレンス ページを参照)。
実験が完了したら、推定された周波数応答を frd
端子で取得できます。
展開先環境でオンライン推定の計算用にリソースが不足している場合、実験データのみを収集するようにブロックを構成し、後でオフライン推定を実行することもできます。例については、オフライン推定のための周波数応答実験データの収集を参照してください。
展開後の実験パラメーターへのアクセス
推定実験を構成するために設定したパラメーターの一部は調整可能であるため、それらには生成コードでアクセスできます。ただし、ほとんどのパラメーターは調整できません。これらのパラメーターについては、展開前にブロック内で構成するか、パラメーター用に利用できる外部ブロック端子を使用しなければなりません。
調整可能なパラメーター
Frequency Response Estimator ブロックの以下のパラメーターは展開後に調整することができます。これらすべてのパラメーターの詳細については、ブロックのリファレンス ページを参照してください。
パラメーター | 説明 |
---|---|
推定周期数 | 推定に使用する整定後の周期数 (sinestream モード) |
整定周期数 | 過渡状態の整定を待機する周期数 (sinestream モード) |
推定に使用される最も低い周波数の周期数 | データ収集ウィンドウの持続時間 (重ね合わせモード) |
調整不可のパラメーター
Frequency Response Estimator の残りのパラメーターは展開後に調整することができません。[周波数] パラメーターと [振幅] パラメーターの場合、外部端子を有効にして、展開後に実験の周波数と摂動の振幅を指定できるようにできます。w および amp のブロック入力を有効にするには、[励起信号ソース] パラメーターで [外部端子] を選択します。
展開後の実験のサンプル時間の変更
[サンプル時間 (Ts)] パラメーターは調整できません。したがって、ブロックの展開時に生成コードでこれに直接アクセスすることはできません。展開したブロックでコントローラーのサンプル時間を実行時に変更するには、次を行います。
[コントローラーのサンプル時間 (秒)] を –1 に設定します。
ブロックを Triggered Subsystem 内に配置します。
目的のサンプル時間でサブシステムをトリガーします。
この方法を使用する場合、推定の周波数がナイキスト周波数より低く保たれるよう、実行時にサンプル時間が十分な速さであることを確認しなければなりません。