Patent ID: 8447799

Claim:
A process operative on a CORDIC Processor for transformation of an H matrix into an R matrix, the H matrix having a plurality of rows and columns, each element of said H matrix having a real and imaginary component, the CORDIC processor having a VECTOR mode accepting an (X,Y) input and generating an (X′,Y′) output rotated from said (X,Y) input and also generating the rotation angle A required for said Y′ to become substantially zero, the CORDIC processor also having a ROTATE mode and accepting an (X,Y) input and said angle A to generate an (X′,Y′) output by rotating said (X,Y) input by said angle A, the transformation process having: a first step of row rotation of each particular row of said H matrix where a first column element having a real part applied to the X input and imaginary part applied to the Y input in said VECTOR mode to generate a transformed (X′,Y′) which replaces the original (X,Y) and generates angle A, thereafter applying in rotate mode the real and imaginary components of each remaining element of said particular row as (X,Y) inputs, respectively, with angle A of the previous VECTOR mode until each remaining element of said particular row is transformed by rotation by said angle A, said row rotation separately performed for each particular row using the angle A of the VECTOR mode generated by the first column element of that particular row; a second step of performing a cross-row transformation on each pair of adjacent rows having an upper row and a lower row, said cross-row transformation starting from a matrix bottom row pair and thereafter operating on row pairs above said bottom row pair, each said cross-row transformation for a particular said upper row and said lower row including performing a VECTOR mode operation on an (X,Y) input pair formed from a first column upper row real value and a corresponding lower row first column real value, respectively, said VECTOR operation replacing each said (X,Y) input pair values with transformed (X′,Y′) values, said VECTOR operation also providing an angle B, and following said VECTOR operation performing a ROTATE operation using said angle B on each subsequent column of the (X,Y) pair formed from the real components of each column of said adjacent rows and separately the imaginary components of each columns of said adjacent rows until all remaining columns of said adjacent rows have had said ROTATE mode operation performed; a third step of performing said first and second step on the submatrix formed from eliminating a bottom row and left column of the transformed H matrix and repeating said first and second step until the submatrix contains one element; a fourth step of performing said VECTOR mode operation on said one element to remove an imaginary component of said one remaining element.