A precoder for precoding a vector of information symbols, wherein the precoder comprises: - a radius determination unit configured to determine a search sphere radius, said determination of the search sphere radius comprising applying a machine learning algorithm to input data based on said vector of information symbols and on a predefined precoding matrix; - a sphere encoding unit configured to determine a perturbation vector from lattice points found inside a spherical region by applying a sphere search-based sequential algorithm, said spherical region having as a radius said search sphere radius, and - a precoding unit configured to precode said vector of information symbols using said perturbation vector and a precoding matrix, wherein the radius determination unit is configured to determine the search sphere radius according to an iterative process comprising a number of iterations N iter, comprising one or more iterations of a radius update function, to update a current radius until a termination condition is fulfilled, said current radius being initially set to a preliminary radius, each iteration of the radius update function comprising: - applying said machine learning algorithm to input data derived from said vector of information symbols, from said predefined precoding matrix and from said current radius, which provides a current predicted number of lattice points associated with a current radius; - comparing said current predicted number of lattice points to a given threshold; - updating said current radius if said current predicted number of lattice points is strictly higher than said given threshold, said current radius being updated by applying a linear function to said current radius; said termination condition being related to the current predicted number of lattice points, the radius determination unit being configured to set the search sphere radius to the current radius, in response to the fulfillment of the termination condition, wherein said linear function applied to update the current sphere radius provides the current sphere radius r s i at an iteration of index i as a function of the sphere radius r s i − 1 obtained at the previous iteration of index (i-1), wherein said termination condition is satisfied if the current predicted number of lattice points is smaller than or equal to said given threshold. - a radius determination unit configured to determine a search sphere radius, said determination of the search sphere radius comprising applying a machine learning algorithm to input data based on said vector of information symbols and on a predefined precoding matrix; - a sphere encoding unit configured to determine a perturbation vector from lattice points found inside a spherical region by applying a sphere search-based sequential algorithm, said spherical region having as a radius said search sphere radius, and - a precoding unit configured to precode said vector of information symbols using said perturbation vector and a precoding matrix, wherein the radius determination unit is configured to determine the search sphere radius according to an iterative process comprising a number of iterations N iter, comprising one or more iterations of a radius update function, to update a current radius until a termination condition is fulfilled, said current radius being initially set to a preliminary radius, each iteration of the radius update function comprising: - applying said machine learning algorithm to input data derived from said vector of information symbols, from said predefined precoding matrix and from said current radius, which provides a current predicted number of lattice points associated with a current radius; - comparing said current predicted number of lattice points to a given threshold; - updating said current radius if said current predicted number of lattice points is strictly higher than said given threshold, said current radius being updated by applying a linear function to said current radius; said termination condition being related to the current predicted number of lattice points, the radius determination unit being configured to set the search sphere radius to the current radius, in response to the fulfillment of the termination condition, wherein said linear function applied to update the current sphere radius provides the current sphere radius r s i at an iteration of index i as a function of the sphere radius r s i − 1 obtained at the previous iteration of index (i-1), wherein said termination condition is satisfied if the current predicted number of lattice points is smaller than or equal to said given threshold. said termination condition being related to the current predicted number of lattice points, the radius determination unit being configured to set the search sphere radius to the current radius, in response to the fulfillment of the termination condition, wherein said linear function applied to update the current sphere radius provides the current sphere radius r s i at an iteration of index i as a function of the sphere radius r s i − 1 obtained at the previous iteration of index (i-1), wherein said termination condition is satisfied if the current predicted number of lattice points is smaller than or equal to said given threshold.