ийому в процесі кодування (декодування), причому в цю таблицю вносяться лише такі дедалі довші відрізки переданого повідомлення, які ще не зустрічалися раніше. Кожному відрізку в таблиці присвоюється свій номер.
Вихідні дані:
Варіант 19.
Чотири десяткових числа, задані керівником, представлені в таблиці 2.8.
Таблиця 2.8 - Задані числа
ВаріантДанние1917422729
Рішення:
. 3.1 Подання заданих чисел рівномірним двійковим кодом
У таблиці 2.9 показані двійкові коди відповідних чисел.
.
Таблиця 2.9 - Представлення в двійковому вигляді
Десяткове чісло17422729Двоічний код010001101010011011011101
. 3.2 Кодування кодом Лемпела-Зива
Вхідна послідовність кодера: 010001 101010 011011 011101
У таблиці 2.10 показані послідовності двійкових символів на вході і виході кодера, де підкреслені символи знаходяться в словнику (вхідні комбінації) або взяті з неї (вихідні коди).
Таблиця 2.10 - Послідовності двійкових символів на вході і виході кодера
Вх_0_1 0001101010011011011101Вих0000000001000100001100100010110011101101010010110
Таблиця 2.11 являє собою словник. У кодуванні йде запис словника.
Розглянемо докладніше. На кодер перше надходить «_0», так як до цього не було на вході сигналу, на виході буде «0000» зі словника і вхідний «0», який подається на вихід (тобто «00000»), при цьому нуль записується в словник (код «0001»). Далі на вході «_1», якого немає в словнику. З ним кодер надходить також як і з нулем, але символ в словник вже записується під іншим кодом. На вході третього символ - «0». Так як код даного символу присутній в словнику, він переходить до наступного символу послідовності (також «0»), тобто на вході вже «00». Остання комбінація записується в словник («+0011»), а на вихід подається «00010»: код першого нуля зі словника і другий нуль. Решта комбінації кодуються таким же чином, при цьому кодована комбінація збільшується.
Таблиця 2.11 - Словник
КомбінаціяКод - 0000000011001000001101010010010110101100010111101110000111001
. 3.3 Декодування кодом Лемпела-Зива
Вхідна послідовність декодера:
00001 00010 00011 00100 01011 00111 01101 01001 0110
У таблиці 2.12 показані послідовності двійкових символів на вході і виході декодера, де підкреслені символи знаходяться в словнику (вхідні коди) або взяті з неї (вихідні комбінації).
Таблиця 2.12 - Послідовності двійкових символів на вході і виході декодера
Вх0000000001000100001100100010110011101101010010110Вых_0_10001101010011011011101
Принцип декодування у великому рахунку не відрізняється від кодування. Різниця в тому, що при декодуванні йде зчитування зі словника. В даному випадку вхідна послідовність буде розглядатися по п'ять символів: перші чотири комбінації порівнюються зі словниковим кодом, і на вихід подається відповідна комбінація з нього, а останній, п'ятий, йде на вихід декодера.
Висновки:
При кодуванні коротких повідомлень код Лемпела-Зива збільшує надмірність. Однак, асимптотично (при збільшенні довжини повідомлення) надмірність прагне до нуля.
Всі розглянуті вище методи - це універсальні методи, що дозволяють кодувати будь-яке цифрове повідомлення без втрати інформації. Ці методи кодування уникають неоднозначності коду, тобто слідують умові, яке свідчить: жодне кодове слово не повинно бути початком іншого, більш довгого.
3. Індивідуальне завдання 3
. 1 Завдання 1. Коригувальні коди
Рядки виробляє матриці лінійного блокового -кода - це три розрядні комбінацій (молодший розряд - праворуч), які в двійковій формі представляють десяткові числа,,. Знайти: кодова відстань, максимальні кратності гарантовано виявляти і виправляти помилок. Закодувати двійкову комбінацію, відповідну десятковому числу, і двійкову комбінацію на виході кодера представити у формі десяткового числа.
Примітка: верхній рядок виробляє матриці відповідає молодшому розряду комбінації на вході кодера.
Теоретичні відомості:
Фізична середу, по якій передаються дані, не може бути абсолютно надійною. Більше того, рівень шуму буває дуже високим, наприклад, в бездротових системах зв'язку і телефонних системах. У результаті перешкод можуть зникати біти або навпаки - з'являтися зайві. ...