# Coding gain

Jump to navigation Jump to 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

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 \leq 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_{\min }^{2}(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\left({\sqrt {\frac {2\gamma _{c}(A)E_{b}}{N_{0}}}}\right),$ 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\leq 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 >2~b/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_{\min }^{2}(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.