High-Speed Numeric Function Generator Using Piecewise Quadratic Approximations

Abstract

The CORDIC algorithm is an accurate way to compute the value of a function like sin(x), for a given value of x. However, it is iterative and slow. In this thesis, we show that a wide class of arithmetic functions can be realized on the SRC-6, a reconfigurable computer, using polynomial approximations. The function is realized by partitioning its domain into segments and then approximating the function in each segment by a quadratic polynomial. This is not an iterative approach, and so it is faster than the CORDIC algorithm Two approximation methods are implemented. In one method, non-uniform segments are used. Here, larger segments can be used where the function is close to quadratic, while highly non-quadratic regions require smaller segments. This approach minimizes the number of segments. In the other method, uniform segments are used. Although more segments are needed than in the non-uniform method, the circuit is simpler. We show that accuracies of up to 33 bits are possible. A pipelined circuit was built on the SRC-6 in two's complement and floating point. We also show an efficient algorithm for segmenting the function, which is faster than previous methods.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 2007
Accession Number
ADA474061

Entities

People

  • Njuguna Macaria

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Advanced Electronics
  • C4I
  • Materials and Manufacturing Processes
  • Space

DTIC Thesaurus Topics

  • Accuracy
  • Algorithms
  • Application Software
  • Application-Specific Integrated Circuits
  • Applied Mathematics
  • Arithmetic
  • Central Processing Units
  • Computer Programming
  • Computer Programs
  • Computers
  • Digital Signal Processing
  • Electrical Engineering
  • Field Programmable Gate Arrays
  • Floating Point Operations
  • Polynomials
  • Systems Engineering
  • United States

Fields of Study

  • Computer science
  • Mathematics

Readers

  • Adaptive Control and Estimation with Uncertainty in Dynamic Systems.
  • Computer Programming and Software Development.
  • Parallel and Distributed Computing.