Methods and apparatus for efficient complex long multiplication and covariance matrix implementation
AssigneeAltera Corporation
InventorsGerald George Pechanek, Ricardo Rodriguez, Matthew Plonski, David Strube, Kevin Coopman
Life of this patent
Estimating the term…
Abstract
Efficient computation of complex long multiplication results and an efficient calculation of a covariance matrix are described. A parallel array VLIW digital signal processor is employed along with specialized complex long multiplication instructions and communication operations between the processing elements which are overlapped with computation to provide very high performance operation. Successive iterations of a loop of tightly packed VLIWs may be used allowing the complex multiplication pipeline hardware to be efficiently used.
Claims20
A method of calculating elements of a covariance matrix, the method comprising:
- providing a data array UM×K, wherein each element in U comprises a 16 bit real value and a 16 bit imaginary complex value, wherein M and K are positive integers greater than one;
- calculating elements of RM×M=U×UH utilizing a multiply complex conjugate long extended precision accumulate (MPYCXJLXA) instruction which executes K times for each element on a processing element (PE) of an array processor.
A method of calculating elements of a covariance matrix, the method comprising:
- calculating a lower triangular portion and a diagonal portion of an RM×M covariance matrix from an M×K matrix of signed complex numbers by executing on each processing element (PE) of an array processor a multiply complex conjugate long extended precision accumulate (MPYCXJLXA) instructions K times in parallel with other MPYCXJLXA instructions executing on other PEs of the array processor, wherein M and K are positive integers greater than one;
- and
- calculating conjugate copies of the lower triangular portion as the upper triangular portion of the RM×M covariance matrix.
A method of calculating elements of a covariance matrix, the method comprising:
- processing a sequence of K complex data samples received from each antenna element of an M element antenna array to create an M×K matrix U of complex numbers, wherein K and M are positive integers greater than one and appropriate elements Ui(k) and Uj(k) of matrix U are loaded in consecutive cycles to each processing element (PE) of N PEs;
- calculating in each PE a different element Ri,j of a lower triangular portion and a diagonal portion of an RM×M covariance matrix by generating a summation of K complex conjugate multiplies of the loaded elements Ui(k) and Uj(k) of matrix U, k varying from 0 to K−1;
- and
- calculating conjugate copies of the lower triangular portion as the upper triangular portion of the RM×M covariance matrix.
Dependencies are inferred from the claim text.