Приклади інверсного коду - студопедія

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

На другому етапі контрольні символи т порівнюються з символами k. і при наявності хоча б одного розбіжності вся передана комбінація п = k + m елементів бракується. Це поелементне порівняння еквівалентно підсумовування по модулю 2. При відсутності помилок в обох половинах символів повної кодової комбінації їх сума дорівнює нулю.

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

У першому варіанті спотворень немає і число одиниць в інформаційних символах k парне, тому проводиться підсумовування по модулю 2 з неінвертіруемимі символами т, що в результаті дає нульову суму. У другому варіанті число одиниць в символах k непарне, одиниця в п'ятому розряді спотворена, і символи т інвертовані. У третьому варіанті спотворення виникло в четвертому розряді групи т. Таким чином, з трьох варіантів лише перший виявився без спотворень, а другий і третій повинні бути забраковані через наявність розбіжності в групах символів k і m.

Коригувальні можливості інверсного коду досить великі. Цьому сприяє метод його побудови. Додавання т символів призводить до збільшення мінімального кодового відстані.

Після інвертування коригувальні можливості коду змінюються в залежності від числа розрядів вихідного двійкового коду. Так, якщо передаються всі комбінації звичайного двійкового коду з k = 2 (00, 01, 10 і 11), то цей непомехоустойчівий код, перетворюючись в інверсний (0000, 0110, 1001 і 1111), збільшує мінімальна кодова відстань до dmin = 2и дозволяє виявляти всі поодинокі помилки і 67% подвійних помилок.

Дійсно, в кожної комбінації може бути С4 2 = 6 подвійних помилок: так, комбінація 0000 при подвійних помилках набуде вигляду 1100, 0110, 0011, 1001, 1010 і 0101. При цьому тільки друге і четверте спотворення не можуть бути виявлені.

У трёхразрядного двійкового коду (000, 001. 111) після перетворення його в інверсний код кодове відстань збільшується до dmin = 3. Це означає, що такий код гарантовано виявляє все подвійні помилки. Крім того, він виявляє 80% потрійних і четверні помилок і все п'яти- і шестикратні помилки.

Чотирирозрядний двійковий код (0000, 0001. 1111) після перетворення його в інверсний код має dmin = 4. Він виявляє всі помилки в другому, третьому, п'ятому, шостому і сьомому символах, що не виявляє 22% чотирикратних помилок і зовсім не виявляє восьмикратні помилки.

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

4.7. Коди з виявленням
І ВИПРАВЛЕННЯМ ПОМИЛОК

Якщо кодові комбінації складені так, що відрізняються один від одного на кодове відстань d = 3, то вони утворюють коригувальний код, який дозволяє за наявною в кодової комбінації надмірності не тільки виявляти, але і виправляти помилки.

4.7.1. коди Хеммінга

Для побудови коду Хеммінга використовується інформаційна частина у вигляді двійкового коду на всі сполучення з числом інформаційних символів k. до якої додають контрольні символи т. Таким чином, загальна довжина повної кодової комбінації n = k + m.

Розглянемо послідовність кодування і декодування по Хеммінга.

Кодування кодом Хеммінга передбачає виконання наступних етапів.

1. Визначення кількості контрольних символів. Для цього можна скористатися наступними міркуваннями. При передачі по каналу з перешкодами при одиничному спотворенні може бути спотворений будь-який з п символів коду, всього буде n варіантів спотворених комбінацій. Код може бути переданий і без спотворень. Таким чином, при одиничному спотворенні може бути n + 1 варіантів передачі, включаючи передачу без спотворень. Використовуючи контрольні символи, необхідно розрізнити всі п + 1 варіантів. За допомогою контрольних символів m можна описати 2 m подій. Значить, має бути виконана умова

2 m ≥ n + 1 = k + m + 1. (4.3)

У нерівності (4.3) за відомою величиною k знаходиться число контрольних розрядів m, необхідних для побудови коду, здатного виявити і виправити вказану кількість помилок.

У табл. 4.13 представлена ​​залежність між k і т, отримана з нерівності (4.3).

Схожі статті