This Article 
 Bibliographic References 
 Add to: 
Redundant and On-Line CORDIC: Application to Matrix Triangularization and SVD
June 1990 (vol. 39 no. 6)
pp. 725-740

Several modifications to the CORDIC method of computing angles and performing rotations are presented: (1) the use of redundant (carry-free) addition instead of a conventional (carry-propagate) one; (2) a representation of angles in a decomposed form to reduce area and communication bandwidth; (3) the use of on-line addition (left-to-right, digit-serial addition) to replace shifters by delays; and (4) the use of online multiplication, square root, and division to compute scaling factors and perform the scaling operations. The modifications improve the speed and the area of CORDIC implementations. The proposed scheme uses efficiently floating-point representations. The application of the modified CORDIC method to matrix triangularization by Givens' rotations and to the computation of the singular value decomposition (SVD) are discussed.

[1] H. M. Ahmed, J. M. Delosme, and M. Morf, "Highly concurrent computing structures for matrix arithmetic and signal processing,"IEEE Comput. Mag., vol. 15, no. 1, pp. 65-82, Jan. 1982.
[2] H. M. Ahmed, "Signal processing algorithms and architectures," Ph.D. dissertation, Dep. Elec. Eng., Stanford Univ., 1982.
[3] D. E. Atkins, "Introduction to the role of redundancy in computer arithmetic,"IEEE Comput. Mag., pp. 74-75, June 1975.
[4] A. Avizienis, "Signed-digit number representations for fast parallel arithmetic,"IEEE Trans. Electron. Comput., vol. EC-10, pp. 389-400, Sept. 1961.
[5] R. P. Brent, F. T. Luk, and C. F. Van Loan, "Computation of the singular value decomposition using mesh-connected processors,"J. VLSI Comput. Syst., vol. 1, no. 3, pp. 242-270, 1985.
[6] R. P. Brent and F. T. Luk, "The solution of singular-value and symmetric eigenvalue problems on multiprocessor arrays,"SIAM J. Sci. Statist. Comput., vol. 6, pp. 69-84, 1985.
[7] J. R. Cavallaro and F. T. Luk, "CORDIC arithmetic for an SVD processor," inProc. 8th Symp. Comput. Arithmetic, 1987, pp. 113-120.
[8] L. Ciminiera, A. Serra, and A. Valenzano, "Fast and accurate matrix triangularization using an iterative array," inProc. 5th Symp. Comput. Arithmetic, 1981, pp. 215-221.
[9] J. M. Delosme, "VLSI implementation of rotations in pseudo-Euclidean spaces," inProc. IEEE Int. Conf. Acoust., Speech, Signal Processing, vol. 2, 1983, pp. 927-930.
[10] E. F. Deprettere, P. Dewilde, and R. Udo, "Pipelined CORDIC architectures for fast VLSI filtering and array processing," inProc. Int. Conf. Acoust. Speech. Signal Processing (ICASSP 84), 1984, pp. 41. A.6.1.-41.A.6.5.
[11] M. D. Ercegovac, "On-line arithmetic: An overview," inProc. SPIE Real-Time Signal Processing, 495 (VII), Aug. 1984, pp. 86-93.
[12] M. D. Ercegovac and T. Lang, "On-line scheme for computing rotation factors," inProc. 8th Symp. Comput. Arithmetic, 1987, pp. 196-203.
[13] M. D. Ercegovac and T. Lang, "On-line schemes for computing rotation factors for SVD,"Proc. SPIE, 826, Aug. 1987.
[14] M. D. Ercegovac and T. Lang, "On-the-fly conversion of redundant into conventional representations,"IEEE Trans. Comput., vol. C-36, no. 7, pp. 895-897, July 1987.
[15] W. M. Gentleman, "Least squares computations by Givens transformations without square roots,"J. Institute Math. Appl., vol. 2, pp. 329-336, 1973.
[16] W. M. Gentleman and H. T. Kung, "Matrix triangularization by systolic arrays," inProc. SPIE: Real Time Signal Processing IV, 1981, pp. 19-26.
[17] G. H. Golub and C. F. Van Loan,Matrix Computations. Baltimore, MD: The John Hopkins University Press, 1983.
[18] M. J. Irwin and R. M. Owens, "Digit pipelined arithmetic as illustrated by the paste-up system,"IEEE Comput. Mag., pp. 61-73, Apr. 1987.
[19] S. Kuninobuet al., "Design of high-speed MOS multiplier and divider using redundant representation," inProc. 8th Symp. Comput. Arithmetic, 1987, pp. 80-86.
[20] F. T. Luk, "Architectures for computing eigenvalues and SVDs," inProc. SPIE Highly Parallel Signal Processing Architectures, vol. 614, 1986.
[21] G. Metze, "Minimal square rooting,"IEEE Trans. Electron. Comput., vol. EC-14, no. 2, pp. 181-185, 1965.
[22] J. E. Robertson, "A new class of digital division methods,"IEEE Trans. Electron. Comput., vol. EC-7, pp. 218-222, Sept. 1958.
[23] A. H. Sameh and D. J. Kuck, "On stable parallel linear solver,"J. ACM, vol. 25, pp. 81-91, 1978.
[24] J. Volder, "The CORDIC trigonometric computing technique,"IRE Trans. Electron. Comput., vol. EC-8, no. 3, pp. 330-334, Sept. 1959.
[25] J. S. Walther, "A unified algorithm for elementary functions," inProc. AFIPS Spring Joint Comput. Conf., 1971, pp. 379-385.

Index Terms:
online CORDIC; redundant CORDIC; matrix triangularization; angles; rotations; digit-serial addition; online multiplication; square root; division; scaling factors; floating-point representations; Givens' rotations; singular value decomposition; SVD; digital arithmetic.
M.D. Ercegovac, T. Lang, "Redundant and On-Line CORDIC: Application to Matrix Triangularization and SVD," IEEE Transactions on Computers, vol. 39, no. 6, pp. 725-740, June 1990, doi:10.1109/12.53594
Usage of this product signifies your acceptance of the Terms of Use.