Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры защита инф.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.47 Mб
Скачать
  1. Код простой четности.

Простейший избыточный код основан на контроле четности (либо нечетности) единичных символов в сообщении. Количество избыточных символов r всегда равно 1 и не зависит от k. Значение этого символа будет нулевым, если сумма всех символов кодового слова по модулю 2 равна нулю.

Назначение Xr в данном алгоритме – обнаружение ошибки. Код простой четности позволяет обнаруживать все нечетные ошибки (нечетное число ошибок), но не позволяет их исправить. Нетрудно убедиться, что данный код характеризуется минимальным кодовым расстоянием, равным 2.

Пример 3.5. Пусть информационная последовательность будет Xk = 10101, тогда .

Проверочная матрица для данного случая будет состоять из одной строки и шести столбцов и примет следующий вид:

Н = 11111 1.

Кодовое слово Xn, вычисленное в соответствии с (3.4), будет равно 10101 1. Как видим, w(Xn) имеет четное значение.

Слово Xn будет передаваться от ИС к ПС. Пусть на приемной стороне имеем Yn = 11101 1: Yk = 11101 и Yr = 1 (ошибочный символ подчеркнут).

Для определения синдрома ошибки в соответствии с (3.5) достаточно выполнить следующие простые действия:

а) вычислить дополнительное слово (в данном случае – символ) Y ΄r, которое является сверткой по модулю 2 слова Yk: Y ΄r =  ;

б) найти синдром . Неравенство синдрома нулю означает, что получено сообщение с ошибкой (или с ошибками).

  1. Код Хэмминга с минимальным кодовым расстоянием dmin=4.

Этот код характеризуется минимальным кодовым расстоянием, равным 4, и позволяет обнаруживать две ошибки и исправлять одну.

Алгоритм использования кода такой же, как и для dmin = 3. Принципиальное отличие состоит в виде проверочной матрицы, которая при неизменной длине информационного слова имеет одну дополнительную строку и один дополнительный столбец (в подматрице I):

(3.14)

Запись матрицы в таком виде не считается канонической, т.к. подматрица I не является единичной диагональной матрицей. Для преобразования такой записи к каноническому виду воспользуемся свойствами линейного кода: в дополнительную строку необходимо записать сумму по модулю 2 соответствующих символов матрицы кода с dmin = 3.

Пример 3.7. Пусть k = 6 для случая dmin = 3 и r = log2k + 1 = 4, n = 10.

При этих параметрах матрица H10,6 может иметь следующий вид:

Стоит задача преобразования такой матрицы для случая dmin = 4. Дополним ее строкой, состоящей из единиц, и одним дополнительным столбцом:

Н11,6  = .

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

Н11,6  = .

В общем случае любая проверочная матрица кода Хемминга с dmin = 4 имеет нечетный вес столбцов, т. е. вес любого из столбцом подматрицы А` может быть равен 3, 5, 7, … .

Как и в предыдущем случае (при dmin = 3), равенство нулю синдрома означает отсутствие ошибок. Если же синдром не равен нулю и имеет нечетный вес, то это говорит о том, что произошла одиночная ошибка. Если же синдром не равен нулю и его вес четный, то произошла двойная ошибка, так как вес суммы любых двух столбцов всегда четный (см. (3.12)).