Decode-and-Forward

The Simplest Relay Strategy

The most natural thing a relay can do is decode the source's message and then re-encode it, effectively creating a two-hop communication path. This is decode-and-forward (DF), and it is the relay analogue of "store-and-forward" in packet networks. The key challenge is that the relay must decode and help the destination simultaneously β€” it cannot simply wait until it has decoded the entire message before forwarding. This leads to the elegant technique of block-Markov encoding, where the relay in block bb helps with the message from block bβˆ’1b-1 while the source starts transmitting the message for block bb.

Definition:

Block-Markov Encoding

In block-Markov encoding, the total communication is divided into BB blocks of nn channel uses each. The source sends a fresh message WbW_b in each block b∈{1,…,B}b \in \{1, \ldots, B\}. The key idea is layered cooperation:

  • In block bb, the source transmits a codeword that encodes both the new message WbW_b and cooperative information about the previous message Wbβˆ’1W_{b-1}.
  • The relay, having decoded Wbβˆ’1W_{b-1} at the end of block bβˆ’1b-1, transmits a cooperative codeword in block bb that helps the destination decode Wbβˆ’1W_{b-1}.

The total rate is R=BB+1β‹…nRβ€²nR = \frac{B}{B+1} \cdot \frac{nR'}{n}, where Rβ€²R' is the per-block rate. As Bβ†’βˆžB \to \infty, the rate loss factor B/(B+1)β†’1B/(B+1) \to 1.

,

Block-Markov Encoding

A multi-block coding technique where the encoding in each block depends on the message of the current block and the message of the previous block, enabling cooperation between source and relay across consecutive blocks.

Related: Backward Decoding

Theorem: Decode-and-Forward Achievable Rate

For the discrete memoryless relay channel p(y,yr∣x,xr)p(y, y_r | x, x_r), the following rate is achievable using decode-and-forward with block-Markov encoding: RDF=max⁑p(x,xr)min⁑{I(X;Yr∣Xr),β€…β€ŠI(X,Xr;Y)}.R_{\text{DF}} = \max_{p(x, x_r)} \min\bigl\{I(X; Y_r \mid X_r),\; I(X, X_r; Y)\bigr\}.

The first term is the rate at which the relay can decode the source message, and the second term is the rate at which the source-relay pair can communicate to the destination.

Decode-and-forward faces two bottlenecks: (1) the relay must be able to decode the source message, which requires R≀I(X;Yr∣Xr)R \leq I(X; Y_r \mid X_r), and (2) the source and relay together must be able to deliver the message to the destination, which requires R≀I(X,Xr;Y)R \leq I(X, X_r; Y). The achievable rate is the minimum of these two constraints, optimized over the joint input distribution.

The point is that decode-and-forward converts the relay channel into a cascade of a point-to-point channel (source to relay) and a MAC-like channel (source + relay to destination). The price is that the relay must fully decode β€” if the source-relay link is weak, DF suffers.

,

Block-Markov Encoding and Backward Decoding

Step-by-step animation of block-Markov encoding: the source sends fresh messages while the relay cooperates on previous-block messages. Shows the backward decoding chain from block BB to block 11.

Backward Decoding

A decoding strategy where the destination decodes messages in reverse chronological order, starting from the last block. This resolves the circular dependency in block-Markov encoding where decoding a block requires knowledge of the previous message.

Related: Block-Markov Encoding

Theorem: Capacity of the Degraded Relay Channel

For the degraded relay channel where Xβ†’(Yr,Xr)β†’YX \to (Y_r, X_r) \to Y, the capacity is: C=max⁑p(x,xr)min⁑{I(X;Yr∣Xr),β€…β€ŠI(X,Xr;Y)}.C = \max_{p(x, x_r)} \min\bigl\{I(X; Y_r \mid X_r),\; I(X, X_r; Y)\bigr\}.

Decode-and-forward achieves the cut-set bound, and hence the capacity, for the degraded relay channel.

In the degraded relay channel, the relay has a "better view" of the source than the destination. Since the relay can decode the source message, it loses nothing by doing so. The only question is whether the relay-destination link can support the required rate β€” and this is exactly what the broadcast cut captures.

,

Example: DF Rate for a Binary Relay Channel

Consider a relay channel with binary alphabets X=Xr=Y=Yr={0,1}\mathcal{X} = \mathcal{X}_r = \mathcal{Y} = \mathcal{Y}_r = \{0, 1\}. The source-to-relay link is a BSC with crossover probability p1=0.05p_1 = 0.05 and the relay-to-destination link (with source cooperation) has effective capacity I(X,Xr;Y)=0.8I(X, X_r; Y) = 0.8 bits. Compute the DF achievable rate.

Preview: Relay Coding Strategies

StrategyRelay OperationBest WhenLimitation
Decode-and-ForwardFully decodes source message, re-encodesSource-relay link is strong (degraded channel)Bottlenecked by weakest hop
Compress-and-ForwardCompresses observation via Wyner-ZivRelay is noisy but relay-destination link is strongRequires good relay-destination link
Compute-and-ForwardDecodes linear combination over latticeMultiple sources, structured codes neededRequires lattice alignment

Historical Note: Block-Markov Encoding: A Proof Technique Becomes a System Architecture

1979-present

Block-Markov encoding was introduced by Cover and El Gamal in 1979 as a proof technique for the relay channel. The idea of dividing communication into blocks and having the relay cooperate across consecutive blocks was initially viewed as a mathematical device. But this technique has had extraordinary staying power: it reappears in the MAC with feedback (Cover and Leung, 1981), the broadcast channel with common messages, and cooperative communication protocols.

In modern wireless systems, block-Markov encoding maps naturally to frame-based communication: the relay processes each frame and helps with the next frame. The "one block delay" of block-Markov encoding corresponds to the processing latency of a practical relay β€” a remarkably tight connection between theory and practice.

Common Mistake: DF Is Not Always the Best Strategy

Mistake:

Assuming decode-and-forward is always the best relay strategy because it is "the most natural" or "extracts the most information."

Correction:

DF requires the relay to fully decode the source message, which limits the rate to I(X;Yr∣Xr)I(X; Y_r | X_r) β€” the capacity of the source-to-relay link. When this link is weak (noisy relay), DF performs poorly because the bottleneck is the first hop. In such cases, compress-and-forward (Section 22.4) is superior: the relay does not need to decode; it only compresses its observation, which can help the destination even when the relay's observation is noisy.

Quick Check

In block-Markov encoding for decode-and-forward, why does the source transmit a codeword that depends on both the current message WbW_b and the previous message Wbβˆ’1W_{b-1}?

To provide error correction across blocks

So the source and relay can transmit correlated (coherent) codewords, since both know Wbβˆ’1W_{b-1}

Because the source does not trust the relay to decode correctly

To increase the codebook size

⚠️Engineering Note

Decode-and-Forward in 5G NR Relay Architectures

In 3GPP standards, DF corresponds to a "Type I" relay (also called a "Layer 3" relay), which fully decodes, re-encodes, and retransmits the data. The relay appears as a separate cell to the destination UE. The main practical challenges are:

  1. Latency: the relay introduces at least one frame of decoding delay.
  2. Error propagation: if the relay decodes incorrectly, it forwards errors.
  3. Half-duplex constraint: practical relays cannot transmit and receive simultaneously, reducing the effective rate by the listen/transmit duty cycle.

Despite these limitations, DF relays are widely deployed for coverage extension in 5G NR, especially in mmWave bands where the direct link is often blocked.

Practical Constraints
  • β€’

    Relay decoding delay adds latency (at least one subframe)

  • β€’

    Half-duplex operation typically halves the spectral efficiency

  • β€’

    Error propagation if relay decodes incorrectly

Decode-and-Forward with Block-Markov Encoding

Complexity: Encoding: O(n)O(n) per block. Relay decoding: O(2nRβ‹…n)O(2^{nR} \cdot n) per block (joint typicality search). Backward decoding: O(2nRβ‹…n)O(2^{nR} \cdot n) per block. Total: O(Bβ‹…2nRβ‹…n)O(B \cdot 2^{nR} \cdot n).
Input: Messages W1,…,WBW_1, \ldots, W_B; codebooks {xn(wb∣wbβˆ’1)}\{x^n(w_b | w_{b-1})\}, {xrn(w)}\{x_r^n(w)\}
Output: Decoded messages W^1,…,W^B\hat{W}_1, \ldots, \hat{W}_B
// Encoding (source + relay)
Set W0=1W_0 = 1 (known initialization)
for block b=1b = 1 to B+1B+1 do
Source transmits xn(Wb∣Wbβˆ’1)x^n(W_b | W_{b-1})
Relay transmits xrn(W^bβˆ’1)x_r^n(\hat{W}_{b-1}) // decoded from previous block
Relay decodes: find W^b\hat{W}_b s.t. (xn(W^b∣W^bβˆ’1),xrn(W^bβˆ’1),yrn)∈TΟ΅(n)(x^n(\hat{W}_b | \hat{W}_{b-1}), x_r^n(\hat{W}_{b-1}), y_r^n) \in \mathcal{T}_\epsilon^{(n)}
end for
// Backward decoding (destination)
Set W^B+1=1\hat{W}_{B+1} = 1 (known termination)
for block b=Bb = B down to 11 do
Find W^b\hat{W}_b s.t. (xn(W^b+1∣W^b),xrn(W^b),yn(b+1))∈Tϡ(n)(x^n(\hat{W}_{b+1} | \hat{W}_b), x_r^n(\hat{W}_b), y^n(b+1)) \in \mathcal{T}_\epsilon^{(n)}
end for
return W^1,…,W^B\hat{W}_1, \ldots, \hat{W}_B
,

Decode-and-Forward Rate vs. Direct Transmission

Compare the DF achievable rate with direct transmission (no relay) as a function of the source-relay link quality. When the source-relay link is strong, DF significantly outperforms direct transmission.

Parameters
5
20