Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Узагальнені завадостійкі лишково – Хеммінгові коди




Завадостійкі коди. Перемежування та виграш від кодування

Лекція № 1.4

Теорія інформації

 

 

 

Вступ

В попередніх лекціях розглянуті найбільш відомі двійкові коди: контроль на парність (на непарність), матричні, Хеммінга та циклічні коди, які надають змогу виявляти чи виявляти та виправляти спотворення окремих двійкових символів при умові наявності одного із спотворень в інформаційному блоці – базовому кодовому слові (БКС). Окрім того, уже розглянуто декілька узагальнених кодів, які, використовуючи алгоритми відомих двійкових, надають змоги виявляти чи виявляти та виправляти спотворення груп (пакетів) двійкових символів при умові наявності спотворень в одному із узагальнених символів інформаційного блоку – в базовому кодовому слові: зокрема контрольне додавання та лишкові – матричні коди.

Сьогодні буде розглянуто ще один із таких узагальнених кодів − лишково – Хеммінгів код. Окрім того, розглянемо ситуацію, коли, в силу тих чи інших обставин, пакет спотворень перевищить можливості відомих чи доступних кодів. Тоді якимось чином слід звести ситуацію до можливостей застосування уже відомих кодів. Тобто, розглянемо так званий метод перемежування.

Окрім блокових кодів, які мають обмежену довжину, тобто застосовуються по відношенню до БКС, досить широке розповсюдження мають безперервні коди, одним із представників яких є так звані згортальні коди.

Нарешті, в лекції розглянемо те, до чого в решті решт призводить застосування усіх завадо стійкових кодів – виграш, який забезпечує застосування завадостійкого кодування.

Лекція № 1.4 − “ Завадостійкі коди. Перемежування та виграш від кодування ”. В лекції будуть розглянуті наступні учбові питання:

1. Узагальнені завадостійкі лишково – Хеммінгові коди. 3

2. Метод перемежування. 6

3. Згортальні двійкові коди. 9

4. Виграш від кодування. 16

 

 

 

У лишково - Хеммінгових (ЛХ) кодах, як і при контрольному додаванні, двійкові базові кодові слова розбиваються на n b − розрядних узагальнених символів і записуються у вигляді α1, α2,..., αn, де α i ≤ 2 b – 1, а
N = bn. Так само, як і в двійковому коді Хеммінга (класична форма запису коду) узагальнені символи з номерами 2 j (j = 0, 1,…) є перевірочними, решта символів - інформаційні. Причому для отримання перевірочних символів при кодування використовується алгоритм, аналогічний алгоритму для двійкового коду Хеммінга, тобто для отримання першого перевірочного символу необхідно скласти по деякому модулю (одержати лишки) всі узагальнені символи, що мають в коді свого номера одиницю в першому (молодшому) розряді; для отримання другого перевірочного символу - скласти по модулю усі символи, що мають в коді свого номера одиницю в другому розряді і т.д.

Як модуль для отримання контрольних символів необхідно використовувати величину s = 2 b, тобто

α1 = {α3 + α5 + α7 + ………………} s ,

α2 = {α3 + α6 + α7 + …………} s ,

………………………………

При декодування зберігається той же алгоритм розрахунку перевірочних α i символів, що і при кодуванні. Знов одержані перевірочні символи порівнюються з відповідними перевірочними символами, обчисленими при кодувань. При їх відповідності робіться висновок про відсутність спотворення, в решті випадків - про наявність спотворення.

Якщо приписати результатам порівняння значення 0, а результатам не порівняння - значення 1, то одержана сукупність нулів і одиниць утворює код, який також, як і в двійковому коді Хеммінга, є номером спотвореного символу.

Приклад. Хай необхідно закодувати ЛХ-кодом восьми розрядну
(N = 8) послідовність 10001101 Якщо код орієнтований на виправлення двократних спотворень, то b = 2, а s = 4. Кількість узагальнених символів
n = N / b = 4 (10.00.11.01). Відомо, що при цьому потрібно три перевірочні символи α1, α2, α4, а інформаційними символами є α3 = 10, α5 = 00, α6 = 11,
α7 = 01: 00. 00. 10. 00. 00.11.01.

Для отримання першого перевірочного символу складемо по модулю чотири α3, α5, α7 (00.00. 10. 00. 00. 11. 01).

α1 = {α3 + α5 + α7}4 = 11

Аналогічно цьому

(00.00. 10. 00.00. 11. 01)

α2 = {α3 + α6 + α7}4 = 00,

(00.00.10.00. 00. 11. 01)

α4 = {α5 + α6 + α7}4 = 10.

Після кодування одержано код

11. 00. 10. 10. 00. 11 01 = α1, α2, α3, α4, α5, α6, α7,

який повинен бути записаним в ЗП, переданим в канал зв’язку і т.д.

Хай зчитаний або прийнятий з каналу зв’язку код має спотворення у п’ятому символі:

α1, α2, α3, α4, ά5, α6, α7 = 11. 00. 10. 10. 10. 11 01.

Після обчислення нових контрольних символів, одержимо

α1 = {α3 + ά5 + α7}4 = 01

α2 = {α3 + α6 + α7}4 = 00,

α4 = {ά5 + α6 + α7}4 = 00.

Результати порівняння дадуть код 101, оскільки перший а третій перевірочні символи не співпадають. Це свідчить об виявлення помилки в п’ятому символі, що і було насправді.

Неважко визначити і величину спотворення. Насправді, будь-який з перевірочних символів, наприклад αi, при спотворенні будь-якого інформаційного, наприклад αj, що приймає участь у формуванні символу αi, має величину

άі = {αc + αd + …… + { αj + Δαj } + ……}s = { αі + Δαj } s. (1)

Звідки

Δαj = {άi − αi} s . (2)

Для вищерозглянутого прикладу

Δα5 = {ά1 – α1}4 = {01 − 11}4 = 10

або

Δα5 = {ά4 – α4}4 = {00 − 10}4 = 10.

Знаючи величину (άi) і місце спотворення (i), легко здійснити корекцію, оскільки з (2) слідує

Αi = { άi − Δαj } s .

У нашому прикладі

α5 = {ά5 – Δα5}4 = {10 – 10}4 = 00.

Алгоритм декодування ЛХ − коду може бути спрощеним, якщо при кодуванні замість перевірочних символів αi в записану або передану послідовність записувати величину

Δα і = { s − Δαj } s.

а при декодуванні використовувати алгоритм, повністю відповідний алгоритму Хеммінга, тобто включати в перевірку і необхідні перевірочні символи.

Для вже розглянутого прикладу Δα1 = 11, Δα2 = 00, Δα4 = 10 необхідно записати (передати) код

α1, α2, α3, α4, α5, α6, α7 = 11. 00. 10. 10. 00. 11. 01.

Якщо зчитано або прийнято слово з тим же спотворенням, що і раніше, тобто

α1, α2, α3, α4, ά5, α6, α7, = 11. 00. 10. 10. 10. 11 01,

то після декодування отримаємо

Δ α 1 = { α 1 + α3 + ά5 + α7}4 = 10,

Δ α 2 = { α 2 + α3 + α6 + α7}4 = 00,

Δ α 4 = { α 4 + ά5 + α6 + α7}4 = 10.

При цьому, якщо відмінним від нуля перевірочним символам приписати значення 1, а іншим - код 0, то одержимо код і = 101, що визначає місце спотворення, величина якого дорівнює значенню будь-якого ненульового перевірочного символу. Для розглянутого прикладу величина спотворення
Δαі = 10, корекція якого нескладна.

 

 




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 557; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.