主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

モデルレートの変換

連続時間と離散時間の間でモデルを変換し,ライブエディターでモデルをリサンプリングする

説明

[モデルレートの変換]では,連続時間と離散時間の間でLTIモデルを対話形式で変換できます。この方法を使って離散時間モデルをリサンプリングすることもできます。このタスクは,ライブスクリプト用のMATLAB®コードを自動生成します。

[モデルレートの変換]タスクを開始するには,変換するモデルを選択します。また,ターゲットサンプル時間,変換メソッド,その他のパラメーターも指定できます。このタスクでは,MATLABワークスペースに変換されたモデルを生成し,変換パラメーターを試すときに,応答プロットを生成して,元のモデルと変換後のモデルの一致をモニタすることができます。

関連する関数

[モデルレートの変換]では,次の関数を使用してコードを生成します。

タスクを開く

MATLABエディターでライブスクリプトに[モデルレートの変換]タスクを追加するには,次を行います。

  • [ライブエディター]タブで,[タスク][モデルレートの変換]を選択します。

  • スクリプトのコードブロック内で,转换汇集などの関連するキーワードを入力します。提案されるコマンド候補の中から[モデルレートの変換]を選択します。

すべて展開する

ライブエディターで[モデルレートの変換]タスクを使用して,モデルを連続時間から離散時間に対話形式で変換します。さまざまなメソッド,オプション,応答プロットを試します。このタスクでは,自分が選択した内容を反映するコードが自動的に生成されます。この例を開くと,[モデルレートの変換]タスクを含む,事前に設定されたスクリプトが示されます。

連続時間の伝達関数モデルを作成します。

G = tf([1 -50 300],[1 3 200 350]);

このモデルを離散化するには,ライブエディターで[モデルレートの変換]タスクを開きます。[ライブエディター]タブで,[タスク][モデルレートの変換]を選択します。タスクで,変換するモデルとしてGを選択します。

このタスクでは,既定のサンプル時間(0.2秒)と既定の変換メソッド[零级举行]を使用してモデルを自動的に離散化します。またボード線図も作成されるため,元のモデルと変換後のモデルの応答を比較できます。

プロットの垂直線は,既定のサンプル時間に関連付けられたナイキスト周波数を示します.0.15秒のサンプル時間を使用するものとします。[サンプル時間]フィールドに新しい値を入力して,サンプル時間を変更します。応答プロットが自動的に更新されて,新しいサンプル時間が反映されます。

アプリケーションに共振の正確なダイナミクスが必要な場合,異なる変換メソッドを使用して周波数領域の一致を改善できます。このタスクでは,異なるメソッドを試してみて,応答プロットでのその効果を観測します。

双一次(Tustin)変換メソッドの方が,既定のゼロ次ホールドメソッドよりも周波数領域で良好な一致が得られます(連続/離散の変換方法を参照)。[変換メソッドの選択]で,(双线性近似(Tustin)]を選択します。最初は,結果の周波数領域の一致は,ゼロ次ホールドメソッドを使用した場合に比べ劣っています。

“プリワープ周波数”を使用すると,一致を改善することができます。このオプションを使って,離散時間の応答を指定した周波数で一致させます。Gの共振は,およそ14 rad / sにピークがあります。プリワープ周波数の値を入力します。一致によって共振が改善します。ただし,0.15秒のサンプル時間の場合,共振はナイキスト周波数に非常に近くなり,一致が近づける程度が制限されます。

[モデルレートの変換]タスクは,他のタイプの応答プロットを生成できます。たとえば,元のモデルと変換後のモデルの時間領域応答を比較するには,(出力プロット]で,(一步]または[冲动]を選択します。

このタスクは,ライブスクリプトにコードを生成します。生成されたコードには,選択したパラメーターとオプションが反映され,指定した応答プロットを生成するコードが含まれます。生成されたコードを確認するには,タスクパラメーターエリアの下部にあるをクリックします。タスクが展開されて,生成されたコードが表示されます。

