NetKubeLab ไทย

The ceiling of a channel — a number nobody gets past

In 1948 someone proved that every channel has a ceiling computable from its width and its noise, and that no coding scheme can ever cross it

· Part 2 Cables and waves

The physical layer article ends on the fact that a cable is an analogue thing, with noise, and a limited reach.

The question that follows is: how fast can one cable carry data?

Most people assume the answer depends on how clever the engineers are — better coding, better compression, faster and faster.

It does not. In 1948 Claude Shannon proved there is a ceiling computable from exactly two things, the width of the channel and its signal-to-noise ratio, and that no coding scheme in this universe gets past it.

This article computes that ceiling and compares it against the speed actually measured on the Wi-Fi link of the machine it was written on.

If you have never thought about this, start here

The whole formula is one line, and you can do it in your head if base-2 logs are familiar.

$ python3 -c "
import math
B, snr_db = 80e6, 28
print(B * math.log2(1 + 10**(snr_db/10)) / 1e6, 'Mbps')"

That gives 744.3 Mbps — the theoretical ceiling of the Wi-Fi link this machine is on, which is 80 MHz wide with an SNR of 28 dB, as measured in the Wi-Fi article.

The rate actually measured was 390 Mbps, about half the ceiling — and that is very good efficiency.

Nyquist — width decides how often the value can change

Twenty-four years before Shannon, Harry Nyquist at Bell Labs answered the easier question: with no noise at all, how fast can you go?

The answer is that a channel of B hertz can change its signal value 2B times a second. Faster than that and the far end cannot tell how many changes happened.

Channel width limits how many times per second the value can change, so putting several levels into one symbol is the only way to add bits without adding width

The only way to get more bits without more width is to put several bits into one symbol, using multiple levels.

  levels    bits/symbol    3100 Hz -> kbps
       2         1                6.2
       4         2               12.4
      16         4               24.8
     256         8               49.6

With no noise, keep adding levels and go as fast as you like — which sounds too good to be true, and is.

Shannon — noise decides how many levels are usable

Claude Shannon published A Mathematical Theory of Communication in Bell Labs' journal in July and October 1948, and in it sits Theorem 17.

"Theorem 17: The capacity of a channel of band W perturbed by white thermal noise power N when the average transmitter power is limited to P is given by C = W log (P+N)/N"

Written in the more familiar form:

  C = B x log2(1 + S/N)

where B is the width in hertz and S/N is the ratio of signal power to noise power, usually quoted in decibels.

As SNR rises the ceiling grows logarithmically, so widening the channel pays linearly while raising transmit power pays less and less

What the theorem really says is that there is a line you cannot cross. Not that nobody has managed it yet — that it cannot be done, however clever you are.

Notice where each variable sits — B is outside the log, S/N is inside it.

Double the channel width and the ceiling doubles, directly.

Double the transmit power and the ceiling barely moves.

That is why newer Wi-Fi generations kept widening channels from 20 to 40 to 80 to 160 MHz instead of raising power. Power gives diminishing returns and interferes with everyone else as well.

Putting the two together

Nyquist says how often the value can change; Shannon says how many levels can be told apart each time. Combine them and you get the numbers that matter.

  SNR      ceiling      levels usable
  20 dB    20.6 kbps         10.0
  30 dB    30.9 kbps         31.6
  40 dB    41.2 kbps        100.0

The right-hand column answers why modems stopped where they did. A telephone line is about 3100 Hz wide with an SNR around 30 dB, which means about 32 distinguishable levels and a ceiling near 31 kbps.

So how did 56k modems work

A 3100 Hz telephone line at 30 dB SNR has a ceiling near 31 kbps, which explains why analogue modems stopped at 33.6 kbps

The fastest analogue modem of the era ran at 33.6 kbps, very close to the computed ceiling — and that is no coincidence.

So what about the advertised 56k?

The answer is that it does not run over an analogue channel end to end. By then the telephone exchanges were already digital, so the provider's side fed digital values in directly. The downstream direction therefore skipped the analogue-to-digital conversion that adds noise, while the upstream direction still went through it and stayed near the old 33.6 kbps ceiling.

56k did not beat Shannon. It changed the channel, which is the only thing that ever works.

What this does not prove — I have not verified the downstream/upstream explanation against the V.90 specification itself, because the ITU-T documents would not download while this was written. What is verifiable is the 31 kbps ceiling computed from Shannon's theorem, and the fact that 56k rates are asymmetric.

