Redundant cordic: theory and its application to matrix computation
暂无分享,去创建一个
In modern digital signal processing, one must solve systems of linear equations and compute eigenvalues, eigenvectors, singular values and singular vectors. The basic algorithms for these computations have been identified as QRD (QR Decomposition), SVD (Singular Value Decomposition), and GSVD (Generalized Singular Value Decomposition). These computationally intensive algorithms have led to the use of pipelined and parallel architectures and the redevelopment of these algorithms to do computations in a parallel mode.
The COordinate Rotation DIgital Computer (CORDIC) algorithm is presently used for the Very Large Scale Integration (VLSI) implementation of the parallel version of these algorithms; however, the conventional (non-redundant) approach of the CORDIC implementation is relatively slow because of the full precision computation required to determine the direction of the rotation. Redundant CORDIC, previously proposed to solve this problem, speeds up the computation by using redundant arithmetic together with estimates instead of exact values to determine the direction of the rotation. This scheme, however, introduces additional cost since the scale correction factor associated with the CORDIC algorithm is variable.
We study several methods to streamline the redundant CORDIC scheme: (1) a redundant CORDIC scheme where the scale factor is forced to be constant, (2) an efficient implementation of the final scaling operation by shifting, (3) an integrated on-the-fly conversion to get the conventional output without using carry-propagated addition, and (4) a reduction of the number of iterations for CORDIC rotation by the use of radix-4. We show that the new redundant CORDIC scheme applied to these basic matrix algorithms is faster than the other CORDIC schemes and the hardware cost is reduced significantly. We also discuss the floating-point redundant CORDIC implementation, where we observe that floating-point operations can be converted into fixed-point operations with pre-and post-processing.