blockHoldWithDAeffects

Hold with (simulated) Digital-Analog converter effects and computational delay

Extends from Clocked.RealSignals.Interfaces.PartialSISOHold (Basic block used for zero order hold of Real signals).

Information

This block is similar to the Hold block. The only difference is that simulated real-world effects are applied on the clocked input signal u before transforming the signal to a continuous-time signal with a zero-order hold. In particular:

  • The output is delayed by a fraction of the clock period, if parameter computationalDelay = true. The delay is defined by shiftCounter/resolution*interval(), where shiftCounter and resolution are Integer parameters and interval() is the time duration from the previous to the current clock tick. The maximal possible computational delay is one clock duration, and therefore there is the restriction that shiftCounter ≤ resolution.
  • The output is limited, if parameter limited = true.
  • The output is value discretized in the form of an Digital-Analog converter with a definable number of bits, if parameters limited = true, and quantized = true.

Example

The following example samples a sine signal with an amplitude of 2.0 with a periodic clock of 20 ms period and delays it for 2 sample periods. The resulting signal is hold with the HoldWithDAeffects block. As a result, the clock of hold.u starts ticking at 40 ms. The output hold.y of the block is a continuous-time signal that is present from the start of the simulation. Before the first tick of the clock of hold.u, it is set to 0.5 (= the value of parameter hold.y_start). Additionally, the following effects are added to the hold block:

  • The output is limited to +/- 1.9.
  • A computational delay of half of a sample period (= 1/2*20 ms = 10 ms) is defined.
HoldWithDAeffects1_Model.png     HoldWithDAeffects1_Result.png
model simulation result


Due to the limitation of the output signal, the values of hold.u ≥ 1.9 are limited to 1.9.

If the hold output is delayed by one sample period, then the previous(…) value of the input is output, and the first tick is delayed by one sample period, as shown by the modified example from above:

HoldWithDAeffects2_Model.png     HoldWithDAeffects2_Result.png
model simulation result


Note, the computational delay of one sample period is defined by shiftCounter=1, resolution=1, as shown in the icon of the hold block.

Parameters

TypeNameDefaultDescription
Realy_start (from PartialSISOHold)0.0Value of output y before the first tick of the clock associated to input u
Computational delay in seconds = interval() * shiftCounter/resolution
BooleancomputationalDelayfalse=true, if a computational delay should be imposed
IntegershiftCounter0(min=0, max=resolution), computational delay = interval()*shiftCounter/resolution
Integerresolution1Time quantization resolution of sample interval
Limiting and quantization
Booleanlimitedfalse= true, if output is limited
Booleanquantizedfalse= true, if output quantization effects included
RealyMax1Upper limit of output (if limited = true)
RealyMin-yMaxLower limit of output (if limited = true)
Integerbits8Number of bits of quantization (if quantized = true)

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputu (from PartialSISOHold)Connector of clocked, Real input signal
Modelica.Blocks.Interfaces.RealOutputy (from PartialSISOHold)Connector of continuous-time, Real output signal

Components

TypeNameDefaultDescription
Clocked.RealSignals.Sampler.Utilities.Internal.Limiterlimiter
Clocked.RealSignals.Sampler.Utilities.Internal.Quantizationquantization
Clocked.RealSignals.Sampler.Utilities.Internal.ComputationalDelaycompDelay
Holdhold1