Channel coding with feedback

Feedback in the context of communication is any sort of link between the output and input of a communication channel. The feedback link can be used to convey the channel states or the channel output. An illustration of a feedback link is given below:

How feedback affects communication depends on the model assumed for the feedback channel. Most initial efforts to understand feedback in communication channels have been under the assumption of perfect noiseless feedback but recent efforts have moved towards understanding feedback when the feedback link is noisy.

Channel Output feedback With perfect feedback, a precise definition of feedback code is a sequence of mappings $$ x_i(W, Y^{i-1}) $$, where each $$ x_i $$ is a function of only the message $$ W \in \{1, 2, \ldots, 2^{nR}\} $$ and the previously received values $$ Y_1, Y_2, \ldots, Y_{i-1} $$.

Channel state feedback

Memoryless channels
Feedback does not improve the capacity of discrete memoryless channels, as was shown by Shannon in his original work. However, feedback can significantly reduce coding complexity and the probability of error. If one moves to multiterminal networks, then it has been shown that feedback enlarges the capacity region of Multiple-access channel, Broadcast channels and Interference channel.