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

Розв'язання

При використанні завадостійкого (kn)- коду Хеммінга контрольні суми, що додаються до інформаційного повідомлення, необхідно розмістити не в правій частині кодового слова, а в позиціях цілого степеня 2. Тоді стовпці перевірної матриці коду H(n-k)n будуть двійковим поданням номера розряду кодової комбінації, в якому виникла помилка.

У даному випадку кількість інформаційних елементів k=11.

Необхідна кількість перевірних розрядів r=4 (див. табл.3.3).

Отже, потрібно побудувати (1115) -код Хеммінга для заданого повідомлення.

Перевірна матриця (11, 15) -коду Хеммінга має вигляд

.

Систему перевірних рівнянь, що визначає правила знаходження перевірних розрядів (контрольних сум), дістанемо з рівняння кодового синдрому

S=uH=0,

де u – кодове слово лінійного блокового коду, заданого перевірною матрицею H.

S=(u1, u2, , u15) = (u8+u9+u10+u11+ +u12+u13+u14+u15,, u4+u5+u6+u7+u12+u13+u14+u15, u2+u3+u6+u7+ +u10+u11+u14+ u15,, u1+ u3+u5+u7+u9+u11+ u13+u15) = 0.

Звідси випливає система рівнянь

Перевірні розряди - це біти з номерами цілого степеня 2 – u1, u2, u4, u8, інші розряди - символи інформаційного повідомлення, тобто кодове слово будується так:

,

де m=(m1, m2, …, m11) – інформаційне повідомлення; r1, r2, r3, r4 – контрольні суми.

Система перевірних рівнянь коду має вигляд

()

Закодуємо задане повідомлення:

.

Скориставшись системою перевірних рівнянь (), знайдемо контрольні суми:

r1=1+1+0+1+1+1+0=1;

r2=1+0+0+0+1+1+0=1;

r3=1+0+0+0+1+1+0=1;

r4=1+0+1+0+1+1+0=0.

Підставляючи у відповідні позиції знайдені значення контрольних сум, отримуємо закодовану послідовність:

(11001010110) (111110001010110).

Нехай у цьому кодовому слові при передачі виникла помилка, наприклад, прийнятий вектор y=(111110101010110).

На прийомній стороні обчислюється синдром

yH = (111110101010110)

 =  (0111).

Ненульове значення кодового синдрому означає наявність помилки у прийнятій послідовності. Вектор синдрома відповідає номеру помилкового розряду у двійковому вигляді: у даному випадку (0111)2=710 – отже, помилка виникла у 7-му розряді.

Змінюємо значення помилкового біта і декодуємо кодову послідовність, вилучивши з неї контрольні суми, так:

(111110101010110)(111110001010110)

 (11 001010110).

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

У такий спосіб, твірна матриця (1115) -коду Хеммінга має вигляд

.

Кодові слова лінійного блокового коду знаходяться множенням інформаційного повідомлення на твірну матрицю

u=(m1m2..., m11)  =

=

Звідси випливає система перевірних рівнянь коду ().

Надлишковість коду .

Задачі до розділу 11

  1. Закодувати повідомлення 1100110, 1010111 (711)- кодом Хеммінга. Побудувати твірну матрицю. Визначити його надлишковість.

  2. Закодувати (4, 7)- кодом Хеммінга комбінації 1010, 1011, 1100. Навести приклад виправлення однократної помилки цим кодом. Побудувати твірну матрицю коду. Визначити його надлишковість.

  3. Закодувати повідомлення 11001, 10100, 10110 кодом Хеммінга. Побудувати твірну матрицю коду. Визначити його надлишковість.

  4. Закодувати повідомлення 110, 101, 011, 111 кодом Хеммінга. Побудувати твірну матрицю коду. Визначити його надлишковість.

  5. Закодувати кодом Хеммінга комбінацію двійкового простого коду, що являє запис поточного року у двійковій системі числення. Навести приклад виправлення однократної помилки в цій комбінації.

  6. Побудувати перевірну матрицю коду Хеммінга для інформаційних послідовностей довжиною k=6 символів, за її допомогою закодувати комбінації 011001, 100011. Навести приклад виправлення однократної помилки. Визначити надлишковість коду.

  7. Побудувати перевірну матрицю коду Хеммінга для інформаційних послідовностей довжиною k=7 символів, за її допомогою закодувати комбінації 0110010, 1000111. Навести приклад виправлення однократної помилки. Визначити надлишковість коду.

  8. Побудувати перевірну матрицю коду Хеммінга для інформаційних повідомлень довжиною k=8, за її допомогою закодувати комбінації 01100100, 10001101. Навести приклад виправлення помилки.

  9. Декодувати повідомлення 110110001010110, закодоване (1115)- кодом Хеммінга, виправивши помилку, якщо вона є. Побудувати твірну матрицю коду.

  10. Декодувати повідомлення 1101100, 1011101, 1010101, закодовані (47) - кодом Хеммінга. Побудувати твірну матрицю коду.

Розділ 12 ПОЛІНОМІАЛЬНЕ КОДУВАННЯ ІНФОРМАЦІЇ. ЦИКЛІЧНІ КОДИ

Зручним і наочним способом задання лінійних блокових (kn)-кодів є подання символів кодових слів u0, u1.,un-1 у вигляді коефіцієнтів многочлена від х, тобто

u(x) = u0 + u1 x + u2 x2 +  + un-1 xn-1. (3.11)

Подання кодових слів у такій формі дозволяє звести дії над комбінаціями символів до дій над поліномами.