![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Розділ 17. Коректуючі коди
17.1. ОСНОВНІ ПАРАМЕТРИ КОРЕКТУЮЧИХ КОДІВ
Одним із засобів підвищення якості передавання повідомлень дискретними каналами зв'язку із завадами є застосування коректуючих кодів, які дають змогу виявляти та виправляти помилки, що виникають через завади в каналі. Скільки ж помилок може виявити та виправити код? За теоремою Шеннона (див. § 18.2) у разі продуктивності джерела Принцип побудови коректуючих кодів досить простий. Із загальної кількості Коректуючий код характеризується такими параметрами, як коректуюча здатність, хеммінгова віддаль, кодова віддаль, вага кодової комбінації та відносна швидкість коду. Коректуюча здатність коду - це гарантована кількість (кратність) помилок у кодовій комбінації, що виявляються або виправляються заданим кодом. Позначається кратність помилок так: код виявляє в кодовій комбінації Хеммінгова віддаль
незбіжні в трьох розрядах (позначені пунктиром). І тому хеммінгова віддаль у сумі за модулем два (mod 2) цих двох кодових комбінацій. Нагадаємо правило додавання за модулем два: Кодова віддаль - це щонайменша хеммінгова віддаль для заданого коду. Перебираючи всі можливі пари дозволених кодових комбінацій і розраховуючи для них Вага кодової комбінації Відносна швидкість коду
17.2. ПРИНЦИПИ ПОБУДОВИ КОРЕКТУЮЧИХ КОДІВ
Схема ввімкнення кодера і декодера коректуючого коду в систему передачі дискретних повідомлень двійковими кодами показана на рис. 19.1. До входу кодера надходить послідовність двійкових символів
![]()
Прийнята кодова комбінація Декодування з виявленням помилок. Методика виявлення помилок під час декодування досить проста: прийнята кодова комбінація порівнюється по черзі з усіма дозволеними, і якщо вона не збігається ні з однією з них, то виноситься рішення про наявність помилок. Для виявлення помилок певної кратності кодова віддаль між будь-якими дозволеними кодовими комбінаціями має бути достатньою для того, щоб у разі зміни одного чи кількох символів у них через помилки не виникала знову дозволена кодова комбінація. Отже, для виявлення помилок кодова віддаль
Нагадаємо, що помилка кратності Декодування з виправленням помилок. У кодах із виправленням помилок пред'являються більш жорсткі вимоги до кодової віддалі між дозволеними кодовими комбінаціями. Виправлення помилок можливе також тільки в тому випадку, коли передана дозволена кодова комбінація через помилки переходить у заборонену. Рішення про те, яка кодова комбінація передавалась, приймається в декодері на основі порівняння прийнятої забороненої кодової комбінації з усіма дозволеними. Прийнята заборонена кодова комбінація ототожнюється з тією дозволеною, до якої вона більш за все подібна, тобто з тією, від якої вона відрізняється меншим числом символів. За цим правилом, для виправлення помилок кратністю
Співвідношення (19.3) та (19.4) є основними для визначення коректуючої здатності коду, оскільки вони дають змогу при заданій кодовій віддалі знайти кратність помилок, що виявляються Умовно віддаль між трьома дозволеними кодовими комбінаціями b1, b2, b3 показана прямими лініями, на яких через інтервал
Кількість перевірних символів коректуючого коду. Точної формули для розрахунків кількості додаткових перевірних символів для заданого числа інформаційних символів
де Розрахунками на ЕОМ встановлено, що формула (19.6), яку називають межею Варшамова-Гільберта, дає дещо завищені, але дуже близькі до точних значення. У табл. 19.1 наведені дані розрахунків за формулою (19.6) для числа інформаційних символів у кодовій комбінації 1) при зростанні кодової віддалі і, відповідно, коректуючої здатності коду різко підвищується кількість перевірних символів, значно зменшується відносна швидкість коду 2) для утворення доброго коректуючого коду (виправляє дві і більше помилок) при відносній швидкості 19.1. Кількість перевірних символів у кодовій комбінації (верхня межа Варшамова-Гільберта)
Значна кількість інформаційних символів у кодовій комбінації доброго коректуючого коду накладає технічні труднощі на наведену вище процедуру декодування - порівняння прийнятої кодової комбінації з усіма дозволеними. Це добре показує приклад 19.4. Як видно з прикладу 19.4, задача декодування звичайним перебором і порівнянням не під силу навіть сучасним ЕОМ (і, можливо, ЕОМ майбутнього), тому на практиці набули розповсюдження такі методи кодування й декодування, що не потребують перебору та порівняння і мають допустиму складність при реалізації. Синдромне декодування. Синдромний метод декодування базується на простому правилі: для виправлення помилок необхідно знати не лише факт їх існування, але й місцезнаходження. Тому під синдромом коду розуміють контрольне число Чи досить знання синдрому для виправлення помилок? У загальному випадку - ні. Необхідно ще знати, на які символи потрібно замінити помилково прийняті. Проте для двійкових кодів виправлення помилок провадиться єдиним способом - інверсією символів (0 замінюється на 1 і, навпаки, 1 - на 0). Тому знання синдрому є необхідною і достатньою умовою для виправлення помилок у двійкових кодах. Таким чином, синдромне декодування двійкових кодів зводиться до пошуку тим чи іншим способом синдрому, за яким виявляються або виправляються помилки. Десятки запропонованих до цього часу коректуючих кодів і відрізняються саме методами формування перевірних символів та знаходження синдрому при декодуванні. Класифікація коректуючих кодів. Згідно з основними параметрами й методами кодування коректуючі коди можна поділити на блокові та неперервні. Блокові коди характерні тим, що послідовність інформаційних символів поділяється на блоки довжиною Різновидом як блокових, так і неперервних кодів є роздільні та нероздільні коди. У роздільних кодах завади можна визначити, де інформаційні та де перевірні символи. У нероздільних кодах це неможливо. Роздільні коди, у свою чергу, можуть бути систематичними або несистематичними. Систематичними називаються коди, в яких сума за модулем два двох дозволених кодових комбінацій дає знову дозволену кодову комбінацію. Крім того, у систематичному коді інформаційні символи, як правило, не міняються при кодуванні і займають певні раніше визначені місця. Перевірні символи знаходяться як лінійна комбінація інформаційних. Звідси і друга назва систематичних кодів -лінійні. Для систематичних кодів використовується позначення – Правила (алгоритми) побудови деяких двійкових коректуючих кодів, що найчастіше вживаються, наведені в § 17.3 - 17.5. Схемна реалізація кодера та декодера цих кодів здійснюється на базі логічних елементів обчислювальної техніки і розглядається в спеціальних дисциплінах (телеграфія і передача даних, імпульсна техніка). 17.3. КОДИ З ПОСТІЙНОЮ ВАГОЮ
Усі дозволені кодові комбінації двійкового коду з постійною вагою мають однакову кількість одиниць. Нагадаємо (див. § 19.1), що вага коду - кількість одиниць у двійковій кодовій комбінації. Коди з постійною вагою відносяться до класу блокових нероздільних кодів; тому що в них неможливо знайти окремо інформаційні та перевірні символи. Типовим прикладом коду з постійною вагою є семирозрядний телеграфний код № З (МТК-3), рекомендований Міжнародним консультативним комітетом із телефонії й телеграфії (МККТТ) для використання в системах зі зворотним зв'язком із метою виявлення помилок. Вага коду дорівнює трьом, отже, кожна дозволена кодова комбінація має три одиниці й чотири нулі. У МТК-3 з усієї кількості кодових комбінацій М=128 дозволеними є тільки Знаходження помилок при декодуванні кодів із постійною вагою зводиться до визначення їх ваги (підрахунку кількості одиниць). Наприклад, легко знайти, що із трьох прийнятих кодових комбінацій коду МТК-3: 1011000, 1101010, 0101010 - помилки є в другій, оскільки її вага
17.4. КОД ІЗ ПАРНИМ ЧИСЛОМ ОДИНИЦЬ
Це систематичний Якщо розряди кодових комбінацій пронумерувати справа наліво і символи в цих розрядах позначити для ненадлишкового коду
і синдром
де, як і раніше, значок У разі будь-якої однократної помилки (байдуже, в інформаційному чи перевірному символах) синдром 8 не дорівнює нулю, і тим самим помилка виявляється. Порушення парності має місце в разі появи не тільки однократних помилок, але й помилок непарної кратності, що дає можливість їх виявляти. Поява парних помилок не міняє контрольної суми
17.5. ЦИКЛІЧНІ КОДИ
Циклічні коди належать до систематичних кодів і назву дістали внаслідок певної своєї властивості: циклічне переставлення дозволеної кодової комбінації дає знову дозволену. При циклічному переставленні символи кодової комбінації переміщуються зліва направо на один розряд, а крайній правий символ переноситься на місце крайнього лівого. Наприклад, із У теорії циклічних кодів усі перетворення кодових комбінацій виконуються у вигляді математичних операцій над поліномами (многочленами). Для цього кодові комбінації зображуються у формі поліномів. Так, кодова комбінація
Запис полінома, як правило, спрощують, випускаючи співмножники Операції над поліномами. При формуванні кодових комбінацій циклічного коду і знаходженні синдрому використовуються такі математичні операції, як додавання, віднімання, множення і ділення поліномів. Вони виконуються за звичайними арифметичними правилами, тільки додавання виконується за модулем два. а віднімання замінюється додаванням. Покажемо виконання цих операцій на конкретних прикладах раніше наведених поліномів
Формування дозволених кодових комбінацій. Дозволені кодові комбінації циклічного коду мають важливу ознаку: всі вони без остачі діляться на поліном
У теорії циклічних кодів доводиться, що породжуючими поліномами можуть бути тільки поліноми, які є дільниками двочлена
Date: 2016-02-19; view: 1593; Нарушение авторских прав |