フィルターのクリア

Trying to enter a transfer function in simulink (tauD s + 1)

9 ビュー (過去 30 日間)
Wouter
Wouter 2023 年 12 月 12 日
コメント済み: Sam Chak 2023 年 12 月 12 日
I'm trying to enter a transfer function into matlab simulink. This one tauD s + 1. I tried to enter it by entering in the numerator [tauD 1] and in the denominator [1]. But then it will give me an error that says that the order of the numerator and denominator aren't equal. Anyone any ideas how to enter this function? Maybe i'm doing this wrong, any help is appreciated!

採用された回答

Paul
Paul 2023 年 12 月 12 日
編集済み: Paul 2023 年 12 月 12 日
Hi Wouter,
As you've found, that transfer function can't be implemented in Simulink in a Transfer Fcn block.
Depending on the structure of your model, you may be able to incorporate that term into another block. For example, if the taud*s + 1 is in series with another transfer function, you may be able to incorporate the taud*s + 1 into that other tranfer function (depending on its relative order) and retain the same, overall, input/output behavior.
Another option would be to approximate what you want by adding a high frequency pole, i.e., (taud*s + 1) / (taup*s + 1) where taup is small enough that you're basically getting the correct repsonse for inputs of interest. However, making taup too small could eventually slow down the simulation by forcing a small simulation step size (depending on the other dynamics in the simulation), so there may be a trade-of in how small you're willing to make taup.
  1 件のコメント
Wouter
Wouter 2023 年 12 月 12 日
Thank you, i combined the two transfer functions and it worked!

サインインしてコメントする。

その他の回答 (1 件)

Sam Chak
Sam Chak 2023 年 12 月 12 日
Mathematically, is equivalent to in continuous-time domain. As a simple test, if we inject a signal, , which is also the solution to the differential equation with the initial condition , then the output on the scope should be zero except for the non-zero initial value, at time .
Under normal circumstances, we don't use an improper transfer function. May I guess if you are trying to design the ideal PD controller, where ​ is the derivative time constant?
  2 件のコメント
Paul
Paul 2023 年 12 月 12 日
Hi Sam,
I don't think a Derivative block should ever be used unless absolutely neccessary, or at least with a clear understanding of whether or not it will problematic for the expected input to the block.
Sam Chak
Sam Chak 2023 年 12 月 12 日
I agree. It was just a test in Simulink to evaluate the mathematical functionality of the block, checking whether it can produce the expected output, as predicted by the math. Moreover, the exponential function of the input signal is Lipschitz continuous. We don't really know what input the OP intends to inject into . If it is an input with a jump discontinuity, then the accuracy of the output may be compromised.
I wonder which strictly proper transfer function the OP combined with.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeProgrammatic Model Editing についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by