Sine/Cosine Generator Angle Decomposition for High Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional sine/cosine generators are computationally intensive and inefficient for high-accuracy applications, particularly when precision exceeds 10-12 bits, as they require exponentially increasing hardware and fail to leverage natural symmetries in trigonometric operators.
Innovation Solution
A digital sine/cosine generator that decomposes the input angle into a coarse and fine angle, computes approximations of sine and cosine using Taylor Series approximations, and employs symmetry-based partitioning to generate high-precision outputs efficiently, utilizing digital circuitry or processors to achieve greater than 18 bits of precision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If LUT based method is used for sine/cosine generation, then computation efficiency is improved for 10-12 bit precision, but hardware resources exponentially increase for higher precision requirements
Solution Approach 1:
The input angle is decomposed into multiple components (coarse angle and fine angle), allowing the sine/cosine computation to be performed in stages. This segmentation enables high-precision computation without requiring a complete LUT for all possible input values, thus reducing hardware resources while maintaining computation efficiency.
Solution Approach 2:
The patent transitions from a single-dimensional LUT approach to a multi-dimensional computation strategy by decomposing the angle into coarse and fine components. This dimensional change allows the system to achieve high precision through iterative refinement rather than storing all possible values in a single large LUT.
2Device complexity
If CORDIC algorithm is used for sine/cosine generation, then hardware implementation is simplified, but computational intensity increases significantly
Solution Approach 1:
The patent performs preliminary decomposition of the input angle into coarse and fine components before the main computation. This preliminary action allows subsequent computation steps to operate on smaller, more manageable angle ranges, reducing the overall computational intensity while maintaining simplified hardware implementation.
Solution Approach 2:
Instead of performing complete iterative rotations as in CORDIC, the patent uses partial computation by decomposing the angle and computing sine/cosine for each component separately. This partial action approach reduces computational intensity while achieving the same result with fewer operations.
3Use of energy by moving object
If out-of-phase algorithm is used for sine/cosine generation, then computational intensity is reduced compared to CORDIC, but precision is limited to 10-18 bits which is insufficient for high-accuracy applications
Solution Approach 1:
The patent segments the angle computation into multiple precision levels by decomposing the input angle into coarse and fine components. This segmentation allows the system to achieve higher precision (beyond 18 bits) by combining results from multiple computation stages, each operating at optimized precision levels.
Solution Approach 2:
The patent introduces intermediate computation steps where the coarse angle sine/cosine are computed first, then used as intermediaries to compute the final high-precision results by combining with fine angle components. These intermediary values enable precision enhancement without requiring all computations to operate at maximum precision simultaneously.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A method (300) for generating a sine and cosine of an input angle (Ø1O2). The method involves decomposing Ø1O2 to an octant or quadrant, a coarse angle (A), and a fine angle (B), determining cos(A), and determining sin(A). The method also involves decomposing cos(A) and sin(A) to a most significant word (MSW) and a least significant word (LSW). The method further involves computing an approximation of 1-cos(B), an approximation of sin(B), and a plurality of products (P1,..., P4) using the MSWs and approximations. The method involves computing approximations of cos(Ø'102) and sin(Ø'102) using the values for cos(A), sin(A), and P1,..., P4. The method involves scaling the approximations of cos(Ø'102) and sin(Ø'102) to a desired resolution.