Z transfer fcn under simulink and cmd line
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1346569/image.png)
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?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1346574/image.png)
Réponse acceptée
Jon
le 5 Avr 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Simulink Environment Customization dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!