Двійкові матричні коди
Основним недоліком описаних вище кодів є невиявлення спотворень парної кратності, тому такі коди знаходять застосування в тих ланках АС, де найбільш вірогідними є одиночні спотворення, наприклад в ланці ТКМ - ЕОМ. Якщо ж спотворення мають тенденцію до групування, то для виявлення групових спотворень БКС (кодові комбінації) записуються у вигляді матриці:
а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
c1 c2 c3 cs
де t − число рядків матриці; s − число стовпців матриці; m = st, n = st + s + t.
Для підвищення здатності по виявленню спотворень перевірці на парність піддається також послідовність перевірочних символів, одержаних при перевірці до рядкам або стовпцям. При такій побудові коду будуть знайдені всі одиночні, подвійні і потрійні спотворення, а також всі непарні спотворення і деякі парні спотворення більшої кратності.
Матричний код знаходить: спотворення до кратності l = 3 включно (одиночні, подвійні, потрійні), всі непарні спотворення і деякі парні спотворення більшої кратності (четверні, шестерні і т.д.) при умові, що кількість спотворень в одному й тому ж рядку чи стовпчику є непарною. Поодинокі спотворення гарантовано виправляються.
Іноді до перевірок по рядках і стовпцях додають перевірки по діагоналях. Це ще більше покращує здібності коду, що виявляє. Для боротьби з груповими спотвореннями довжина рядка матриці (кількість стовпців) повинна бути не менше половини довжини пакету спотворень bсп, тобто s ≥ bсп/2.
Недоліком коду є додаткова затримка в передачі інформації за рахунок часу формування матриці.
Матричні коди доцільно використовувати при кодових комбінаціях великої довжини.