# 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