Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дрейзин В.Э., Кочура А.В. - Управление качество...doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
3.62 Mб
Скачать

8.3. Следящий самоконтроль, базирующийся на использовании корректирующих кодов

8.3.1. Классификация и теоретические основы построения корректирующих кодов

Использование корректирующих кодов, то есть избыточных кодов, обнаруживающих или исправляющих ошибки, является одним из перспективных направлений повышения надёжности функционирования цифровых электронных средств путём следящего самоконтроля. В корректирующих кодах лишь некоторая часть возможных кодовых комбинаций используется для отображения обрабатываемой или передаваемой информации. Остальные же комбинации являются запрещёнными, и их появление свидетельствует о наличии ошибки. Корректирующие коды разделяются на равномерные и неравномерные. В равномерных кодах все кодовые комбинации содержат одинаковое количество разрядов. В неравномерных кодах количество разрядов может быть различным. В электронных средствах с параллельным способом обработки и передачи информации по внутренним шинам применяются равномерные коды.

Корректирующие коды могут быть блочными и непрерывными. В блочных кодах информационные и контрольные (избыточные) разряды сгруппированы в отдельные блоки. В непрерывных кодах контрольные разряды могут перемежаться с информационными.

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

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

Абсолютная избыточность кода определяется количеством контрольных (избыточных) разрядов в кодовых словах

, (8.1)

где k – количество контрольных разрядов;

n – общая длина кодового слова;

n0 – количество информационных разрядов в кодовом слове.

Относительная избыточность кода определяется как , т.е. отношением числа избыточных разрядов к информационным, а для несистематических кодов .

Корректирующая способность кода определяется вероятностью обнаружения или исправления в кодовых словах ошибок определённых типов и кратностей.

Корректирующая способность кода зависит от минимального кодового расстояния, обеспечиваемого данным кодом.

Кодовым расстоянием d между двумя любыми словами равномерного кода называется число разрядов, в которых символы не совпадают. Для двоичных кодовых слов для получения кодовых расстояний между любой их парой достаточно их поразрядно сложить по модулю два. Число единиц в полученной сумме и будет определять кодовое расстояние между этими словами.

Минимальным кодовым расстоянием dmin данного кода называется минимальное кодовое расстояние между двумя любыми разрешёнными кодовыми словами этого кода.

Все безызбыточные коды обладают dmin = 1. Однако могут существовать и избыточные коды с минимальным кодовым расстоянием равным единице. Например, двоично-десятичный код является избыточным, так как не все его кодовые комбинации являются разрешёнными (кодовые комбинации, являющиеся двоичными эквивалентами десятичных чисел с 10 до 15 являются запрещёнными). Однако среди разрешённых кодовых комбинаций имеются пары с кодовыми расстояниями равными единице. Поэтому данный код в целом имеет dmin= 1.

Чтобы корректирующий код позволял обнаруживать в кодовых словах ошибку кратностью t его минимальное кодовое расстояние должно быть равным

dmin t+1 . (8.2)

Кратностью ошибки в кодовом слове называется число разрядов, в которых произошла ошибка.

Если же требуется не только обнаружить, но и исправить ошибку кратности t, то корректирующий код должен обладать минимальным кодовым расстоянием

dmin  2t +1 . (8.3)

При этом неважно, в каких разрядах произошла ошибка – в информационных или в контрольных.

Простейшим корректирующим кодом является код с проверкой на чётность. Он имеет dmin = 2, а следовательно, позволяет обнаруживать однократные ошибки. Для его получения к m-разрядным словам безызбыточного кода добавляется один контрольный разряд, в котором ставится нуль, если число единиц во всех m информационных разрядов было чётным, и единица – если число единиц в информационных разрядах – нечётно. В этом случае проверка правильности кодовой комбинации заключается в проверке чётности числа единиц во всех разрядах кодового слова, включая и контрольный. Эту проверку легко осуществить свёрткой кодового слова по модулю 2. Если число единиц чётно, мы получаем нуль, если нечётно – единицу, что и сигнализирует о наличии ошибки. Однако в каком разряде произошла ошибка, мы не знаем, а, следовательно, и исправить её мы не можем. Поэтому код с проверкой на чётность может только обнаруживать ошибки. При этом очевидно, что он может обнаруживать не только однократные ошибки, но и ошибки любой нечётной кратности (t = 1, 3, 5, …). Ошибки же чётной кратности им не обнаруживаются.

Поскольку код с проверкой на чётность имеет небольшую избыточность (один контрольный разряд) и при кодировании (определении значения контрольного разряда) и декодировании (проверка на чётность) не требует больших затрат оборудования и времени, то его весьма широко применяют в цифровых электронных средствах для передачи информации между регистрами, считывания информации из оперативной памяти и ПЗУ, при обмене информацией между отдельными устройствами ЭВМ.