Coding Gain
Understanding Coding Gain
Without FEC, a BPSK signal needs Eb/No = 10.5 dB to achieve BER = 10−6. With a rate-1/2 turbo code, the same BER is achieved at Eb/No = 1.0 dB. The 9.5 dB difference is the coding gain. In a satellite link budget, this 9.5 dB translates to either 9.5 dB less transmit power (89% power reduction), 9.5 dB more path loss tolerance (3× range extension for free-space), or a combination of both.
Coding gain is not free: the rate-1/2 code doubles the required bandwidth, and the decoder adds latency and power consumption. The system designer trades bandwidth and complexity for SNR performance. In bandwidth-limited channels, higher code rates (3/4, 5/6) provide less gain but preserve spectral efficiency.
Gcoding = (Eb/No)uncoded − (Eb/No)coded at target BER
BPSK uncoded reference:
BER = 10−3: Eb/No = 6.8 dB
BER = 10−6: Eb/No = 10.5 dB
Shannon limit (rate 1/2):
Eb/Nomin = 0.19 dB → max coding gain = 10.3 dB
Modern LDPC at rate 1/2 achieves Eb/No = 0.5 dB at BER=10−6 → coding gain = 10.0 dB.
Coding Gains by FEC Family
| Code | Rate | Eb/No @ BER=10−6 | Coding Gain | Gap to Shannon |
|---|---|---|---|---|
| Uncoded BPSK | 1 | 10.5 dB | 0 dB (reference) | N/A |
| Convolutional (K=7, hard) | 1/2 | 5.5 dB | 5.0 dB | 5.3 dB |
| Convolutional (K=7, soft) | 1/2 | 3.5 dB | 7.0 dB | 3.3 dB |
| Turbo (K=4) | 1/2 | 1.0 dB | 9.5 dB | 0.8 dB |
| LDPC (DVB-S2) | 1/2 | 0.5 dB | 10.0 dB | 0.3 dB |
| Polar (CA-SCL L=8) | 1/2 | 0.7 dB | 9.8 dB | 0.5 dB |
Frequently Asked Questions
How is coding gain calculated?
G = (Eb/No)uncoded − (Eb/No)coded at the same BER. BPSK at BER=10−6: uncoded needs 10.5 dB. Rate-1/2 convolutional (Viterbi soft): 3.5 dB. Gain = 7.0 dB. This means 7 dB less transmit power or 2.2× more range.
What are typical gains for modern codes?
At rate 1/2, BER=10−6: Convolutional 5-7 dB, Turbo 9.5 dB, LDPC 10.0 dB, Polar 9.8 dB. Shannon limit is 10.3 dB. Modern codes are within 0.3-1.0 dB of the theoretical maximum.
Is coding gain free?
No. Costs include: bandwidth expansion (rate 1/2 doubles BW), decoder latency (μs to ms), silicon complexity and power, and error floors at very high Eb/No for some codes (turbo, LDPC).