Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧНІ ВКАЗІВКИ1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
964.35 Кб
Скачать

5.2. Лінійні групові коди

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

Для двійкових код як лінійна операція використовують складання по модулю 2.

Правила складання по модулю 2 визначаються наступною|слідуючою| рівністю:

Послідовність нулів і одиниць, що належать даному коду, називатимемо кодовим вектором.

Властивість лінійних код: сума (різниця) кодових векторів лінійної коди дає вектор, що належить даному коду.

Лінійні коди утворюють групу алгебри по відношенню до операції складання по модулю 2. У цьому сенсі вони є груповими кодами.

Властивість групової коди: мінімальна кодова відстань між кодовими векторами групової коди дорівнює мінімальній вазі ненульових кодових векторів.

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

Відстань між двома кодовими векторами дорівнює вазі вектора, отриманого в результаті складання початкових векторів по модулю 2. Таким чином, для даної групової коди

.

Групові коди зручно задавати матрицями, розмірність яких визначається параметрами коди і . Число рядків матриці рівне число стовпців рівне + = :

(55)

Коди, що породжуються цими матрицями, відомі як -коди, де а відповідні їм матриці називають такими, що породжують, проводять або створюючими.

Матриця, що породжує, З може бути представлена двома матрицями І і П (інформаційною і перевірочною). Число стовпців матриці П рівне число стовпців матриці І рівно :

(56)

Теорією і практикою встановлено, що за матрицю І зручно брати одиничну матрицю в канонічній формі:

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

Вага кожного рядка матриці П має бути не менше де - вага відповідного рядка матриці І. Еслі матриця І - одинична, то (зручність вибору як матриця І одинична матриця очевидно: при ускладнилася б як побудова код, так і їх технічна реалізація).

При дотриманні перерахованих умов будь-яку матрицю групової коди, що породжує, можна привести до наступного|слідуючого| вигляду|виду|:

званому лівою канонічною формою матриці, що породжує.

Для код з =2 матриця, що проводить, З має вигляд

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

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

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

Для код з співвідношення п і . наступні: (3; 1), (7;4), (15; 11), (31; 26), (63; 57) і так далі

Щільно упаковані коди, оптимальні з погляду мінімуму надмірних символів, виявляють максимально можливу кількість варіантів помилок кратністю r + 1; r + 2 і так далі і були досліджені Д. Слепяном. Для отримання цих код матриця П повинна мати комбінації з максимальною вагою. Для цього при побудові код з послідовно використовуються вектори довжиною п вагою . Тими ж Слепяном були досліджені нещільно упаковані коди з малою щільністю перевірок на парність. Ці коди економні з погляду простоти апаратури і містять мінімальне число одиниць в розрядах матриці, що породжує, що коректують. При побудові код з максимально простими шифраторами і дешифраторами послідовно вибираються вектори вагою = 2, 3 ..., . Якщо число комбінацій, що є розрядами коди, що коректують, і що задовольняють умові _

Строчки створюючої матриці З є комбінацій шуканої коди. Решта комбінацій коди будується за допомогою створюючої матриці за наступним правилом: символи, що коректують, призначені для виявлення або виправлення помилки в інформаційній частині коди, знаходяться шляхом підсумовування по модулю 2 тих рядків матриці П, номери яких збігаються з номерами розрядів, що містять одиниці в кодовому векторі, що представляє інформаційну частину коди. Отриману комбінацію приписують справа до інформаційної частини коди і отримують вектор повної коди, що коректує. Аналогічну процедуру проробляють з другою, третьою і подальшими інформаційними кодовими комбінаціями, поки не буде побудований код, що коректує, для передачі всіх символів первинного алфавіту.

Алгоритм утворення перевірочних символів по відомій інформаційній частині|частці| коди може бути записаний таким чином:

(57)

В процесі декодування здійснюються перевірки, ідея яких в загальному|спільному| вигляді|виді| може бути представлена|уявляти| таким чином:

(58)

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

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

Вид синдрому для кожної конкретної матриці може бути визначений за допомогою перевірочної матриці Н, яка є транспонованою матрицею П, доповненою одиничною матрицею число стовпців якої дорівнює числу перевірочних розрядів коди:

.

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

Процедура виправлення помилок в процесі декодування групових код зводиться до наступного|слідуючого|.

Будується кодова таблиця. У першому рядку таблиці розташовуються всі кодові вектори . У першому стовпці другого рядка розміщується вектор вага якого дорівнює 1.

Решта позицій другого рядка заповнюється векторами, отриманими в результаті підсумовування по модулю 2 вектори з вектором розташованим у відповідному стовпці першого рядка. У першому стовпці третього рядка записується вектор вага якого також дорівнює 1, проте, якщо вектор містить одиницю в першому розряді, то - у другому. У решту позицій третього рядка записують суми і .

Аналогічно поступають до тих пір, поки не будуть підсумовані з векторами всі вектори вагою 1, з одиницями в кожному з п розрядів. Потім підсумовуються по модулю 2 вектори вагою 2, з послідовним перекриттям всіх можливих розрядів. Вага вектора визначає число помилок, що виправляються. Число векторів визначається можливим числом синдромів, що не повторюються, і рівно (нульова комбінація говорить про відсутність помилки). Умова неповторюваності синдрому дозволяє по його вигляду визначати один-єдиний відповідний йому вектор . Вектори є вектори помилок, які можуть бути виправлені даним груповим кодом.

По вигляду|виду| синдрому прийнята комбінація може бути віднесена до того або іншого суміжного класу, утвореного складанням по модулю 2 кодових комбінації з|із| вектором помилки, тобто до певного рядка кодової таблиці. 6.2.1.

Таблиця 6.2.1

A

e

...

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

Вектори не мають дорівнювати жодному з векторів, інакше в таблиці з'явилися|появлялися| б нульові вектори.

Завдання 6.5: Визначити мінімальну кодову відстань між двійковими векторами: 1100011; 1001111; 1010101.

Рішення|розв'язання|:

Таким чином

Завдання 6.6: Визначити здібності наступної коди, що коректують: 001; 010; 111.

Рішення|розв'язання|:

1) 2)

3) 4)

Код здатний|здібний| виявляти тільки|лише| одиночну помилку.

Завдання 6.7: Джерело передає повідомлення за допомогою 15 двійкових комбінацій. Скласти інформаційну //И// і перевірочну //П// матриці так, щоб повна матриця С=//іп//, що проводить, могла проводити груповий код, що коректує одиночні збої.

Рішення|розв'язання|:

оскільки|тому що| повинно бути більше або рівне 15;