Generator Matrix

Generator Matrix is a canonical form in which its row \(k\) are linearly independent. In other words, it is not possible to express any row of the matrix as a linear combination of the remaining rows. It is defined as below:

$$ G = [P|I_k] $$

Where:

To get the codewords from the equation, we need to first calculate out the total amount of possible messages using \(b^k\) where \(b\) is the base used for encoding. Then, fill out all the codewords based on \(I_k\) that aligned to the messages pattern, and we will get the codeword in the form \(P_i I_i\) where \(i\) is the row in \(G\). To find out others, we utilise the bit-wise XOR on \(P\) to get the desire message \(m_i\) based on \(I_i\), where the result is still in the form of \(P_i I_i\). Note that \(m_i\) and \(I_i\) should have same bit pattern. From here, we can calculate the Hamming Weight#.

Note: Message with all zeros always encoded as all zeros as well in the codewords.

In Cyclic Code world, a Generator Matrix can be constructed using the following formula from #Generator Polynomial:

$$ G = g(D), Dg(D), \ldots, D^{k-1} g(D) $$

Where:

  • each of them represents a row, from first to \(k-1\)
Links to this page
#math