Реферат: Визначення і способи задання групових кодів
Ідею представлення код, що коректують, можна представити за допомогою N-вимірного куба.
Візьмемо тривимірний куб (мал. 2), довжина ребер, в якому дорівнює одній одиниці. Вершини такого куба відображають двійкові коди. Мінімальна відстань між вершинами визначається мінімальною кількістю ребер, що знаходяться між вершинами. Ця відстань називається кодовою (або хемінговою) і позначається буквою d.
Малюнок 2 – Представлення двійкових код за допомогою куба
Інакше, кодова відстань - це те мінімальне число елементів, в яких одна кодова комбінація відрізняється від іншої. Для визначення кодової відстані досить порівняти дві кодові комбінації по модулю 2. Так, склавши дві комбінації
10110101101
11001010101
01111111000
визначимо, що відстань між ними d=7.
Для коду з N=3 вісім кодових комбінацій розміщуються на вершинах тривимірного куба. Такий код має кодову відстань d=1, і для передачі використовуються всі вісім кодових комбінацій 000,001..,111. Такий код є не перешкодостійким, він не в змозі виявити помилку.
Якщо виберемо комбінації з кодовою відстанню d=2, наприклад, 000,110,101,011, то такий код дозволить виявляти одноразові помилки. Назвемо ці комбінації дозволеними, призначеними для передачі інформації. Всі останні 001,010,100,111 - заборонені.
Будь-яка одиночна помилка приводить до того, що дозволена комбінація переходить в найближчу, заборонену комбінацію (див. мал. 2). Отримавши заборонену комбінацію, ми виявимо помилку. Виберемо далі вершини з кодовою відстанню d=3
Такий код може виправити одну одиночну помилку або виявити дві помилки. Таким чином, збільшуючи кодову відстань можна збільшити перешкодостійкість коди. У загальному випадку кодова відстань визначається по формулі
d=t + l + 1
де t - число помилок, що виправляються, l - число помилок, що виявляються. Зазвичай l>t.
Більшість кодів, що коректують, утворюються шляхом додавання до початкової k - комбінації r - контрольних символів. У результаті в лінію передаються n=k+r символів. При цьому коди, що коректують, називаються (n,k) кодами. Як можна визначити необхідне число контрольних символів?
Для побудови коди здатного виявляти і виправляти одиночну помилку необхідне число контрольних розрядів складатиме . Це рівносильно відомому завданню про мінімум числа контрольних питань, на які можуть бути даны відповіді вигляду “та чи ні”, для однозначного визначення одного з елементів кінцевої множини.
Якщо необхідно виправити дві помилки, то число різних результатів складатиме Тоді , в цьому випадку виявляються одноразові і двократні помилки. У загальному випадку, число контрольних символів має бути не менше
Ця формула називається нерівністю Хеммінга, або нижньою межею Хеммінга для числа контрольних символів.
Матричне кодування
При явному завданні схеми кодування в (m, n) -коде слід вказати 2m кодових слів, що вельми неефективно.
Одним з економних способів опису схеми кодування є методика матричного кодування.
Хай - матриця порядку m f n з елементами eij , рівними 0 або 1. Символ + позначає складання по модулю 2. Тоді схема кодування задається системою рівнянь
або в матричній формі b = aЕ, де a = a1 a2 ...am - вектор, відповідний передаваному повідомленню; b = b1 b2 ...bn - вектор, відповідний кодованому повідомленню; Е - матриця коду, що породжує.
Матриця коду, що породжує, визначена неоднозначно. Код не повинен приписувати різним словам-повідомленням одне і те ж кодове слово. Можна довести, що цього не відбудеться, якщо перші m стовпців матриці Е утворюють одиничну матрицю.
Замість 2m кодові слова досить знати m слів, що є рядками матриці Е.
Групові коди
Безліч всіх двійкових слів a=a1 … am довжини m утворює абелеву (комутативну) групу щодо порозрядного складання.