Coding gain

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In coding theory and related engineering problems, coding gain is the measure in the difference between the signal-to-noise ratio (SNR) levels between the uncoded system and coded system required to reach the same bit error rate (BER) levels when used with the error correcting code (ECC).

Example[edit]

If the uncoded BPSK system in AWGN environment has a bit error rate (BER) of 10−2 at the SNR level 4 dB, and the corresponding coded (e.g., BCH) system has the same BER at an SNR of 2.5 dB, then we say the coding gain = 4 dB − 2.5 dB = 1.5 dB, due to the code used (in this case BCH).

Power-limited regime[edit]

In the power-limited regime (where the nominal spectral efficiency \rho \le 2 [b/2D or b/s/Hz], i.e. the domain of binary signaling), the effective coding gain \gamma_\mathrm{eff}(A) of a signal set A at a given target error probability per bit P_b(E) is defined as the difference in dB between the E_b/N_0 required to achieve the target P_b(E) with A and the E_b/N_0 required to achieve the target P_b(E) with 2-PAM or (2×2)-QAM (i.e. no coding). The nominal coding gain \gamma_c(A) is defined as

\gamma_c(A) = \frac{d^2_{\min}(A)}{4E_b}.

This definition is normalized so that \gamma_c(A) = 1 for 2-PAM or (2×2)-QAM. If the average number of nearest neighbors per transmitted bit K_b(A) is equal to one, the effective coding gain \gamma_\mathrm{eff}(A) is approximately equal to the nominal coding gain \gamma_c(A). However, if K_b(A)>1, the effective coding gain \gamma_\mathrm{eff}(A) is less than the nominal coding gain \gamma_c(A) by an amount which depends on the steepness of the P_b(E) vs. E_b/N_0 curve at the target P_b(E). This curve can be plotted using the union bound estimate (UBE)

P_b(E) \approx K_b(A)Q\sqrt{\frac{2\gamma_c(A)E_b}{N_0}},

where Q is the Gaussian probability-of-error function.

For the special case of a binary linear block code C with parameters (n,k,d), the nominal spectral efficiency is \rho = 2k/n and the nominal coding gain is kd/n.

Example[edit]

The table below lists the nominal spectral efficiency, nominal coding gain and effective coding gain at P_b(E) \approx 10^{-5} for Reed–Muller codes of length n \le 64:

Code \rho \gamma_c \gamma_c (dB) K_b \gamma_\mathrm{eff} (dB)
[8,7,2] 1.75 7/4 2.43 4 2.0
[8,4,4] 1.0 2 3.01 4 2.6
[16,15,2] 1.88 15/8 2.73 8 2.1
[16,11,4] 1.38 11/4 4.39 13 3.7
[16,5,8] 0.63 5/2 3.98 6 3.5
[32,31,2] 1.94 31/16 2.87 16 2.1
[32,26,4] 1.63 13/4 5.12 48 4.0
[32,16,8] 1.00 4 6.02 39 4.9
[32,6,16] 0.37 3 4.77 10 4.2
[64,63,2] 1.97 63/32 2.94 32 1.9
[64,57,4] 1.78 57/16 5.52 183 4.0
[64,42,8] 1.31 21/4 7.20 266 5.6
[64,22,16] 0.69 11/2 7.40 118 6.0
[64,7,32] 0.22 7/2 5.44 18 4.6

Bandwidth-limited regime[edit]

In the bandwidth-limited regime (\rho > 2b/2D, i.e. the domain of non-binary signaling), the effective coding gain \gamma_\mathrm{eff}(A) of a signal set A at a given target error rate P_s(E) is defined as the difference in dB between the SNR_\mathrm{norm} required to achieve the target P_s(E) with A and the SNR_\mathrm{norm} required to achieve the target P_s(E) with M-PAM or (M×M)-QAM (i.e. no coding). The nominal coding gain \gamma_c(A) is defined as

\gamma_c(A) = {(2^\rho - 1)d^2_{\min} (A) \over 6E_s}.

This definition is normalized so that \gamma_c(A) = 1 for M-PAM or (M×M)-QAM. The UBE becomes

P_s(E) \approx K_s(A)Q\sqrt{3\gamma_c(A)SNR_\mathrm{norm}},

where K_s(A) is the average number of nearest neighbors per two dimensions.

See also[edit]

References[edit]

MIT OpenCourseWare, 6.451 Principles of Digital Communication II, Lecture Notes sections 5.3, 5.5, 6.3, 6.4