Опубликован: 11.04.2007 | Уровень: специалист | Доступ: платный
Лекция 9:

Математическая модель системы связи

< Лекция 8 || Лекция 9: 123 || Лекция 10 >

Пример. Пусть a=1001 и b=0011, тогда w(a)=w(b)=2, d(a,b)=2.

Далее операция + при применении к двоичным словам будет означать поразрядное сложение без переноса, т.е. сложение по модулю 2 или "исключающее ИЛИ" (XOR).

Расстояние между двоичными словами a и b равно весу их поразрядной суммы, т.е. d(a,b)=w(a+b).

Если два слова различаются в каком-либо разряде, то это добавит единицу к весу их поразрядной суммы.

Следовательно, если a и b - слова длины n, то вероятность того, что слово a будет принято как b, равна p^{n-d(a,b)}q^{d(a,b)}.

Наример, вероятность того, что слово 1011 будет принято как 0011, равна p^3q.

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

Иначе ошибка в одной позиции сможет превратить одно кодовое слово в другое, что не даст ее обнаружить.

Для того, чтобы код давал возможность обнаруживать все ошибки кратности, не большей k, необходимо и достаточно, чтобы наименьшее расстояние между его словами было k+1.

Достаточность доказывается конструктивно: если условие утверждения выполнено для E, то в качестве декодирующей функции D следует взять функцию, сообщающую об ошибке, если декодируемое слово отличается от любого из слов из образа E. Необходимость доказывается от противного: если минимальное расстояние k'<k+1, то ошибка в k' позициях сможет превратить одно кодовое слово в другое.

Для такого кода вероятность того, что ошибки в сообщении останутся необнаруженными, равна

\sum^n_{i=k+1}C^i_np^{n-i}q^i=C^{k+1}_np^{n-k-1}q^{k+1}+\cdots+
C^{n-1}_npq^{n-1}+q^n\approx
[ при малых q и не слишком маленьких k]\approx C^{k+1}_np^{n-k-1}q^{k+1}.

Для того, чтобы код давал возможность исправлять все ошибки кратности, не большей k, необходимо и достаточно, чтобы наименьшее расстояние между его словами было 2k+1.

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

Пример. Рассмотрим (1,3) -код, состоящий из E, задающей отображение 0\rightarrow000 и 1\rightarrow111, и D, задающей отображение 000\rightarrow0, 001\rightarrow0, 010\rightarrow0, 011\rightarrow1,
100\rightarrow0, 101\rightarrow1, 110\rightarrow1, 111\rightarrow1. Этот код (с тройным повторением) исправляет ошибки в одной позиции, т.к. минимальное расстояние между словами кода равно 3.

Если код исправляет все ошибки кратности k и меньшей, то вероятность ошибочного приема слова длины n очевидно не превосходит \sum^n_{i=k+1}C^i_np^{n-i}q^i. Вероятность правильного приема в этом случае не меньше, чем

\sum^k_{i=0}C^i_np^{n-i}q^i=p^n+C^1_np^{n-1}q+\cdots+C^k_np^{n-k}q^k.

Передачу данных часто удобно рассматривать следующим образом. Исходное сообщение a=a_1\ldots a_m кодируется функцией E в кодовое слово b=b_1\ldots b_n. Канал связи при передаче добавляет к нему функцией T строку ошибок e=e_1\ldots e_n так, что приемник получает сообщение r=r_1\ldots r_n, где r_i=b_i+e_i\,(1\le i\le n). Система, исправляющая ошибки, переводит r в некоторое (обычно ближайшее) кодовое слово. Система, только обнаруживающая ошибки, лишь проверяет, является ли принятое слово кодовым, и сигнализирует о наличии ошибки, если это не так.

Пример. Пусть передаваемое слово a=01 кодируется словом b=0110, а строка ошибок - e=0010. Тогда будет принято слово r=0100. Система, исправляющая ошибки, переведет его в 0110 и затем восстановит переданное слово 01.

Если система только обнаруживает ошибки и расстояние между любыми кодовыми словами k\ge2, то любая строка ошибок e с единственной единицей приведет к слову r=b+e, которое не является кодовым.

Пример. Рассмотрим (2,3) -код с проверкой четности. Множество кодовых слов - \{000, 011, 101, 110\}. Ни одна из строк ошибок 001, 010, 100, 111 не переводит одно кодовое слово в другое. Поэтому однократная и тройная ошибки могут быть обнаружены.

Пример. Следующий (2,5) -код обнаруживает две ошибки:

a_1=00\rightarrow00000=b_1,\qquad
a_2=01\rightarrow01011=b_2,
a_3=10\rightarrow10101=b_3,\qquad
a_4=11\rightarrow11110=b_4.
Этот же код способен исправлять однократную ошибку, потому что любые два кодовых слова отличаются по меньшей мере в трех позициях. Из того, что d(b_i,b_j)\ge3 при i\ne j, следует, что однократная ошибка приведет к приему слова, которое находится на расстоянии 1 от кодового слова, которое было передано. Поэтому схема декодирования, состоящая в том, что принятое слово переводится в ближайшее к нему кодовое, будет исправлять однократную ошибку. В двоичном симметричном канале вероятность правильной передачи одного блока будет не меньше чем p^5+5p^4q.

Установлено 120 , что в (n-r,n) -коде, минимальное расстояние между кодовыми словами которого 2k+1, числа n, r (число дополнительных разрядов в кодовых словах) и k должны соответствовать неравенству

r \ge \log_2(C_n^k+C_n^{k-1}+\cdots+C_n^1+1),
называемому неравенством или нижней границей Хэмминга. Кроме того, если числа n, r и k соответствуют неравенству
r >
\log_2(C_{n-1}^{2k-1}+C_{n-1}^{2k-2}+\cdots+C_{n-1}^1+1),
называемому неравенством или верхней границей Варшамова - Гильберта, то существует (n-r,n) -код, исправляющий все ошибки веса k и менее220 .

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

Упражнение 37 Имеется (8,9) -код с проверкой четности. Вычислить вероятность того, что в случае ошибки этот код ее не обнаружит, если вероятность ошибки при передаче каждого бита равна 1%. Вычислить также вероятность ошибочной передачи без использования кода. Сделать аналогичные расчеты для случая, когда вероятность ошибки в десять раз меньше.

Упражнение 38 Вычислить минимальную и максимальную оценки количества дополнительных разрядов r для кодовых слов длины n, если требуется, чтобы минимальное расстояние между ними было d. Рассмотреть случаи n=32, d=3 и n=23, d=7.

< Лекция 8 || Лекция 9: 123 || Лекция 10 >
Евгений Плескач
Евгений Плескач
Беларусь, Минск
Xxxx Xxxx
Xxxx Xxxx
Россия