How to calculate rise time, settling time, and overshoot based on real data measurements

63 vues (au cours des 30 derniers jours)
Hi,
I have taken real measurements from my temperature control system. I do not now the system, transfer function, etc. since I have not modeled this in MATLAB.
I have measurement data of the setpoint, the pid controllerd output heat (voltage) and my process variable (temperature).
Is there a built-in MATLAB function or any other function that calculates the PID performance (rise time, overshoot, settling time) for me based on real measurements. Again, I do not now the system, transferfunction.
I am looking for a function that will have the real measurement data as an input and give me the performance statistics as an output.
Thanks.

Réponse acceptée

Sam Chak
Sam Chak le 15 Avr 2022
The rise time, settling time, and percentage overshoot can directly obtained from measured step response data.
If your measured data are sinusoidal sweeps, then you can estimate the system model, either in state-space or transfer function, if you have the System Identification Toolbox.
For more info, please check ssest() and tfest() functions.
  1 commentaire
Konvictus177
Konvictus177 le 17 Avr 2022
I ended up using the functions risetime, settlingtime, overshoot and undershoot that I applied on my measured output data.
However, the links you provided are very helpful to go deeper into the area of system identification.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Linear Model Identification 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!

Translated by