伝達関数の離散化について

58 Ansichten (letzte 30 Tage)
mukky
mukky am 23 Apr. 2023
Kommentiert: NaoyaImai am 11 Mär. 2024 um 7:54
基本的なことなのですが伝達関数の離散化について教えてください。
sysc=tf([01],[1 1])
にて一次遅れの連続時間の伝達関数を定義し、
sysd=c2d(sysc,1)
にてサンプル時間1secで離散化します。
sysd=0.6321/(z-0.3679)
となるのですが、一般的な入門書には連続時間系の1/(s+a)を離散化するとz/(z-e^a*T)とあり、a=1,T=1とすると
sysd=1/(z-0.3679)
となりますがこの0.6321倍の違いは何なのでしょうか?

Akzeptierte Antwort

Toshinobu Shintai
Toshinobu Shintai am 24 Apr. 2023
c2dコマンドは、デフォルトでは「ゼロ次ホールド」という手法を用いて離散化しています。詳しくはこちらをご確認ください。以下、syscがsysdになる過程について説明させていただきます。
syscは、1次遅れの伝達関数です。
sysc=tf([01],[1 1])
sysc = 1 ----- s + 1 Continuous-time transfer function.
ここから、ゼロ次ホールドの離散化を行います。まず最初に、一定時間入力をホールドする関数 G(s) を掛け算します。
Gは、ラプラス変換のsを用いると となります。代入すると、
ここで、 に変換し(z変換の定義通り)、 に変換します。
ここで、T = 1を代入すると、
となります。
  1 Kommentar
NaoyaImai
NaoyaImai am 11 Mär. 2024 um 7:54
便乗で質問させてください。
ゼロ次ホールドの離散化に関して記述のある書籍等ご存知でしょうか。
現在購入可能なものであれば助かります。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 動的システム モデル finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!