function c2d output unstable system as Ts decrease (frequency increase)

6 vues (au cours des 30 derniers jours)
HZ
HZ le 23 Juil 2020
I use the Matlab(2018b) c2d function to discretize a transfer function. The transfer function is 15th order, with two poles and two zeros very close to imaginary axis.
I tried with Ts of 0.001s, 0.01s, 0.02s, and with 'tustin' and 'zoh' method. The 0.02s Ts still gives me stable discretized tf, but 0.01Ts starts to give me some unstable poles outside 1, and 0.001Ts gives me more unstable poles outside 1. I put the transfer function in LTI block in Simulink, run a step test, and the result shows below.
It made me confused. I am under the impression that the higher sampling frequency will gives you better reconstruction of the original system. But the result of the c2d function show reversed: the higher sampling frequency, the more unstable. I also make up a system with zero/poles very closed to imaginary axis, but it is only a 5th order SISO system. The c2d function seems working fine on the SISO 5th order system without problem.
The conclusion is that the c2d has some issues discretizing my 15th order transfer function. Please help me to understand what happen, and how could I discretized my original system with higher sampling frequency. Thanks a lot.

Réponse acceptée

HZ
HZ le 23 Juil 2020
Just found an old post. This issue could be solved by converting the transfer function by state space format and redo the discretization. thanks
  3 commentaires
HZ
HZ le 31 Juil 2020
It is the limit of numerical calculation by c2d function. c2d will have more accurate result in state space format. If you have a transfer function, you could derive the state space by manual or convert it to state space format by the ss function in Matlab.
Mykyta Zabolotniy
Mykyta Zabolotniy le 7 Août 2020
got it, many thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Dynamic System Models dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by