Compared against measured Wi-Fi

Theory is only interesting when you can hold it against something real, so I put the values measured on this machine in the Wi-Fi article into the formula.

Bars comparing the theoretical ceiling of an 80 MHz channel at various SNRs against the rate actually measured on the machine this was written on

  situation           B        SNR      ceiling
  measured link       80 MHz   28 dB    744.3 Mbps
  crowded room        80 MHz   15 dB    402.2 Mbps
  far from the AP     80 MHz    5 dB    164.6 Mbps

The rate actually measured was 390 Mbps against a ceiling of 744 — about 52%.

That figure does not mean the hardware is poor. It means the cost of headers, of acknowledging every frame, of the gaps between transmissions, and of the margin left for errors, together consume half of what physics allows.

And the second row explains what the Wi-Fi article measured — when SNR falls from 28 to 15, the ceiling loses nearly half, while the bars on the screen may not change at all.

When it lies

"Smarter coding would make it faster." Not once you are at the ceiling. Theorem 17 says that ceiling is a property of the channel, not of the coding.

"Compression pushes more through the channel." True, but a different thing. Compression reduces the bits you must send; it does not raise the channel's capacity, and already-compressed data barely compresses again.

"More transmit power makes it much faster." It helps logarithmically. Going from 28 to 31 dB SNR is double the power, and raises the ceiling by about 10%.

"Fibre has no ceiling." It has one too. B is simply so enormous that the ceiling sits far beyond what today's equipment can reach.

"The number on the box is the real speed." That number is a bit rate on the medium, already below Shannon's ceiling, and you still have to subtract every layer's overhead as computed in the protocol layers article.

Real cases from real work

Case 1 — deciding whether a link has room left

Situation A wireless link is slow, and you must decide whether to work on the signal or somewhere else.

Command Read the SNR and put it in the formula.

$ python3 -c "
import math
B, snr = 80e6, 28
print(round(B*math.log2(1+10**(snr/10))/1e6,1), 'Mbps ceiling')"

How to read it If the actual rate is far below the ceiling, the problem is not the signal but contention for airtime or overhead — moving closer will not help. If the actual rate is already near the ceiling, going faster requires a wider channel or less noise.

What this does not prove The SNR the machine reports is whatever the driver chooses to expose, measured only from our side, so the computed ceiling is an estimate rather than a measurement.

Case 2 — explaining why more power will not help

Situation Somebody proposes turning up the access point's transmit power.

How to read it Point at where each variable sits in the formula. B is outside the log and pays linearly; S/N is inside it and pays less and less. Doubling power where SNR is already high gains almost nothing, and it raises the noise floor for the neighbours — which lowers everyone's SNR, including ours.

What this does not prove This applies where SNR is already good. If the problem spot is a corner where the signal really is very weak, more power may help. Measure the SNR at that spot first, not at the access point.

Case 3 — judging whether a quoted figure is possible

Situation A vendor quotes a very high rate on a narrow channel.

How to read it Put the channel width and a realistic SNR into the formula. If the quoted figure exceeds the ceiling, something is not what you assume — it may count several channels together, or be a post-compression rate, or be the sum across several antennas.

What this does not prove A computed ceiling settles what is impossible; it says nothing about what is achievable. Equipment below the ceiling may still fall short for many other reasons.

When the ceiling is not the problem

In most real work links are nowhere near Shannon's ceiling. The figure measured above sits at half, and what eats the other half is overhead and contention — engineering problems, which can be worked on.

The ceiling earns its keep by telling you when to stop trying the same thing. If the calculation puts you at 90% of it, hunting for better settings is no longer worth it. You have to change the channel instead.

References

Original

  • Shannon, C. E., A Mathematical Theory of Communication, Bell System Technical Journal vol. 27, July and October 1948 — Theorem 17, quoted here, is in that document
  • The Nyquist papers Shannon cites in his own first footnote: Certain Factors Affecting Telegraph Speed of 1924 and Telegraph Transmission Theory of 1928

Computed here

  • Every ceiling table in this article is computed directly from C = B log2(1 + S/N)
  • The 80 MHz width and 28 dB SNR come from the measurements in the Wi-Fi article, on the same machine

Computed here

อ่านหน้านี้เป็นภาษาไทย

← Back to the basics