dtf = DiscreteStateSpace.Conversion.toDiscreteTransferFunction(dss)
Computes a DiscreteTransferFunction record
n(z) b0 + b1*z + ... + bn*z^n
dtf = -------- = --------------------------
d(z) a0 + a1*z + ... + an*z^n
The algorithm uses toDiscreteZerosAndPoles to convert the discrete state space system into a discrete zeros and poles representation first and after that DiscreteZerosAndPoles.Conversion.toDiscreteTransferFunction to generate the transfer function.
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],
B2 = [0, 0;
0, 0;
0, 0],
Ts = 0.1);
algorithm
dtf:=Modelica_LinearSystems2.DiscreteStateSpace.Conversion.toDiscreteTransferFunction(dss);
// 0.185797*z - 0.159922
// dtf = -------------------------------
// z^2 - 1.72357*z + 0.740818
function toDiscreteTransferFunction import Modelica; import Modelica_LinearSystems2; import Modelica_LinearSystems2.DiscreteTransferFunction; import Modelica_LinearSystems2.DiscreteStateSpace; import Modelica_LinearSystems2.DiscreteZerosAndPoles; input DiscreteStateSpace dss "Discrete state space system"; output DiscreteTransferFunction dtf "Discrete transfer function description of system"; end toDiscreteTransferFunction;
| Date | Author | Comment |
|---|---|---|
| 2010-05-31 | Marcus Baur, DLR-RM | Realization |