риця Н:
Множачи по модулю 2 зліва вектор-рядок, відповідний прийнятої комбінації, на транспоновану матрицю Н Т, отримуємо вектор - синдром?. Якщо?- Нульовий вектор, то в цьому випадку символ передався без помилки, якщо ж?- Вектор, що співпадає з одним із стовпців перевірочної матриці, то в цьому випадку в символі, номер якого відповідає номеру цього шпальти, сталася помилка.
. 1 Побудова (7,4) - коду Хеммінга
Для побудови коду Хеммінга розіб'ємо фразу, отриману при кодуванні джерела, на блоки по чотири символи, це і будуть кодові слова дозволених символів.
Вихідна фраза: «Чебунін Марія». При цьому відсутні літери в алфавіті пропускалися.
Код цієї фрази:
. +0000
Розіб'ємо цей код на блоки по 4 символу і бракуючі доповнимо нулями:
. 1100.1011.0100.1011.1111.0111.1111.1101.0001.0000
Ці блоки представимо у вигляді матриці інформаційних (дозволених) символів:
Запишемо породжує матрицю G:
Кожен рядок матриці С дорівнює до четвертого символу відповідному стовпцю матриці Х. Наступні три символи в кожному рядку матриці С і є контрольні символи: С5, С6, С7 відповідно, де С5=x1 + x2 + x3; C6=x2 + x3 + x4; С7=x1 + x2 + x4. Тоді матриця кодування:
Кожен рядок в матриці С буде кодовою символом.
Складена в коді Хеммінга фраза буде виглядати так:
.1100111.1011111.0100111.1011111.1111111.0111111.1111111.1101111.0001011.0000000.
Або матрицю кодування можна знайти з допомогою породжує матриці:
В результаті отримуємо:
. 2 Розрахунок ймовірностей одноразовою і дворазовою помилок в межах одного кодового слова
Розрахунок ймовірностей одноразовою і дворазовою помилок у межах однієї кодової комбінації довжини n можна виконати за формулою біноміального розподілу ймовірностей:
(k)=C n k p k (1-p) n-k,
де k слід покласти рівним відповідно 1 і 2. В якості p підставимо середню ймовірність помилки при прийомі одного символу р ош=0.0807.
Імовірність одноразової помилки:
Імовірність дворазової помилки:
Отже, ймовірності помилок малі.
Охарактеризуємо здатність коду до виявлення та виправлення помилок. Припустимо що передавалася дозволена комбінація 0110001, і при передачі відбулася:
А) однократна помилка 1110001
Б) дворазова помилка 1110000
Перевірити наявність помилки можна за допомогою перевірочної матриці Н:
Якщо при множенні вектора-рядка на транспоновану матрицю в результаті вийде вектор (синдром) є нульовим, то помилки немає. В іншому випадку присутні помилки.
Можна бачити, що наявність помилок було визначено в обох випадках. Однак у випадку одноразової помилки помилковий 1-й символ, як помилковий, був визначений вірно, що дає можливість його виправити, а в разі дворазової помилки синдром вказує на помилку в 5-му символі, і подібне рішення не є вірним. З отриманих результатів можна зробити висновок, що код Хеммінга (7,4) виявляє одноразові і дворазові помилки, але виправляє тільки однократні.
12. Опис процесів декодування послідовності, що містить дворазову помилку, згідно з пунктом 2.6
Внесемо в кодову послідовність на виході демодулятора дворазову помилку в межах однієї кодової комбінації. Нехай матриця Сu - c введеної дворазової помилкою.
Визначимо місцезнаходження дворазової помилки.
З результатів на наступній сторінці можна зробити висновок, що помилка допущена в кодовому слові, третьому елементі. Декодер може виправити помилку, перебував (по модулю 2) до помилкового символу одиницю.
Виконаємо процедуру декодування отриманої послідовності відповідно до кодом Хеммінга. Відзначимо, що кодові слова (рядки матриці С у) мають наступну структуру:
Декодування може полягати у відкиданні перевірочних символів, але це не забезпечить виявлення та виправлення помилок. Зробимо подібну процедуру:
Отримана закодована фраза буде мати вигляд:
.
Знаючи властивість коду про те що жодна кодова комбінація не є початком будь-якої іншої кодової комбінації, зробимо ...