Skip to content
RFrftools.io
SignalApril 11, 20269 min read

BER vs SNR: Understanding Digital Communication Performance

Understand the relationship between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR). Compare BPSK, QPSK, and QAM modulation performance with Eb/N0 curves and worked examples.

Contents

The Fundamental Trade-Off

Every digital communication system boils down to one question: how many bits can you push through the channel before errors become unacceptable? The answer lives in the relationship between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR). Get this relationship wrong and you'll either waste bandwidth by using overly conservative modulation, or burn through your error correction budget and drop connections.

This isn't just academic. When you're designing a wireless link, choosing a modulation scheme, or setting the coding rate for your forward error correction, the BER vs. SNR curve is the first thing you should reach for. Use the BER vs SNR calculator to evaluate specific scenarios as we work through the concepts.


BER: What It Means

Bit Error Rate is exactly what it sounds like: the probability that a received bit is wrong. A BER of 10610^{-6} means roughly one bit in a million is flipped. Whether that matters depends entirely on your application:

BERQualityTypical Application
10310^{-3}MarginalVoice over radio (intelligible but noisy)
10510^{-5}GoodStandard data communications
10610^{-6}Very goodVideo streaming, file transfer
10910^{-9}ExcellentFiber optics, financial data
101210^{-12}Ultra-lowBackbone optical transport
Note that these are uncoded BER targets in many cases. Forward error correction (FEC) can improve the effective BER by several orders of magnitude, but it has its own SNR threshold below which it falls apart completely.

SNR vs. Eb/N0: Know the Difference

Here's where most confusion starts. SNR and Eb/N0E_b/N_0 are related but not interchangeable.

SNR (Signal-to-Noise Ratio) compares total signal power to total noise power in a given bandwidth:
SNR=SN=SN0B\text{SNR} = \frac{S}{N} = \frac{S}{N_0 B}

where SS is signal power, N0N_0 is noise power spectral density, and BB is noise bandwidth.

Eb/N0E_b/N_0 (Energy per Bit to Noise Density) normalizes to the energy in a single bit:
EbN0=SN0Rb\frac{E_b}{N_0} = \frac{S}{N_0 R_b}

where RbR_b is the bit rate. The conversion between them:

EbN0=SNRBRb\frac{E_b}{N_0} = \frac{\text{SNR} \cdot B}{R_b}

Why does Eb/N0E_b/N_0 matter? Because it lets you compare modulation schemes on a fair basis. A system running at 1 Mbps and one running at 100 Mbps might have very different SNR requirements, but their Eb/N0E_b/N_0 requirements for the same BER are comparable.

The SNR calculator can help you compute the noise floor and SNR for your specific bandwidth and noise figure.


BER Curves for Common Modulation Schemes

Each modulation scheme has a characteristic BER vs. Eb/N0E_b/N_0 curve. These are derived from the probability of the noise exceeding the decision threshold between constellation points.

BPSK and QPSK

BPSK (Binary Phase Shift Keying) and QPSK (Quadrature PSK) have identical BER performance per bit:

Pb=12erfc(EbN0)P_b = \frac{1}{2}\,\text{erfc}\left(\sqrt{\frac{E_b}{N_0}}\right)

where erfc\text{erfc} is the complementary error function. Yes, QPSK carries twice the data rate in the same bandwidth, and its BER curve is still the same as BPSK. This is because QPSK is essentially two BPSK signals on orthogonal carriers (I and Q channels), each seeing the same noise.

At Eb/N0=10E_b/N_0 = 10 dB, the BER is roughly 3.9×1063.9 \times 10^{-6}. To reach 10910^{-9}, you need about 12.6 dB.

16-QAM

With 16 points in the constellation, 16-QAM packs 4 bits per symbol. The approximate BER:

Pb38erfc(25EbN0)P_b \approx \frac{3}{8}\,\text{erfc}\left(\sqrt{\frac{2}{5}\cdot\frac{E_b}{N_0}}\right)

16-QAM needs roughly 4 dB more Eb/N0E_b/N_0 than BPSK/QPSK for the same BER. That's the price you pay for doubling the spectral efficiency.

64-QAM

64-QAM carries 6 bits per symbol. Higher throughput, but the constellation points are packed tighter:

Pb724erfc(17EbN0)P_b \approx \frac{7}{24}\,\text{erfc}\left(\sqrt{\frac{1}{7}\cdot\frac{E_b}{N_0}}\right)

Compared to BPSK, 64-QAM needs about 8 dB more Eb/N0E_b/N_0 to achieve the same error rate. Below that threshold, errors climb rapidly.

Comparison Table

