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

60 vues (au cours des 30 derniers jours)
mukky
mukky le 23 Avr 2023
Commenté : NaoyaImai le 11 Mar 2024
基本的なことなのですが伝達関数の離散化について教えてください。
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倍の違いは何なのでしょうか?

Réponse acceptée

Toshinobu Shintai
Toshinobu Shintai le 24 Avr 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 commentaire
NaoyaImai
NaoyaImai le 11 Mar 2024
便乗で質問させてください。
ゼロ次ホールドの離散化に関して記述のある書籍等ご存知でしょうか。
現在購入可能なものであれば助かります。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Control System Toolbox dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!