  This paper jointly designs linear precoding (LP) and codebook-based
beamforming implemented in a satellite with massive multiple-input
multiple-output (mMIMO) antenna technology. The codebook of beamforming weights
is built using the columns of the discrete Fourier transform (DFT) matrix, and
the resulting joint design maximizes the achievable throughput under limited
transmission power. The corresponding optimization problem is first formulated
as a mixed integer non-linear programming (MINP). To adequately address this
challenging problem, an efficient LP and DFT-based beamforming algorithm are
developed by utilizing several optimization tools, such as the weighted minimum
mean square error transformation, duality method, and Hungarian algorithm. In
addition, a greedy algorithm is proposed for benchmarking. A complexity
analysis of these solutions is provided along with a comprehensive set of Monte
Carlo simulations demonstrating the efficiency of our proposed algorithms.
