Calculate ERA model based on impulse-response data.
This function computes a discrete-time system
of order for a given impulse-response data (see [1]).
The function can be called with 2 arguments:
sysd, S = eigensys_realization(data, r)
sysd, S = eigensys_realization(YY, r)
where data
is a TimeResponseData
object, YY
is a 1D or 3D array, and r is an integer.
Impulse response from which the StateSpace
model is estimated, 1D or 3D array.
TimeResponseData
Impulse response from which the StateSpace
model is estimated.
Order of model.
Number of rows in Hankel matrix. Default is 2*r.
Number of columns in Hankel matrix. Default is 2*r.
True indicates discrete time with unspecified sampling time and a positive float is discrete time with the specified sampling time. It can be used to scale the StateSpace
model in order to match the unit-area impulse response of python-control. Default is True.
Assume that input data is transposed relative to the standard Time series data conventions. For TimeResponseData
this parameter is ignored. Default is False.
StateSpace
State space model of the specified order.
Singular values of Hankel matrix. Can be used to choose a good r
value.
References
Examples
>>> T = np.linspace(0, 10, 100) >>> _, YY = ct.impulse_response(ct.tf([1], [1, 0.5], True), T) >>> sysd, _ = ct.eigensys_realization(YY, r=1)
>>> T = np.linspace(0, 10, 100) >>> response = ct.impulse_response(ct.tf([1], [1, 0.5], True), T) >>> sysd, _ = ct.eigensys_realization(response, r=1)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4