Closed Loop system identification toolbox

Illustration
hasan - 2022-03-11T11:22:06+00:00
Question: Closed Loop system identification toolbox

Hi all,   Is there any MATLAB Toolbox available for Closed Loop System Identification because MATLAB's current system identification toolkit is for identification of open loop systems?   I already knew one tool named CLOSID but it is not as flexible as MATLAB's sys ID toolkit and i am facing some problems in using it.   Is there anyway of using MATLAB's system identification toolkit for CLOSED LOOP SYSTEMS?

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

A model in System Identification Toolbox represents the equation y = Gu + He where G is the transfer function between y and u and H is the transfer function between y and e. G is called the "measured" component and H the "noise component" of the overall transfer function between y and [u, e].
 
In state space case, the equation is:
 
x(k+1) = A x(k) + B u(k) + K e(k)
  y(k) = C x(k) + D u(k) + e(k)

H in this case is:

x(k+1) = A x(k) + K e(k)
  yh(k) = C x(k) + e(k)

When you estimate a state space model using PEM, you estimate the values of one or more of A, B, C, D and K. In order to have a nontrivial noise component in your model, make sure that K is not fixed at zero. You do this by using "DisturbanceModel"/'estimate' PV pair in the estimation command or by setting the DisturbanceModel property of an existing IDSS model to 'estimate':

model = pem(data, NX, 'dist', 'estimate')
model2 = idss(drss(NX)) % or some other template you created using IDSS command
model2.DisturbanceMOdel = 'estimate'
model2 = pem(data, model2, 'focus', 'prediction')
Now, the claim is that estimating K along with A, B, C, D helps identify the plant even though it was operating under closed loop. Why this is the case is best answered in the reference I mentioned before. Here is a simple description: if you are measuring signals right at the I/O ports of a plant, you are indeed measuring the effect of changes in input at the plant's output. However the input signal contains the portion of the past output (because of feedback). This by itself is not a problem. But you are not only feeding back the previous outputs but also any disturbances that might have affected those previous output values. This disturbance is thus correlated with the system inputs. Adding a sufficiently flexible "H" helps you separate out the effect of disturbances on the plant output.
 
In other model structures, H can be suitably (even independently) defined. For example, in a Box Jenkins polynomial model, you have separate transfer functions for H and G whose orders your can pick independently (see IDPOLY, BJ; see also ARMAX).
 
There are persistence of excitation and other requirements for getting good results from closed loop data. Perhaps a better reference than I mentioned before is:
 
   System Identification — Theory For the User, Lennart Ljung, Section 13.4-13.5, 2nd ed, PTR Prentice Hall, Upper Saddle River, N.J., 1999.

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!