A precoder for precoding a vector of information symbols, said vector of information symbols comprising information symbols to be sent to a plurality of users, wherein the precoder is configured to receive inputs from said plurality of users, said inputs comprising one or more quality of service indicators associated with each user and modulation and coding parameters associated with each user, the precoder comprising : - a user ordering and grouping unit configured to group said plurality of users depending on said one or more quality of service indicators and on said modulation and coding parameters, which provides two or more groups of users, the user ordering and grouping unit being configured to divide a predefined upper triangular precoding matrix into a plurality of sub-matrices and to divide said vector of information symbols into a plurality of sub-vectors, each sub-vector comprising information symbols to be sent to a group of users among said two or more groups of users, said sub-vectors being arranged according to an ascending or descending order of the one or more quality of service indicators, said division of the upper triangular precoding matrix being in accordance with the division of the vector of information symbols into a plurality of sub-vectors; - a precoding unit configured to determine a perturbation vector according to the minimization of a transmit power metric, said perturbation vector comprising a plurality of perturbation sub-vectors, each perturbation sub-vector corresponding to a sub-vector of information symbols, the precoding unit being configured to determine an estimate of each perturbation sub-vector by applying a recursive search algorithm based on a block processing that uses the division of the predefined upper triangular precoding matrix into a plurality of sub-matrices, the precoding unit being configured to determine an elementary transmit power metric in association with each perturbation sub-vector from previously determined estimates of perturbation sub-vectors and to determine an estimate of a perturbation sub-vector by minimizing said elementary transmit power metric. - a user ordering and grouping unit configured to group said plurality of users depending on said one or more quality of service indicators and on said modulation and coding parameters, which provides two or more groups of users, the user ordering and grouping unit being configured to divide a predefined upper triangular precoding matrix into a plurality of sub-matrices and to divide said vector of information symbols into a plurality of sub-vectors, each sub-vector comprising information symbols to be sent to a group of users among said two or more groups of users, said sub-vectors being arranged according to an ascending or descending order of the one or more quality of service indicators, said division of the upper triangular precoding matrix being in accordance with the division of the vector of information symbols into a plurality of sub-vectors; - a precoding unit configured to determine a perturbation vector according to the minimization of a transmit power metric, said perturbation vector comprising a plurality of perturbation sub-vectors, each perturbation sub-vector corresponding to a sub-vector of information symbols, the precoding unit being configured to determine an estimate of each perturbation sub-vector by applying a recursive search algorithm based on a block processing that uses the division of the predefined upper triangular precoding matrix into a plurality of sub-matrices, the precoding unit being configured to determine an elementary transmit power metric in association with each perturbation sub-vector from previously determined estimates of perturbation sub-vectors and to determine an estimate of a perturbation sub-vector by minimizing said elementary transmit power metric. <EOS>