Discrete transfer function show different results in Simulink and in Matlab!

5 ビュー (過去 30 日間)
Murat Gozu
Murat Gozu 2019 年 12 月 8 日
回答済み: Navya Seelam 2019 年 12 月 11 日
I have a discrete transfer function,
s = tf('s')
Gs=(5*s+1)/(s^2+2*s+1)
The step response of Gs is;
Step_Resp_Gs.jpg
then descritize Gs with Zoh with T=0.001,
Gz_inv =
z^2 - 1.998 z + 0.998
---------------------
0.004996 z - 0.004995
Step response of Gz is;
Step_Resp_Gz.jpg
Both results are the same, that is good.
Let s do the same thing in Simulink;
simulink_model.JPG
As you see below, the the step responses of Gs and Gz DO NOT match each other! Gs's response is the same as the one in Matlab, but the Gz's response is like a ramp output!
Simulink_step_response.JPG
Where is the problem? Why the discrete Gz's response does not match to either Matlab's result or Gs's step response? Can you please help on that?
Thank you
Murat Gozu

回答 (1 件)

Navya Seelam
Navya Seelam 2019 年 12 月 11 日
Hi,
This might be because of the unstable poles in discrete transfer function. Try using LTI block instead of discrete transfer function block.

カテゴリ

Help Center および File ExchangeClassical Control Design についてさらに検索

製品


リリース

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by