Covariance shaping for massive MIMO systems