Систематичний код - це груповий n -значний код в якому k символів є інформаційними, а n-k є перевірочними, надлишковими. Вони займають одні й ті ж позиції. Завдання СК проводиться за допомогою виробляє матриці А і перевірочної матриці Н.
Виробляє матриця дозволяє отримати всі комбінації коду шляхом підсумовування по модулю 2.
(N-k) розрядні кодові комбінації, в яких кількість одиниць не менше ніж dmin - 1, а сума будь-яких двох рядків по модулю 2 повинна містити не менше ніж dmin - 2 «одиниць». Бажано при цьому, щоб одиниці чергувалися з нулями, щоб серії одиниць були короткі. 2 k - число кодових комбінації.
Структура виробляє матриці дозволяє будувати систематичний код, у якого перші k -позіціі будуть інформаційними, а що залишилися (nk) перевірочні, при цьому загальне число дозволених кодових комбінацій дорівнює 2 k і всі різні кодові комбінації можуть бути отримані в результаті лінійної операції суми по | 2 | будь-яких двох, трьох і більше рядків виробляє матриці.
Побудова перевірочної матриці:
Беремо одиничну матрицю розмірності n-k і зліва до неї приписують транспоновану додаткову матрицю D, яку використовували для побудови виробляє матриці А.
Таким чином, перевірочна матриця H дозволяє побудувати алгоритм кодування і декодування систематичного коду, виходячи з того, що одиниця в кожному рядку відповідає тим розрядами, сума яких по модулю 2 повинна дорівнювати нулю.
З перевірочних рівнянь виділяють перевірочні розряди, кількість яких одно n-k. Перевірочні розряди зустрічаються в кожному з перевірочних рівнянь тільки по одному разу.
Процес прийому-передачі з коригуванням помилок:
Формується інформаційна частина кодової комбінації. На її основі будується перевірочна частина за допомогою перевірочних рівнянь.
На приймальній стороні отримані розряди підставляються в перевірочні рівняння. Якщо кодова комбінація передана без помилки, то все перевірочні рівняння приймуть нульові значення.
Якщо будь-які рівняння приймуть нульове значення, тоді формують розпізнавальний знак для виявлення та виправлення помилок.
Якщо вектор-визначник не дорівнює нулю, тоді проводиться виявлення помилкових розрядів наступним чином:
доведено, що вектор-визначник збігається зі значенням «правій частині» виробляє матриці, якщо кратність помилки дорівнює 1.
Якщо кратність помилки більше 1, тоді помилкові розряди можуть бути виявлені в такий спосіб: формується сума по модулю 2 з «правих частин» рядків перевірочної матриці. Кількість різних рядків, які включаються в суму по модулю 2 визначають кратність помилки.