Calculate the Shannon channel capacity, the maximum error-free data rate from bandwidth and SNR, or solve for the bandwidth or SNR a target rate requires.
Shannon Channel Capacity Formula
The calculator is built on the Shannon-Hartley theorem, which sets the maximum error-free data rate of a communication channel:
C = B * log2(1 + S/N)
When the SNR is given in decibels, the calculator first converts it to a linear power ratio:
S/N = 10^(SNR_dB / 10)
The same relationship can be rearranged to solve for the bandwidth a target rate needs, or the SNR a target rate needs:
B = C / log2(1 + S/N) S/N = 2^(C/B) - 1
Variables:
- C is the channel capacity, the highest data rate that can be carried with an arbitrarily low error rate, in bits per second (bps)
- B is the channel bandwidth in hertz (Hz)
- S/N is the signal-to-noise ratio as a linear power ratio (signal power divided by noise power, not in dB)
- SNR_dB is the same ratio expressed in decibels
- C/B is the spectral efficiency in bits per second per hertz (bits/s/Hz)
The solve-for selector at the top of the calculator switches between the three forms. In capacity mode you enter a bandwidth and an SNR (in dB or as a linear ratio) and get the Shannon limit plus the spectral efficiency. In required bandwidth mode you enter a target data rate and an SNR and get the minimum bandwidth that can carry it. In required SNR mode you enter a target rate and a bandwidth and get the minimum SNR in dB and as a linear ratio. The advanced option in capacity mode lets you enter the data rate your link actually delivers and reports what percentage of the theoretical limit you are achieving and how much headroom remains.
Spectral Efficiency by SNR and Real-World Channel Limits
The first table shows how many bits per second each hertz of bandwidth can carry at a given SNR. It is the fastest way to sanity-check a result: multiply the bits/s/Hz value by your bandwidth in Hz. The modulation column lists the scheme class that real systems use to approach that efficiency.
| SNR (dB) | Linear S/N | Capacity (bits/s/Hz) | Comparable modulation class |
|---|---|---|---|
| -10 | 0.1 | 0.14 | Spread spectrum, power-limited links |
| 0 | 1 | 1.00 | BPSK |
| 5 | 3.16 | 2.06 | QPSK |
| 10 | 10 | 3.46 | 8-PSK to 16-QAM |
| 20 | 100 | 6.66 | 64-QAM |
| 25 | 316 | 8.31 | 256-QAM |
| 30 | 1,000 | 9.97 | 1024-QAM |
| 40 | 10,000 | 13.29 | 4096-QAM, cable and fixed links |
The second table applies the formula to familiar channels so you can see how close real equipment gets to the theoretical ceiling. Rates are per spatial stream; MIMO systems multiply the limit by the number of independent streams.
| Channel | Bandwidth | Typical SNR | Shannon limit | Typical delivered rate |
|---|---|---|---|---|
| Analog phone line | 3.1 kHz | 37 dB | 38.1 kbps | 33.6 kbps (V.34 modem) |
| Cable TV QAM channel | 6 MHz | 40 dB | 79.7 Mbps | 42.9 Mbps (256-QAM) |
| Wi-Fi, one stream | 20 MHz | 25 dB | 166.2 Mbps | 86 to 143 Mbps (802.11ax) |
| LTE, one stream | 20 MHz | 20 dB | 133.2 Mbps | 75 to 100 Mbps |
| 5G NR mid-band, one stream | 100 MHz | 20 dB | 665.8 Mbps | 300 to 500 Mbps |
Example Problems
Example 1: solve for capacity. A wireless link has 10 MHz of bandwidth and an SNR of 20 dB. First convert the SNR to a linear ratio: 10^(20/10) = 100. Then apply the formula: C = 10,000,000 * log2(1 + 100) = 10,000,000 * 6.658 = 66.58 Mbps. The spectral efficiency is 6.66 bits/s/Hz. A real radio on this channel would do well to deliver 40 to 55 Mbps after coding overhead and implementation losses.
Example 2: solve for required SNR. You need 50 Mbps through a 10 MHz channel. The required spectral efficiency is C/B = 50,000,000 / 10,000,000 = 5 bits/s/Hz. The minimum SNR is 2^5 – 1 = 31 as a linear ratio, which is 10 * log10(31) = 14.91 dB. Any link budget for this channel should target roughly 16 to 18 dB to leave a working margin.
FAQ
Why can’t real systems reach the Shannon limit?
The theorem assumes infinitely long codewords, perfect coding, and pure additive white Gaussian noise. Real links pay overhead for error-correction coding, pilot symbols, guard intervals, and imperfect hardware, and they face fading and interference that the ideal model ignores. Modern LDPC and turbo codes get within about 1 dB of the limit on clean channels, which is why well-designed systems deliver 60 to 90 percent of the Shannon rate but never all of it.
Does adding more bandwidth always increase capacity?
Not without limit. Noise power grows with bandwidth (N = N0 * B, where N0 is the noise power density), so if your signal power is fixed, widening the channel lowers the SNR at the same time. As B goes to infinity, capacity approaches a finite ceiling of about 1.44 * S/N0. This is the origin of the ultimate low-SNR limit: reliable communication requires an energy per bit to noise density ratio (Eb/N0) of at least -1.59 dB. Extra bandwidth helps most when SNR is high; at very low SNR you are power limited, not bandwidth limited.
What is the difference between the Shannon capacity and the Nyquist rate?
The Nyquist formula, C = 2 * B * log2(M), gives the signaling limit of a noiseless channel using M distinct symbol levels. It tells you how fast you can send symbols, but it lets capacity grow forever by adding levels. The Shannon-Hartley theorem adds noise to the model and caps how many levels are distinguishable, so it gives the true upper bound of any real channel. In practice you use Nyquist to relate symbol rate to bandwidth and Shannon to find the ceiling that noise imposes.
