Library / Communications / COM-04
Communications
Shannon channel capacity
Highest error-free data rate through a noisy channel.
- Ref
- COM-04
- Rev
- v1
- Field
- Communications
- Result
- C [Mbit/s]
B is the channel bandwidth in MHz and SNR the signal-to-noise power ratio as a plain number, not in decibels (a ratio of 15 is 11.8 dB). C is the highest rate at which information can be sent with an error rate as low as desired, using ideal coding. The answer is in megabits per second.
Highest error-free data rate through a noisy channel. Extra bandwidth helps linearly; extra signal-to-noise ratio helps only logarithmically.
Calculator
- SNR in decibels11.76 dB
- Capacity if the SNR is doubled49.54 Mbit/s
What drives the result
Each variable is moved across its typical range while the others stay at the values above. The longest bar is the key driver.
- A 10 MHz channel at 11.8 dB SNR can carry at most 40 Mbit/s, which is 4 bits per hertz.
- Bandwidth helps linearly but SNR helps only logarithmically, so a poor signal-to-noise ratio is better fixed by getting more bandwidth than by more power. In noise-limited channels widening the bandwidth also admits more noise, which cuts the gain.
Chart data as tables
Ranked variables
| Variable | Typical range | Lowest result | Highest result | Swing (Mbit/s) | Local step | Change in result |
|---|---|---|---|---|---|---|
| B Bandwidth | 0.01 to 1,000 MHz | 0.04 | 4,000 | 4,000 | +10% | +10 % |
| SNR Signal-to-noise ratio (linear) | 0.1 to 1,000,000 | 1.375 | 199.3 | 197.9 | +10% | +3.23 % |
Sweep of Signal-to-noise ratio (linear)
| Signal-to-noise ratio (linear) | Capacity (Mbit/s) |
|---|---|
| 0.1 | 1.375 |
| 0.7499 | 8.073 |
| 5.623 | 27.28 |
| 42.17 | 54.32 |
| 316.2 | 83.09 |
| 2,371 | 112.1 |
| 17,780 | 141.2 |
| 133,400 | 170.2 |
| 1,000,000 | 199.3 |
Sweep one variable
Variables and how each one contributes
Capacity
What the equation gives you. Everything else feeds it.
Bandwidth
The bandwidth of the channel, in MHz. Directly proportional at a fixed SNR: doubling the bandwidth doubles the capacity.
Signal-to-noise ratio (linear)
The ratio of signal power to noise power (not in dB). Logarithmic: at the default, doubling the SNR adds only about 24 % (9.5 Mbit/s), because each extra bit per hertz needs the SNR to double again.
Worked example with the values above
- Add one: 1 + SNR = 1 + 15 = 16.
- Logarithm to base 2: log₂(16) = 4 bits per hertz.
- C = 10 × 4 = 40 Mbit/s.
Assumptions and limits
- An additive white Gaussian noise channel with a fixed bandwidth and SNR.
- Ideal coding of unlimited complexity and delay.
Common mistakes
- Entering the SNR in dB, which gives a nonsense answer.
- Treating the capacity as the rate a practical modem will reach.
Statistics and uncertainty
C ∝ B log₂(1 + SNR), so a 10 % error in SNR gives about a 2.4 % error in C at SNR = 15, while a 10 % error in bandwidth gives 10 %. The figure is a hard upper limit; practical codes reach within 1 to 3 dB of it, so a real system delivers somewhat less.
Where it is used
- Setting the data rate limits of radio and satellite links.
- Judging how much bandwidth is needed for a target data rate at a given SNR.
Maths you need
- Logarithms to base 2: log₂ x = ln x/ln 2
- Decibels: converting dB to a ratio