Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 4.4 Ілюстр.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
326 Кб
Скачать
☆
  1. Двійкові коди з перевіркою на парність або на непарність (контроль по модулю 2)

Як відомо, у загальному випадку, вираз для розрахунку контрольної ознаки має вигляд:

(mod Р), (5)

де Р – значення обраного модуля. В коді з контролем по модулю 2 додавання здійснюється порозрядно, тобто , додавання здійснюється за модулем Р = 2, для усіх значень і.

При побудові таких кодів передана послідовність символів розбивається на групи – базові кодові слова (БКС). У найпростішому випадку при кодуванні в кожному базовому кодовому слові розраховується контрольна ознака (контрольний біт) шляхом складання по модулю 2 всіх двійкових символів БКС. Контрольна ознака (контрольний біт) записується в кінці БКС. При контролі на парність, в результаті цього, число одиниць в БКС доводиться до парного. Так, кодова комбінація 01110 в результаті кодування перетвориться в комбінацію 011101.

Варіантом цього способу контролю цілісності є контроль на непарність, коли при кодуванні в кінець БКС як контрольна ознака (контрольного біта) дописується інверсне значення результату складання по модулю 2 всіх двійкових символів даного БКС. В результаті цього, при контролі на непарність, число одиниць в БКС доводиться до непарного. Так, кодова комбінація 01010 в результаті кодування перетвориться в комбінацію 010101.

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

(mod Р).

Неважко зрозуміти, що в разі відсутності спотворень величина є такою, що дорівнює нулю, а при їх наявності – відмінна від нуля. Це і є синдромом спотворень. Зрозуміло, що корегування виявлених спотворень є неможливим. Окрім того, виходячи з розглянутого, слід зробити висновок, що спотворення, що виникли в парному числі символів, залишаються непоміченими.

  1. Двійкові матричні коди

Основним недоліком описаних вище кодів є невиявлення спотворень парної кратності, тому такі коди знаходять застосування в тих ланках АС, де найбільш вірогідними є одиночні спотворення, наприклад в ланці ТКМ  ЕОМ. Якщо ж спотворення мають тенденцію до групування, то для виявлення групових спотворень БКС (кодові комбінації) записуються у вигляді матриці:

а11 а12 а13…а1s

а21 а22 а23… а2s

…………………

at1 аt2 аt3…аts

______________

c1 c2 c3 … cs,

Потім здійснюється перевірка на парність (або на непарність) стовпців отриманої матриці. За наявності одного групового спотворення, завдовжки не більш s (s − число стовпців матриці), в кожну перевірку входитиме не більше ніж один спотворений символ (відбудеться декореляція спотворень). Якщо спотворення незалежні, то даний код є еквівалентним коду з перевіркою на парність по стовпцям, коли для кожного із s стовпчиків як і в коді з контролем на парність обраховуються значення своя контрольна ознака:

(mod Р),

при порозрядному додаванні і Р = 2, , для усіх значень і, j.

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

Для підвищення здатності із визначення наявності спотворень перевірка на парність (непарність) може бути проведена одночасно по стовпцях і діагоналях або по рядках і стовпцях.

Останній код називають матричним. У даному коді (при використанні контролю на парність) перевірочні символи формуються за наступними правилами:

а 11 а12 а13 … а1s b1 bi = а1i а2i ………. аls

а21 а22 а23 … а2s b2 cj = а1j а2j ………. а2s

………………

аt1 аt2 аt3 … аts bt

c 1 c2 c3 cs

де t − число рядків матриці; s − число стовпців матриці; m = st, n = st + s + t.

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

Матричний код знаходить: спотворення до кратності l = 3 включно (одиночні, подвійні, потрійні), всі непарні спотворення і деякі парні спотворення більшої кратності (четверні, шестерні і т.д.) при умові, що кількість спотворень в одному й тому ж рядку чи стовпчику є непарною. Поодинокі спотворення гарантовано виправляються.

Іноді до перевірок по рядках і стовпцях додають перевірки по діагоналях. Це ще більше покращує здібності коду, що виявляє. Для боротьби з груповими спотвореннями довжина рядка матриці (кількість стовпців) повинна бути не менше половини довжини пакету спотворень bсп, тобто s ≥ bсп/2.

Недоліком коду є додаткова затримка в передачі інформації за рахунок часу формування матриці.

Матричні коди доцільно використовувати при кодових комбінаціях великої довжини.