         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.
