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

106 views (last 30 days)
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.

Accepted Answer

Sam Chak
Sam Chak on 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 Comment
Konvictus177
Konvictus177 on 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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!