VIRTUALSENSOR

Piece-Wise Affine Simplicial virtual sensor

Contents

Class of MOBY-DIC TOOLBOX.

Description

The virtal sensor is a dynamical system which allows to estimate some unmeasurable outputs "z" of another dynamical systems starting from its inputs "u", its measurable outputs "y" and from the estimates of "z" at some previous time instants.

Let's consider the following dynamical system:

where u are the inputs (always measurables), y the outputs which can be measured at all times and z the outputs which can be measured for a finite time T. The aim of the virtual sensor is to estimate the value of z at istant k (k > T) starting from u at $m_u$ time istants (from $u_{k\textrm{--}m_u+1}$ to $u_k$), from y at $m_y$ time instants (from $y_{k\textrm{--}m_y+1}$ to $y_k$) and from the estimates of z at n time instants (from $z_{k\textrm{--}n}$ to $z_{k\textrm{--}1}$). The sensor is a Piecewise-Affine Simplicial function of all (or some of) these variables (collected in variable x) in the form:

$$ z_k(x) = f(x) = \sum_{i=1}^{N_b} w_i \alpha_i(x) \qquad (1) $$

where Nb is the number of vertices of the simplicial partition, alpha(x) are the alpha basis functions and w their corresponding weights (see pwas object for a more detailed description). The weights w are found with a least squares minimization starting from a training set of data (u, y and z). The training set can be created since z is measurable until a certain instant. A reduced complexity version of the PWAS virtual sensor can be designed by considering $z_k$ as a sum of PWAS functions defined over a subset of the domain; actually, a PWAS function for each time instant is used. The estimate, thus, is in the form:

$$ z_k(x) = f(x) = \sum_{i=1}^{\max(m_u,m_y,n)} f_i (u_{k\textrm{--}i+1}, y_{k\textrm{--}i+1}, z_{k\textrm{--}i})$$

where each of the $f_i$ is a PWAS function in the form (1). This solution allows to reduce the problem of the curse of dimensionality, since less weights w are needed. NOTE: if a variable is outside the time window associated to it, it is not considered in the function $f_i$. For example, consider $m_u = 2, m_y = 3, n = 4$, for i = 3 in the sum, function $f_3$ takes $u_{k\textrm{--}2}$ as argument, but $u_{k\textrm{--}2}$ is outside the time window mu associated to it. In this case it is not passed to the function, so $f_3$ will be a function of only $y_{k\textrm{--}2}$ and $z_{k\textrm{--}3}$.

Syntax

vs = virtualsensor()

Build an empty virtualsensor object

vs = virtualsensor(nu,ny)

Build a virtual sensor defining the number of system inputs ($n_u$) and the number of measurable system outputs ($n_y$).

vs = virtualsensor(nu,ny,options)

Build a virtual sensor defining the number of system inputs ($n_u$) and the number of measurable system outputs ($n_y$). An options structure is also provided with the following fields:

Properties

Methods

Private methods

Acknowledgements

Contributors:

Copyright is with: