logo
Сборная ответов к госэкзаменам

Линейные коды

Линейными называются такие двоичные коды, в которых множество всех разрешенных блоков является линейным пространством относительно операции поразрядного сложения по модулю 2.

Если записать k линейно-независимых блоков длины n в виде k строк, то получится матрица размером n k, которую называют порождающей или производящей матрицей кода G.

Множество линейных комбинаций образует линейное пространство, содержащее 2k блоков, т.е. линейный код, содержащий 2k блоков длиной n, обозначают (n, k). При заданных n и k существует много различных (n, k)-кодов с различными кодовыми расстояниями d, определяемых различными порождающими матрицами. Все они имеют избыточность k=1-k/n или относительную скорость Rk=k/n.

Чаще всего применяют систематические линейные коды, которые строят следующим образом. Сначала строится простой код длиной k, т.е. множество всех k-последовательностей двоичных символов, называемых информационными. Затем к каждой из этих последовательностей приписывается r = n - k проверочных символов, которые получаются в результате некоторых линейных операций над информационными символами.

Простейший систематический код (n, n - 1) строится добавлением к комбинации из n - 1 информационных символов одного проверочного, равного сумме всех информационных символов по модулю 2. Такой код (n, n - 1) имеет d=2 и позволяет обнаружить одиночные ошибки и называется кодом с одной проверкой на четность.

Преимуществом линейных, в частности систематических, кодов является то, что в кодере и декодере не нужно хранить большие таблицы всех кодовых комбинаций, а при декодировании не нужно производить большое количество сравнений.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4