Patent GB-1363073-A (GB)
Title: Generation of trigonometrical and other functions by interpolation between point values
IPC: G06F17/17
Filed: 1970-07-17
Abstract: 1363073 Interpolation SOLARTRON ELECTRONIC GROUP Ltd 16 July 1971 [17 July 1970] 34900/70 Heading G4A Apparatus for calculating a value of one of a first and second functionally related variables corresponding to a given value of the other variable using non-linear interpolation iteratively operates on a set of three values, two of which pertain to the dependent variable and define a linear segment of the function and the other of which is a correcting term for an intermediate point of the segment, to form successive sets of new values, each of which consists of a linear combination of one or more of the values from the preceding set divided by a respective one of a plurality of different powers of two, the linear combinations in respect of the said two new values being chosen in accordance with the given value of the other variable so that the value of the said one variable converges to the value corresponding to the given value of the other variable. Theory.-Linear interpolation may be performed by calculating the functional value at the midpoint of a range of values of x and repeating the process for the upper or lower halves of the range. The arrangement described utilizes this process for non-linear interpolation by using one or more correcting polynomials of increasing order. Fig. 2 shows a parabola of the form: y=4x (1 - x) with y (0)=y (1) = 0 and y (¢)= 1 Interpolation to y (¢) from y (0) and y (1) can be regarded as linear with the addition of a correction term K = 1 (K n  = 1 where n is the iteration). In this case it can be shown that K n  = “ K n-1 . The specification gives a detailed discussion of higher ordered correction factors for use where greater accuracy is required, the arrangement being that each such factor is divided by a particular power of two for use in the next iteration. The sign of certain ones of the factors also changes. Apparatus.-The apparatus used may be special purpose hardware or a suitably programmed computer, Fig. 4 shows hardware for interpolating a parabola. Shift register SRA contains a n  (i.e. half the functional value at one end of the range in the nth iteration), shift register SRB b n  (half the functional value at the other end of the range), shift register SRF y n , shift register SRK K n , and shift register SR x  the value of x for which a corresponding interpolated value of y is required, the initial values except x, being read from a read only memory. Adder FA3 generates a n +b n  and adder FA1 adds in K n  to produce y n  which is shifted one bit to produce y n /2. Depending on whether the required x lies in the upper or lower half of the initial range of x y n /2 replaces an or b n  via gates 11a, or 11b, the appropriate gate being enabled by device 10 which detects the value of successive bits of x, SR x  being shifted one bit for each iteration until the contents of SR x  are zero when the operation is complete. Fig. 7 (not shown) illustrates a modification in which a fourth register is provided for a second ordered correction term. Additional registers may be provided for higher ordered terms. In further embodiments, apparatus having bit parallel, word serial (Fig. 14, not shown), and bit serial, word serial (Fig. 15, not shown) configurations are described. Certain high ordered correction factors involve troublesome functions and to overcome this the function being interpolated is divided into range zones each using particular ones of the correction factors, e.g. a square root may be divided into zones of x=0À5-1À0, and 0À25-0À5, each zone using different groups of correction factors. The apparatus may be operated in the inverse mode to determine from a given function value the corresponding value of x by comparing the current calculated function value with that required, producing successive bits of x, and selecting the half of the bisected range for use in the next iteration in response to successive comparisons. Extrapolation beyond a given range is also discussed. The arrangement allows the use of a small read only store for initial values and one or more correction coefficients. The hardware is dual purpose in that it may be used for conventional arithmetic.