Transmitter device adapted to: select a plurality of user receiver devices u = 1,2,..., U having different downlink channel qualities; determine for each user a code rate R u , a modulation order m u , and a number of Resource Elements, REs, G u ; obtain an m × G non-orthogonal multiplexing matrix M based on the determined code rates R u =1,2,..., U , modulation orders m u =1,2,..., U and number of REs G u =1,2,..., U for said plurality of receiver devices , where m = m 1 + m 2 + ··· + m U is the order of an expanded modulation constellation and G = max( G 1 , G 2 , . .., G U ) is the number of allocated REs for transmission; independently encode for each receiver device an information message b u = ( b u , ..., b u ( K u - 1)) so as to obtain an encoded information message e u = ( e u ,...,e u ( E u - 1)), where the length E u of each encoded information message is computed as E u =G•m u +Δ B , where Δ B is a parameter that depends on the downlink channel quality and the target code rate of each user; multiplex the encoded information messages e 0 ,..., e U -1 into a label vector l = ( l ,...,l ( G - 1)) having G m -bit labels l based on said multiplexing matrix M, where the encoded information messages are written row-wise or column-wise into the multiplexing matrix M, each element (M) i,j of said multiplexing matrix M indicates the label and the bit position to which each coded bit at the multiplexing input must be mapped, and at least two column elements of at least one column of said multiplexing matrix M are associated with different receiver devices; using each label of said label vector l = ( l ,...,l ( G - 1)), which is column-wise read from the multiplexing matrix M, to select a modulation symbol from a modulation constellation of order m so as to obtain a symbol vector x = ( x , ...,x ( G - 1)) for said multiplexed encoded information messages e 0 ,..., e U -1 ; and transmit a downlink signal S comprising said symbol vector x = ( x , ...,x ( G - 1)). select a plurality of user receiver devices u = 1,2,..., U having different downlink channel qualities; determine for each user a code rate R u , a modulation order m u , and a number of Resource Elements, REs, G u ; obtain an m × G non-orthogonal multiplexing matrix M based on the determined code rates R u =1,2,..., U , modulation orders m u =1,2,..., U and number of REs G u =1,2,..., U for said plurality of receiver devices , where m = m 1 + m 2 + ··· + m U is the order of an expanded modulation constellation and G = max( G 1 , G 2 , . .., G U ) is the number of allocated REs for transmission; independently encode for each receiver device an information message b u = ( b u , ..., b u ( K u - 1)) so as to obtain an encoded information message e u = ( e u ,...,e u ( E u - 1)), where the length E u of each encoded information message is computed as E u =G•m u +Δ B , where Δ B is a parameter that depends on the downlink channel quality and the target code rate of each user; multiplex the encoded information messages e 0 ,..., e U -1 into a label vector l = ( l ,...,l ( G - 1)) having G m -bit labels l based on said multiplexing matrix M, where the encoded information messages are written row-wise or column-wise into the multiplexing matrix M, each element (M) i,j of said multiplexing matrix M indicates the label and the bit position to which each coded bit at the multiplexing input must be mapped, and at least two column elements of at least one column of said multiplexing matrix M are associated with different receiver devices; using each label of said label vector l = ( l ,...,l ( G - 1)), which is column-wise read from the multiplexing matrix M, to select a modulation symbol from a modulation constellation of order m so as to obtain a symbol vector x = ( x , ...,x ( G - 1)) for said multiplexed encoded information messages e 0 ,..., e U -1 ; and transmit a downlink signal S comprising said symbol vector x = ( x , ...,x ( G - 1)). <EOS>