МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №1
з курсу:
«Засоби передачі інформації у системах технічного захисту інформації»
на тему:
«Дослідження кодоутворення та принципів побудови кодерів і декодерів кодів Хемінга»
Львів – 2012
Мета роботи: вивчити принципи побудови кодів Хемінга та одержати практичні навики розробки функціональних схем кодерів і декодерів.
Завдання
1. Визначити основні параметри коду Хемінга d = 3 ( nk ,n, N, Nд, Nз, R, B ), якщо кількість
інформаційних розрядів дорівнює двом останнім цифрам номера залікової книжки (НЗК).
2.Побудувати утворюючу матрицю КХ (16, 11) і на її основі закодувати число у двійковому та
двійково-десятковому кодах, що відповідає трьом останнім цифрам НЗК.
3. Побудувати перевірочну матрицю КХ (16, 11). Декодувати одну з КК одержаних в п. 2, для
випадку, коли спотворень нема, коли вони є в одному, двох і трьох розрядах. Номери
спотворюваних розрядів вибирати довільно.
4. Ознайомитися з схемою, передати і прийняти кодові комбінації, одержані в п. 2 без спотворень та із спотвореннями. Порівняти синдроми, які відтворюються індикаторами S0, S1, S2, S4, S8 з результатами, одержаними в п. 3.
5. Скласти схеми кодера і декодера кодів Хемінга при d = 2, d = 3.
6. Побудувати графіки залежності R=f1(ni) та B=f2(ni) для коду Хемінга з d = 3, якщо
кількість інформаційних розрядів змінюється від 1 до 250.
Визначимо основні параметри коду Хемінга d = 3
Останні цифри залікової книжки – 46
nі = 46 – кількість інформаційних символів
nк – кількість контрольних символів, який визначаємо з нерівності: ≥ ni + nk + 1,
nк = 6
n = nі + nк = 46+ 6 = 53, n – загальна кількість символів
N = 2n = 253 – загальна кількість комбінацій
Nд = = 246– дозволені комбінації
Nз = 2n - = 27– заборонені комбінації
R = nк / n =0,113 – надлишковість коду
B = nі / n = 0,876 – швидкість передачі інформації
За даними залікової книжки мій номер – 246. Отже, код буде таким 11110110.
Побудуємо утворюючу матрицю КХ(16,11)
К8 К4 К2 К1 К0
| 15 14 13 12 11 10 9 7 6 5 3 8 4 2 1 0 |
| 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 |
| 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 |
| 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 |
| 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 |
| 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 |
| 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 |
| 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 |
| 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 |
| 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 |
| 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 |
| 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 |
0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1
Знаходимо контрольні символи:
K1=I3+I5+I7+I9+I11+I13+I15= 1
K2=I3+I6+I7+I10+I11+I14+I15= 1
K4=I5+I6+I7+I12+I13+I14+I15=1
K8=I9+I10+I11+I12+I13+I14+I15=0
K0= К1+К2+К4+К8+І3+І5+І6+І7+І9+І10+І11+І12+І13+І14+І15 =1
Отже, код Хемінга з d = 3 матиме такий вигляд:
І15 І14 І13 І12 І11 І10 І9 К8 І7 І6 І5 К4 І3 К2 К1 К0 = 0001111001110111
Закодуємо число 246 в двійково-десятковому коді.
Отже код буде таким -0100 100 110
K1=I3+I5+I7+I9+I11+I13+I15= 0
K2=I3+I6+I7+I10+I11+I14+I15= 1
K4=I5+I6+I7+I12+I13+I14+I15=1
K8=I9+I10+I11+I12+I13+I14+I15=0
K0= К1+К2+К4+К8+І3+І5+І6+І7+І9+І10+І11+І12+І13+І14+І15 =0
Отже, код Хемінга з d = 3 матиме такий вигляд:
І15 І14 І13 І12 І11 І10 І9 К8 І7 І6 І5 К4 І3 К2 К1 К0 = 0000010010011000
Побудуємо перевірочну матрицю Н(16,11)
K8 K4 K2 K1 K0
| 15 14 13 12 11 10 9 7 6 5 3 8 4 2 1 0 |
| 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 | S8
| 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 | S4
| 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 | S2
| 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 | S1
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | S0
0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1
Помилка відсутня
Виходячи із перевірочної матриці:S8=0, S4=0, S2=0, S1=0, S0=0, отже, помилка відсутня і кодова комбінація декодована правильно.
Зробимо помилку в І10: 0001101001110111
Виходячи із перевірочної матриці: S8=1, S4=0, S2=1, S1=0, S0=1
S0=1, Si ≠0 – отже, у коді одинична помилка
Зробимо помилки в І9 і І7: 0001110011110111
Виходячи із перевірочної матриці: S8=1, S4=1, S2=1, S1=0, S0=0
S0=0, Si ≠0 – отже, у коді подвійна помилка
Зробимо помилки в І14, І11, I6 : 0101011000110111
Виходячи із перевірочної матриці: S8=0, S4=0, S2=1, S1=1, S0=1
S0=1, Si ≠0 – отже, у коді потрійна помилка
Помилка відсутня
У коді 1 помилка
У коді 2 помилки
У коді 3 помилки
Схема декодера для d=4
Схема кодера для d=4
Графік залежності R=f1(ni) для коду Хемінга з d = 3
Графік залежності B=f2(ni) для коду Хемінга з d = 3
Висновок: на даній лабораторній роботі я ознайомився з принципами побудови кодів Хемінга, навчився виявляти однократні, двократні помилки і помилки непарної кратності і перевіряти їх за допомогою функціональних схем кодера та декодера. Поглянули як змінюється надлишковість коду і швидкість передачі в залежності від зміни кількості інформаційних розрядів.