Метою завадостійкого кодування є виявлення та/або виправлення помилок при прийомі сигналу в каналі з перешкодою. Якщо при декодуванні проводиться виявлення помилки, то обов'язково потрібен канал переспроса (зворотний канал). Якщо виправлення помилок - канал переспроса не потрібен.
Основна ідея завадостійкого кодування - введення регулярної надмірності, при використанні яких відсоток помилкових комбінації на виході декодера зводилося б до мінімуму.
Коригувальним називається такий код, використання якого дає можливість в процесі прийому цифрового сигналу виявляти в ньому наявність помилок і, можливо, навіть виправляти деякі з помилкових символів. Серед коригувальних кодів найбільшого поширення набули блокові двійкові коди, тобто передача двійкового повідомлення виробляється блоками. Кодування і декодування кожного блоку проводиться незалежно від інших блоків.
Вихідні дані:
Варіант. У таблиці 3.1 представлені вихідні дані.
Таблиця 3.1 - Вихідні дані
Nnin
Рішення:
У таблиці 3.2 показані задані десяткові числа в двійковій формі запису.
Таблиця 3.2 - Відповідність десятеричного і довічного уявлень заданих чисел
Десяткова система счісленія488683866Двоічная система счісленія01111 0100010101 0101111011 00010
Згідно варіанту виробляє матриця виглядає наступним чином:
Твірна матриця складається з лінійно незалежних дозволених векторів, які утворюють базис простору дозволених кодових комбінацій.
При використанні лінійно блокових кодів відстань між кодами можна знаходити (як відстань між рядками) із виробляє матриці, приписавши до нього рядок, що складається з нулів. Кодова відстань визначається за формулою:
де - кодова відстань між i-ої та j-ой рядками матриці.
Ця відстань визначається в просторі Хеммінга. Вона дорівнює кількості позицій з різними символами. Для двійкового коду визначається вагою сумарного вектора, підсумовування здійснюється по модулю два.
Для даної матриці вони рівні:
Звідси,
Кратність гарантовано виявленої помилки:
Кратність гарантовано виправляємої помилки:
тобто
Провівши аналіз отриманих значень можна переконатися в тому, що ресурси коду використовуються повніше, якщо є непарним числом.
Кодування заданої двійковій комбінації. Кодуються десяткове число в двійковій формі запису з урахуванням кількості інформаційних символів, який визначений з розмірності виробляє матриці як число рядків, виглядає наступним чином:
Кодування здійснюється за формулою:
Враховуючи умову, що верхній рядок виробляє матриці відповідає молодшому розряду комбінації на виході, завдання, при обчисленні переставимо рядка матриці відповідно розрядами кодованого числа, іншими словами:
або в десятковій системі числення.
Відповіді:
Всі знайдені значення занесені в таблицю 3.3.
Таблиця 3.3 - Отримані результати ()
431488496
3.2 Завдання 2. Лінійні блокові коди
Двійкові комбінації, відповідні п'яти десятковим числам із задачі, вважати рядками перевірочної матриці H коду.
Визначити:
чи здатний цей код виявити будь-яку одноразову помилку (, якщо здатний, в іншому випадку);
чи здатний цей код виправити будь-яку одноразову помилку (, якщо здатний, в іншому випадку).
Теоретичні відомості:
Код лінійний, якщо перевірочні символи отримані в результаті лінійних операцій над інформаційними. У двійковій арифметиці лінійної операцією є операція підсумовування по модулю 2. Наслідком лінійності є той факт, що підсумовування по модулю 2 дозволених комбінацій дає дозволену кодову комбінацію.
Будь лінійний блоковий код позначається як, де: - кількість символів в комбінації на виході кодера;- Кількість інформаційних символів.
Для будь-якого лінійного блокового коду існують перевірочна () і виробляє () матриці.
Вихідні дані:
Варіант. У таблиці 3.4 представлені вихідні дані.
Таблиця 3.4 - Вихідні дані
Система счислениядесятичная101двоичная00000010100000000001011110100010101010111101100010Код. Заданий за допомогою перевірочної матриці.
Рішення:
Будемо вважати двійкові комбінації вихідних даних елементами відповідних векторів. Тоді згідно з умовою завдання перевірочна матриця буде виглядати наступним чином:
Транспонована перевірочна матриця:
Щоб перевірити виявлення одноразової помилки скористаємося фундаментальною властивістю:
де - вектор синдрому;
- переданий вектор;
...