dzp = DiscreteStateSpace.Conversion.toDiscreteZerosAndPoles(dss)
Computes a DiscreteZerosAndPoles record
product(q + n1[i]) * product(q^2 + n2[i,1]*q + n2[i,2])
dzp = k * ---------------------------------------------------------
product(q + d1[i]) * product(q^2 + d2[i,1]*q + d2[i,2])
of a system from discrete state space representation using the transformation algorithm described in [1].
The uncontrollable and unobservable parts are isolated and the eigenvalues and invariant zeros of the controllable and observable sub system are calculated.
Modelica_LinearSystems2.DiscreteStateSpace dss=Modelica_LinearSystems2.DiscreteStateSpace(
A = [0.9048, 0.0, 0.0;
0.0, 0.8187, 0.0;
0.0, 0.0, 0.7408],
B = [0.09516;
0.09063;
0.0],
C = [1.0,1.0,1.0],
D = [0.0],
Ts = 0.1);
algorithm
dzp:=Modelica_LinearSystems2.DiscreteStateSpace.Conversion.toDiscreteZerosAndPoles(dss);
// q - 0.860735
// dzp = 0.1858 -------------------------------
// (q - 0.904837)*(q - 0.818731)
encapsulated function toDiscreteZerosAndPoles import Modelica; import Modelica.ComplexMath; import Complex; import Modelica_LinearSystems2; import Modelica_LinearSystems2.StateSpace; import Modelica_LinearSystems2.ZerosAndPoles; import Modelica_LinearSystems2.DiscreteZerosAndPoles; import Modelica_LinearSystems2.DiscreteStateSpace; input DiscreteStateSpace dss "Discrete state space system"; output Modelica_LinearSystems2.DiscreteZerosAndPoles dzp "Discrete zeros-and-poles description of system"; end toDiscreteZerosAndPoles;
| Date | Author | Comment |
|---|---|---|
| 2010-05-31 | Marcus Baur, DLR-RM | Realization |