.Modelica_LinearSystems2.DiscreteStateSpace.Conversion.toDiscreteTransferFunctionMIMO

Information

Syntax

dtf = DiscreteStateSpace.Conversion.toDiscreteTransferFunctionMIMO(dss)

Description

Computes a matrix of DiscreteTransferFunction records

         n(z)     b0 + b1*z + ... + bn*z^n
dtf = -------- = --------------------------
         d(z)     a0 + a1*z + ... + an*z^n

with repetitive application of Conversion.toDiscreteTransferFunction

Example

   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.0,      0.09516;
        0.0906,   0.09063;
       -0.0864,   0.0],

   C = [0.0, 1.0, 1.0;
        1.0, 1.0, 1.0],

   D = [1.0, 0.0;
        0.0, 1.0],

   B2 = [0.0,  0.0;
         0.0,  0.0;
         0.0,  0.0],
   Ts = 0.1);

algorithm
  dtf:=Modelica_LinearSystems2.DiscreteStateSpace.Conversion.toDiscreteZerosAndPoles(dss);

// dtf = [(1*z^2 - 1.55531*z + 0.61012)/(z^2 - 1.55955*z + 0.606531)

 Ts = 0.1
 method =StepExact,
 0.0906346/(z - 0.818731)

 Ts = 0.1
 method =StepExact;
(0.0042407*z + 0.00358958)/(z^2 - 1.55955*z + 0.606531)

 Ts = 0.1
 method =StepExact,
 (1*z^2 - 1.53777*z + 0.580896)/(z^2 - 1.72357*z + 0.740818)

 Ts = 0.1
 method =StepExact]

Interface

function toDiscreteTransferFunctionMIMO
  import Modelica_LinearSystems2;
  import Modelica;
  import Modelica_LinearSystems2.DiscreteTransferFunction;
  import Modelica_LinearSystems2.DiscreteStateSpace;
  import Modelica_LinearSystems2.DiscreteZerosAndPoles;
  input DiscreteStateSpace dss "Discrete state space object";
  output DiscreteTransferFunction dtf[size(dss.C, 1), size(dss.B, 2)] "Matrix of discrete transfer function objects";
end toDiscreteTransferFunctionMIMO;

Revisions

Date Author Comment
2010-05-31 Marcus Baur, DLR-RM Realization

Generated at 2024-11-26T19:26:15Z by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos