find_plateau

find_plateau in the data. A plateau is found, if the data is inside the tolerance of +- dy_tol. The length in seconds (units as used in ctime) is longer than dx_min and ends at the maximum dx_max or if rvY[i] is greater than the tolerance. Finds only plateaus that are in the range from y_min_threshold to y_max_threshold. A plateau does not contain missing_values.

Each plateau is marked with a constant number, starting with 1, increment 1. The ramps between the plateaus are set to 0.

idx = find_plateau(rvTime, rvData, dy_tol, dx_min, dx_max, y_min_threshold, y_max_threshold);

Return Value

idx is a vector where each plateau is marked with a constant number, starting with 1 and increment by 1.

Parameters

rvTime

rvTime is the time channel.

rvData

rvData is the channel on which plateau are being looked for.

dy_tol

Plateau is found if data is whitn dy_tol tolerance.

dx_min

dx_min minimum duration to detect a plateau

dx_max

dx_max dx_max duration to detect a plateau

y_min_threshold

y_min_threshold minimum Y value to detect a plateau.

y_max_threshold

y_max_threshold minimum Y value to detect a plateau.

Example

In the example below, plateaus are detected on the blue signal using the following find_plateau parameters:

  • Y range: 1 to 9 (blue threshold)

  • Y tolerance: 0.1 (pink threshold)

  • X duration constraints (not shown in the figure):

    • X-min: 10 s — only plateaus lasting at least 10 seconds are considered valid.

    • X-max: 500 s — plateaus longer than 500 seconds are rejected.

With these settings, the generated plateau channel correctly identifies the four plateaus whose values lie within the range 1 to 9 and whose durations satisfy the X constraints. The subsequent plateaus are not detected because they falls outside the specified Y range, as expected.

../../_images/xyfilter_find_plateau.png

History

Version

Description

R2026.3

New.

id-1756718