A method for receiving signals, comprising the steps of: receiving a signal containing modulation symbols; de-mapping the modulation symbols into a first set of bits from a first region of a symbol constellation map associated with a higher reliability to produce a first interleaved substream and into a second set of bits from a second region of the symbol constellation map associated with a lower reliability to produce a second interleaved substream; block de-interleaving the first interleaved substream to obtain a first de-interleaved substream, using a block size equal to a set of k symbols; decoding the first de-interleaved substream to obtain a first de-interleaved and first decoded substream, using a first low-density parity check decoding process producing a set of n symbols at an output of said first low-density parity check decoding process for each set of k symbols at an input of said first low-density parity check decoding process; block de-interleaving the second interleaved substream to obtain a second de-interleaved substream, using a block size equal to a set of k' symbols: wherein k' < k; decoding the second de-interleaved substream to obtain a second de-interleaved and second decoded substream, using a second low density parity check decoding process producing a set of n symbols at an output of said second low-density parity check decoding process for each set of k' symbols at an input of said second low-density parity check decoding process; multiplexing, into a stream of data bits, the first de-interleaved and first decoded substream and the second de-interleaved and second decoded substream, the first de-interleaved and first decoded substream comprising a first portion of the stream of data bits and the second de-interleaved and second decoded substream comprising a second portion of the stream of data bits. receiving a signal containing modulation symbols; de-mapping the modulation symbols into a first set of bits from a first region of a symbol constellation map associated with a higher reliability to produce a first interleaved substream and into a second set of bits from a second region of the symbol constellation map associated with a lower reliability to produce a second interleaved substream; block de-interleaving the first interleaved substream to obtain a first de-interleaved substream, using a block size equal to a set of k symbols; decoding the first de-interleaved substream to obtain a first de-interleaved and first decoded substream, using a first low-density parity check decoding process producing a set of n symbols at an output of said first low-density parity check decoding process for each set of k symbols at an input of said first low-density parity check decoding process; block de-interleaving the second interleaved substream to obtain a second de-interleaved substream, using a block size equal to a set of k' symbols: wherein k' < k; decoding the second de-interleaved substream to obtain a second de-interleaved and second decoded substream, using a second low density parity check decoding process producing a set of n symbols at an output of said second low-density parity check decoding process for each set of k' symbols at an input of said second low-density parity check decoding process; multiplexing, into a stream of data bits, the first de-interleaved and first decoded substream and the second de-interleaved and second decoded substream, the first de-interleaved and first decoded substream comprising a first portion of the stream of data bits and the second de-interleaved and second decoded substream comprising a second portion of the stream of data bits.