Shannon channel capacity calculator
Enter the channel bandwidth and the signal-to-noise ratio, in dB or as a plain power ratio. The calculator gives the Shannon limit: the highest data rate any coding scheme could carry without errors. Switch modes to find the SNR a target bit rate needs.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Choose Capacity to get the maximum data rate, or Required SNR to find what a given rate needs.
- Enter the bandwidth and pick Hz, kHz, MHz or GHz.
- For capacity, enter the SNR in dB or as a power ratio. For the required SNR, enter the target data rate.
- Read the capacity (or minimum SNR) and the spectral efficiency in bit/s/Hz.
Shannon–Hartley theorem:
C = B · log₂(1 + S/N)
with C in bit/s, B in Hz and S/N the linear power ratio, S/N = 10^(SNR_dB / 10). Solved for the SNR:
S/N = 2^(C/B) − 1
C/B is the spectral efficiency in bit/s/Hz.
Worked example
A 20 MHz channel at 20 dB SNR: S/N = 10² = 100, log₂ 101 = 6.6582, so C = 20 × 10⁶ × 6.6582 = 133.1642 Mbit/s, a spectral efficiency of 6.6582 bit/s/Hz.
To carry 100 Mbit/s in 20 MHz you need 5 bit/s/Hz: S/N = 2⁵ − 1 = 31, which is 10·log₁₀ 31 = 14.91 dB at the very least.
Tips
- It is an upper bound. Real systems lose some of it to coding overhead, guard bands and imperfect receivers; plan for a margin of several dB.
- Low SNR: below 0 dB capacity is roughly proportional to SNR, so doubling power nearly doubles the rate.
- Bits vs bytes: divide bit/s by 8 for bytes per second.
Frequently asked questions
What is the Shannon–Hartley theorem?
It gives the capacity of a channel with bandwidth B and additive white Gaussian noise: C = B·log₂(1 + S/N) bits per second. No modulation and coding can send error-free data faster; good modern codes come close to it.
How do I convert SNR in dB for the formula?
Use the power ratio: S/N = 10^(dB/10). 20 dB is 100, 30 dB is 1,000, 0 dB is 1. The calculator does this when you choose dB.
What is the capacity of a telephone line?
With about 3 kHz of bandwidth and 30 dB SNR, C = 3,000 × log₂ 1,001 ≈ 29,902 bit/s, roughly 30 kbit/s. A cleaner line with a higher SNR allows more.
Does more bandwidth always help?
Capacity grows linearly with bandwidth but only logarithmically with SNR. However, if the transmit power is fixed, a wider band also collects more noise, so the gain from extra bandwidth levels off.