Contents / Information Theory / Channel Capacity and the Coding Theorem
Chapter 7
Channel Capacity and the Coding Theorem
How much a noisy channel can carry, the proof that the rate is achievable, and why feedback does not raise it.
Introduction
How much a noisy channel can carry, the proof that the rate is achievable, and why feedback does not raise it.
7.1Discrete Memoryless Channels and Capacity
Everything begins with a precise model of what a channel is. The model is deliberately austere: one input symbol in, one output symbol out, the statistics fixed and the same on every use, with no memory linking one use to the next.
Definition 7.1 (Discrete memoryless channel). A discrete memoryless channel (DMC) is a triple consisting of a finite input alphabet , a finite output alphabet , and a stochastic matrix , the probability of observing when is sent. The channel is used times without feedback when
The product form is the memorylessness: given the current input, the current output is independent of all earlier inputs and outputs.
Definition 7.2 (Channel capacity). The (information) capacity of a DMC is
the maximum taken over all probability distributions on the input alphabet, where has joint law . A distribution attaining the maximum is a capacity-achieving input distribution.
Read the definition slowly, because each half of it does work. The channel is given and cannot be altered — it is the physics. The input distribution is ours to choose — it is the engineering. Capacity is the best correlation, measured in bits, that the engineering can manufacture against the physics.
Intuition. Mutual information measures how much the output tells you about the input. If the channel is useless, nothing you do with makes informative about , and . If the channel is clean, driving it with a uniform input makes a perfect copy of and is as large as the alphabet allows. Capacity is what you get when you drive the channel in the way it likes best.
The maximum in the definition is genuinely attained, which is worth recording once so that we may write rather than everywhere afterwards.
Proposition 7.3 (The maximum exists, and elementary bounds). For any DMC, is a continuous, concave function of the input distribution on the probability simplex, which is compact and convex. Consequently the maximum defining is attained, and
Proof. Write . With fixed this is a finite sum of continuous functions of (continuous at the boundary because as ), so is continuous on a compact set and attains its maximum.
Concavity: . The second term is linear in , since each depends only on the fixed row . The first term is evaluated at the output distribution , which is a linear image of ; since is concave and a concave function composed with a linear map is concave, is concave in . A concave function minus a linear one is concave.
Bounds: always, so . Also , and symmetrically .∎
Concavity matters in practice as well as in principle: it makes the capacity problem a convex optimisation, so local search cannot get stuck in a false optimum. The Blahut–Arimoto algorithm exploits exactly this, alternating between the input distribution and the induced reverse channel and converging to for any DMC; we record its existence and do not prove convergence here.
Example 7.4 (The noiseless channel). Compute the capacity of the channel with and with probability .
Solution. Since determines , and . Maximising, with equality for the uniform input, so
For this is bit per channel use: one perfect bit per transmission from a wire that never lies. The upper bound of the proposition above is met with equality, as it must be for a channel that wastes nothing.□
A large class of channels has its capacity computable in closed form by a symmetry argument, and the argument is worth isolating because the BSC, the noiseless channel, the noisy typewriter and the -ary symmetric channel are all instances of it.
Definition 7.5 (Symmetric and weakly symmetric channels). A DMC is symmetric if the rows of its transition matrix are permutations of one another and the columns are permutations of one another. It is weakly symmetric if the rows are permutations of one another and every column has the same sum.
Theorem 7.6 (Capacity of a weakly symmetric channel). For a weakly symmetric channel whose every row is a permutation of the vector ,
and the uniform input distribution is capacity-achieving.
Proof. For any input distribution, , because every row has the same entropy. Hence
which bounds from above. For the lower bound take uniform. Then , and since every column of the matrix has the same sum , we get for every — a constant, hence the uniform distribution on . So and the upper bound is attained.∎
Example 7.7 (The binary erasure channel). The binary erasure channel (BEC) has and ; the input passes through unchanged with probability and is replaced by the erasure symbol with probability . Compute its capacity.
Solution. The BEC is not weakly symmetric (the erasure column has sum while the others have sum ), so compute directly. Let be the indicator that an erasure occurred; is a function of and is independent of . Then
because given the output says nothing about , and given it says everything. Therefore
with equality for the uniform input. So the capacity of the erasure channel is bits per use.□
The answer is the one an accountant would guess: a fraction of the transmissions arrive, each carrying one bit, and the receiver knows exactly which ones were lost. That last clause is the whole difference between an erasure and an error, and it is why the BEC is the channel on which almost every modern code is analysed first.
Example 7.8 (The noisy typewriter). A keyboard with keys prints the letter typed or the next letter cyclically, each with probability . Find the capacity, and a code that attains it.
Solution. Every row of the transition matrix is a permutation of and every column likewise, so the channel is symmetric and the weakly-symmetric formula applies with :
The value hints at the code. Use only the letters , every other one; then no two permitted inputs can produce the same output, decoding is exact with zero error, and the rate is . Here a capacity-achieving code is visible by inspection and needs no block length at all — a luxury no interesting channel provides.□
Pitfall. Capacity is a property of the channel alone, not of a code or a modulation scheme. "The capacity of my system is 10 Mbit/s because that is what it transmits" confuses the rate in use with the supremum of achievable rates. Equally, is measured per channel use; converting to bits per second requires knowing how many uses per second the physical channel supports.
7.2The Binary Symmetric Channel
The binary symmetric channel is the fruit fly of coding theory: simple enough to analyse completely, rich enough that nearly every phenomenon in the subject appears in it first.
Definition 7.9 (Binary symmetric channel). The binary symmetric channel has and flips each transmitted bit independently with crossover probability :
Notation. The binary entropy function is for , with . It is concave, symmetric about , and .
Theorem 7.10 (Capacity of the BSC). The capacity of is
attained by the uniform input distribution.
Proof. Let be the noise, independent of , so that . Given , is , so for either value of ; hence regardless of the input distribution, and
since is binary. Equality requires , that is uniform, and taking uniform gives . So the bound is attained and . (This is also the weakly symmetric formula .)∎
The formula is a subtraction: one bit is what a clean binary channel delivers, and is the number of bits per use that the noise consumes. Two features deserve comment. First, exactly when ; the output is then independent of the input and no coding can help. Second, is symmetric under : a channel that flips almost every bit is as good as one that flips almost none, because the receiver can invert everything it receives. Only is fatal.
Example 7.12 (Numerical capacity of a noisy link). A link flips of its bits. How fast can it carry information reliably?
Solution. Compute . Now and , so
Hence bits per channel use. About half of every transmitted bit survives as information, so message bits need at least about channel uses. The extremes check out: gives , gives , and sits sensibly between.□
Example 7.13 (When repetition is not enough). The rate- repetition code sends each bit three times over and takes a majority vote. Compare its rate with capacity, and its error probability with what capacity permits.
Solution. Its rate is , so the coding theorem promises that some code of this rate has vanishing error probability. The repetition code is not that code: majority decoding fails when two or three copies flip, so
Repeating five times drops this to about , but the rate falls to . Repetition trades rate for reliability at a ruinous exchange: to drive it must drive . Shannon's theorem asserts that a cleverer code holds at while , and that is exactly the claim that made the theorem shocking.□
Remark. The previous example is the honest motivation for this whole chapter. Every code before 1948 had the repetition code's defect in milder form — reliability bought with rate — and the coding theorem says the defect is unnecessary.
7.3Gaussian Channels and the Shannon Limit
Real channels are usually continuous: a waveform is sent, thermal noise is added, a waveform arrives. The continuous theory runs parallel to the discrete one, with entropy replaced by differential entropy , and one extra ingredient — a constraint on the input, since without one the capacity of a continuous channel is infinite.
Definition 7.14 (Discrete-time AWGN channel). The additive white Gaussian noise channel has with independent and identically distributed and independent of the input. Codewords must satisfy the average power constraint
The ratio is the signal-to-noise ratio.
Lemma 7.15 (The Gaussian maximises differential entropy under a variance constraint). If then , with equality if and only if .
Proof. Let be the density and any density with . Relative entropy is non-negative:
Since , the integral depends on only through , giving . Rearranging yields , with equality exactly when , that is .∎
Theorem 7.16 (Capacity of the AWGN channel). The capacity of the discrete-time AWGN channel with power constraint and noise variance is
achieved by .
Proof. Because the noise is additive and independent of the input, . Under the power constraint , so the maximum-entropy lemma gives . Hence
Choosing makes and turns both inequalities into equalities, so the information capacity is as claimed. That this quantity is also the operational capacity needs the coding theorem for continuous alphabets under a cost constraint, which we do not prove here; the argument is the random-coding proof of the next section with typicality replaced by its power-constrained variant.∎
Corollary 7.17 (Bandlimited capacity, the Shannon–Hartley formula). A channel of bandwidth hertz with received signal power and noise power spectral density supports uses per second, and its capacity in bits per second is
This is the formula behind the practitioner's rules of thumb. Capacity grows only logarithmically in power but linearly in bandwidth — which is why spectrum is expensive and why turning up the transmit power is a poor way to buy rate.
Example 7.18 (The cost of an extra bit). At (about dB), compute , and compute how much extra power buys one more bit per use.
Solution. bits per use. Doubling the power to gives bits — only extra bits for twice the power. For a full extra bit we need , so and : a factor of in power, which is dB. At high SNR each extra bit per use costs dB.□
Theorem 7.19 (The Shannon limit on energy per bit). Let be the energy per information bit, so that for spectral efficiency bits per real channel use, . Reliable communication requires
and therefore, letting ,
Proof. Reliability requires by the AWGN capacity theorem. Exponentiating, , which rearranges to the displayed bound. The right-hand side is increasing in , so its infimum is the limit as , where the expansion gives .∎
Intuition. No matter how much bandwidth you are given and how slowly you are willing to talk, each reliably delivered bit costs at least joules. That floor is independent of code, modulation and cleverness, and dB is the number against which every deep-space link is measured.
Remark (Parallel channels and water-filling). For parallel independent Gaussian channels with noise variances and total power , capacity is maximised subject to . A Lagrange-multiplier calculation gives the water-filling solution , with chosen so the powers sum to : pour power into the quietest sub-channels until the combined level is flat, and give nothing at all to sub-channels noisier than . This is why OFDM systems measure the channel and allocate bits per subcarrier instead of spreading power evenly.
7.4The Coding Theorem: Statement and Consequences
The definition of capacity as is an information quantity: it is computed from the transition matrix and has, on the face of it, nothing to do with codes, messages or errors. The noisy-channel coding theorem is the assertion that this information quantity coincides with an entirely different, operational quantity — the supremum of rates at which messages can be pushed through the channel with vanishing error probability. That two such different definitions give the same number is the substance of the theorem and the reason it is one of the central results of the twentieth century.
We first make the operational side precise. A code is a pair of maps: one that turns a message into a block of channel inputs, and one that turns the received block back into a message.
Definition 7.20 (Block code, rate, error probability). An code for a DMC consists of a message set , an encoder , and a decoder . Its rate is
The conditional error probability given message is . The maximal error probability is and the average error probability is , the latter being the error probability when the message is uniform.
Definition 7.21 (Achievable rate and operational capacity). A rate is achievable if there is a sequence of codes with as . The operational capacity of the channel is the supremum of achievable rates.
Theorem 7.22 (Noisy-channel coding theorem). For a discrete memoryless channel, the operational capacity equals the information capacity . Explicitly:
- Achievability. For every there exists a sequence of codes with maximal error probability .
- Converse. Every sequence of codes with must have .
Intuition. Speak slower than and, with a clever enough code, you can be understood perfectly over an arbitrarily bad line. Speak faster than and no cleverness prevents a fixed fraction of misunderstandings. The line's noise sets a speed limit, not a reliability limit.
The converse as stated is the weak converse: it says that if the error probability tends to zero then . A stronger statement is true for every DMC.
Theorem 7.23 (Strong converse, Wolfowitz). For any DMC and any , every sequence of codes has as ; indeed decays exponentially in .
Remark (Why the distinction matters). The weak converse leaves open a possibility that sounds harmless but is not: that above capacity one might still communicate with error probability stuck at, say, — poor, but useful. The strong converse rules this out. Above the channel is not merely unreliable but asymptotically useless, with the decoder eventually right only as often as random guessing. The two converses therefore describe quite different pictures of what happens beyond capacity, and is a threshold in the sharp sense only because the strong converse holds. We do not prove the strong converse here; the standard proof bounds the number of codewords whose decoding regions can each capture non-vanishing probability, using the fact that a typical decoding region has probability about under the wrong codeword's law.
Two corollaries of the theorem are used constantly, often without being stated. The first concerns what happens when a source is to be sent over a channel, rather than an abstract message set.
Theorem 7.24 (Joint source–channel separation). Let a discrete stationary ergodic source with entropy rate produce one symbol per channel use, and let the channel be a DMC of capacity . Then the source can be transmitted with vanishing probability of reconstruction error if ; and if , the probability of error is bounded away from zero for every scheme. Moreover, when a separate design — compress to bits with a source code, then protect those bits with a channel code — is asymptotically optimal.
Proof. Sufficiency. If , choose with . By the source coding theorem the source can be represented with bits with error probability ; by the achievability half of the coding theorem those bits cross the channel with error probability . A union bound on the two error events gives a vanishing total.
Necessity. Let be the source block and the reconstruction. Fano's inequality (proved in the next section) applied to the source alphabet gives . Hence
using the data-processing inequality along the chain and the memoryless bound proved in the next section. Dividing by and letting shows when .∎
Remark (What separation does not say). Separation is a statement about asymptotics in a point-to-point setting with a stationary source. It fails, or becomes merely suboptimal, in three practically important regimes: at short block lengths, where joint designs beat separate ones; over networks (broadcast, multiple access), where joint source–channel coding can strictly outperform separation; and under delay constraints. The theorem is why a modem and a compressor can be designed by different teams, and the exceptions are why video-over-wireless engineers still argue about it.
Example 7.25 (Can this source cross this channel?). A source emits i.i.d. symbols from a four-letter alphabet with probabilities , one symbol per use of a . Is reliable transmission possible?
Solution. The entropy rate is
The channel has bits per use. Since , the separation theorem says reliable transmission is impossible at one source symbol per channel use. It becomes possible if we slow down: sending one source symbol per channel uses needs , so suffices ().□
7.5Achievability: Random Coding and Joint Typicality
Shannon's proof of achievability is the most famous non-constructive argument in engineering. It does not build a code. It puts a probability distribution on the set of all codes, computes the average error probability over that distribution, shows the average is small, and concludes that at least one code in the ensemble is at least as good as the average. The reason this is easier than construction is that a random codebook has no structure to reason about, and having no structure is precisely what makes the calculation possible.
The machinery is a two-dimensional version of the asymptotic equipartition property.
Definition 7.26 (Jointly typical set). For a joint distribution and , the jointly typical set is the set of pairs with
where .
Theorem 7.27 (Joint AEP). Let be i.i.d. according to . Then
- as ;
- ;
- if — the same marginals, but independent — then
Proof. (1) Each of the three conditions is a statement that a sample mean of i.i.d. terms — , , — is within of its expectation, which are , , . By the weak law of large numbers each fails with probability , and a union bound over the three handles the conjunction.
(2) Since , rearranging gives the bound.
(3) Summing the product of marginals over the jointly typical set and using the typicality bounds and valid on ,
because .∎
Part (3) is the engine of the whole proof. It says that an unrelated codeword looks jointly typical with the received block only with probability about ; so we may afford about codewords before one of them is confused with the truth by accident.
Theorem 7.28 (Achievability half of the coding theorem). For every there exists a sequence of codes with maximal error probability .
Proof. Fix an input distribution achieving and a rate ; choose with .
Random codebook. Generate codewords, each of the symbols drawn independently according to . Reveal the codebook to both encoder and decoder. To send , transmit .
Typicality decoding. On receiving , the decoder declares if is the unique index with ; if there is no such index or more than one, it declares an error.
Average error over codebooks. By the symmetry of the random construction, the average of over codebooks does not depend on which message was sent, so assume was sent. An error requires at least one of
by part (1) of the joint AEP. For , was generated independently of and hence of , so the pair has the product-of-marginals law and part (3) applies: . By the union bound,
Because the exponent is negative and both terms vanish; choose large enough that .
From average to a single code. Since the average over the ensemble is below , some particular codebook has .
From average error to maximal error (expurgation). means the mean of is below . By Markov's inequality at most half the codewords can have . Delete them. The surviving code has codewords, all with , and rate , which tends to . Hence rates arbitrarily close to are achievable with vanishing maximal error.∎
Remark (What the proof does and does not give). It gives existence, an exponentially small error probability, and the correct threshold. It gives no code one could build: storing a random codebook of rate and length needs codewords, and typicality decoding compares the received block against every one of them. The gap between this proof and a usable code is the subject of the rest of the chapter.
Example 7.29 (Random coding specialised to the BSC). Carry out the achievability argument concretely on , where joint typicality decoding becomes "find the unique codeword within Hamming distance about of ".
Solution. Take the codewords uniform on (the capacity-achieving input is uniform). The received word lies, with high probability, at distance close to from the transmitted codeword, so decode to any codeword in the Hamming ball .
The number of words in a ball of radius is (see the ball-volume lemma later in this chapter). A wrong codeword is uniform on , so it lands in that ball with probability
Union bounding over the wrong codewords gives total error probability at most plus the vanishing probability that the noise itself is atypical. For this decays exponentially, at rate ; at the exponent vanishes, which is exactly where the argument — and the theorem — stops.□
Intuition. Picture possible received words as a space, and around each codeword a ball of words the noise could plausibly produce. Reliable decoding needs the balls to be essentially disjoint, so the number of codewords is at most . Capacity is a sphere-packing count.
7.6The Converse and Fano's Inequality
The converse is an accounting argument. The channel is a pipe of fixed width; a rate above asks it to carry more than it holds. Making this precise needs two lemmas: one bounding how much a DMC can convey in uses, and one converting "the decoder is usually right" into "the message has little residual uncertainty".
Lemma 7.30 ( uses of a DMC convey at most ). For any code used on a DMC without feedback, .
Proof. Since the channel is memoryless, . Then
where the first inequality is subadditivity of entropy () and the last step is the definition of as a maximum over input distributions, applied to each marginal.∎
Lemma 7.31 (Fano's inequality). Let take values in a finite set and let be an estimate with error probability . Then
Proof. Let . Expand two ways. Since is a function of ,
Expanding in the other order,
using . For the last term, condition on the two values of : given we have and the conditional entropy is ; given , lies in a set of at most values, so its conditional entropy is at most . Weighting by and gives . Combining the two expansions yields the claim; the cruder form follows from and .∎
Intuition. Fano's inequality is the quantitative form of "if you can usually guess it, it cannot have been very uncertain". If the decoder is right with probability , then at most bits are needed to say whether it erred and at most further bits to say what the truth was in the rare case that it did.
Theorem 7.32 (Converse half of the coding theorem). Any sequence of codes for a DMC with satisfies . Equivalently, for a code of rate used on a channel of capacity ,
Proof. Take uniform on with , so . The message determines the input, and the decoder's output is a function of , so is a Markov chain. Then
using Fano's inequality for the first term, the data-processing inequality for the second, and the memoryless bound lemma for the third. Dividing by and rearranging gives the displayed bound on . If , letting in gives .∎
Example 7.33 (The error floor above capacity). A BSC has bits per use and we insist on transmitting at . How small can the error probability be made?
Solution. By the converse bound, . As the correction vanishes and
No code of any length, complexity or cleverness can push the error below about one block in six. (The strong converse says more: the true behaviour is , so the weak converse's floor of is far from tight — it is merely what the simple argument delivers.)□
Pitfall. The weak converse's bound is often misquoted as "the best achievable error probability above capacity". It is only a lower bound, and a loose one; the strong converse shows the truth is . Lower bounds on error are not predictions of performance.
Summary. Capacity is simultaneously an information quantity, , and an operational one, the largest rate with vanishing error. Achievability comes from random coding plus joint typicality plus expurgation; the converse comes from Fano's inequality plus the memoryless bound . Separation lets source and channel coding be designed independently when .
7.7Feedback Does Not Increase Capacity
When the receiver can talk back, the system stops being a one-way pipe. The surprise is how little this changes the fundamental limit and how much it changes everything else: feedback leaves the capacity of a memoryless point-to-point channel exactly where it was, while transforming the complexity, the delay and the error exponent.
Definition 7.34 (Code with feedback). An feedback code allows the -th transmitted symbol to depend on the message and on everything received so far:
with the decoder as before. The feedback capacity is the supremum of achievable rates over such codes.
Theorem 7.35 (Feedback does not increase the capacity of a DMC). For any discrete memoryless channel, .
Proof. is immediate: a feedback code may ignore the feedback. For the converse, take uniform on messages, so . We show even with feedback. Since is a function of ,
the first equality because is determined by the conditioning variables, and the second because the channel is memoryless: given , the output is independent of everything earlier and of . Hence
using the chain rule, then that conditioning reduces entropy, then the definition of . Fano's inequality now gives, exactly as in the converse without feedback,
so forces .∎
Remark (What the proof really used). Only two things: that is a deterministic function of the past, and that the channel is memoryless. Both fail in general. For channels with memory, feedback lets the transmitter track the channel state and can strictly increase capacity (the Schalkwijk–Kailath scheme for the coloured-noise Gaussian channel is the classical example). In networks — multiple-access, broadcast, relay — feedback increases capacity even when each link is memoryless, because it also carries coordination between transmitters.
Intuition. The return path tells the sender what arrived; it does not widen the forward pipe. Each forward use still carries at most bits of information about the message, and no amount of back-talk changes what a single use of the channel can convey.
Remark (What feedback does buy). Feedback leaves unchanged but improves three other things, each a separate theorem we state without proof.
Error exponent. For variable-length coding with noiseless feedback, Burnashev (1976) showed that the optimal error exponent in the expected block length is , where . This is strictly larger than the best fixed-length exponent, and it is linear in rather than merely positive below capacity.
Complexity. Capacity-achieving feedback schemes can be far simpler than block codes; the erasure scheme of the final section of this chapter is a one-line protocol that attains capacity exactly.
Delay. The expected number of channel uses to reach a target error probability is smaller with feedback, because the transmission can stop as soon as the receiver is sure.
Example 7.36 (Feedback on a noisy link). has bits per use. What does feedback change?
Solution. Nothing about the number: with perfect, instantaneous, noiseless feedback the supremum of reliable rates is still bits per use. What changes is how one gets there. Without feedback one needs a long block code and a decoder; with feedback a simple scheme that retransmits on demand can reach the same rate with far less machinery, and can reach a given error probability with fewer expected channel uses.□
Pitfall. "Feedback does not help" is the wrong summary. The precise statement is "feedback does not increase the capacity of a memoryless point-to-point channel". It does increase capacity for channels with memory and in networks, and it improves exponents, latency and complexity even where capacity is unchanged.
7.8Automatic Repeat Request
Definition 7.37 (ARQ). Under automatic repeat request the transmitter sends a packet protected by an error-detecting code; the receiver returns an acknowledgement (ACK) if the check passes and a negative acknowledgement (NACK) otherwise, and the transmitter repeats the packet until it is acknowledged.
Theorem 7.38 (Throughput of ideal stop-and-wait ARQ). Suppose each transmission of a packet of channel uses carrying information bits fails independently with probability , and that error detection is perfect and feedback is noiseless and free. Then the number of transmissions is geometric with mean , and the throughput is
with error probability zero (the protocol does not stop until it succeeds).
Proof. Independence across attempts makes geometric on with success probability , so . Each attempt costs channel uses and delivers bits only on the successful attempt, so the long-run ratio of delivered bits to channel uses is by the renewal–reward theorem.∎
Example 7.39 (Throughput of a packet protocol). A -bit payload is protected by a -bit CRC and sent in channel uses (rate with the CRC included), with packet error probability . Compute the throughput.
Solution. transmissions. Throughput is
Equivalently, the rate multiplied by . The retransmission overhead is only here; at the same formula gives half the throughput, and a protocol would instead lower the code rate.□
Proposition 7.40 (Why "perfect detection" is not free). On , suppose uncoded packets of bits are used and a genie tells the receiver whether the packet is correct. The throughput is , which is maximised at , where
This apparent violation of the coding theorem is the genie's doing: one error-free bit of side information per packet converts the BSC into an erasure channel, whose capacity is exactly . Real error detection must be bought with redundancy, and an -bit CRC costs a factor in rate while detecting only those patterns that are not nonzero codewords.
Proof. An uncoded packet survives only if all bits survive, so and, with information bits per packet, the throughput formula gives , which decreases in and equals at . For the strict inequality, is equivalent to , which holds on : at both sides are and is strictly concave with , so lies strictly above the chord on the open interval.
For the interpretation: the genie's announcement is exactly the indicator of whether the transmitted bit was flipped, so the receiver learns either the bit's true value or that it has no information — an erasure channel with erasure probability , of capacity . Nothing is free; the extra capacity came in over the genie's noiseless side channel.∎
Remark (Hybrid ARQ). Real systems combine the two mechanisms. Type-I HARQ sends a forward-error-correcting code plus a CRC and retransmits the whole block on failure. Type-II HARQ with incremental redundancy sends a high-rate codeword first and, on a NACK, sends additional parity rather than a repeat, so the receiver accumulates a lower-rate codeword across attempts. Incremental redundancy is a practical approximation to the variable-length feedback coding of the next section, and it is how LTE and 5G actually operate.
Intuition. Pure ARQ is a repetition code with a random, channel-chosen number of repetitions. That is better than a fixed repetition code — you repeat only when you must — but it still throws away the failed attempt entirely. Incremental redundancy keeps it and adds to it, which is why it comes much closer to capacity.
7.9Variable-Length Coding with Feedback
The right way to use feedback is to let the length of the transmission depend on the channel's behaviour: keep sending until the receiver knows the message, and stop.
Definition 7.41 (Variable-length feedback code). A variable-length feedback code with expected length consists of encoders , a stopping time measurable with respect to the receiver's observations (and therefore known to both ends through the feedback), and a decoder . Its rate is .
Theorem 7.42 (Capacity with zero error on the erasure channel). On with noiseless feedback, the scheme "retransmit each information bit until it is not erased" has zero error probability and rate exactly .
Proof. The number of transmissions needed for one bit is geometric with success probability , so its expectation is . Over a long run, bits cost channel uses almost surely, by the law of large numbers, giving rate . The receiver never decides on an erased bit, so no error is ever made.∎
Example 7.43 (Erasure channel with feedback, in numbers). Take . Compare the feedback scheme with what a block code must do.
Solution. Capacity is bits per use. The feedback scheme spends transmissions per information bit on average, so its rate is — exactly capacity — and it never errs. A block code without feedback achieving rate needs a long block length, an encoder, a decoder, and still has a nonzero (if small) error probability. The entire apparatus of the coding theorem is replaced here by a single "did you get it?".□
Remark (Posterior matching and the general case). For a general DMC there is an analogous scheme: the transmitter maintains the receiver's posterior distribution over messages (which it can compute, since it sees everything the receiver sees) and transmits, at each step, the input symbol that best splits the remaining uncertainty — formally, it transmits a function of the posterior chosen so that the input has the capacity-achieving distribution. This is the posterior matching scheme of Shayevitz and Feder, which generalises Horstein's 1963 scheme for the BSC and the Schalkwijk–Kailath scheme for the Gaussian channel. It achieves capacity with variable length, and its analysis is beyond our scope.
Theorem 7.44 (Why variable length beats fixed length at short lengths). For variable-length feedback codes with expected length , reliable communication at rate is possible with
whereas fixed-length codes without feedback obey , where is the channel dispersion. The backoff term disappears.
Proof. We state this result (Polyanskiy, Poor and Verdú, 2011) without proof; the achievability uses a stopping rule based on the information density crossing a threshold, and the converse uses a martingale argument. The practical consequence is what matters here: at block lengths of a few hundred, the finite-length penalty for a fixed-length code is a substantial fraction of a decibel, and feedback with a variable stopping time removes most of it. This is the theoretical reason that HARQ, and not a stronger fixed-rate code, is how modern systems hit their latency and reliability targets.∎
Intuition. A fixed-length code must be long enough for the worst noise realisation it is willing to tolerate. A variable-length scheme stops as soon as this realisation has been resolved, so it pays the average cost instead of the worst case. Averages are cheaper than worst cases, and that difference is the whole benefit.
Summary. Feedback does not change for a memoryless point-to-point channel, and the proof is Fano plus the observation that . What feedback changes is everything else: ARQ turns detection into reliability at a throughput cost of ; incremental redundancy recovers most of what plain ARQ discards; and variable-length schemes remove the finite-length penalty and can achieve capacity with zero error on the erasure channel.
- Confusing capacity with the raw symbol rate: capacity is the supremum of *reliable* information rates after optimal coding. You may push symbols faster, but not information.
- Assuming the best input is always uniform: uniform is optimal for weakly symmetric channels. For the Z-channel, or for parallel Gaussian channels, it is not; water-filling and Blahut–Arimoto exist because the general answer is not uniform.
- Forgetting that capacity is asymptotic: it is approached as the block length grows. At short block lengths there is a real penalty, quantified by finite-blocklength theory.
- Reading achievability as a construction: the theorem says good codes *exist*. Finding ones that can also be decoded quickly took fifty years.
- Mixing capacity with rate–distortion: capacity is a *maximum* of over inputs (channel coding); the rate–distortion function is a *minimum* of over test channels (lossy source coding). Maximum versus minimum is the tell.
- **Applying to a discrete-time model**: the bandwidth form already counts uses per second; the discrete-time form is per use, and carries the factor that two uses per hertz per second supplies.
- **Reading the theorem as "zero error at rate "**: the guarantee is for rates *strictly below* , with error tending to zero as grows, never exactly zero at finite length (except in degenerate cases like the noisy typewriter).
- Confusing average with maximal error probability: the random-coding argument controls the *average*; expurgation is the extra step that converts it to a maximal-error guarantee at the cost of one bit of rate.
- **Forgetting that requires all three conditions**: marginal typicality of and of does not imply joint typicality, and it is the joint condition that produces the bound.
- Applying Fano's inequality with the wrong alphabet: the term is the log of the *message* set size, which is for a rate- code — using instead loses the whole argument.
- Believing achievability gives a decoder: typicality decoding compares against every codeword and is exponential in . Practical decoding needs structure, which random codes deliberately lack.
- Assuming separation always holds: it is a point-to-point, asymptotic, stationary-source theorem. Networks, delay constraints and short blocks all break it.
- Claiming feedback raises the capacity of a DMC: it does not. The claim is true for channels with memory and for networks, and the distinction is exactly where the proof's hypotheses are used.
- Treating error detection as free: the clean ARQ throughput formula assumes a perfect detector. Perfect detection is itself side information, and paying for it honestly with a CRC costs rate; only FEC combined with retransmission approaches capacity.
- Ignoring feedback delay and feedback errors: real ACKs are late and sometimes lost. Protocols need timers, sequence numbers and robustness to a lost ACK, and the clean analysis above assumes none of that.
- Assuming variable-length coding is impractical: incremental-redundancy HARQ is variable-length coding, deployed at planetary scale.
- Forgetting the gain in exponent and delay: even where capacity is unchanged, feedback reduces the number of channel uses needed to reach a target error probability, sometimes dramatically.
- Transmitting the full posterior rather than an extrinsic or innovation-like quantity: as in turbo decoding, resending what the other side already knows wastes the channel — the good feedback schemes transmit only what is new.