ライブ エディターで [モデル レートの変換] タスクを使用して、モデルを連続時間から離散時間に対話形式で変換します。さまざまなメソッド、オプション、応答プロットを試します。このタスクでは、自分が選択した内容を反映するコードが自動的に生成されます。この例を開くと、[モデル レートの変換] タスクを含む、事前に設定されたスクリプトが示されます。
連続時間の伝達関数モデルを作成します。
このモデルを離散化するには、ライブ エディターで [モデル レートの変換] タスクを開きます。[ライブ エディター] タブで、[タスク]、[モデル レートの変換] を選択します。タスクで、変換するモデルとして G を選択します。
このタスクでは、既定のサンプル時間 (0.2 秒) と既定の変換メソッド [Zero-order hold] を使用してモデルを自動的に離散化します。またボード線図も作成されるため、元のモデルと変換後のモデルの応答を比較できます。
プロットの垂直線は、既定のサンプル時間に関連付けられたナイキスト周波数を示します。0.15 秒のサンプル時間を使用するものとします。[サンプル時間] フィールドに新しい値を入力して、サンプル時間を変更します。応答プロットが自動的に更新されて、新しいサンプル時間が反映されます。
アプリケーションに共振の正確なダイナミクスが必要な場合、異なる変換メソッドを使用して周波数領域の一致を改善できます。このタスクでは、異なるメソッドを試してみて、応答プロットでのその効果を観測します。
双一次 (Tustin) 変換メソッドの方が、既定のゼロ次ホールド メソッドよりも周波数領域で良好な一致が得られます (連続/離散の変換方法を参照。)[変換メソッドの選択] で、[Bilinear (Tustin) approximation] を選択します。最初は、結果の周波数領域の一致は、ゼロ次ホールド メソッドを使用した場合に比べ劣っています。
"プリワープ周波数" を使用すると、一致を改善することができます。このオプションを使って、離散時間の応答を指定した周波数で一致させます。G の共振は、およそ 14 rad/s にピークがあります。プリワープ周波数の値を入力します。一致によって共振が改善します。ただし、0.15 秒のサンプル時間の場合、共振はナイキスト周波数に非常に近くなり、一致が近づける程度が制限されます。
[モデル レートの変換] タスクは、他のタイプの応答プロットを生成できます。たとえば、元のモデルと変換後のモデルの時間領域応答を比較するには、[出力プロット] で、[step] または [impulse] を選択します。
このタスクは、ライブ スクリプトにコードを生成します。生成されたコードには、選択したパラメーターとオプションが反映され、指定した応答プロットを生成するコードが含まれます。生成されたコードを確認するには、タスク パラメーター エリアの下部にある
[コードの表示] をクリックします。タスクが展開されて、生成されたコードが表示されます。
既定では、生成されたコードは出力変数の名前として sysConverted を使用します。これは変換後のモデルです。別の出力変数名を指定するには、タスクの一番上にあるサマリー行に新しい名前を入力します。たとえば、名前を sys_d に変更します。
タスクによって、生成されたコードが更新されて新しい変数名が反映され、新しく変換されたモデル sys_d が MATLAB ワークスペースに表示されます。このモデルは、他のモデル オブジェクトと同様に、今後の解析や制御設計に使用できます。例として、矩形波入力に対する変換されたシステムの応答をシミュレートします。タスクで指定したサンプル時間を使用します。
[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)