Adaptive Lookup Tables - is the data used for updating the table interpolated?

2 views (last 30 days)
Hello everybody,
I'm using the Adaptive Lookup Tables for estimating the efficiency of an electrical engine. While trying to get a better understanding of the results, I was wondering if the input value (y) used for updating the table data is interpolated between the corresponding break points.
While I was looking through the code files (lookup_methods.c, lookup_methods.h and sfun_lookupnd_stair_fit.c), I could find a calculation of a fraction variable that looks like it will be used for interpolating the input value according to the breakpoints, but i couldn't find that this information is used in any other place.
So my question is: is there any use of interpolation in the adaptive lookup table or not?
Best regards
Daniel

Accepted Answer

Bora Eryilmaz
Bora Eryilmaz on 4 Jun 2012
Adaptive lookup tables do not use interpolation between breakpoints to compute new table cell values or the output because each table cell (rectangle, hypercube) is represented by a single value. In 2D, this is equivalent to having a horizontal rectangle to represent the height of the table cell. Once the cell for a given input signal is found, the input value is used to update the "height" of the cell.
The picture on the Adaptive Lookup Table (1D Stair-Fit) block represents this case.
  1 Comment
Peter Noronha
Peter Noronha on 31 Dec 2020
It would be very useful to extend the algorithm from stair-fit to support interpolation with this block. It could be implemented as an option on this block or as a new block.
The primary use case would be to represent behaviors that are smooth surfaces. The smoothness requirements for this surface requires a great many breakpoints for a stair fit, fewer would do with linear interpolation and perhaps even fewer with cubic spline interpolation. In my judgement linear interpolation seems to be the sweet spot for most use cases - the tradeoffs between smoothness/accuracy, speed of execution and memory - so I would push for a block with linear interpolation incorporated into the adaption.
For the interpolation cases the block table size would be the same as the breakpoint grid, Z values are aligned with the breakpoints (instead of cells of the stair fit, which are interlaced between breakpoints). Each sample used for adaption would affect the Z values of the corners of the grid that bracket the sample - with proximity in the grid used to weight the adaption of each point - a lever analogy or similar strategy would be used to calculate these weights.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!