Browse Prior Art Database

Floating Point Sine and Cosine Generator

IP.com Disclosure Number: IPCOM000046869D
Original Publication Date: 1983-Aug-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 3 page(s) / 41K

Publishing Venue

IBM

Related People

Moran, JT: AUTHOR [+2]

Abstract

The problem solved is to generate both the sine and the cosine in floating point representation of a given angle in fixed point at a very high speed with minimal hardware. The basic approach is a table lookup which takes advantage of the sin/cos symmetry and aspects of floating point numeric representation to reduce the table to the smallest possible size. A block diagram overview of this invention is shown in the figure. The angle or argument for the sin and cos generation is contained in the r register 7. This 16-bit register represents any angle from 0 to 2f in increments of f/215 . The most significant bit of the angle has a value of f. Thirteen of the r register bits are used to address the 8K table lookup (TLU) memory (1, 2, 3, 4, 5, 6).

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 57% of the total text.

Page 1 of 3

Floating Point Sine and Cosine Generator

The problem solved is to generate both the sine and the cosine in floating point representation of a given angle in fixed point at a very high speed with minimal hardware. The basic approach is a table lookup which takes advantage of the sin/cos symmetry and aspects of floating point numeric representation to reduce the table to the smallest possible size. A block diagram overview of this invention is shown in the figure. The angle or argument for the sin and cos generation is contained in the r register 7. This 16-bit register represents any angle from 0 to 2f in increments of f/215 . The most significant bit of the angle has a value of f. Thirteen of the r register bits are used to address the 8K table lookup (TLU) memory (1, 2, 3, 4, 5, 6). These bits are used in either true or twos complement form depending on the state of the f/4 bit of the r register. Complementation is performed in the true/twos complement half-adder 8. The TLU has six sections used as follows: 1. Sin r for 0 to f/4 - f/215 . This section contains the 8K values of sin r for the range from

0 to f/4 - f/215 . Since the floating point uses

a normalized signed magnitude representation, the

most significant bit is not required in the table

and only 15 magnitude bits are required to give 16

bits of effective precision. 2. Sin r Exp. This section contains the exponent for each corresponding sin r. The floating point

representation calls for an 8-bit exponent in

excess 127 code. Only six bits need be stored for

this by noting that the MSB (most-significant bit)

is always zero and the second MSB (eA6 in diagram)

is always one except in the case where the angle

is exactly zero; this is handled as a special case

by the controls 11. The exponent of the sine is

formed by the concatenation of this field EA with

the bits eA6 and e7. 3. Cos r for 0 to f/4 - f/2...