MOESP algorithm by using n4sid command for discrete time data

2 次查看(过去 30 天)
I am trying to apply MOESP algorithm by using the n4sid command to disctete time data but the iddata object requires me to input the sampling time,which, is not possible for discrete time data. at the value of Ts = 1, I obtain the matrix A with abnormally high values, How do I correct this?
Code:
data = iddata(L',U',1)
sys = n4sid(data,2)
Command Window Output:
sys =
Discrete-time identified state-space model:
x(t+Ts) = A x(t) + B u(t) + K e(t)
y(t) = C x(t) + D u(t) + e(t)
A =
x1 x2
x1 -2.517e+12 2.094e+12
x2 -3.026e+12 2.517e+12

回答(1 个)

Rajiv Singh
Rajiv Singh 2022-8-9
The issue is not with the sample time choice but with the system itself. It seems that the data from a system with undamped poles. In that case n4sid can run into numerical issues and deliver poor results.
Note that for discrete-time estimations using time-domain data, the sample time does not affect the numerical parameter values computed.

类别

Help CenterFile Exchange 中查找有关 Linear Model Identification 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by