у з «парних» елементів.
Перешкодостійкість коду з подвоєнням елементів вище завадостійкості коду з парним числом одиниць. Це досягнуто за рахунок збільшення надмірності коду і ускладнення процедури перевірки коду.
2.2.3 Інверсний код
В основу побудови інверсного коду покладено метод повторення вихідної кодової комбінації. Причому в тих випадках, коли вихідна комбінація містить парне число одиниць, другий комбінація в точності повторює початкову. Якщо ж вихідна комбінація містить непарне число одиниць, то повторення виробляється в інверсному вигляді. Наприклад, комбінація 01010 і 01110 інверсним кодом представляються як 0101001010 і 0111010001.
Перевірка кодової комбінації проводиться в такій послідовності. Спочатку підсумовуються одиниці, що містяться в основний комбінації. Якщо їх число виявиться парних, то елементи додаткової комбінації приймаються в неіменну вигляді. Після цього обидві комбінації порівнюються (перший елемент з першим, другим з другим і т.д.) і при виявлення хоча б одного неспівпадання прийнята комбінація блокується.
Якщо ж кількість одиниць основної комбінації непарне, елементи другого комбінації приймаються в інверсному вигляді. Потім, як і в попередньому випадку, основна і додаткова комбінації приймаються в інверсному вигляді. Потім, як і в попередньому випадку, основна і додаткова комбінації порівнюються.
Код дозволяє виявити практично всі помилки в комбінації. Помилки не будуть виявлені лише тоді, коли одночасно спотворяться два, чотири і т. Д. елемента у вихідній комбінації і відповідні два, чотири і т.д. елемента додаткової комбінації. З розглянутих кодів інверсний код володіє найбільшою завадостійкістю.
2.3 Коди з виявленням і виправленням помилок
2.3.1 Коди Хеммінга
Відомо кілька різновидів коду Хеммінга, якi характеризуються різною коректує здатністю. До цих кодів зазвичай відносять коди з виправленням однократних помилок і коди з виправленням одноразових та виявленням дворазових помилок.
Код Хеммінга, що забезпечує виправлення всіх одноразових помилок, повинен мати мінімальне кодова відстань dmin=3. Код будується таким чином, щоб у результаті p=nk перевірок вийшло двійкове число, яке вказує номер позиції з перекручуванням в кодової комбінації. Для цього перевірочні символи повинні знаходитися на номерах позицій, які виражаються ступенем двійки, так як кожен з них входить тільки в одне з перевірочних рівнянь. Таким чином, якщо нумерувати позиції зліва на право, то контрольні символи повинні знаходитися на першій, другій, четвертій і т. Д. позиціях.
Результат першої перевірки дає цифру молодшого розряду синдрому в двійковій запису. Якщо результат цієї перевірки дасть 1, то один із символів перевірочної групи спотворений. Таким чином, першою перевіркою повинні бути охоплені символи з номерами, що містять в двійковій запису одиниці в першому розряді: 1,3,5,7,9 і т. д. Результат другої перевірки дає цифру другого розряду синдрому. Отже другий перевіркою повинні бути охоплені символи з номерами, що містять в двійковій запису одиниці в другому розряді: 2,3,6,7,10 і т. д.
Аналогічно при третій перевірці повинні перевірятися символи, номери яких в двійковій записи містять одиницю в третьому розряді: 4,5,6,12 і т. д.
Таким чином, перевірочні групи повинні мати вигляд:
S1=a1 + a3 + a5 + a7 + a9 + ....
S2=a2 + a3 + a6 + a...