ModulationBits/SymbolSpectral EfficiencyEb/N0E_b/N_0 for BER =106= 10^{-6}
BPSK11 bit/s/Hz10.5 dB
QPSK22 bit/s/Hz10.5 dB
16-QAM44 bit/s/Hz14.5 dB
64-QAM66 bit/s/Hz18.5 dB
256-QAM88 bit/s/Hz23 dB
The pattern is clear: every doubling of spectral efficiency costs you roughly 4 dB of SNR. This is the fundamental bandwidth-power trade-off in digital communications.

The Shannon Limit

Claude Shannon proved in 1948 that there's a theoretical minimum Eb/N0E_b/N_0 below which error-free communication is impossible, regardless of coding:

EbN02R/B1R/B\frac{E_b}{N_0} \geq \frac{2^{R/B} - 1}{R/B}

As R/B0R/B \to 0, this approaches ln(2)1.59\ln(2) \approx -1.59 dB. No real system operates there — modern turbo codes and LDPC codes get within about 0.5 dB of the Shannon limit, which is a remarkable engineering achievement.

This limit tells you something fundamental: if your calculated Eb/N0E_b/N_0 is below about 1.6-1.6 dB, no amount of clever coding will save you. You need more power, more bandwidth, or a closer link distance.


You're designing a 5 GHz point-to-point link with the following parameters:

  • Received signal power: 65-65 dBm
  • Noise figure: 5 dB
  • Bandwidth: 20 MHz
  • Required BER: 10610^{-6}
Step 1: Calculate noise floor.

Thermal noise in 20 MHz bandwidth: N=kTB=174+10log10(20×106)=174+73=101N = kTB = -174 + 10\log_{10}(20 \times 10^6) = -174 + 73 = -101 dBm.

With 5 dB noise figure: Ntotal=101+5=96N_{total} = -101 + 5 = -96 dBm.

Step 2: Calculate SNR. SNR=65(96)=31\text{SNR} = -65 - (-96) = 31 dB. Step 3: Determine maximum modulation order.

With 31 dB of SNR and 20 MHz bandwidth, your per-bit energy depends on the data rate. For 64-QAM at spectral efficiency of 6 bit/s/Hz: Rb=6×20=120R_b = 6 \times 20 = 120 Mbps.

Eb/N0=SNR10log10(Rb/B)=3110log10(6)=317.8=23.2E_b/N_0 = \text{SNR} - 10\log_{10}(R_b/B) = 31 - 10\log_{10}(6) = 31 - 7.8 = 23.2 dB.

For BER =106= 10^{-6}, 64-QAM needs about 18.5 dB. You have 23.2 dB, leaving 4.7 dB of margin. That's healthy.

Could you go to 256-QAM? That needs about 23 dB for 10610^{-6} BER, and you'd have Eb/N0=3110log10(8)=319=22E_b/N_0 = 31 - 10\log_{10}(8) = 31 - 9 = 22 dB. That's 1 dB short. Too risky without additional coding gain.

Decision: 64-QAM gives you 120 Mbps with comfortable margin. Use the BER vs SNR calculator to verify these numbers and explore what happens if your received power drops during rain fade.

Practical Considerations

Fading channels destroy average-SNR assumptions. A Rayleigh fading channel can require 10-20 dB more average Eb/N0E_b/N_0 than AWGN for the same BER. Diversity techniques (spatial, frequency, time) are essential for wireless systems. Phase noise matters for dense constellations. 256-QAM has constellation points separated by only a few degrees. If your local oscillator has significant phase noise, the constellation points smear into each other, raising the error floor regardless of SNR. Quantization noise sets a floor. Your ADC's resolution limits the effective SNR. An NN-bit ADC has a signal-to-quantization noise ratio of approximately 6.02N+1.766.02N + 1.76 dB. A 12-bit ADC maxes out at about 74 dB SQNR, which caps your effective Eb/N0E_b/N_0 even if the channel SNR is higher. Explore this with the Quantization Noise calculator. Coding gain shifts the curves. Convolutional codes buy you 3-6 dB of coding gain. Turbo codes and LDPC codes push that to 8-10 dB. Modern 5G NR systems use LDPC for data and polar codes for control channels, getting within 1 dB of Shannon capacity.

Summary

The BER vs. SNR relationship governs every digital communication system:

  1. Eb/N0E_b/N_0 is the universal metric for comparing modulation schemes fairly
  2. Higher-order modulation (more bits/symbol) gives better spectral efficiency but needs proportionally more SNR
  3. The Shannon limit (1.59-1.59 dB Eb/N0E_b/N_0) is the absolute floor below which error-free communication is impossible
  4. Real-world channels (fading, interference, phase noise) require significant margin above theoretical AWGN curves
When in doubt, calculate your link budget, determine the available Eb/N0E_b/N_0, and pick the modulation scheme that gives you at least 3-5 dB of margin above the required BER threshold. The BER vs SNR calculator makes this analysis quick and repeatable.

Related Articles