Lookup 1d Block

Lookup 1d Block

The Lookup 1D block emits the linear interpolation of the input signal with respect to 1-dimensional Break Points (input references) and Data Points (output references) specified in the block parameters.

Each iteration, the block determines where the input signal falls within the Break Points array, and emits the interpolated value correspondingly from the Data Points array. If the input signal falls outside the bounds of the Break Points, it will choose the nearest point, thereby clamping the output to within the bounds of the Data Points array.

Break Points must be monotonically increasing to be valid. A sequence is monotonically increasing if each term is greater than or equal to the one before it.

This block is particularly useful when real-world tabulated data is known for some dynamical system, and rather than curve-fitting or approximating the system with an equation, a direct table lookup is preferred. Since linear interpolation is performed (as opposed to cubic or a higher order polynomial), large differences in consecutive Data Point values can lead to abrupt discontinuities in the output.

Parameters

  • Break Points (default = [-1, 1]): List of monotonically-increasing lookup points for interpolation against the input signal.
  • Data Points (default = [0, 1]): List of output values that correspond to each Break Point, between which intermediate outputs are computed proportionally.

Examples

Lookup 1D Example