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?
Prashant Kumar answered .
2025-11-20
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')
System Identification — Theory For the User, Lennart Ljung, Section 13.4-13.5, 2nd ed, PTR Prentice Hall, Upper Saddle River, N.J., 1999.