An error correcting code expands data blocks of size P to larger blocks of size Q. The sequence of N such blocks stacked on top of each other can be visualized as an N by Q matrix.
Transpose the matrix then serialize the data by rows. (Equivalently, read the original matrix by columns.) This is known as interleaving. Interleaving causes bursty errors to be spread out among many blocks (which are then likely recoverable), instead of unrecoverably affecting a single block.
Transposition of a very large message can be done using a cache-oblivious algorithm.
No comments :
Post a Comment