I acquired some input and output data sets from a PID closed loop control biological system which the input is brain stimulation and output is the measured blood flow. I tried to use system identification toolbox of Matlab. The results turned out that a second order process model can model it pretty well.
I have heard Model Predictive Control can provided better control outcome under two condition the model should be accurate enough and the plant needs to have delay.
First question I have is how to define the accuracy of modeling/system identification and how accurate it needs to be for MPC to have better control outcome?
Second question I have is how can I measure the delay of a system by using input output data sets?
First you need to characterize your data streams individually (autocorrelation, auto-covariance) then collectively (cross-correlations and later if appropriate the spectral power densities).
These steps should not hold up your control strategy development, but will help you understand your system and to characterize the performance afterwards.
In general terms: The higher the ratio of dead time to time constant, the more a model based controller (MBC/MBPC) will outperform the PID. The general recommendation is not to use the PID any more beyond a ratio of three.
Of course, the more accurate the model, the better the MBC performance, yet 10 to 20 % error in the model parameters still should deliver results that are superior to the PID. Stability depends on the controller formulation: Our own MBC can easily accept 50 % error in all parameters without becoming instable.
To your second question: Many identification methods and tools are available. Choose one that allows to identify the process parameters also from a closed loop test result, such as our TOPAS.
Hans H. Eder