| CPC H01Q 21/06 (2013.01) [H01Q 1/246 (2013.01)] | 14 Claims |

|
1. An apparatus comprising:
one or more processors;
an antenna array; and
a memory comprising computer readable instructions that, when executed by the one or more processors, cause the apparatus at least to:
receive one or more initial signals;
receive an input covariance matrix, wherein the input covariance matrix is a channel covariance matrix;
determine one or more eigenvalues and eigenvectors of the input covariance matrix iteratively using gradient ascent, wherein each iteration of the gradient ascent has a step size, μ, that maximises a Rayleigh quotient along the gradient;
generate one or more transformed signals by applying a transform to the one or more initial signals, wherein based on the determination of one or more eigenvectors of the input covariance matrix the transform comprises a matrix of eigenvectors of the input covariance matrix; and
transmit, by the antenna array, the transformed signal, wherein the computer readable instructions, when executed by the one or more processors, further cause the apparatus at least to:
determine a first eigenvector of the input covariance matrix iteratively using gradient ascent;
update the input covariance matrix using matrix deflation;
determine one or more eigenvectors of the input covariance matrix iteratively using gradient ascent based on the updated input covariance matrix; and
determine a first eigenvalue of the input covariance matrix associated with the first eigenvector by taking a trace of an intermediate matrix, wherein updating the input covariance matrix using matrix deflation comprises:
generating the intermediate matrix comprising a product of a product vector and the first eigenvector, wherein the product vector comprises a product of the input covariance matrix and the first eigenvector; and
subtracting the intermediate matrix from the input covariance matrix to determine the updated input covariance matrix.
|