logo
учебное пособие по А и ЛО ВТ

Обнаружение и исправление одиночных ошибок путем использования дополнительных разрядов

Рассмотрим возможность использования дополнительных (контрольных) разрядов для обнаружения и исправления ошибок. Эта возможность заключается в том, что к n информационным разрядам добавляется один контрольный разряд. В него записывается 0 или 1 таким образом, чтобы для каждого из передаваемых чисел сумма разрядов по модулю 2 была бы равна 0 (кодирование по методу четности) или 1 (нечетности).Появление ошибки в числе обнаружится по нарушению четности или нечетности. При этом виде кодирования допускается возможность выявления только одиночной ошибки. Чтобы одна комбинация разрядов числа превратилась в другую без выявления ошибки, необходимо изменение четного (2, 4, 6 и так далее) числа разрядов одновременно. Пример реализации метода контроля по методу четности-нечетности приведен ниже в табл. 5.

Рассмотренный способ контроля по методу четности-нечетности может быть видоизменен для локализации (выявления места) ошибки в числе. Длинное число разбивается на группы разрядов, каждая из которых содержит k разрядов.

Таблица 5.

Число

Контрольный разряд

Проверка (нечетности)

11011011

1

0

01101101

1

1-ошибка

11010101

0

0

10101001

1

0

01010111

0

0

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

a1

a2

a3

A4

a5

k1

a6

a7

a8

a9

a10

k2

a11

a12

a13

a14

a15

k3

a16

a17

a18

a19

a20

k4

a21

a22

a23

a24

a25

k5

k6

k7

k8

k9

k10

Если ошибка произошла в разряде as (единица изменилась на ноль или наоборот), то при проверке на четность (нечетность) сумма по i-й строке и j-му столбцу (на пересечении которых находится элемент as) изменится. Следовательно, можно зафиксировать нарушение четности (нечетности) по этой строке и столбцу. Это не только позволит обнаружить ошибку, но и локализовать ее место. Изменив значение разряда as на противоположное можно исправить возникшую ошибку.

Контроль по методу четности-нечетности используется для контроля записи и считывания информации, а также для выполнения арифметических операций.

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