- •Содержание
- •Глава 1
- •1.1. Основные понятия и определения теории надежности
- •1.2. Модели потоков отказов и сбоев
- •1.3. Функции, характеристики и классификация систем
- •1.4. Алгоритмы контроля асоИиУ
- •Глава 2
- •2.1. Общие сведения о каналах передачи данных
- •2.2. Модели каналов передачи и хранения данных
- •2.3. Коды и кодирование: основные понятия и определения
- •2.4. Принципы помехоустойчивого кодирования
- •2.5. Классификация помехоустойчивых кодов.
- •2.6. Примеры линейных помехоустойчивых кодов
- •2.6.1. Код с контролем нечетности
- •2.6.2. Код Хэмминга
- •2.7. Циклические коды (цк)
- •Глава 3
2.6. Примеры линейных помехоустойчивых кодов
2.6.1. Код с контролем нечетности
Простейшим избыточным кодом, обнаруживающим ошибки и, следовательно, позволяющим удостовериться, что полученные из канала данные не искажены ошибкой и их можно использовать, является код с контролем нечетности. Он образуется добавлением к группе информационных разрядов m одного проверочного (контрольного) разряда .
При формировании кодового слова Ак в его контрольный разряд заносится символ 0 или 1 таким образом, чтобы сумма единиц в кодовом слове, включая контрольный разряд, стала нечетной. Следовательно, значение проверочного разряда определяется из выражения:
=, (2.17)
Общая схема применения кода приведена на рис. 2.5.
Кодер, представляющий собой m-входовый элемент , формирует символ , который в качестве дополнительного (m+1)-го разряда отсылается вместе в канал с информационными. При этом n=(m+1) – разрядное кодовое слово всегда будет содержать нечетное число единиц. Так, если информационное слово нечетное, то функция от такого слова равна 0 (=0), и нулевое значение контрольного разряда не изменяет нечетного числа единиц в кодовом слове. Если же число единиц в информационном слове четное, то контрольный разряд в этом случае будет равен 1, и результирующее число единиц в передаваемом кодовом слове станет нечетным.
Рис.2.5. Схема применения кода с контролем нечетности
На выходе из канала проверяется сохранность приданного кодовому слову признака – его нечетность, для чего определяется
=. (2.18)
Если значение P равно 1, то в передаваемом кодовом слове произошла ошибка, если же P=0 – считают ошибок нет. Столь простой контроль не позволяет исправить ошибку, но он по крайне мере дает возможность при обнаружении ошибки исключить из дальнейшей обработки искаженные слова и затребовать, например, повторную передачу.
Код с контролем нечетности позволяет обнаруживать все нечетные ошибки, но не обнаруживает ошибки четной кратности. Пропуск четных ошибок – это следствие малых значений избыточности и минимального кодового расстояния, равных согласно (2.6) и (2.9) соответственно:
Dmin=2.
При взаимной независимости появления ошибок, наиболее вероятными являются одинарные ошибки. Действительно, при вероятности появления одиночной ошибки, раной p, вероятность появления двойных ошибок – , тройных – , и т.д. Поскольку обычно , необнаруженные кодом с проверкой нечетности двойные ошибки встречаются значительно реже, чем обнаруженные одиночные.
Контроль по нечетности – самый привлекательный метод контроля с точки зрения минимума потребных для его реализации дополнительных аппаратных затрат и поэтому имеет широкое применение. Практически любой канал передачи или хранения данных, если он не имеет какого-либо более мощного метода контроля, защищен контролем по нечетности.
Наряду с кодом с контролем нечетности для обнаружения ошибок может быть применен код с контролем четности. Его отличие от кода с контролем нечетности состоит в том, что значение проверочного символа находится из выражения:
и, следовательно, (m+1) разрядные кодовые слова, посылаемые в канал, всегда четные. Однако при этом случае информационное слово «все нули» будет иметь контрольный разряд, равный нулю (=0) и в канал будет отправлено кодовое слово из сплошных нулей. На выходе из канала связи такое слово будет неотличимо от весьма опасной неисправности – полного пропадания связи. Поэтому для контроля достоверности передачи данных предпочтение должно быть отдано коду с контролем нечетности (для которого в перечне разрешенных кодовых комбинаций комбинация «все нули» отсутствует). Что касается контроля достоверности хранения данных возможности этих двух кодов эквивалентны и выбор кода является делом вкуса.