Skip to content

io

Input-Output Models

Every identified linear input-output model is returned according to the following structure:

\[ y_k = G(z)u_k + H(z)e_k \]

where \( G(z) \) and \( H(z) \) are transfer function matrices of polynomials in \( z \), which is the forward shift operator (see Figure~ ef{fig:gen_model}).

Modules:

Name Description
armax

Created on Fri Jul 28 2017

arx

Created on Wed Jul 26 2017

base

Helper functions for nonlinear optimization problem used by some of the identification functions.

opt

Created on 2021

rls

Created on 2021

Classes:

Name Description
Armax

Functions:

Name Description
ARX_MISO_id

Auto-Regressive with eXogenous Inputs model (ARX) identification.

ARX_id

Auto-Regressive with eXogenous Inputs model (ARX) identification.

Armax

Armax(
    G: TransferFunction,
    H: TransferFunction,
    *order_bounds: tuple[int, int],
    Vn: float | floating,
    y_id: ndarray,
    method: ICMethods = "AIC"
)

The AutoRegressive-Moving-Average with eXogenous inputs model is computed based on a recursive lest-square regression between the input data (U) and the measured output data (Y). As Y is noisy in practice, a white noise (E) is identified within the model. This model is designed to deal with potential time-delays between U and Y.

SIPPY implements an iterative procedure, with extit{iterative least-square regression} = ILLS.

The following equations summarize the equations involved in the model:

$$ Y = G.U + H.E

G = B / A H = C / A

A = 1 + a_1z^(-1) + ... + a_naz^(-na) B = b_1z^(-1-theta) + ... + b_nbz^(-nb-theta) C = c_1z^(-1) + ... + c_ncz^(-nc) $$

Parameters:

Name Type Description Default

G

TransferFunction

output response

required

H

TransferFunction

noise response

required

order_bounds

tuple[int, int]

extended range of the order of: - na_bounds: the common denominator - nb_bounds: the G numerator - nc_bounds: the H numerator - theta_bounds: the discrete theta in B

()

Vn

float | floating

The estimated error norm.

required

y_id

ndarray

The model output including non-identified outputs.

required

method

ICMethods

Method used of to attribute a performance to the model

'AIC'
References

https://ieeexplore.ieee.org/abstract/document/8516791

ARX_MISO_id

ARX_MISO_id(
    y: ndarray,
    u: ndarray,
    na: int,
    nb: ndarray,
    theta: ndarray,
) -> tuple[
    ndarray, ndarray, ndarray, ndarray, floating, ndarray
]

Auto-Regressive with eXogenous Inputs model (ARX) identification.

Identified through the computation of the pseudo-inverse of the regressor matrix ($ \phi $).

Parameters:

Name Type Description Default

y

ndarray

Measured data

required

u

ndarray

Input data

required

na

int

Order of the autoregressive part.

required

nb

ndarray

Order of the exogenous part.

required

theta

ndarray

Delay of the exogenous part.

required

Returns:

Name Type Description
numerator ndarray
denominator ndarray
numerator_h ndarray
denominator_h ndarray
Vn floating

The estimated error norm.

y_id ndarray

The model output including non-identified outputs.

ARX_id

ARX_id(
    y: ndarray,
    u: ndarray,
    na: int,
    nb: ndarray,
    theta: ndarray,
    y_std: float = 1.0,
    U_std: ndarray = array(1.0),
) -> tuple[
    ndarray, ndarray, ndarray, ndarray, floating, ndarray
]

Auto-Regressive with eXogenous Inputs model (ARX) identification.

Identified through the computation of the pseudo-inverse of the regressor matrix ($ \phi $).

Parameters:

Name Type Description Default

y

ndarray

Measured data

required

u

ndarray

Input data

required

na

int

Order of the autoregressive part.

required

nb

ndarray

Order of the exogenous part.

required

theta

ndarray

Delay of the exogenous part.

required

y_std

float

Standard deviation of the output data.

1.0

U_std

ndarray

Standard deviation of the input data.

array(1.0)

Returns:

Name Type Description
numerator ndarray
denominator ndarray
numerator_h ndarray
denominator_h ndarray
Vn floating

The estimated error norm.

y_id ndarray

The model output including non-identified outputs.