Корректирующие коды, обнаруживающие ошибки Код с проверкой на чётность
Этот код является простейшим разделимым систематическим циклическим линейным кодом длины n, с k=n–1 информационными и r=1 проверочным символами. Обозначается как (n,n–1)-код. Его комбинации обладают свойством цикличности, поэтому код является циклическим.
Процедура построения: строится первичный (обычный двоичный) код длины k, затем с правой стороны приписывается один проверочный символ. Значение проверочного символа выводится из условия: общее число единиц в коде четное
![]()
В рамках теории линейных зависимостей (ТЛ3) проверочный символ находится как сумма по модулю два всех информационных символов:
полученная
комбинация имеет вид
.
При таком способе нахождения b1 число единиц в любой кодовой комбинации кода всегда четно. Код имеет d=2 и применяется для обнаружения ошибки.
Корректирующая способность кода: код обнаруживает ошибки любой нечетной кратности в пределах n.
Процедура обнаружения
состоит в проверке на четность всей
принятой комбинации
.
Результат этой проверки характеризуется
одним символом синдрома S:
S=S1
,
где ai* - значения i-ых информационных символов и b1* - значения проверочного символа в принятой кодовой комбинации. Считается, что если S1=0, то комбинация принята без ошибок (ошибки нет или есть ошибки четной кратности), если S1=1, то комбинация принята с ошибками.
Относительная скорость передачи q=k/n.
Избыточность кода χ=1/k.
Вероятность появления ошибочной комбинации на выходе устройства обнаружения ошибок при одноразовой передаче комбинации по двоичному симметричному каналу (ДСК) определяется вероятностью необнаружения ошибок Pн и равна вероятности появления ошибок нечетной кратности, и определяется по формуле:
,
где р – вероятность искажения одного символа, q=1–p вероятность правильного приема одного символа.
Код с повторением без инверсии
Код с повторением
без инверсии является систематическим
разделимым линейным циклическим
(n,k)-кодом,
содержащим
информационных и r=k
проверочных символов (при одном
повторении). Длина кода n=k+r.
Особенность кода состоит в том, что в
нем проверочные символы являются просто
повторенными информационными символами,
т.е. в рамках ТЛ3 bj=aj
(j=1÷k).
Код имеет
и применяется для обнаружения ошибки.
Процедура построения. Строится первичный (обычный двоичный) код длины k. Затем с правой стороны приписываются проверочные символы, число которых равно r и которые являются повторением информационных символов, r=k.
a1, a2.,…, an – информационные символы,
b1, b2,…, br – проверочные символы.
Vi=(a1, a2, …, ak, b1, b2,…,br – комбинация корректирующего кода.
Корректирующая способность кода: код позволяет обнаруживать ошибки любой кратности за исключением случаев, когда искажается один информационный символ и соответствующий ему проверочный (a1 и b1, a2 и b2, a3 и b3), два информационных символа и соответствующие им проверочные (a1a2 и b1b2, a1a3 и b1b3, a2b3 и b2b3) и т.д.
Процедура обнаружения состоит в сравнении соответствующих символов информационный и проверочный части и формирование синдрома ошибки S=(Sr, Sr-1, ,Si, , S1), где Si=1, если соответствующие информационный и проверочный символы не совпадают, и Si=0, если совпадают. Значение Si находится как результат сложения по модулю 2 i-ых информационного и проверочного символов:
,
где ai*, bi* - значение i-ых информационных и проверочных символов в принятой кодовой комбинации.
Синдром представляет собой двоичный код длины r (k). Число синдромов − 2r. Если в комбинации все нули, то ошибки или не было или она не обнаруживается. Если синдромом является ненулевая комбинация, то ошибка есть и она обнаруживается.
Формирование
синдрома ошибки рассмотрим на следующих
примерах: передавалась комбинация
11011101. В процессе передачи искажен первый
символ, вектор ошибки
=100000.
Принята комбинация 01011101. Находим
синдром
ошибки
S=(S4,
S3,
S2,
S1):

Откуда S=0001. Синдром не нулевой. Ошибка есть и она обнаружена.
Передавалась комбинация 11101110. В процессе передачи искажены первый информационный и первый проверочный символы. Вектор ошибки 100100. Принята комбинация 01100110. Находим синдром ошибки S=(S4, S3, S2, S1):

Откуда S =0000. Ошибка есть, но она не обнаружена.
Вероятность появления ошибочной комбинации на выходе устройства обнаружения ошибок при одноразовой передаче комбинации по двоичному симметричному каналу (ДСК), определяется вероятностью необнаружения ошибок, равна вероятности искажения определенных информационных символов и соответствующих им проверочных символов и определяется по формуле:
,
где р – вероятность искажения одного символа, q=1-p – вероятность правильного приема одного символа.
