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

62 ビュー (過去 30 日間)
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.

採用された回答

Sam Chak
Sam Chak 2022 年 4 月 15 日
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 件のコメント
Konvictus177
Konvictus177 2022 年 4 月 17 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Model Identification についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by