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

63 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Sam Chak
Sam Chak il 15 Apr 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 Commento
Konvictus177
Konvictus177 il 17 Apr 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear Model Identification in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by