МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет “Львівська політехніка”
Кафедра “Телекомунікації”
Лабораторна робота № 6
Порівняння ефективності використання коду Хемінга
в режимах виявлення та виправлення помилок
Мета роботи
Порівняти код Хемінга в двох режимах роботи – при виявленні і виправленні помилок і оцінити ефективність використання на каналі зв’язку механізму з виправленням помилок і механізму з виявленням помилок і повторною передачею.
Теоретичні відомості
В лабораторному макеті для контролю за правильністю передачі використовуються два види кодів – це код з однією перевіркою на парність і код Хемінга.
Код Хемінга.
Ці коди відносяться до найпоширеніших систематичних кодів.
Коди Хемінга можуть мати мінімальну кодову відстань:
dmin = 3, вони виправляють всі одиночні помилки або виявляють всі подвійні помилки;
dmin = 4 ,виправляють всі одиночні помилки і виявляють всі подвійні помилки, або ж виявляють всі потрійні помилки.
Код Хемінга є одним з небагатьох досконалих кодів, для яких виконується ідеальне співвідношення між довжиною коду n та кількістю перевірочних r (або інформаційних k ) розрядів, що випливає з виразу (10) для границі Хемінга:
n(2r-1
Досконалий код Хемінга має кодову відстань dmin = 3 і відповідає випадку, коли досягається крайнє значення границі Хемінга:
n=2r-1
Отже, його параметри
(n,k) = (2r-1 , 2r- 1 - r),
де r = 2, 3, ... - кількість перевірочних розрядів.
Ось деякі приклади досконалих кодів Хемінга:
r
(n, k)
R =
3
(7,4)
0,429
4
(15, 11)
0,267
5
(31, 26)
0,161
6
(63, 57)
0,095
7
(127, 120)
0,055
10
(1023, 1013)
0,0098
Характерною особливістю матриці перевірки Н досконалого коду Хемінга є те, що її стовбчики представляють собою будь-які різні ненульові комбінації довжиною r.
Отже ми, наприклад, можемо отримати матрицю Н для коду (7, 4) з r = 3 записавши у двійковому вигляді всі числа від 1 до (2r- 1) = 7 у вигляді стовбчиків матриці:
(1)
Отримавши КК, ми обчислюємо синдром і дивимось, з яким стовбчиком матриці Н він співпадає:
- якщо синдром рівний нулеві, прийнята КК вважається правильною і з неї виділяємо інформаційні розряди;
- якщо синдром не нулевий, тоді знаходимо номер стовпчика матриці Н, що рівний синдромові, і виправляємо 1 помилку у розряді прийнятої КК, що має цей же номер, або робимо висновок, що прийнята КК - помилкова.
Хід роботи
Вхідні дані мого варіанту:
№ варіанту
Довжина файлу N, біт
Пропускна здатність каналу С, біт/с
Час затримки в каналі Тз, мс
Імовірність помилки в каналі р
Довжина пакета l, біт
4.
11 000
900
20
0,001
36
Створюю пустий файл розміром 11000 біт і закодовую його кодом Хемінга.
Запустив модель телекомунікаційної системи зв’язку і передав закодований файл через канал з незалежними помилками для р0=0,01
Отриманий спотворений файл декодую за допомогою програми-декодера
Повторюю п.п. 2 - 3 для різних значень p0.
p0=0.001 p0=0.005
p0=0.006 p0=0.008
Повторюю п.п. 2 - 3 для значення p0=0.0055.
Отже, критична ймовірність помилки в каналі зв’язку є близька p0=0.005
Розраховуючас передачі заданої довжини інформації:
Тданих = N/C=11000/900= 12.2 сек.
Висновок: Проаналізувавши ефективність використання коду Хемінга в режимі роботи при виявленні і виправленні помилок при різних параметрах каналу зв’зку, я визначив критичну ймовірність помилки, що є близька p0=0.005 .