ETAS 4 Calculated Signals
l The sum of all values:
reduction = value[1] + … + value[n]
l The number of samples:
reduction = n
l The average of all values:
reduction = (value[1] + … + value[n]) / n
A reduction behavior is a calculation operation, that internally uses a reduction
function.
Example:
The rolling average operation applies the average at every sample position to the
last length samples of the input to determine a new output sample.
output[i] = Average(input[i-length+1], …, input[i])
Here the reduction function "average" is used by the reduction behavior "rolling".
At the moment select combinations of behavior and function are made available
as calculation operations.
The naming follows the pattern:
<Behavior>_<Function>
This means that for the rolling average the name is:
Accumulate_Rolling_Average
4.4.3.1 Ranges
A range is a time interval with a start and an end time. Ranges are used to rep-
resent subsets of samples to calculate a reduction function. A range includes all
samples with timestamps greater than the start and less or equal the end, i.e. it
is an interval that is open on the left and closed on the right.
Ranges can be used both as output of a calculation (e.g. Window_Signal) or as
input of a calculation (Accumulate_Rolling). Ranges are not a separate data type
but are encoded as a scalar signal where:
Value = start time
Time = end time
This means that the end time is implicit and cannot be selected as a separate
signal. It can be accessed using the Master() function.
Examples:
l A range over the last 2 seconds can be created by
Master() - 2
l Rolling average over the last 10 samples
State_Delay(Master(), 0, 10)
Note: Due to the mapping of end time of the ranges to timestamps the end
times have to be strictly monotonously increasing.
MDA V8.5 - User Guide 68