CSSM – Continuous state space model
Block SymbolLicensing group: ADVANCED
Function Description
The CSSM block (Continuous State Space Model) simulates behavior of a linear system:
where is the state vector, is the initial value of the state vector, is the input vector, is the output vector. The matrix is the system dynamics matrix, is the input matrix, is the output matrix and is the direct transmission (feedthrough) matrix. If UD=off, the matrix is not used during simulation (it behaves as if it were zero).
All matrices are specified in the same format as in Matlab, i.e. the whole matrix is placed in brackets, elements are entered by rows, elements of a row are separated by spaces (blanks), rows are separated by semicolons. The vector is a column, therefore the elements are separated by semicolons (each element is in a separate row).
The simulated system is first converted to the discrete (discretized) state space model:
where is the simulation step, is the execution period of the block in seconds. The period is not entered in the block, it is determined automatically as a period of the task (TASK, QTASK nebo IOTASK) containing the block.
If the input is changed only in the moments of sampling and between two consecutive sampling instants is constant, i.e. for , then the matrices and are determined by:
Computation of discrete matrices and is based on a method described in [7], which uses Padé approximations of matrix exponential and its integral and scaling technique.
During the real-time simulation, single simulation step of the above discrete state space model is computed in each execution time instant. Outputs of the simulated system y1..y16 represent the state of the system x(t) and for a given simulation, the first outputs are used, where is the number of rows of the matrix Cc.
The output iE is an integer and contains information about the simulation progress:
- 0: everything is OK, the block simulates correctly
- -213: incompatibility of the dimensions of the state space model matrices
- -510: the task is ill-conditioned (one of the working matrices is singular or close to a singular matrix)
- xxx: error code xxx of the REXYGENsystem, see more in Appendix C
This block propagates the signal quality. More information can be found in the 1.4 section.
Input
R1 | Block reset | Bool |
HLD | Hold current model state | Bool |
u1..u16 | Analog input of the block | Double (F64) |
Parameter
UD | Matrix Dc usage | Bool |
is | Pade approximation order 0 4 2 | Long (I32) |
eps | Approximation accuracy 0.0 1.0 1e-15 | Double (F64) |
Ac | Matrix A of the continuous model [-0.36 -1.24 -0.18; 1 0 0; 0 1 0] | Double (F64) |
Bc | Matrix B of the continuous model [0.5; 0; 0] | Double (F64) |
Cc | Matrix C of the continuous model [0.12 0.48 0.36] | Double (F64) |
Dc | Matrix D of the continuous model [0] | Double (F64) |
x0 | Initial value of the state x [0; 0; 0] | Double (F64) |
Output
iE | Error code | Error |
y1..y16 | Analog output of the block | Double (F64) |
[Previous] [Back to top] [Up] [Next]
2024 © REX Controls s.r.o., www.rexygen.com