.Modelica_LinearSystems2.DiscreteStateSpace.Plot.bodeSISO

Information

Syntax

DiscreteStateSpace.Plot.bodeSISO(dss)
   or
DiscreteStateSpace.Plot.bodeSISO(
  dss,
  iu,
  iy,
  nPoints,
  autoRange,
  f_min,
  f_max,
  magnitude=true,
  phase=true,
  defaultDiagram=Modelica_LinearSystems2.Internal.DefaultDiagramBodePlot(),
  device=Modelica_LinearSystems2.Utilities.Plot.Records.Device() )

Description

This function plots a bode-diagram of the transfer function corresponding to the behavior of the state space system from iu'th element of the input vector u to the iy'th element of the output vector y.

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.0906;
        -0.0864],
    C = [0.0, 1.0, 1.0],
    D = [1.0],
    B2 = [0.0;
          0.0;
          0.0],
    Ts = 0.1);

  Integer iu=1;
  Integer iy=1;

algorithm
  Modelica_LinearSystems2.DiscreteStateSpace.Plot.plotBodeSISO(dss, iu, iy)
//  gives:

Interface

encapsulated function bodeSISO
  import Modelica;
  import Modelica_LinearSystems2;
  import Modelica_LinearSystems2.DiscreteStateSpace;
  import Modelica_LinearSystems2.DiscreteZerosAndPoles;
  input DiscreteStateSpace dss "discrete state space system";
  input Integer iu = 1 "index of input";
  input Integer iy = 1 "index of output";
  input Integer nPoints(min = 2) = 200 "Number of points";
  input Boolean autoRange = true "True, if abszissa range is automatically determined";
  input Modelica.Units.SI.Frequency f_min = 0.1 "Minimum frequency value, if autoRange = false";
  input Modelica.Units.SI.Frequency f_max = 10 "Maximum frequency value, if autoRange = false";
  input Boolean magnitude = true "= true, to plot the magnitude of dtf" annotation(
    choices(checkBox = true));
  input Boolean phase = true "= true, to plot the phase of tf" annotation(
    choices(checkBox = true));
  extends Modelica_LinearSystems2.Internal.PartialPlotFunction(defaultDiagram = Modelica_LinearSystems2.Internal.DefaultDiagramBodePlot());
  input Boolean Hz = true "= true, to plot abszissa in [Hz], otherwise in [rad/s] (= 2*pi*Hz)" annotation(
    choices(checkBox = true));
  input Boolean dB = false "= true, to plot magnitude in [], otherwise in [dB] (=20*log10(value))" annotation(
    choices(checkBox = true),
    Dialog(enable = magnitude));
end bodeSISO;

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