Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Varianty / SETI1.DOC
Скачиваний:
181
Добавлен:
09.04.2015
Размер:
859.14 Кб
Скачать
    1. Самосинхронизирующиеся коды

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

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

Большинство технологий локальных сетей используют именно самосинхронизирующие коды: в Ethernetприменяется манчестерский код, вTokenRing– вариант дифференциального манчестерского кода

  1. Контроль передачи информации и сжатие данных

    1. Самовосстанавливающиеся коды

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

Пусть используется n-разрядный двоичный код. Ошибка при приеме кодовой комбинации состоит в том, что (под влиянием помехи) либо переданный нуль был принят, как единица, либо единица была принята, как нуль. Если в кодовой комбинации ошибка присутствует только в одном разряде, то такую ошибку будем называть одиночной, если в двух разрядах – двойной и т.д.

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

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

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

    1. Систематические коды

Другой подход к построению кодов – разделение разрядов кода на информационные и контрольные. Такие коды называются систематическими. Пусть всего в коде nразрядов, из нихk– информационных иr– контрольных разрядов (n=k+r). Такой код может передаватьN= 2kразличных сообщений. Изrконтрольных разрядов можно организовать 2rразличных комбинаций. Для обнаружения и исправления одиночной ошибки нужно, во-первых, указать наличие/отсутствие ошибки и, во-вторых, указать номер разряда, в котором произошла ошибка.

Таким образом, чтобы в контрольных разрядах можно было передавать информацию для исправления одиночных ошибок, их количество должно удовлетворять неравенству 2r≥n+1 или 2n/(n+1) ≥N. Если достигается равенство: 2n/(n+1) =N, то количество контрольных разрядов, приходящихся на один информационный, будет наименьшим. Например, дляN=4 различных сообщений (k=2) наименьшее значениеnравно пяти (24/(4+1) = 3,2 < 4, а 25/6 ≈ 5,3 > 4). Значит, количество контрольных разрядов, необходимое для обнаружения и исправления одиночных ошибокr=n-k= 5-2 = 3.

Соседние файлы в папке Varianty