
- •Лабораторне заняття № 4.1. Дослідження методів стискаючого кодування
- •Завдання на лабораторну роботу Дослідження методів стискаючого кодування
- •Порядок виконання роботи
- •5. Дослідження алгоритму кодування в коді Шеннона-Фано
- •6. Дослідження алгоритму кодування в коді Хаффмена
- •Порядок виконання роботи
- •Сформувати вихідні дані для виконання роботи:
- •Порядок виконання завдання по дослідженню двійкового коду з перевіркою на парність чи на непарність (контроль по модулю 2).
- •Порядок виконання завдання по дослідженню двійкових матричних кодів.
- •Основні відомості з теорії завадостійкого кодування. Завадостійкі коди і їхні основні параметри
- •1 Принцип побудови завадостійких кодів
- •2 Двійкові коди з перевіркою на парність або на непарність (контроль по модулю 2)
- •Двійкові матричні коди
- •1. Сформувати вихідні дані для виконання роботи:
- •Порядок виконання завдання по дослідженню двійкового коду Хеммінга.
- •Порядок виконання завдання по дослідженню групового (лишково – Хеммінгового) коду (лхк):
- •Основні відомості з теорії завадостійкого кодування. Коди Хэмминга
- •4. Метод перемежування
- •Лабораторне заняття № 4.4. Дослідження процесів кодування і декодування дискретних повідомлень циклічними кодами
- •Завдання на лабораторну роботу Дослідження процесів кодування з використанням циклічних кодів
- •Порядок виконання завдання по дослідженню циклічного коду.
- •Лабораторне заняття № 5.1. Дослідження процесів корегування дискретних повідомлень циклічними кодами
- •Завдання на лабораторну роботу
- •Порядок виконання завдання по дослідженню корегуючого циклічного коду
- •Теоретичні відомості із корегуючих циклічних кодів
- •Алгоритми виявлення місця та величини спотворень
- •Лабораторне заняття № 5.3. Дослідження процесів кодування і декодування дискретних повідомлень згортальними кодами
- •Завдання на лабораторну роботу
- •1. Загальні відомості щодо згортальних кодів
- •Лабораторне заняття № 5.3. Методи захисту від спотворень з використанням передачі зі зворотним зв’язком. Оцінка впливу способів організації обміну в ткм на відносну швидкість та вірність передачі
- •3.1 Аналіз шляхів підвищення відносної швидкості передачі
- •3.2 Визначення вірності передачі даних
- •Залежність вірності передачі (цілісності) інформації в спд від стану каналу: 1 спд із коригуючим кодом, 2 спд із взз
- •1. Завдання на лабораторну роботу “Оцінка часу доставляння повідомлень”
- •Орієнтовні запитання колоквіуму
- •Порядок виконання роботи
- •Оцінка часу доставляння повідомлень для умов попередньої лабораторної роботи, коли:
- •Залежність часу доставки інформації від стану каналу: 1 спд із коригуючим кодом, 2 спд із взз та смп, 3 - спд із взз та пп, 4 - спд із взз та ап
- •2. Оцінка часу затримки повідомлень для умов попереднього завдання лабораторної роботи.
- •Залежність часу затримки доставки інформації від стану каналу: 1 спд із взз та смп, 2 - спд із взз та пп, 3 - спд із взз та ап
- •5. Методичні вказівки по проведенню заняття
- •Основні відомості з теорії. Оцінка впливу способів організації обміну в ткм на час доставляння повідомлень
- •Залежність часу доставки інформації від стану каналу: 1 спд із коригуючим кодом, 2 спд із взз Оч, 3 - спд із взз та пп, 4 - спд із взз та ап
- •Залежність часу затримки інформації від стану каналу: 1 взз із смп, 2 - взз із пп, 3 взз із ап
- •Лабораторне заняття № 5.5. Задачі забезпечення цілісності і доступності інформаційних об'єктів в обчислювальних мережах. Оцінка виграшу від перемежування та від кодування в каналах зв’язку
- •2. Орієнтовні запитання колоквіуму
- •3. Порядок виконання роботи
- •3.1. Оцінити необхідність застосування та глибину перемежування в каналах зв’язку для наступних варіантів завдань:
- •Методика визначення глибини перемежування
- •Методика визначення виграшу від кодування
Методика визначення глибини перемежування
При використанні завадостійких кодів в реальних каналах зв’язку виникають певні ускладнення, пов’язані, наприклад, з тим, що спотворення в повідомленнях найчастіше виникають не у вигляді поодиноких, а у вигляді пакетів (спалахів) помилок (це явище групування спотворень).
Орієнтовну кількість (оцінку кратності) спотворень Nсп в повідомленні із загальною довжиною N символів можна найти з наступного виразу:
Nсп = NРсп . (1)
В разі
Nсп > 1
та використанні корегуючих кодів, які спроможні виявляти не більше одного спотворення, допустиму довжину повідомлення слід обмежувати величиною
Nдоп ≤ 1/Рсп .
Але такий підхід не є продуктивним, принаймні, з двох причин. Перша полягає в тому, що із-за групування впливів (завад) групове спотворення (пакет спотворень) є ймовірним при будь-якій довжині повідомлення N, отже зменшення довжини повідомлення скоріше за все не дасть бажаного ефекту. По-друге, спроба передавання інформації короткими повідомленнями може мати, як наслідок, зменшення пропускної спроможності каналу передачі даних.
Тому, для каналів з групуванням спотворень при Nсп > 1 слід застосувати перемежування символів, або декореляцію спотворень. Якщо ж в інформаційному об’єкті можлива кількість спотворень не перевищує можливостей коду із виявлення спотворень Nсп ≤ 1, то здійснювати перемежування в такому випадку не має сенсу.
Перемежування полягає в тому, що символи, що входять в одну кодову комбінацію, передаються не послідовно друг за другом, а перемежовуються символами інших кодових комбінацій. З цією метою усе повідомлення розглядається як узагальнене кодове слово (УКС), яке перед передачею в канал зв’язку розбивають на певні кодові комбінації базові кодові слова (БКС), по відношенню до кожного з яких застосовують процедури завадостійкого кодування.
Кількість таких БКС λ в одному УКС має назву глибини перемежування. З цих БКС формується узагальнене кодове слово (УКС) так, що символи, що входять в одне БКС, передаються не безпосередньо друг за другом, а перемежовуються символами інших БКС (здійснюється перекомпоновка повідомлень шляхом переміщеннями двійкових чи групових символів повідомлення).
При перемежуванні початкове перші λ символів вважаються першими символами кожного з λ базових кодових слів, другі λ символів вважаються другими символами і т.д.
А = α11, α21, … ,α λ1, α12, α22, … ,α λ2, ,α1n, α2n, αλn.
Технічно перемежування найчастіше реалізують шляхом запису усіх символів кадру по рядкам в матрицю, яка складається із λ рядків та n стовпчиків (технічно це − сукупність із λ n − розрядних регістрів), так що
N = λ·n,
і наступним читанням для видачі в канал − по стовпчикам.
Номери регістрів |
Розряди регістрів |
|||
1 |
α11 |
α12 |
....... |
α1n |
2 |
α21 |
α22 |
....... |
α2n |
.............................................................................................................. |
||||
λ −1 |
α (λ -1)1 |
α (λ -1)2 |
....... |
α(λ – 1)n |
λ |
α λ 1 |
α λ 2 |
....... |
αλn |
Для кожного із λ таких базових кодових слів розраховується своя контрольна ознака. Отримані таким чином λ контрольних ознак приформовуються до початкового повідомлення. Декодування здійснюється також по відношенню до кожного з λ базових кодових слів.
В каналі зв’язку за рахунок перемежування інтервал між символами, що входять в одне БКС, дорівнює (λ 1) символів. Якщо інтервал між символами, що входять в одну комбінацію, зробити більше максимально можливої довжини групи спотворень, то в межах кожного із БКС групування спотворень не буде. У цьому випадку спалах спотворень розподілиться на поодинокі спотворення в кожному БКС. Поодинокі спотворення в БКС будуть легко виявлені (виправлені) декодером.
Не важко показати, що при перемежуванні довільно розташований пакет спотворень довжиною в (λ–1)·λ + 1 символів завжди спотворить не більше ніж один із символів в кожному з λ базових кодових слів, що легко виправляється (див. зафарбовані символи в послідовності А та в таблиці).
Для визначення глибини перемежування λ скористаємось наступними міркуваннями. По-перше, довжина n кожного із БКС при використанні УКС довжиною в N символів не перевищує величини
n = N/λ. (2)
По-друге, для кожного із БКС вираз (1) перетвориться на:
nсп = nРсп , (3)
звідкіля неважко визначити допустиме значення довжини БКС – n:
n = [nсп / Рсп ],
де позначка [х] означає обчислення цілої частини від х, а після підстановки величини n із останнього рівняння в (2), неважко отримати значення глибини перемежування у вигляді:
λ = N/[nсп / Рсп ].
Оскільки при використанні останнього виразу значення λ буде отриманим у вигляді дробового числа, для практичного застосування можна використовувати вираз:
λ ≥ [N/(nсп / Рсп )] = [NРсп /nсп].
В разі застосування кодів для виявлення чи для виявлення та виправлення поодиноких спотворень (коди Хеммінга, з контролем на парність та їм подібні) величину nсп слід приймати такою, що nсп = 1.
В разі ж застосування кодів для виявлення та виправлення групових спотворень величину nсп слід визначати, виходячи із властивостей коду.
В разі завдання в якості вихідних даних значення не загальної довжини повідомлення (УКС) N, а довжини інформаційної частини повідомлення, яку слід кодувати даним кодом, М, для визначення глибини перемежування λ скористаємось умовою, що глибина перемежування λ повинна бути не меншою ніж кількість спотворень Nсп, які можуть виникнути в повідомленні загальною довжиною (М + λ·k) символів, де k кількість надлишкових символів в одному базовому кодовому слові. Оскільки ця кількість може бути розрахована як
Nсп = Рсп · (М + λ·k),
то
λ ≥ Рсп · (М + λ·k),
звідкіля як λ слід брати найменше із цілих чисел, які задовольняють виразу
λ ≥ Рсп · М /(1 Рсп · k).
За рахунок перемежування можна виявляти (та для певного класу кодів − виправляти) групи (пакети) спотворень довжиною в (λ 1) символ (біт).