既定では,生成されたコードは出力変数の名前としてsysConvertedを使用します。MATLAB®ワークスペースで変換されたモデルがこの名前を使用します。別の出力変数名を指定するには、タスクの一番上にあるサマリー行に新しい名前を入力します。たとえば、名前をsys_dに変更します。

タスクによって,生成されたコードが更新されて新しい変数名が反映され,新しく変換されたモデルsys_dがMATLABワークスペースに表示されます。このモデルは,他のモデルオブジェクトと同様に,今後の解析や制御設計に使用できます。例として,矩形波入力に対する変換されたシステムの応答をシミュレートします。タスクで指定したサンプル時間を使用します。

(u, t) = gensig (“广场”、4、10、0.15);lsim (sys_d u t)

パラメーター

LTIモデルを選択します。リストには,次のような,MATLABワークスペース内の適切なすべての連続時間または離散時間の動的システムモデルが含まれます。

  • 特遣部队党卫军zpkモデルなどの数値LTIモデル。

  • 中的难点およびidtfモデルなどの,同定されたLTIモデル(同定されたモデルを使用するには,系统辨识工具箱™のライセンスが必要)。

输出モデルまたはMIMOモデルは,むだ時間の有無に関係なく,変換できますが,一部の変換メソッドは输出モデルでのみ使用できます([メソッド]パラメーターの説明を参照)。[モデルレートの変換]を使用して,一族または号航空母舰などの一般化LTIモデル,的朋友などの周波数応答データモデル,またはプロセスモデル(idproc)を変換することはできません。

変換後のモデルのサンプル時間を1 /TimeUnitの単位で指定します。TimeUnitは入力モデルのTimeUnitプロパティです。

  • 連続時間モデルを離散化する,または離散時間モデルを再サンプリングするには,ターゲットサンプル時間を入力します。

  • 離散時間モデルを連続時間に変換するには,0を入力します。

レート変換メソッドを選択します。選択できるメソッドは次のとおりです。

  • ゼロ次ホールド

  • 1次ホールド

  • インパルス不変法による離散化输出モデルの連続から離散への変換のみ)

  • 双一次(Tustin)近似

  • 極——零点マッチング法

  • 最小二乗法输出モデルの連続から離散への変換のみ)

変換メソッドの選択については,連続/離散の変換方法を参照してください。

むだ時間をもつモデルのレートを変換する場合に,(双一次(Tustin)近似)または[極-零点マッチング法)メソッドでは,むだ時間をサンプル時間の最も近い整数倍に丸めます。この丸めによって,特にナイキスト周波数の近傍で,ダイナミクスの精度が低下することがあります。

[遅延次数]を非ゼロの整数に設定して,モデルレートの変換で,丸めではなく,Thiranフィルターを使用して遅延の小数部分を近似します。アプリケーションで十分に精度の高いレート変換ダイナミクスを生成する最小値を使用します。Thiran フィルターの詳細については、thiranを参照してください。

連続時間モデルを離散化するときに,システムの特定の周波数に重要なダイナミクスがあり,レート変換を保持する場合は,(双一次(Tustin)近似)メソッドで周波数プリワーピングを使用することができます。このメソッドにより,指定したプリワープ周波数で元の応答と変換後の応答が一致します。連続/離散の変換方法を参照してください。

モデルレートの変換では,アプリケーションにとって重要なダイナミクスが保持されているか確認するのに役立つ応答プロットが自動で生成されます。次の応答プロットタイプのいずれかを指定して,変換パラメーターを試すときに,元のモデルと変換後のモデルの応答を比較します。

  • ボード線図

  • ステップ

  • インパルス

  • 極-零点

タスクで生成されるコードには,選択した応答プロットを作成するコードが含まれます。応答プロットを省略する場合は,[なし]を選択します。

R2019bで導入