According to the Wikipedia entry, a systematic code is one

in which the input data is embedded in the encoded output. Conversely, in a non-systematic code the output does not contain the input symbols.

Further down on the same page, it says:

For a systematic linear code, the generator matrix, $G$, can always be written as $G = [ I_k | P ]$ where $I_k$ is the identity matrix of size $k$.

Consider a systematic code with 4 data symbols ($D_i$) and 2 parity symbols ($P_i$):

$(D_0 D_1 D_2 D_3 \boldsymbol{P_0} \boldsymbol{P_1})$

If we re-order the output symbols such that the parity symbols are interleaved with the data symbols, we get an equivalent code, for example:

$(D_0 D_1 \boldsymbol{P_0} D_2 D_3 \boldsymbol{P_1})$

Would that code still be considered systematic? Clearly, the output does contain the input symbols, but I think the generator matrix could not be written as $G = [ I_k | P ]$.

  • 2
    $\begingroup$ It's up to you. We usually don't care too much about the order of bits, so you can call it systematic, but you'll have to change the definition accordingly. You could say it's systematic up to the order of bits. $\endgroup$ Oct 28, 2019 at 12:31


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.