functionimpulseResponse

Calculate the impulse time response of a state space system

Extends from Modelica_LinearSystems2.Internal.timeResponseMask2 (Declares the common structure for the set of response functions).

Information

Syntax

(y, t, x) = StateSpace.Analysis.impulseResponse(ss, dt, tSpan)

Description

This function calculates the time response of a state space system for impulse input. The state space system is transformed to a appropriate discrete state space system and, starting at x(t=0)=0 and y(t=0)=C*x0 + D*u0, the outputs y and x are calculated for each time step t=k*dt.

StateSpace.Analysis.impulseResponse(ss, dt, tSpan)

gives the same result as

StateSpace.Analysis.timeResponse(ss, dt, tSpan, response=Types.TimeResponse.Impulse, x0=fill(0,size(ss.A,1))).

Example

  Modelica_LinearSystems2.StateSpace ss=Modelica_LinearSystems2.StateSpace(
    A=[-1],
    B=[1],
    C=[2],
    D=[0]);
  Real Ts=0.1;
  Real tSpan= 0.4;

  Real y[5,1,1];
  Real t[5];
  Real x[5,1,1]

algorithm
  (y,t,x) := StateSpace.Analysis.impulseResponse(ss,Ts,tSpan);
  // y[:,1,1] = {2, 1.8097, 1.6375, 1.4816, 1.3406}
  //        t = {0, 0.1, 0.2, 0.3, 0.4}
  // x[:,1,1] = {1, 0.9048, 0.8187, 0.7408, 0.6703}

See also

StateSpace.Analysis.timeResponse

Inputs

TypeNameDefaultDescription
StateSpacesc (from timeResponseMask2)State space system
Realdt (from timeResponseMask2)0Sample time [s]
RealtSpan (from timeResponseMask2)0Simulation time span [s]

Outputs

TypeNameDefaultDescription
Real[:,size(sc.C, 1),size(sc.B, 2)]y (from timeResponseMask2)Output response: (number of samples) x (number of outputs) x (number of inputs)
Real[:]t (from timeResponseMask2)Time vector: (number of samples)
Real[:,size(sc.A, 1),size(sc.B, 2)]x_continuous (from timeResponseMask2)State trajectories: (number of samples) x (number of states) x (number of inputs)

Revisions

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