50 Years of CORDIC: Algorithms, Architectures, and Applications
read more
Citations
64-Channel UWB Wireless Neural Vector Analyzer SOC With a Closed-Loop Phase Synchrony-Triggered Neurostimulator
ML Estimation of Timing and Frequency Offsets Using Distinctive Correlation Characteristics of OFDM Signals Over Dispersive Fading Channels
Area-Time Efficient Scaling-Free CORDIC Using Generalized Micro-Rotation Selection
CORDIC Designs for Fixed Angle of Rotation
References
Digital Signal Processing: Principles, Algorithms, and Applications
Illumination for computer generated pictures
The CORDIC Trigonometric Computing Technique
A Fast Computational Algorithm for the Discrete Cosine Transform
Related Papers (5)
Frequently Asked Questions (20)
Q2. What are the future works in this paper?
For different advanced algorithms may be investigated in detail and compared with in future work.
Q3. What is the main application of CORDIC for other robots?
Apart from implementation of rotation operations, CORDIC is used in the evaluation of trigonometric functions and square root expressions involved in the inverse kinematics problems [103].3) CORDIC for Other Robotics Applications: CORDIC has also been applied to robot control [104], [105], where CORDIC circuits serve as the functional units of a programmable CPU co-processor.
Q4. What are the key problems where CORDIC provides area and power-efficient solutions?
Two of the key problems where CORDIC provides area and power-efficient solutions are: 1) direct kinematics and 2) inverse kinematics of serial robot manipulators.
Q5. What is the scale-factor of the iterative microrotations?
The removal of scaling from the iterative microrotations leads to a pseudo-rotated vector instead of the desired rotated vector , where the scale-factor is given by(8)Since the scale-factor of microrotations does not depend on the direction of microrotations and decreases monotonically, the final scale-factor converges to .
Q6. What is the purpose of angle recoding?
The purpose of angle recoding (AR) is to reduce the number of CORDIC iterations by encoding the angle of rotation as a linear combination of a set of selected elementary angles of micro-rotations.
Q7. What is the scale factor for the radix-4 CORDIC algorithm?
In order to preserve the norm of the vector the output of micro-rotations is required to be scaled by a factor(16)To have -bit output precision, the radix-4 CORDIC algorithm requires micro-rotations, which is half that of radix-2 algorithm.
Q8. What is the effect of redundant CORDIC on the computation of micro-rotations?
Rotation mode redundant CORDIC has been found to result in fast implementation of sinusoidal function generation, unitary matrix transformation, angle calculation and rotation [34]–[38].
Q9. How does the CORDIC algorithm perform the rotation iteratively?
The CORDIC algorithm performs the rotation iteratively by breaking down the angle of rotation into a set of small pre-defined angles1, , so that could be implemented in hardware by shifting through bit locations.
Q10. What is the reason why the th iteration could not be started?
CORDIC computation is inherently sequential due to two main bottlenecks: 1) the micro-rotation for any iteration is performed on the intermediate vector computed by the previous iteration and 2) the th iteration could be started only after the completion of the th iteration, since the value of which is required to start the th iteration could be known only after the completion of the th iteration.
Q11. What is the value of the CORDIC approach for inverse kinematics?
The CORDIC approach is valuable to find the inverse kinematic solution when a closed form solution is possible (when, in particular, the desired tool tip position is within the robot’s work envelope and when joint angle limits are not violated).
Q12. What is the speed of the operations in the redundant number system?
Addition/subtraction operations are faster in the redundant number system, since unlike the binary system, it does not involve carry propagation.
Q13. What is the DKS for serial robot manipulators?
1) Direct Kinematics Solution (DKS) for Serial Robot Manipulators: A robot manipulator consists of a sequence of links, connected typically by either revolute or prismatic joints.
Q14. How can one perform the scaling-factor compensation in parallel with the CORDIC iterations?
It is shown in [61] that since the scale-factor is known in advance, one can perform the minimal recoding of the bits of scaling-factor, and implement the multiplication thereafter by a Wallace tree.
Q15. What is the way to reduce the number of micro-rotations?
A more efficient recoding scheme has been proposed in [33] for the reduction of number of micro-rotations to be employed in parallel CORDIC rotations.
Q16. How many iterations have been developed to speed up the CORDIC?
In the last fifty years, several algorithms and architectures have been developed to speed up the CORDIC by reducing its iteration counts and through its pipelined implementation.
Q17. What is the simplest way to calculate the fine rotation phase?
Since could be expressed as a linear combination of angels of small enough magnitude , where , the computation of fine rotation phase can be realized by a sequence of shift-and-add operations.
Q18. What could be done to reduce the critical path?
For known and constant angle rotations the sign of micro-rotations could be predetermined, and the need of multiplexing could be avoided for reducing the critical-path.
Q19. What is the maximum scaling of the output sum?
When the sum of the output of more than one independent CORDIC operations are to be evaluated, one can perform only one scaling of the output sum [50] in the case of constant factor scaling.
Q20. What is the generic scheme of a direct digital synthesizer?
A direct digital synthesizer (DDS) (as shown in Fig. 8) consists of a phase accumulator and a phase-to-waveform converter [86], [87].