Name: TLI.ASM Type: Assembler Program Version: 1.1 Date Entered: 16-Apr-87 Last Change: 16-Apr-87 Description: Linear Table Lookup/Interpolation for Function Generation This program provides a fixed point implementation of a table lookup/interpolation of the form (X is the input): X - X(i) Y =(approximately)= ------------- *(Y(i+1) - Y(i)) + Y(i) X(i+1) - X(i) It can be used to approximate functions such as reflection coefficients to log area ratio conversion, sine wave generation or other functions. Assume the function to be approximated is f(). If the function is reasonably smooth and a sufficient number of samples are available such that a linear approximation between samples provides sufficient accuracy, then linear approximation can be used to reduce the amount of storage for the function. A predetermined number of samples of the function Y(i)=f(X(i)) are stored in a table and the values of Y when X is not equal to an X(i) is found by interpolation between known values. The example program provided generates 255 steps of a sine wave from 17 samples of a sine wave. Note that there are 2**N+1 entries in the table where N is the number of bits used in generating the funtion breakpoint address. For a complete description of the implementation of this algorithm, see the reference: "Minicomputers for Engineers and Scientists", by Granio A. Korn, McGraw-Hill, 1973 pp. 113-114.