Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lectures / Лекція 32. Стиск даних.doc
Скачиваний:
89
Добавлен:
12.05.2015
Размер:
160.77 Кб
Скачать

32.3. Коди стійкі до перешкод

Розглянемо один частковий випадок рівномірного двійкового кодування, коли А=В={0, 1}. Розглянемо схему рівномірно кодування k,n:

1  1,

2  2,

,

де i, i – відповідно слова довжиною k та n, n>k.Говорять, що схему k,n задає код V = {1, 2,…, }.

Введемо додаткові позначення. Елементи множини (двійкові вектори довжиною n) позначатимемо великими латинськими буквами X, Y, Z,…,а їх компоненти – відповідними малими буквами з індексами. Зокрема, елементарні коди позначатимемо як традиційно (1, 2,…), так і X, Y, Z залежно від контексту.

Означення 32.1. Нормою двійкового вектора Х=x1x2…xn називають число, яке дорівнює кількості його одиничних компонент. Отже:

Припустимо, що в каналі зв’язку діє джерело адитивних перешкод, яке описують множиною P(n, t). Її елементи – двійкові вектори-помилки. При чому на n переданих поспіль двійкових символів припадає не більше ніж t помилок. Це означає, що коли на вході каналу зв'язку передано повідомлення , то на виході можна отримати будь-яке слово з множини { |  P(n, t), || = ||}, де  - пора рядне додавання за mod 2.

Позаяк проблема локалізації інформації (тобто розділення закодованого повідомлення на елементарні коди) у моделі рівномірного кодування тривіальна, то виявлення помилок полягає у відшуканні незбігу локалізованої групи n символів, яке не відповідає жодному з елементарних кодів. Якщо через помилку елементарний код перейде в інший елементарний код, то помилку не буде виявлено. Іноді можна виправити помилку. Якщо групу бітів локалізовано правильно, то для цього необхідно й достатньо, щоб помилкова група була «синонімом» єдиного елементарного коду.

Канал зв'язку називають надійним, якщо будь-які помилки можна виявити чи виправити відповідно до заданої мети декодування. Далі наведено головні положення побудови кодів, які забезпечують надійність найпростіших каналів зв'язку.

Означення 32.2. Віддалю Хеммінга називають функцію (X, Y) двох змінних, означену на множині :

.

Тобто, віддаль Хеммінга дорівнює кількості розрядів, у яких вектори Х та Y не збігаються.

Означення 32.3. Скалярний добуток двійкових векторів X, Y означається як:

Відповідно він дорівнює кількості розрядів, у яких Х та Y збігаються й дорівнюють 1.

Легко перевірити таке співвідношення:

,

(32.1)

де 0 – n-вимірний вектор із нульовими компонентами;

,

(32.2)

,

(32.3)

.

(32.4)

Для віддалі Хеммінга виконуються аксіоми метрики:

  • (X, Y)  0, причому (X, Y) = 0 в тому лише випадку, коли X = Y;

  • (X, Y) = (Y, X);

  • (X, Y) + (Y, Z)  (X, Z) (нерівність трикутника).

Метрика Хеммінга – зручне математичне поняття для формулювання умов надійності кодування в разі адитивних помилок.

Означення 32.4. Нехай систему k,n задано кодом V = {1, 2,…, }. Кодовою віддалю для коду V називають величину:

(V) = min {(X,Y) | X, Y  V, XY }.

Теорема 32.1. Якщо в каналі зв'язку діє джерело адитивних перешкод P(n, t), то правдиві такі твердження.

  1. Для виявлення будь-яких помилок необхідно й достатньо, щоб (V)> t.

  2. Для виправлення будь-яких помилок необхідно й достатньо, щоб (V)>2t.

Доведення. 1. Нехай (V)> t. Якщо XV, Z P(n, t), Z0, то, використовуючи спочатку рівність (32.3), а потім – (32.1), можемо записати ( X, XZ ) = ( 0, Z ) = ||Z||  t. Отже, XZV, і помилку виявлено.

Навпаки, нехай ( X, Y )  t й X, YV, XY. Тоді, застосувавши рівність (32.2), маємо || XY || = ( X, Y )  t; отже, Z = XY  P(n, t). Звідси випливає, що XZ = Y, тобто помилку в елементарному коді Y виявити не можна.

2. Нехай (V)>2t. Якщо XV, Z P(n, t), то X – єдиний елементарний код із V, який міг перейти внаслідок помилки в XZ. Справді, припустимо, що існує такий двійковий вектор YX, що YV та YZ1 = XZ для якогось Z1 P(n, t). Додавши до обох частин останньої рівності XZ1, отримаємо Y X = Z1Z. Але, згідно з рівністю (32.2) можемо записати ||XY|| = ( X, Y ) )>2t, а ||Z1Z||  ||Z1|| + ||Z||  2t. Одержали суперечність.

Навпаки, нехай ( X, Y )  2t для якихось різних X, Y V. Тоді ||XY||  2t, й існують такі двійкові вектори Z1, Z2, що ||Z1||  t, ||Z2||  t (тобто вони належать P(n, t)) й XY = Z1 Z2. Додавши до обох частин останньої рівності YZ1, одержимо XZ1 = Y Z2 = W. Отже, у разі отримання спотвореного елементарного коду W неможливо виявити, що було передано насправді: X чи Y. ►

Доведене твердження має геометричну інтерпретацію.

Означення 32.5. Множину St(X) = {Z | (X,Z)  t } називають кулею радіусом t з центром у точці X.

Теорема 32.2 (без доведення). Якщо в каналі зв'язку діє джерело адитивних перешкод P(n, t), то правдиві такі твердження.

1. Для виявлення будь-яких помилок необхідно й достатньо, щоб для будь-якого XV куля St(X) не містила інших елементарних кодів, окрім X.

2. Для виправлення будь-яких помилок необхідно й достатньо, щоб для будь-яких X, Y V було виконано умову St(X)  St(Y) = .

Означення 32.6. Рівномірне кодування k,n: i  i (i = 1, 2,…, 2k) називають систематичним, якщо можна виділити множину k розрядів I = {i1,…,ik}{1,2,…,n}, які називаються інформаційними, так, що коли i = x1…xn (i = 1, 2,…, 2k), то i = xi1…xik. Решту розрядів у такому разі називають контрольними.