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

조회 수: 41 (최근 30일)
mukky
mukky 2023년 4월 23일
댓글: NaoyaImai 2024년 3월 11일
基本的なことなのですが伝達関数の離散化について教えてください。
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倍の違いは何なのでしょうか?

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 動的システム モデル에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!