МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
Кафедра ЗІ
З В І Т
до лабораторної роботи №3
з навчальної дисципліни: «Основи телекомунікаційних технологій»
на тему:
«ДОСЛІДЖЕННЯ КОДОУТВОРЕННЯ ТА ПРИНЦИПІВ ПОБУДОВИ
КОДЕРІВ І ДЕКОДЕРІВ ІТЕРАТИВНИХ КОДІВ»
Мета роботи: вивчити принципи побудови ітеративних кодів, дослідити перетворення двійкового коду в двоступеневий ітеративний код та формування синдрому помилки, одержати практичні навики розробки функціональних схем кодерів і декодерів.
Основні теоритичні відомості
Ітеративні коди (ІК), запропоновані П. Елайесом, широко застосовуються у системах
телемеханіки і передачі інформації, особливо у випадках, коли використовуються програмні методи підвищення достовірності [1, 2]. Відмінністю ІК є наявність двох, трьох і більше ступенів завадостійкого кодування, завдяки яким вноситься надлишковість у передавані первинні двійкові кодові комбінації (КК) відповідно у два, три і більше разів. При цьому кожний інформаційний розряд бере участь у
формуванні контрольних розрядів двох, трьох та більше ітерованих кодів, в якості яких можуть використовуватися різні коди – із захистом за парністю, Хемінга, циклічні та ін. Саме тому розрізняють дво-, три- та багатоступеневі ІК, властивості яких визначаються параметрами ітерованих кодів. Найпростішим ІК є двоступеневий код з захистом за парністю. Кожна КК такого коду утворюється записуванням ni інформаційних розрядів у вигляді матриці, яка містить ni1 рядків та ni2
стовпців, а кожен рядок і стовпчик доповнюються одним контрольним розрядом, що є результатом додавання за модулем два всіх інформаційних розрядів відповідного рядка і стовпця. Сумою за модулем два може доповнюватися також стовпчик контрольних розрядів рядків. ДГСТ-ом 26.014-81 рекомендоване використання двоступеневих ІК з 8, 9 і 16-контрольними
розрядами. Для коду з пk=8 використовується блок інформаційних елементів розміром 3х4 (з ni1 = 3 рядками і ni2 = 4 стовпцями). При цьому кількість інформаційних розрядів ni = 12, а загальна кількість - п = ni + пk= 20. Для коду з пk = 9 беруть ni = ni1 * ni2 = 4 * 4 = 16 , для коду з пk = 16, або ni =8*7 = 56, n =
72, або ni = 7*8 = 56, n = 72 [3].
Продемонструємо на прикладі принцип побудови ІК. Нехай потрібно передати такі групи КК - 1110, 0110, 1010 і 1100. Спочатку запишемо їх у вигляді матриці, яка містить ni1 рядків і ni2 стовпців:
1110-1 група;
0110-2 група;
1010-3 група;
1100-4 група.
Така або вищого рангу матриця елементів КК первинного коду може бути сформована автоматично після закінчення, наприклад, перетворення «аналог - код» на виходах лічильників: ni1 - канального і ni2 - розрядного АЦП [4].
Потім до кожного рядка і до кожного стовпця матриці допишемо 9 контрольних розрядів, значення яких знаходяться, додаючи за модулем два відповідні інформаційні розряди. В результаті утворюється блок КК ІК
1 1 1 0 1
1 1 0 0 0
1 0 1 0 0
0 1 1 0 0
1 1 1 0 1
Кількість одиниць у кожному рядку і кожному стовпці ІК є парною. Контрольні розряди зосереджені в нижньому рядку і в правому стовпці. Кожний інформаційний розряд ІК входить в склад двох ітерованих кодів з перевіркою на парність за рядками і стовпцями. Додаткове кодування за стовпцями значно підвищує імовірність виявлення помилок, оскільки серед сполучень помилок, які не виявляються кодом першого ступеня (рядків), буде мало таких, які не виявлялись би кодом другого
ступеня (стовпців). Отже, цим кодом гарантовано виявляються всі помилки непарної кратності, а також двократні помилки, тому одержаний ІК має кодову віддаль dmin = 4. Виявляються також більшість помилок парної кратності.
НЗК: 1509065
S1 = 6 + 5 = 11;
S2 = 6 + 5 + 0 = 11;
S3 = 9 + 0 + 6 + 5 = 20;
S4 = 0 + 9 + 6 + 5 = 20;
Закодувати одержану матрицю ітеративним кодом з d = 4
КК: 0010001001000100110100011010000000011000,
де 0010001001000100110100011010, 000000011000.
Здійснити декодування ІК з визначенням синдромів при відсутності і наявності помилок, обумовлених спотворенням одного, двох, трьох, чотирьох і шести елементів КК ІК , при чому ці спотворення мають бути такими, щоб показати переваги та недоліки ітеративного коду.
Без спотворень:
Спотворення в одному розряді:
Спотворення в двох розрядах:
Спотворення в трьох розрядах:
Спотворення в чотирьох розрядах:
Спотворення в шести розрядах:
Визначити основні параметри досліджуваного ІК: кількість контрольних розрядів, загальну кількість розрядів, надлишковість.
, ,
Порахувати загальну кількість чотирикратних помилок, що можуть виникати при передачі досліджуваного ІК, та чотирикратних помилок, які можуть бути виявлені цим кодом.
Кількість невиявлених помилок, що містять чотири спотворені розряди кодової комбінації, розташовані у вершинах прямокутника, можна визначити із виразу:
Загальна кількість чотиризначних помилок:
Тоді, кількість чотирикратних помилок, які можуть бути виявлені:
Скласти програму для кодування та декодування ІК
Висновки: На цій лабораторній роботі я вивчив принципи побудови ітеративних кодів, дослідив перетворення двійкового коду в двоступеневий ітеративний код та навчився формувати синдром помилки, одержав практичні навики розробки функціональних схем кодерів і декодерів. Усю лабораторну роботу та тестування я проводив у середовищі програми LogicWorks5. Під час виконання лабораторної роботи я не зіткнувся зі труднощами, уся робота була виконнана швидко та якісно, а також мої розрахунки зійшлися з промодульованими.