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

7 Ansichten (letzte 30 Tage)
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

Antworten (1)

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

Kategorien

Mehr zu Simulink finden Sie in Help Center und File Exchange

Produkte


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by