Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Н. О. 0 Теорія інформації рекомендовано Міністе...doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.27 Mб
Скачать

9.4 Ітеративний код

Припустимо, потрібно передати повідомлення m завдовжки 9 символів. Розмістимо символи повідомлення у вигляді матриці, додавши до кожного рядка і стовпця контрольні символи перевірки на парність (табл. 3.1).

Таблиця 3.1

m1

m2

m3

m1+m2+m3

m4

m5

m6

m4+m5+m6

m7

m8

m9

m7+m8+m9

m1+m4+m7

m2+m5+m8

m3+m6+m9

m1+m2+...+m9

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

Описаний метод кодування називається ітеративним. Його застосування доцільне, якщо дані формуються у вигляді масивів, наприклад, в шинах ЕОМ, в пам'яті, що має табличну структуру.

Недоліком такого кодування є значна надлишковість при порівняно низькій виправній здатності.

Зразки розв'язування задач до розділу 9

Приклад 1 Завадостійкий код заданий твірною матрицею вигляду

.

    1. Побудувати таблицю кодів;

    2. Описати основні характеристики коду: мінімальну відстань між словами, ймовірність невиявлення помилки, максимальну кратність помилок, які можуть бути виявлені й виправлені кодом;

    3. Побудувати таблицю декодування;

    4. Уточнити можливості коду з виявлення і виправлення помилок: знайти ймовірність правильної передачі закодованого повідомлення і описати помилки, що виправляються кодом;

    5. Як будуть декодовані слова: 10001, 01110, 10111?

Розв'язання

Кодові слова завадостійкого коду, заданого твірною матрицею Gkn, мають довжину n символів і визначаються так: ,

де через m позначено інформаційну послідовність довжиною k .

За умовою задачі завадостійкий код заданий твірною матрицею вигляду

,

I22 P23

що складається з одиничної частини Ikk і перевірочної частини Pk(n-k). Одинична матриця відповідає інформаційним символам кодового слова, перевірочна – визначає перевірні символи.

Отже, кодові слова даного коду будуються так:

,

де перші два символи інформаційні, а наступні три є контрольними сумами r1, r2, r3.

Побудуємо таблицю кодових слів заданого коду й оцінимо їхню ймовірність (mабл. 1).

Таблиця 1

Інформаційна

послідовність

Кодове слово

Імовірність

000

00 000

01

01 110

p2q3

10

10 101

p2q3

11

11 011

pq4

Даний код належить до лінійних блокових кодів, тому що відповідає умові лінійності: кожне з кодових слів є лінійною комбінацією двох інших кодових слів даного коду.

Твірна матриця лінійного блокового коду складається з k лінійно незалежних комбінацій коду, а всі інші кодові слова, крім нульового, - лінійні комбінації кодових слів, що входять до твірної матриці.

Опишемо основні характеристики заданого коду.

Мінімальна кодова відстань Хеммінга лінійного блокового коду визначається як мінімальна вага кодових слів, що входять у твірну матрицю. Для двійкових послідовностей вага Хеммінга визначається кількістю одиниць у заданій послідовності.

У даному випадку мінімальна вага кодових слів у твірній матриці дорівнює 3, отже, мінімальна відстань Хеммінга dmin=3.

Помилки лінійним блоковим кодом не будуть виявлені у тих випадках, якщо під впливом завад одне кодове слово перетвориться в інше кодове слово даного коду. Виходячи з того, що кодове слово лінійного коду є лінійною комбінацією двох інших кодових слів, ймовірність того, що одне кодове слово перетвориться в інше, визначається ймовірністю того, що вектор помилок збігається з одним із кодових слів коду (прийнята послідовність y=u+e, де u – передане кодове слово; e – вектор помилок у двійковому каналі). Таким чином, імовірність невиявлення помилок заданим кодом буде такою (див. табл. 1):

Pпом=2p2q3+pq4.

Кратність помилок, що виявляються лінійним блоковим кодом, визначається за нерівністю

dmin l+1,

де l – кратність помилок; dmin – мінімальна відстань коду.

Звідси максимальна кратність помилок, що виявляються заданим кодом, l dmin–1=3-1=2.

Кратність помилок, що виправляються лінійним блоковим кодом, визначається за нерівністю

dmin  2l+1.

Звідси максимальна кратність помилок, що виправляються заданим кодом, l  (dmin –1)/2=1.

Побудуємо таблицю декодування (табл. 2). Для цього в першому рядку таблиці випишемо всі кодові слова, а в лівому стовпці – значення вектора помилок. Можливі прийняті комбінації – це слова, записані у відповідних рядках і стовпцях таблиці.

Таблиця 2

Вектор помилок

Кодові слова

00000

01110

10101

11011

00001

01111

10100

11010

00010

01100

10111

11001

00100

01010

10001

11111

01000

00110

11101

10011

10000

11110

00101

01011

Якщо продовжити цю таблицю далі для всіх можливих комбінацій з двома помилками, можна побачити, що однозначної відповідності між переданими послідовностями і відповідними кодовими словами вже не буде, тобто виправити помилки кратності 2 заданим кодом неможливо. Таким чином, імовірність правильної передачі кодового слова довжиною 5 символів

.

Для того щоб декодувати прийняту послідовність y=uj+ei, де uj – передане кодове слово; ei – вектор помилок у каналі, потрібно відшукати її в таблиці декодування й вибрати як передане кодове слово в тому самому стовпці і у першому рядку. У такий спосіб декодуємо задані комбінації:

10001 10101 10;

01110 01110 01;

10111 10101 10.

Приклад 2 Для кодування послідовності з k=12 інформаційних елементів застосовується ітеративний метод. Записати твірну матрицю еквівалентного лінійного блокового коду. Закодувати повідомлення (110111000110). Виправити помилку в прийнятій послідовності (11011110001110001111). Визначити надлишковість коду.