## What are Adaptive Lookup Tables?

### Lookup Tables

*Lookup tables* store numeric data in a
multidimensional array format. In the simpler two-dimensional case,
lookup tables can be represented by matrices. Each element of a matrix
is a numerical quantity, which can be precisely located in terms of
two indexing variables. At higher dimensions, lookup tables can be
represented by multidimensional matrices, whose elements are described
in terms of a corresponding number of *indexing variables*.

Lookup tables provide a means to capture the dynamic behavior of a physical (mechanical, electronic, software) system. The behavior of a system with M inputs and N outputs can be approximately described by using N lookup tables, each consisting of an array with M dimensions.

You usually generate lookup tables by experimentally collecting
or artificially creating the input and output data of a system. In
general, you need as many indexing parameters as the number of input
variables. Each indexing parameter may take a value within a predetermined
set of data points, which are called the *breakpoints*.
The set of all breakpoints corresponding to an indexing variable is
called a *grid*. Thus, a system with M inputs is
gridded by M sets of breakpoints. The software uses the breakpoints
to locate the array elements, where the output data of the system
are stored. For a system with N outputs, the software locates the
N array elements and then stores the corresponding data at these locations.

After you create a lookup table using the input and output measurements
as described previously, you can use the corresponding multidimensional
array of values in applications without having to remeasure the system
outputs. In fact, you need only the input data to locate the appropriate
array elements in the lookup table because the software reads the
approximate system output from the data stored at these locations.
Therefore, a lookup table provides a suitable means of capturing the
input-output mapping of a *static* system in the
form of numeric data stored at predetermined array locations.

### Adaptive Lookup Tables

Statically defined lookup tables, as described in Lookup Tables, cannot accommodate the *time-varying* behavior
(characteristics) of a physical plant. Static lookup tables establish
a permanent and static mapping of input-output behavior of a physical
system. Conversely, the behavior of actual physical systems often
varies with time due to wear, environmental conditions, and manufacturing
tolerances. With such variations, the static mapping of input-output
behavior of a plant described by the lookup table may no longer provide
a valid representation of the plant characteristics.

*Adaptive lookup tables* incorporate the
time-varying behavior of physical plants into the lookup table generation
and maintenance process while providing all of the functionality of
a regular lookup table.

The adaptive lookup table receives the input and output measurements of a plant's behavior, which are then used to dynamically create and update the content of the underlying lookup table. In addition to requiring the input data to create the lookup table, the adaptive lookup table also uses the output data of the plant to recalculate the table values. For example, you can collect the output data of the plant by placing sensors at appropriate locations in a physical system.

The software uses the input measurements to locate the array
elements by comparing these input values with the breakpoints defined
for each indexing variable. Next, it uses the output measurements
to recalculate the numeric value stored at these array locations.
However, unlike a regular table, which only stores the array data
before the actual use of the lookup table, the adaptive table continuously
improves the content of the lookup table. This continuous improvement
of the table data is referred to as the *adaptation process* or *learning
process*.

The adaptation process involves statistical and signal processing algorithms to recapture the input-output behavior of the plant. The adaptive lookup table always tries to provide a valid representation of the plant dynamics even though the plant behavior may be time varying. The underlying signal processing algorithms are also robust against reasonable measurement noise and they provide appropriate filtering of noisy output measurements.

## See Also

Adaptive Lookup Table (1D Stair-Fit) | Adaptive Lookup Table (2D Stair-Fit) | Adaptive Lookup Table (nD Stair-Fit)