A transmitter device comprising: a processor configured to: determine a downlink channel quality of downlink channels between the transmitter device and a plurality of receiver devices (50, 300); compute a scheduler weight for each of the plurality of receiver devices (50, 300); for each modulation of a set of modulations, determine weighted bit-level capacities of all label bits based on the scheduler weights and based on the downlink channel qualities, where the label is a constellation label; determine, for each modulation, a highest weighted sum rate based on the weighted bit-level capacities; select a modulation from the set of modulations according to a maximum weighted sum rate among the highest weighted sum rates, select a set of receiver devices from the plurality of receiver devices according to the selected modulation, and select a label bit-to-UE allocation for receiver devices in the selected set of receiver devices according to the selected modulation; obtain a multiplexing matrix using the selected label bit-to-UE allocation and the number of resource elements, which are for transmitting a downlink signal S; compute a code word size and a code rate using the selected label bit-to-UE allocation and the determined bit-level capacity for each receiver device in the selected set; generate, using the code word sizes and code rates, corresponding codewords from independent information messages for each receiver device in the selected set; and transmit, using the resource elements, the downlink signal S based on the obtained multiplexing matrix and generated codewords, to the receiver devices in the selected set. determine a downlink channel quality of downlink channels between the transmitter device and a plurality of receiver devices (50, 300); compute a scheduler weight for each of the plurality of receiver devices (50, 300); for each modulation of a set of modulations, determine weighted bit-level capacities of all label bits based on the scheduler weights and based on the downlink channel qualities, where the label is a constellation label; determine, for each modulation, a highest weighted sum rate based on the weighted bit-level capacities; select a modulation from the set of modulations according to a maximum weighted sum rate among the highest weighted sum rates, select a set of receiver devices from the plurality of receiver devices according to the selected modulation, and select a label bit-to-UE allocation for receiver devices in the selected set of receiver devices according to the selected modulation; obtain a multiplexing matrix using the selected label bit-to-UE allocation and the number of resource elements, which are for transmitting a downlink signal S; compute a code word size and a code rate using the selected label bit-to-UE allocation and the determined bit-level capacity for each receiver device in the selected set; generate, using the code word sizes and code rates, corresponding codewords from independent information messages for each receiver device in the selected set; and transmit, using the resource elements, the downlink signal S based on the obtained multiplexing matrix and generated codewords, to the receiver devices in the selected set.