Browse Prior Art Database

# Bit by Bit Function Generator

IP.com Disclosure Number: IPCOM000094925D
Original Publication Date: 1965-Jul-01
Included in the Prior Art Database: 2005-Mar-06
Document File: 4 page(s) / 84K

IBM

## Related People

Senzig, DN: AUTHOR [+2]

## Abstract

The device effects bit-by-bit generation of the sine and cosine functions of a given angle. A single register and two delay lines are utilized in lieu of the multiple registers.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 43% of the total text.

Page 1 of 4

Bit by Bit Function Generator

The device effects bit-by-bit generation of the sine and cosine functions of a given angle. A single register and two delay lines are utilized in lieu of the multiple registers.

To provide bit-by-bit generation of these trigonometric functions. the digital generator implements the following three basic recursion formulae: 1. Omega j + 1 = Omega j + Qj arc tan2-j 2. Sj + 1 i Sj + Qj 2 n-mj Tj 3. Tj + 1 = 2Tj - Qj Sj.

In these equations, Omega equals content of register 3, j equals the number of the reiteration, Q equals the sign (+ or -) of the control bit. arc tan 2-j equals Kj equals set of constants, S equals content of register 1, T equals content of register 2, and n, m equal constants.

Usually, it is considered necessary that two shift registers generate functions 2 and 3 simultaneously. This device eliminates the need for two shift registers by processing the computation of one variable relative to the other. Since one of the variables is being computed slightly faster than the other, it must pause for one iteration at the halfway point to let the other variable catch up.

Initially, sine register 1 contains zero and cosine register 2 contains a constant. The angle to be resolved is in angle register 3. A nonrestoring pseudo division process adds and subtracts in adder/ subtractor 4 a group of precomputed constants Kj, stored in a memory not shown, to and from the angle until finally the angle is reduced to zero. This is quite similar to a division process except that the sign of the remainder of each iteration, instead of forming the quotient, is used to generate the control bits Qj and Qj-1 to control the adding and subtracting of the values of registers 1 and 2. The interaction between registers 1 and 2 is a pseudo multiplication where both the partial product and multiplicand are changed with each iteration. The operation actually is a simplified form of the law of addition of sines and cosines. As the value of the angle converges to zero, registers 1 and 2 converge to the sine and cosine of the original angle to be resolved.

In the example shown, the constants n and m of equation 2 are equal to the values of one and two, respectively. i.e.. n = 1 and m = 2. The initial value of register 2 is j = 24 pi j = 1 arc tan 2-j approx. .60725. The initial value of register 1 is zero. The control bits Qj and Qj-1 generated by the pseudo division are used to determine if each adder/ subtractor 5 and 6 for registers 1 and 2 should add or subtract. After twenty-five iterative cycles or word times, register 1 contains the sine of the given angle and register 2 contains the cosine of that angle. It is assumed that there is no signal delay in any of the logic circuits and that there is a one-bit signal delay in the adder/subtractors 4...6. For each adder-subtractor 4...6, the two inputs at the left are the variables.

The upper left variable is added to or subtracted from the lower left variable. Input A at...