Z transfer fcn under simulink and cmd line

1 visualización (últimos 30 días)
Bruce
Bruce el 5 de Abr. de 2023
Comentada: Jon el 6 de Abr. de 2023
I create a simple cmd from S to Z domain as below, and the result is matched with my understanding;
clear
rth1=0.0268;
tau1=1066.6;
Ts=0.05;
tf1=tf(rth1,[tau1 1])
dtf1=c2d(tf1,Ts)
figure;
step(tf1);
figure
step(dtf1);
but when i create this under simulink, the result is not matched, as you can see the Z transfer fcn output is quite different with the S transfer fcn.
Is there anyone can help me?
  2 comentarios
Jon
Jon el 5 de Abr. de 2023
Please attach you Simulink model and any scripts or other functions needed to run your example - thanks
Jon
Jon el 5 de Abr. de 2023
Please see my answer below, I was able to work out what the issue was without your code, so no need to attach it now

Iniciar sesión para comentar.

Respuesta aceptada

Jon
Jon el 5 de Abr. de 2023
This appears to be due to a round off error in the denominator of the discrete transfer function input to Simulink.
Try for example with the denominator set to
[1 -0.999949]
instead of
[1 -1]
and you will see that the step response of the continuous and discrete approximation are now much closer
  5 comentarios
Bruce
Bruce el 6 de Abr. de 2023
Thanks a lot, Jon. Your answer and explaination is quite clear, thanks again!
Jon
Jon el 6 de Abr. de 2023
Your welcome, it was an interesting problem

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink Environment Customization en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by