Expand description
Extrinsic information transfer (EXIT) charts of convolutional constituent codes (ten Brink 2001): the mutual information between the bits and their LLRs, the transfer curve $I_{E} = T(I_{A})$ of a BCJR decoder fed with Gaussian a priori LLRs, and the pinch-off $E_{b}/N_{0}$ of a parallel concatenation, below which the decoding tunnel between the two curves closes.
The a priori LLRs are modelled as $A = \mu_{A} x + n_{A}$ with $x = \pm 1$,
$n_{A} \sim \mathcal{N}(0, \sigma_{A}^{2})$ and $\mu_{A} = \sigma_{A}^{2}/2$ (eqs. (9)–(11));
their mutual information with the bits is $J(\sigma_{A})$ (eq. (14)),
$$J(\sigma) = 1 - \int \frac{e^{-(\xi - \sigma^{2}/2)^{2}/(2\sigma^{2})}}{\sqrt{2\pi\sigma^{2}}}\log_{2}(1 + e^{-\xi}),d\xi$$
(j_function, Gauss–Hermite with 64 nodes; j_inverse by bisection). The
extrinsic LLRs of the decoder are $E = D - A - Z$ (eq. (19)), $D$ the a posteriori,
$Z$ the channel LLRs of the systematic bits; their mutual information is estimated by
the time average $1 - \frac1N\sum_{k}\log_{2}(1 + e^{-x_{k}E_{k}})$
(llr_mutual_information), exact in the mean for consistent LLRs (the paper uses
histograms of $E$). ExitCurve::measure simulates a recursive systematic code on the
BPSK AWGN channel with its parity punctured by a period, and pinch_off_db
bisects the $E_{b}/N_{0}$ at which $T_{2}(T_{1}(I)) > I$ stops holding on
$[0, I_{\max}]$, the curves measured on common random numbers.
§Examples
use comnum_fec::exit::{j_function, j_inverse};
// J(0) = 0, J grows to 1; J and its inverse agree
assert!(j_function(0.0).abs() < 1e-12 && j_function(20.0) > 0.999_99);
assert!((j_inverse(j_function(1.7)) - 1.7).abs() < 1e-9);§References
- S. ten Brink, “Convergence behavior of iteratively decoded parallel concatenated codes,” IEEE Trans. Commun. 49(10), 1727–1737, 2001: eqs. (9)–(19), Tables II, IV.
Structs§
- Exit
Curve - The transfer curve of a constituent decoder on a grid of a priori informations.
Functions§
- j_
function - $J(\sigma)$, the mutual information between a bit and a consistent Gaussian LLR of standard deviation $\sigma$ and mean $\sigma^{2}/2$ (ten Brink 2001, eq. (14)).
- j_
inverse - The inverse of
j_functionon $[0, 1)$, by bisection of $\sigma$ on $[0, 60]$. - llr_
mutual_ information - The mutual information between the bits
bits(0 or 1) and their LLRsllr(positive for 0), by the time average $1 - \frac1N\sum\log_{2}(1 + e^{-x_{k}L_{k}})$, $x_{k} = 1 - 2b_{k}$. - pinch_
off_ db - The pinch-off $E_{b}/N_{0}$ (dB) of the parallel concatenation of
firstandsecond(raterate, parities punctured byparity_period): the bisection,stepssteps on $[$lo$,$hi$]$, of the $E_{b}/N_{0}$ at which the passes reach $I$ =end(no intersection of the curves before the end of the chart; the curve of a code of small memory reaches 1 only at $I_{A} = 1$, soendstays below 1: 0.97), every curve measured withExitCurve::measureonn_bitsbits and the sameseed, on the grid $I_{A} = 0, 0.02, \dots, 0.98$ and 0.995.