Самым простым линейным блочным кодом является (n,n-1)-код, построенный с помощью одной общей проверки на четность. Например, кодовое слово (4,3)-кода можно записать в виде вектора-столбца:
где mi - символы информационной последовательности, принимающие значения 0 и 1, а суммирование производится по модулю 2 ( mod2 ).
Поясним основную идею проверки на четность.
Пусть информационная последовательность источника имеет вид
m = ( 1 0 1 ). (1.2)
Тогда соответствующая ей кодовая последовательность будет выглядеть следующим образом :
U = ( U0, U1, U2, U3
) = ( 1 0 1 0 ), (1.3)
где проверочный символ U3
формируется путем суммирования по mod2 символов информационной последовательности m :
U3 = m0 + m1 + m2 . (1.4)
Нетрудно заметить, что если число единиц в последовательности m четно, то результатом суммирования будет 0, если нечетно — 1, то есть проверочный символ дополняет кодовую последовательность таким образом, чтобы количество единиц в ней было четным.
При передаче по каналам связи в принятой последовательности возможно появление ошибок, то есть символы принятой последовательности могут отличаться от соответствующих символов переданной кодовой последовательности (нуль переходит в единицу, а 1 ? в 0).
Если ошибки в символах имеют одинаковую вероятность и независимы, то вероятность того, что в n-позиционном коде произойдет только одна ошибка, составит
P1 = n× Pош × (1- Pош)n-1 (1.5)
(то есть в одном бите ошибка есть, а во всех остальных n - 1 битах ошибки нет).
Вероятность того, что произойдет две ошибки, определяется уже числом возможных сочетаний ошибок по две (в двух произвольных битах ошибка есть, а во всех остальных n - 2 битах ошибки нет):