2Метод перемежування
При використанні завадостійких кодів в реальних каналах зв’язку виникають певні ускладнення, пов’язані, наприклад, з тим, що спотворення в повідомленнях найчастіше виникають не у вигляді поодиноких, а у вигляді пакетів (спалахів) спотворень (це явище групування спотворень).
Орієнтовну кількість (оцінку кратності) спотворень Nсп в повідомленні із загальною довжиною N символів можна найти з наступного виразу:
Nсп = NРсп, (1)
де Рсп
ймовірність спотворення одного двійкового
символу, яка визначається через
співвідношення сигнал/завада в даному
каналі передачі (в даному приймачі).
Тому, в разі використання корегуючих
кодів, які спроможні виявляти не більше
ніж
спотворень,
тобто при
≤ Nсп=
NРсп,
допустиму довжину повідомлення слід обмежувати величиною
Nдоп ≤ /Рсп.
Але такий підхід
не є продуктивним завжди, принаймні, з
двох причин. Перша полягає в тому, що
із-за групування впливів (завад) є
ймовірним групове спотворення (пакет
спотворень) при будь-якій довжині
повідомлення N,
а його довжина може перевищити можливості
коду
,
отже зменшення довжини повідомлення
скоріше за все не дасть бажаного ефекту.
По-друге, спроба передавання інформації
короткими повідомленнями може мати, як
наслідок, зменшення пропускної
спроможності каналу передачі даних.
Тому, для каналів з групуванням спотворень, часто застосовують метод перемежування символів, або декореляцію спотворень. Він полягає в тому, що символи, що входять в одну кодову комбінацію, передаються не послідовно друг за другом, а перемежовуються символами інших кодових комбінацій. З цією метою усі повідомлення перед передачею в канал зв’язку розбивають на певні кодові комбінації базові кодові слова (БКС), по відношенню до кожного з яких застосовують процедури завадостійкого кодування. З цих БКС формується узагальнене кодове слово (УКС) – кадр так, що символи, що входять в одне БКС, передаються не безпосередньо друг за другом, а перемежовуються символами інших БКС (здійснюється перекомпоновка повідомлень шляхом переміщеннями двійкових чи групових символів повідомлення).
При перемежуванні початкове перші λ символів вважаються першими символами кожного з λ базових кодових слів, другі λ символів вважаються другими символами і т.д.
А = α11, α21, … ,α λ1, α12, α22, … ,α λ2, ,α1n, α2n, …, αλn.
Технічно перемежування найчастіше реалізують шляхом запису усіх символів кадру по рядкам в матрицю, яка складається із λ рядків та n стовпчиків (технічно це − сукупність із λ n − розрядних регістрів), так що
М = λ·n,
і наступним читанням для видачі в канал − по стовпчикам. При прийманні інформація записується в таку ж матрицю. Нагадаємо, що n = m + k, де k, − контрольні символи.
Номери регістрів |
Розряди регістрів |
|||||
1 |
α11 |
α12 |
....... |
α1т |
… |
α2n |
2 |
α21 |
α22 |
....... |
α2т |
… |
α1n |
.............................................................................................................. |
||||||
λ −1 |
α (λ -1)1 |
α (λ -1)2 |
....... |
α(λ – 1)т |
… |
α(λ – 1)n |
λ |
α λ 1 |
α λ 2 |
....... |
αλт |
… |
αλn |
Для кожного із λ таких базових кодових слів розраховується своя контрольна ознака. Отримані таким чином λ контрольних ознак приформовуються до початкового повідомлення. Декодування здійснюється також по відношенню до кожного з λ базових кодових слів.
Кількість БКС в одному УКС прийнято називати глибиною перемежування λ. В каналі зв’язку за рахунок перемежування інтервал між символами, що входять в одне БКС, дорівнює (λ 1) символів.
Якщо інтервал між символами, що входять в одну комбінацію, зробити більше максимально можливої довжини групи спотворень, то в межах кожного із БКС групування спотворень не буде. Група спотворень розподілиться у вигляді поодиноких спотворень на групу БКС. Поодинокі спотворення в БКС будуть легко виявлені (виправлені) декодером.
Не важко показати, що при перемежуванні довільно розташований пакет спотворень довжиною в (λ–1)·λ + 1 символів завжди спотворить не більше ніж один із символів в кожному з λ базових кодових слів, що легко виправляється (див. зафарбовані символи в послідовності А та в таблиці).
Методика визначення глибини перемежування. Для визначення глибини перемежування λ скористаємось наступними міркуваннями. Врахуємо те, що:
1. При перемежуванні такої глибини довжина n кожного із базових кодових слів при використанні узагальненого кодового слова довжиною в N символів не буде перевищувати величини
n = N/λ.
2. Для кожного із БКС вираз (1) перетвориться на:
nсп = nРсп,
звідкіля із вимоги, що ця кількість спотворень не повинна перевищувати можливості коду із виявлення спотворень : nсп ≤ , неважко визначити допустиме значення довжини БКС n:
n ≤ [ / Рсп],
де позначка [х] означає обчислення цілої частини від х.
3. Визначення допустимих параметрів базового кодового слова. Знаючи довжину базового кодового слова n, неважко визначити потрібку кількість надлишкових символів k (або використати його задане властивостями коду значення) і визначити, таким чином, усі допустимі параметри базового кодового слова чи завадостійкого коду, тобто величини n, m, k.
4. Визначення глибини перемежування. Для цього врахуємо, що глибина перемежування λ повинна бути такою, що, в наслідок формування λ базових слів, в кожному із них могло б виникнути така кількість спотворень, яка не перевищує можливостей коду щодо їх виявлення, тобто
,
де,
в чисельнику величина
– загальна довжина повідомлення із
довжиною суто інформаційної частини М
та кількістю
надлишкових символів
за рахунок збільшення кожного із λ
базових кодових слів на k
надлишкових символи. Тоді вираз в
чисельнику означає кількість можливих
спотворень в усьому інформаційному
повідомленні після розбиття на λ базових
кодових слів і застосування до кожного
із них заданого чи обраного коду із
кількістю надлишкових символів k.
Із останнього виразу неважко отримати
.
(2)
В разі застосування кодів для виявлення чи для виявлення та виправлення поодиноких спотворень (коди Хеммінга, з контролем на парність та їм подібні) величину слід приймати такою, що = 1.
В разі ж застосування кодів для виявлення та виправлення групових спотворень величину слід визначати, виходячи із властивостей коду. Наприклад, для циклічного коду, в якому = k
За рахунок перемежування можна виявляти (та для певного класу кодів − виправляти) групи (пакети) спотворень довжиною в (λ 1) символ (біт).
