The present disclosure relates to a multi-stage
encoder comprising m sub-encoders for encoding K information bits by means of m component codes, each component code being of length N, in a codeword having a total length of mN, wherein each of m, K and N is an integer, wherein m≤N and K≤N, and wherein the
encoder is configured to: store the K information bits into a message u; divide the message u into m sub-information vectors u(i), i=1, . . . , m of length K(1), . . . , K(m), respectively, wherein K(1)+ . . . +K(m)=K;
encode, by means of the m sub-encoders, each of the m sub-information vectors u(i) into m sub-codewords c(1), . . . , c(m); map the m sub-codewords c(1), . . . , c(m) into N symbols taken from 2m
constellation points of a modulation format to form a vector x;
label each of the N symbols into a string of m bits; and transmit the vector x through a
communication channel.