Coding gain

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found. Lua error in package.lua at line 80: module 'strict' not found.

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

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

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

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

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

References

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