Descriptor State space in Simulink

I have a simple Simulink model, looking like the following:
I want the sum (at the right) to be equal to zero, so I have the following equation:
Input*ss1 + Input*K*ss2 = 0
Input * (ss1 + K*ss2) = 0
ss1 + K*ss2 = 0
K = -inv(ss2)*ss1
Both ss1 and ss2 are linear state space with one input, and one input. However, when calculating K, I get a descriptor state space (a,b,c,d AND e), which I cannot (or do not know how to) enter in Simulink. When running the simulink model without the 'K.e', it does not add up to zero.
Can someone tell me how to calculate K, so I don't get the descriptor SS? Or how to use the descriptor SS in Simulink?
Regards,
Thijs

4 Commenti

Thijs
Thijs il 10 Apr 2014
Modificato: Thijs il 10 Apr 2014
In my real system, ss2 is my plant model, and ss1 is a disturbance acting on the system.
K would be the feedforward 'gain'.
So by taking 'K = -inv(ss2)*ss1', K would be the optimal feedforward gain, and the resulting output (after the sum) should be equal to zero.
The state-spaces are too big (100+ states) to use the function ss2tf. When I use this function, the coefficients in the tf become too large for MATLAB. That is the reason why I am using state spaces instead of transfer functions.
P.S. Just checked with simple TF's, and it does work then (sum is equal to 10^-15 = 0).
Thijs
Thijs il 10 Apr 2014
Anyone?
Thijs
Thijs il 11 Apr 2014
Anyone?
Thijs
Thijs il 15 Apr 2014
Is there noone that can help me on this one?

Accedi per commentare.

 Risposta accettata

Arkadiy Turevskiy
Arkadiy Turevskiy il 28 Apr 2014

0 voti

You can implement descriptor state space systems in Simulink using LTI System block from Control System Toolbox.

Più risposte (1)

Fu Zhang
Fu Zhang il 27 Mar 2019

0 voti

In 2018b, Simulink introduced descriptor state space block, which is a built-in block that support sparse parameter. Details can be found here : https://www.mathworks.com/help/simulink/slref/descriptorstatespace.html

Categorie

Scopri di più su Simulink in Centro assistenza e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by