3.3. Циклічні коди

Широке поширення набув клас лінійних кодів, які називаютьсяциклічними.Назва цих кодів походить від їх основної властивості: якщо кодова комбінація a1, а2. an-1, an належить циклічному коду, комбінації an, a1, а2. an-1; an-1, an, a1, а2,.., аn-2 і т.д., отримані циклічною перестановкою елементів, також належать цьому коду.

Загальною властивістю всіх дозволених кодових комбінацій циклічних кодів (як поліномів) є їх ділимість без залишку на певний обраний поліном, званийщо виробляє.Синдромом помилки в цих кодах є наявність залишку від поділу прийнятої кодової комбінації на цей поліном. Опис циклічних кодів та їх побудова зазвичай проводять за допомогою багаточленів (поліномів). Цифри двійкового коду можна як коефіцієнти многочлена змінної x.

Оскільки будь-яке число у довільній системі числення можна записати у вигляді an-1х n-1+an-2x n-2+. + а0х 0 де х-основа системи числення, an-1. a0 – цифри цієї системи, то перехід від двійкового числа до запису як многочлена здійснюється так:

11011 1x 4 + 1х 3 +0х 2 +1x 1 +1x 0 =x 4 +x 3 +x+1

Звідси видно, що кодова комбінація довжиноюп (п=5)описується багаточленом ступеняп-1. Однак запис кодової комбінації у вигляді багаточлена не завжди визначає довжину кодової комбінаціїп.Наприклад, при п=5 багаточлену х 2 +1 відповідає кодова комбінація 00101. Тому при переході до запису у вигляді кодової комбінації необхідно дописувати нульові старші розряди.

Кодові комбінації циклічного коду описуються поліномами, які мають певні властивості. Останні визначаються властивостями та операціями тієї системи алгебри, до якої належитьбезліч поліномів.

У циклічних кодах дозволеними кодовими комбінаціями є ті, які мають нульове відрахування по модулюPv(x),тобто діляться на утворює поліном без залишку. З усіх можливих поліномів ступеняп (2п)тільки 2 до поліномів(к = п-r)мають нульове відрахування за модулемРг(х).Вони і утворюють безліч дозволених кодових комбінацій циклічного коду.

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

Порівняно із звичайними лінійними кодами на дозволені кодові комбінації циклічного коду накладається додаткове обмеження: ділимість без залишку на поліном, що породжує. Ця властивість значно полегшує апаратурну реалізацію коду.

Виявлення помилок у циклічному коді проводиться розподілом прийнятої кодової комбінації на кодову комбінацію утворюючого полінома (вигляд його повинен бути відомий на прийомі). Залишок від розподілуR(x)відіграє роль синдрому. ЯкщоR(x) Ф0,вважається, що відбулися помилки. ЯкщоR(x)=0,то комбінація прийнята правильно.

Способи формування циклічних кодів.

Нехай заданий поліном P(x)=ar-1xr+ar-2xr-1+. +1,визначає виправну здатність коду, і заданий вихідний простий код, який потрібно перетворити в циклічний коригуючий.

Позначимо багаточлен, який відповідає комбінації простого коду, як Q(x). Візьмемо твір Q(x)x r і розділимо його на Р(х). Урезультаті отримаємо багаточлен G(x) та залишок

Ліва частина рівняння ділиться без залишку на Р(х), отже, і права частина також ділиться на Р(х). Таким чином, ми можемо отримати два різні способи формування циклічних кодів:

1-Вихідний позиційний поліном множать на утворює поліном. Цей спосіб

призводить до отримання коду, що не розділиться.

2-Вихідний поліном множать на х г потім шляхом поділу на Р(х) отримують залишок

R(x), який необхідно додати Q(x)x r . Цей спосіб дозволяє отримати

код, в якому вихідна кодова комбінація є однією з дозволених.

Недолік першого способу в тому, що за його допомогою ми отримуємо нероздільний код (те неможливо відокремити перевірочні елементи від інформаційних).