Triangular network coding


In coding theory, triangular network coding is a network coding based packet coding scheme introduced by.
Previously, packet coding for network coding was done using linear network coding. The drawback of LNC over large finite field is that it resulted in high encoding and decoding computational complexity. While linear encoding and decoding over GF alleviates the concern of high computational complexity, coding over GF comes at the tradeoff cost of degrading throughput performance.
Triangular network coding therefore essentially addresses the high encoding and decoding computational complexity without degrading the throughput performance, with code rate comparable to that of linear network coding.

Coding and decoding

In TNC, coding is performed in two stages. First redundant "0" bits are selectively added at the head and tail of each packet such that all packets are of uniform bit length. Then the packets are XOR coded, bit-by-bit. The "0" bits are added in such a way that these redundant "0" bits added to each packet generate a triangular pattern.
In essence, the TNC decoding process, like the LNC decoding process involves Gaussian elimination. However, since the packets in TNC have been coded in such a manner that the resulting coded packets are in triangular pattern, the computational process of triangularization, with complexity of, where is the number of packets, can be bypassed. The receiver now only needs to perform back-substitution, with complexity given as for each bit location.