Polynomial CORDIC Function Evaluation for Accuracy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for evaluating mathematical functions in computational environments often struggle with accuracy when input values stray far from the known point used for approximation, as they rely on a single polynomial to approximate the function over its entire domain.
Innovation Solution
The domain of the mathematical function is divided into intervals, with each interval approximated by a respective polynomial, and a CORDIC algorithm is used to refine the approximation, initializing it with a first evaluation from the polynomial block to achieve a more accurate result.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single polynomial is used to approximate the function over its entire domain, then the device complexity is reduced, but the measurement precision deteriorates for input values far from the known point
Solution Approach 1:
The domain of the mathematical function is divided into multiple intervals, with each interval having its own polynomial approximation. This segmentation allows each polynomial to be optimized for a specific range, improving accuracy for input values far from the original known point while maintaining manageable device complexity through systematic organization of multiple polynomials.
Solution Approach 2:
Each polynomial is tailored to provide optimal approximation quality for its specific interval. By making the approximation properties local to each interval rather than uniform across the entire domain, the system achieves high precision for any input value regardless of its position in the domain.
2Measurement precision
If the domain is divided into multiple intervals with respective polynomials, then the measurement precision is improved, but the device complexity increases
Solution Approach 1:
The CORDIC algorithm performs preliminary iterative calculations to determine the appropriate interval and select the corresponding polynomial before final evaluation. This preliminary action organizes the complexity systematically, allowing the system to manage multiple polynomials efficiently by pre-establishing the selection and evaluation sequence.
Solution Approach 2:
The CORDIC algorithm acts as an intermediary between the input value and the polynomial evaluation process. It mediates by determining which polynomial to use and facilitating the transition from input to accurate output, thereby managing the complexity of having multiple polynomials without requiring direct complex control logic.
3Measurement precision
If a CORDIC algorithm is used to refine the polynomial approximation, then the measurement precision is improved, but the time required for evaluation increases
Solution Approach 1:
The polynomial evaluation is performed as a preliminary action before the CORDIC algorithm refinement. This provides an accurate initial estimate that is already close to the final result, significantly reducing the number of CORDIC iterations needed and thereby reducing the overall evaluation time while maintaining high precision.
Solution Approach 2:
The CORDIC algorithm uses feedback from the polynomial evaluation result to guide its iterative refinement process. By starting with the polynomial result as the initial value and iteratively improving it, the system efficiently converges to high precision without requiring numerous iterations, thus minimizing time loss.
Data Source
AI summary
Apparatus for evaluating a mathematical function for a received input value includes a polynomial block configured to identify a domain interval containing the received input value over which the mathematical function can be evaluated, the mathematical function over the identified interval being approximated by a polynomial function; and evaluate the polynomial function for the received input value using a set of one or more stored values representing the polynomial function over the identified interval to calculate a first evaluation of the mathematical function for the received input value; and a CORDIC block for performing a CORDIC algorithm, configured to initialise the CORDIC algorithm using the first evaluation of the mathematical function for the received input value calculated by the polynomial block; and implement the CORDIC algorithm to calculate a refined evaluation of the mathematical function for the received input value.


