A non-transitory information medium comprising program instructions stored thereon and adapted to implement a method for transmitting a digital signal when said program is loaded and executed in a semi-orthogonal Multiple Access Relay Channel (MARC) system, wherein the digital signal is transmitted in network with at least four nodes comprising two senders, a relay and a receiver separated from one another by non-orthogonal links except between the relay and the receiver, between which the link is orthogonal, implementing a spatially distributed network code, and wherein the program instructions comprise:
- instructions configured to implement a step of coding, in each sender, delivering a code word per block of K information bits,
- instructions configured to implement a step of sending, in the senders, the code word during αN transmission intervals, αε[0,1],
- instructions configured to implement a step of iterative joint detection/decoding, in the relay, so as to separate interfering streams originating from the senders and determine per stream a vector representative of the K information bits associated with the code word,
- instructions configured to implement a step of joint coding, in the relay, of the two vectors so as to determine redundancy information, and
- instructions configured to implement a step of scheduling in the relay so as to send the redundancy information during the (1−α)N following transmission intervals,
- wherein N denotes the total number of channel uses and
- wherein the iterative joint detection/decoding step implements a soft decoding and the joint coding step implements a soft coding and a marginalization performed at a bit level.