The concatenation of different codes targets the
improvement of performance via careful code selection.
The concatenation of code A and B is in fact meaningful
only when A + B performs better than both A and B.
This means that the coupled codes must be in some way complementary, each one overcoming the shortcomings of The other. Outer codes (OCs) are often chosen among
those with guaranteed performance, like Reed-Solomon
(RS) [20] or Bose-Chaudhuri-Hocquenghem (BCH) [21]
codes, thanks to their theoretically predictable error
correction capabilities. They are associated with powerful
inner codes (ICs) such as convolutional or LDPC codes,