(y, t, x) = DiscreteTransferFunction.Analysis.rampResponse(dtf, tSpan, x0)
First, the discrete transfer function representation is transformed into discrete state space representation which is given to DiscreteStateSpace.Analysis.timeResponse and the ramp response of the discrete state space system is calculated. The type of the time response is defined by the input responseType, i.e. in this case
Ramp "Ramp response",
The outputs y and x of the discrete state space systrem are calculated for each time step t=k*dt.
DiscreteTransferFunction z = Modelica_LinearSystems2.DiscreteTransferFunction.z(); Modelica_LinearSystems2.DiscreteTransferFunction dtf=(0.0023753*z^2 + 0.00475059*z + 0.0023753)/(z^2 - 1.89549*z + 0.904988); Real tSpan= 0.4; Real x0[1]={0,0}; Real y[5,1,1]; Real t[5]; Real x[5,1,1] algorithm dtf.Ts:=0.1; (y,t,x):=Modelica_LinearSystems2.DiscreteTransferFunction.Analysis.rampResponse(dtf,tSpan,response,x0); // y[:,1,1] = {0.0, 0.000237529691211404, 0.00140035319141736, 0.00433962716009387, 0.00980875987606869} // t = {0, 0.1, 0.2, 0.3, 0.4} // x[:,1,1] = {0.0, 0.0, 0.0, 0.1, 0.389548693586699}
encapsulated function rampResponse import Modelica; import Modelica_LinearSystems2; import Modelica_LinearSystems2.DiscreteTransferFunction; import Modelica_LinearSystems2.DiscreteStateSpace; extends Modelica_LinearSystems2.Internal.timeResponseMask_tf_discrete; end rampResponse;