- •Основные характеристики
- •Аннотация
- •[Править] Канальный уровень
- •[Править] Разбиение на кадры
- •[Править] Контроль ошибок
- •[Править] Управление потоком
- •[Править] Помехоустойчивое кодирование [править] Характеристики ошибок
- •[Править] * Элементы теории передачи информации
- •[Править] Метод «чётности» и общая идея
- •[Править] Циклические коды
- •[Править] * Теоретический предел
- •[Править] Коды Хемминга
- •[Править] Анализ эффективности
- •[Править] Коды как линейные операторы
- •[Править] *Коды Рида-Соломона
- •[Править] Примеры протоколов канала данных [править] hdlc протокол
[Править] Метод «чётности» и общая идея
Простым примером кода с обнаружением одной ошибки является код с битом чётности. Конструкция его такова: к исходному слову добавляется бит чётности. Если в исходном слове число единичек чётно, то значение этого бита 0, если нечётно — 1. Таким образом допустимые слова этого кода имеют чётное количество единичек. Если получено слово с нечётным количеством единичек, то при передаче произошла ошибка.
В
случае вероятных групповых ошибок эту
технику можно скорректировать. Разобъём
передаваемые данные на n слов по k
бит и расположим их в виде матрицы
(n столбцов). Для каждого столбца
вычислим бит чётности и разместим его
в дополнительной строке. Матрица затем
передается по строкам. По получению
матрица восстанавливается, и если
обнаруживется несоответствие, то весь
блок передается повторно. Этот метод
позволяет обнаружить групповые ошибки
длины
.
Задача 3.
Слово длиной n с чётным количеством единиц передано по каналу с уровнем шума p. Покажите, что вероятность того, что при передаче произошли ошибки и мы их не заметили равна
![]()
Что можно привести к виду
![]()
Например,
при n = 1000 и p = 10 − 6 получаем
![]()
Конец задачи.
Следующая задача повышенной сложности.
Задача 4. (task:errmod) Пусть у нас есть возможность контролировать
сумму единичек по модулю d. Тогда вероятность нефиксируемых ошибок в слове длиной n при передаче его по каналу с шумом p равна Pmiss(d,n,p):
![]()
![]()
![]()

Примечание.
Интерес здесь представляет неявно
заданная функция n(d,Pmiss,p),
а точнее даже коэффициент содержания
полезной информации
в
переданных n бит как функция от
величины шума и вероятности незамеченных
ошибок. Чем выше желаемая надёжность
передачи, то есть чем меньше вероятность
Pmiss, тем меньше коэффициент
содержания полезной информации.
Конец задачи.
Итак, с помощью одного бита чётности мы повышаем надёжность передачи, и вероятность незамеченной ошибки равна Pmiss(2,n,p). Это вероятность уменьшается с уменьшением n. При n = 2 получаем Pmiss(2,2,p) = p2, это соответствует дублированию каждого бита. Рассмотрим общую идею того, как с помощью специального кодирования можно добиться сколь угодно высокой надёжности передачи.
Общая идея На множестве слов длины n определена метрика Хемминга: расстояние Хемминга между двумя словами равно количеству несовпадающих бит. Например,
ρH(10001001,10110001) = 3.
Задача 5.
Докажите, что ρH метрика.
Конец задачи.
Если
два слова находятся на расстоянии r
по Хеммингу, это значит, что надо
инвертировать ровно r разрядов,
чтобы преобразовать одно слово в другое.
В описанном ниже кодировании Хемминга
любые два различных допустимых слова
находятся на расстоянии
.
Если мы хотим обнаруживать d ошибок,
то надо, чтобы слова отстояли друг от
друга на расстояние
.
Если мы хотим исправлять ошибки, то надо
чтобы кодослова отстояли друг от друга
на
.
Действительно, даже если переданное
слово содержит d ошибок, оно, как
следует из неравенства треугольника,
все равно ближе к правильному слову,
чем к какому-либо еще, и следовательно
можно определить, исходное слово.
Минимальное расстояние Хемминга между
двумя различными допустимыми кодовыми
словами называется расстоянием
Хемминга данного кода.
Элементарный пример помехоустойчивого кода — это код, у которого есть только четыре допустимых кодовых слова:
![]()
Расстояние по Хеммингу у этого кода 5, следовательно он может исправлять двойные ошибки и замечать 4 ошибки. Если получатель получит слово 0001010111, то ясно, что исходное слово имело вид 0000011111. Коэффициент раздувания равен 5. То есть исходное слово длины m будет кодироваться в слово длины n = 5m
Отметим что имеет смысл говорить о двух коэффициентах:
-
—
коэффициент содержания полезной
информации -
—
коэффициент раздувания информации
Первый есть функция от переменной n, а второй, обратный ему, — от переменной m.
Здесь мы подошли к довольно трудной задаче — минимизировать коэффициент раздувания для требуемой надёжности передачи. Она рассматривается в разделе (theory).
