Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ КОЛОДЕЖ ЮВ Электротехника и электроника.doc
Скачиваний:
149
Добавлен:
11.11.2019
Размер:
4.86 Mб
Скачать

Методы обнаружения ошибок

Существует два метода обнаружения ошибки в принятой информации:

  • Проверка на чётность/нечетность;

  • Метод полиномиальных кодов

Проверка на четность/нечетность

Это самый простой способ обнаружить ошибку в принятой информации. Он имеет низкую надёжность, поэтому используется при передачи очень коротких сообщений, например, символа (8 бит). Перед передачей передающая станция определяет четное или нечетное число единиц, и добавляет к сообщению специальный бит четности/нечетности. Это может быть «1» или «0» (как оговорено в используемом протоколе) Приёмная станция также подсчитывает количество единиц, если четность/нечетность совпала, делается вывод об отсутствии ошибки. Понятно, что при четном количестве ошибок в сообщении, они не обнаруживаются. Отсюда, малая надёжность метода.

Для обнаружения ошибки в пакете этот метод не используется.

Метод полиномиальных кодов

Метод использует известное свойство двоичных чисел: сумма любого числа по модулю «2» с самим собой равна нулю.

При делении двоичного числа М на другое двоичное число G, может получиться остаток R. Тогда по свойству двоичных чисел

Число М передаваемая информация (кадр)

Число G называется порождающим полиномом.

Остаток R называется КПК (Комбинацией Проверки Кадра)

К числу М – содержимому всего кадра присоединяется набор нулей, число которых равно числу цифр в вырабатываемой КПК (то есть М умножается на 2n , где n – разрядность КПК). Порождающий полином должен содержать на один разряд больше, чем у КПК.

Операция деления М на G равносильна операции «исключающего ИЛИ», выполняемой одновременно над парами битов по мере обработки каждого бита делимого: деление может быть осуществлено с каждым частным остатком при условии, что оба числа имеют одинаковую длину, то есть оба старших бита равны единице. Относительное значение обоих чисел не учитывается.

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

Содержимое кадра 11100110

Порождающий полином 11001

С добавленными нулями 111001100000

Порождающий полином 11001, пятиразрядный, поэтому к содержимому кадра добавлено четыре нуля.

В результате деления 111001100000 на 11001 получается остаток 0110, это и будет КПК.

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

Международный консультативный комитет по телеграфии и телефонии (МККТТ) предложил для применения в коммутируемых телефонных сетях 17-рязрядный порождающий полином: 10001000000100001. Следовательно, к сообщению должны быть присоединены 16 нулей.

Этот метод является основным методом, применяемым для обнаружения ошибок. После того как ошибка обнаружена на принимаемой станции, передающая станция не получит от приёмной подтверждение (специальный кадр, называемый АСК, от acknowledgement (агл) - подтверждение), что переданный кадр не имеет ошибки. Не получив АСК, передающая станция будет повторно его передавать до тех пор, пока не получит на посланный информационный кадр, кадр АСК. Это общая технология получения информации без ошибок. Существует несколько протоколов, реализующих это. Из них самый прогрессивный, позволяющий исключить время ожидания кадра АСК, то есть увеличить трафик, получил название «Непрерывная передача – Запрос». Однако, этот протокол требует большой буферной памяти, где должны храниться все кадры ещё не получившие АСК.