A computer program product, comprising instructions for performing a method implemented by a computer for maximizing a sum rate of a communication system, said communication system enabling both analog and digital beamforming, said communication system including a transmitter being able to serve a plurality of receivers,
- wherein each receiver among the plurality of receivers is associated to a relative set prec,k of analog precoding codewords wherein prec,k is the set of analog precoding codewords associated to the kth receiver,
- said method comprising:
- for each receiver among the plurality of receivers, computing, at said receiver, an analog precoding matrix FRF,k associated to said receiver,
- wherein FRF,k is the analog precoding matrix associated to the kth receiver;
- and
- using at least one computed analog precoding matrix for processing at least one signal to transmit from the transmitter to at least one receiver;
- wherein the computation of the analog precoding matrix associated to a receiver among the plurality of receivers comprises:
- /a/ performing a Singular Value Decomposition, SVD, on a channel matrix associated to said receiver;
- /b/ determining a first decomposition matrix Vk based on the relative SVD;
- characterized in that the computation of the analog precoding matrix associated to a receiver among the plurality of receivers further comprises:
- /c/ determining an analog precoding codeword which maximizes a first function g1(Vk, F)=λmin(VkHFFHVk) of Vk and F, for a plurality of F∈prec,k,
- where:
- AH denotes a conjugate transpose matrix of a matrix A;
- and
- λmin(A) denotes a minimal eigenvalue of a matrix A.