scale_SSΒΆ
Given a state-space system, scales the equations such that the original input and output, \(u\) and \(y\), are substituted by \(u_{AD}=\frac{u}{u_{ref}}\) and \(y_{AD}=\frac{y}{y_{ref}}\).
If the original system has form:
\[\begin{split}\mathbf{x}^{n+1} &= \mathbf{A\,x}^n + \mathbf{B\,u}^n \\ \mathbf{y}^{n} &= \mathbf{C\,x}^{n} + \mathbf{D\,u}^n\end{split}\]
the transformation is such that:
\[\begin{split}\mathbf{x}^{n+1} &= \mathbf{A\,x}^n + \mathbf{B}\,\frac{u_{ref}}{x_{ref}}\mathbf{u_{AD}}^n \\ \mathbf{y_{AD}}^{n+1} &= \frac{1}{y_{ref}}(\mathbf{C}\,x_{ref}\,\mathbf{x}^{n+1} + \mathbf{D}\,u_{ref}\,\mathbf{u_{AD}}^n)\end{split}\]
By default, the state-space model is manipulated by reference (byref=True
)
param SSin: | original state-space formulation |
---|---|
type SSin: | scsig.dlti |
param input_scal: | |
input scaling factor \(u_{ref}\). It can be a float or an array, in which case the each element of the input vector will be scaled by a different factor. | |
type input_scal: | |
float or np.ndarray | |
param output_scal: | |
output scaling factor \(y_{ref}\). It can be a float or an array, in which case the each element of the output vector will be scaled by a different factor. | |
type output_scal: | |
float or np.ndarray | |
param state_scal: | |
state scaling factor \(x_{ref}\). It can be a float or an array, in which case the each element of the state vector will be scaled by a different factor. | |
type state_scal: | |
float or np.ndarray | |
param byref: | state space manipulation order |
type byref: | bool |
returns: | scaled state space formulation |
rtype: | scsig.dlti |