Смекни!
smekni.com

Системи документального електрозв’язку (стр. 1 из 5)

Тема розділу: Захист інформації від спотворень

Лекція 1. Корегуючі коди. Класифікація. Параметри. Згортувальні коди.

Корегуючі коди – це такі коди, в які формуються на основі інформаційної послідовності символів а1,а2... акпослідовність перевірочних символів в1, в2... вr. в кодері. За допомогою введеної збитковості декодер має можливість в залежності від вибраного коду і алгоритму декодування, виявляти чи виправляти помилково прийняті інформаційні символи, які створені в результаті дії різного роду перешкод в каналі зв’язку.

В класифікаційній діаграмі розглянемо тільки ті коди, що знаходять найбільше застосування в системах документального електрозв’язку.

До блокових кодів відносяться такі коди, в яких кодування та декодування здійснюється в межах блоку, який складається з визначеного числа кодових символів. Всі блокові коди характеризуються довжиною блока, або значністю кодової комбінації (КК) n кількістю інформаційних символів k. Для цього прийнято позначення (n, k).

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

Блокові коди в свою чергу діляться на лінійні та нелінійні. До лінійних відносяться такі коди, в яких формування блоків, тобто кодування здійснюється з використанням лінійних операцій над інформаційними символами. В іншому випадку корегуючи коди відносяться до нелінійних. Прикладом нелінійного коду є міжнародний семиелементний код МТА-3,або код с постійною вагою (КПВ). Кожна комбінація такого коду має три одиниці і чотири нуля при всіх можливих варіаціях.

Для лінійних (n, k) кодів відносяться такі коди, в яких r = n- k збиткових символів формується із k інформаційних за допомогою лінійних операцій, тобто операцій додавання та переключення.

Для двійкових кодів додавання виконується по mod2, тобто 0+1=1, 1+0=1, 0+0=0 і 1+1≡0, а перемноження здійснюється в звичайному порядку.

Перевірочні символи для лінійного групового коду визначається

mod2 j=1, 2,…, r

при цьому необхідно, щоб базові коефіцієнти створювали прямокутну матрицю:

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

Лінійні блокові коди мають властивість замкнутості, це означає, що сума по mod2 2-х або більше дозволених КК створює КК, яка належить цьому чи іншому коду. І ще будь-який лінійний код завжди має нульову КК, створену як суму двох однакових КК.

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

Значну частину лінійних кодів займають циклічні коди, до них відносяться:

– коди Хемінга;

– коди БЧХ (Боуза-Чоудхури-Хоквингема);

– коди з мажоритарним декодуванням (ЦКМД), яким властива проста схемна реалізація декодера;

– коди Файра (виправляють пакети помилково прийнятих кодових символів).

Згортувальні коди як і блокові можна розділити на систематичні та несистематичні. Перші декодуються відносно простим методом – пороговим (ЗКПД), а другі – з використанням алгоритму послідовного декодування (ЗКАПД) і алгоритму Вітербі (ЗКАВ). Несистематичні коди з алгоритмом декодування Вітерці знаходять широке застосування в телекомунікаційному обладнанні.

Параметри. Загальна кількість кодових комбінацій (КК)

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

Корегуючі коди застосовуються для виявлення або виправлення помилок заданої кратності. Під кратністю помилки розуміють кількість створених символів в КК значністю n. При незалежних помилках в каналі зв’язку ймовірність випадкового виникнення t кратної помилки визначається по формулі Бернуллі:

,

де

– біноміальні коефіцієнти;

, якщо
, то найбільш вірогідні помилки малої кратності.

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

,

де

; j, l = 1, 2,...,2k;
– номери дозволених КК.

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

Для лінійних кодів. враховуючи, що в коді завжди є нульова КК, кодова відстань визначається мінімальною вагою КК,

Максимальна кратність виявлення помилок

,

, (1)

а виправлення:

; (2)

Теорема. Якщо d0 парне, то код може виправляти

помилок і виявляти
помилок.

Рис. 1

На рисунку 1 приведена геометрична модель найпростішого коригувального коду (4, 3) з парним числом одиниць, представлена на площині, де всі дозволені КК зображені у виді крапок, що є центрами окружностей з радіусами d = 1. Заборонені КК відображені крапками на окружностях, що завжди є загальними для двох суміжних окружностей.

З рис. 1 видно, що мінімальна відстань між двома дозволеними КК дорівнює двом одиницям по Хемінгу, тобто d0 = 2. Тут дозволені КК мають єдине відображення – центри окружностей, а кожній заборонений КК відповідають дві дозволені КК, у чому виявляється невизначеність при декодуванні таких КК. Принцип виявлення помилок при використанні коду (4, 3) очевидний. Якщо в результаті дії перешкод дозволена КК "переходи" з центра на окружність (d = 1), то таке викривлення в місці прийому завжди буде виявлено за структурою коду. Перехід з одного центра окружності в центр будь-якої іншої окружності (d = 2 чи 4) приводить до невиявленої помилки. Такий код, як видно з приведеного рисунку, дозволяє виявляти всі помилки непарної кратності.

Подібно до коду (4,3), на рис. 2 а приведений тільки фрагмент геометричного представлення коду з d0 = 3, а на рис. 2 б – коду з d0 = 4. З наведених рисунків видно, що перший код дозволяє виправляти однократні помилки, а інший – дає можливість, окрім виправлення однократних помилок ще й виявлення двократних помилок, що переконує у справедливості виразів (1) і (2).

а) б)

Рис. 2

Код з парним числом одиниць має один перевірочний символ, який визначається:

, де j=1, a gji=1

d0=2, значність коду n=k+1; збитковість

.

Такий код дозволяє виявити всі помилки непарної кратності:

,
– найближче менше непарне число до n

.

Для КПВ

;
;

;

;

Швидкість коду

;

Збитковість коду

;

Згортувальні коди – це такі коди, в яких кодова послідовність на виході кодера може бути представлена як дискретна "згортка" по mod2 інформаційних символів і імпульсної реалізації кодера, тобто:

,

де

– вихідна послідовність символів кодера;