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_{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) = {d^2_{min}(A) \over 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_{eff}(A) is approximately equal to the nominal coding gain \gamma_c(A). However, if K_b(A)>1, the effective coding gain \gamma_{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(2\gamma_c(A)E_b/N_0),

where Q(\cdot) denotes 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_{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_{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_{norm} required to achieve the target P_s(E) with A and the SNR_{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_{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