ТОП 10:

Двійкові коди, що виявляють помилки



Код із перевіркою на парність

Це найпоширеніший код, який застосовується для виявлен­ня поодиноких помилок і всіх помилок непарної кратності. Код містить (n - 1) інформаційних й один перевірний елемен­ти, належить до систематичних кодів і позначається як (n, n - 1)-код.

Перевірний елемент коду визначається сумою за модулем 2 всіх інформаційних елементів:

тобто він утворюється доповненням комбінації k-елементного первинного коду одним елементом таким чином, щоб кількість одиниць у новому n-розрядному (n = k +1) коді була парною. Кодова відстань dmin = 2.

Для виявлення помилки на приймальному боці перевіряють на парність усю прийняту кодову комбінацію, визначаючи ко­довий синдром

де - прийняті на приймальному боці відповідно інфор­маційні та перевірний елементи.

Вважається, що при s1 = 0 помилки в комбінації немає, а при s1 = 1 помилка є. Надмірність коду визначається виразом

Rнад = 1-k / (k+1) = 1 / (k+1).

 

Код із перевіркою на непарність

Цей код відрізняється від попереднього тим, що кожна його комбінація має непарну кількість одиниць, тобто додатковий перевірний елемент формують, виходячи з кількості одиниць у початковій кодовій комбінації: при парній кількості перевір­ний елемент дорівнює одиниці, а при непарній - нулю.

Для виявлення помилки в кодовій комбінації на приймаль­ному боці її перевіряють на непарність. Код є подільним зав­довжки n - 1 інформаційних й один перевірний елементи; він може так само виявляти помилки та має надмірність, як і код із перевіркою на парність.

Код із простим повторенням

Код із простим повторенням (без інверсії) є подільним ліній­ним кодом. Він містить k інформаційних і r = k перевірних еле­ментів. У цьому коді r перевірних елементів є простим повторен­ням k інформаційних елементів первинної кодової комбінації: bі = аi, де i = 1.. .k.

Через те, що код має відстань dmin = 2, він може використовува­тися для виявлення поодиноких помилок. Ця процедура зво­диться до порівняння однойменних інформаційних і перевір­них елементів у прийнятій кодовій комбінації. Незбіг їх свід­чить про наявність помилок у ній. Код дає змогу виявити не тільки однократні помилки, а й деякі помилки більшої крат­ності, за винятком “дзеркальних”, коли в інформаційній та пе­ревірній послідовностях кодової комбінації внаслідок дії завад спотворюються елементи, що знаходяться на однакових за но­мером розрядах.

Надмірність коду визначається виразом

Rнад = 1-k / (2k) = 1 / 2.

Інверсний код

Інверсний код (із повторенням та інверсією) є подільним лі­нійним кодом, який має k інформаційних і стільки ж перевір­них елементів. Його відмінність від попереднього коду полягає в тому, що значення перевірних елементів у ньому залежать від значення суми за модулем 2 всіх інформаційних елементів. За умови тобто при парній кількості одиниць у почат­ковій кодовій комбінації, перевірні елементи просто повторюють інформаційні де (bі = аi, де i = 1.. .k),а за умови , тобто при непарній кількості зазначених одиниць, перевірні еле­менти повторюють інформаційні й інвертованому вигляді (в оберненому коді): bі = аi 1, де i = 1.. .k.

Для виявлення помилок на приймальному боці в послідов­ності, що складається з 2k елементів, спочатку підсумовують одиниці, які знаходяться в перших k елементах. Якщо їх кіль­кість парна, то решту k елементів приймають у позитиві. Обид­ві зареєстровані частини комбінації поелементно порівнюють (перший елемент із першим, другий - з другим і т.д.). За наяв­ності хоча б одного незбігу вся послідовність елементів браку­ється.

Якщо кількість одиниць серед перших k елементів непарна, то решту k елементів приймають у негативі (інвертують), після чого поелементно порівнюють їх. Наявність незбігу призводить до відбраковування всіх 2k елементів. Така побудова коду дає змогу виявляти майже всі випадки спотворення його елемен­тів, крім двократних “дзеркальних” помилок.

Надмірність коду визначається виразом

Rнад = 1-k / (2k) = 1 / 2.

Кореляційний код

У цьому коді кожний розряд двійкового початкового коду за­писується у вигляді двох елементів: 0 - як 01, а 1 - як 10. Так, початковій кодовій комбінації 010011 відповідатиме комбінація 011001011010 кореляційного коду. В технічній літературі такий двійковий запис дуже часто називається Манчестер-кодом.

Приймальний пристрій в кожному такті, що складається з двох сусідніх елементів кореляційного коду, має зафіксувати перехід 0 → 1 або 1 → 0. У разі прийняття двох нулів або оди­ниць приймальний пристрій фіксує наявність помилки.

Кореляційний код дає змогу виявляти помилки будь-якої кратності, але не здатний виявити двократні “дзеркальні” по­милки, коли сусідні елементи одного такту під впливом завад змінюються на протилежні за значенням.

Надмірність коду визначається виразом

Rнад = 1-k / (2k) = 1 / 2.

До переваг кореляційного коду, крім відсутності постійної складової в напрузі кодового сигналу при передачі кодової комбінації по каналу зв'язку, можна віднести також можливість самосинхронізації генератора приймача, оскільки прийняття кожного біта супроводжується фронтом сигналу, що прийма­ється, в центрі біта.

 

Код зі сталою вагою

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

де т - кількість одиниць у кодовій комбінації .завдовжки п.

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

Код зі сталою вагою має мінімальну кодову відстань dтіп = 2. Він виявляє всі помилки непарної кратності, а також усі помилки парної кратності, що призводять до порушення умови т = const.

Надмірність коду визначається виразом

Порівняно з кодом із простим повторенням цей код при мен­шій його надмірності дає змогу виявляти помилки тієї самої кратності.

 







Последнее изменение этой страницы: 2017-02-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.234.241.200 (0.007 с.)