Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання на лаб. роб. ТІК VI сем..docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
842.2 Кб
Скачать
  1. Порядок виконання завдання по дослідженню циклічного коду.

    1. Представити вихідні дані за п. 1.1 у вигляді двійкового коду.

    2. Визначити довжину інформаційної m і довжину перевірочної k послідовності коду.

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

    4. Показати на прикладах, що код не гарантує виявлення помилок кратності більш ніж одна.

  2. Порядок виконання завдання по дослідженню циклічного коду при використанні перемежування символів та ймовірності спотворення символу Рпом = 9,1·10–2.

    1. Для умов виявлення пакетних помилок довжиною kвар визначити потрібну глибину перемежування;

    2. Визначити довжину (кількість символів) базових кодових слів (БКС):

    3. Записати базові кодові слова та здійснити їх кодування з використанням двійкового циклічного коду;

    4. Показати на прикладах, що код гарантує виявлення усіх помилок для заданих умов.

Зміст звіту

  1. Найменування і ціль роботи.

  2. Вихідні дані для виконання роботи.

  3. Результати виконання роботи з п.п. 2, 3.

  4. Висновки з оцінкою коригувальних властивостей циклічного коду.

Теоретичні відомості із циклічних кодів

Способи опису циклічних кодів. З відомих завадостійких кодів циклічні коди відрізняються високою ефективністю виявлення помилок і порівняльною простотою реалізації пристроїв, що кодують і декодують. Назва цього класу кодів відбулася від основної їхньої властивості, що полягає в тім, що якщо кодова комбінація а0, а1, а2,..., аn-1, аn, належать коду А, то комбінація аn, а0, а1, а2,..., аn-1, отримана циклічний перестановкою елементів, також належить коду А. Циклічні коди досить часто описуються з використанням багаточленів змінної х.

Цифри двійкового коду можна розглядати як коефіцієнти багаточлена змінної х. Наприклад, записане в двійковому коді повідомлення 1001101 може бути представлено багаточленом виду 1 х6 + 0 х5 + 0 х4 + 1 х3 + 1 х2 + +0 х1 + 1 х0 = х6 + х3 + х2 + х0. При такім представленні кодів математичні операції з отриманими багаточленами виконуються відповідно до законів звичайної алгебри, за винятком того, що додавання здійснюється за модулем 2: ха + ха = 0, ха + 0 = ха, 0 + 0 = 0. Принцип виявлення помилок за допомогою циклічного коду полягає в тім, що в якості дозволених кодових комбінацій приймаються заздалегідь обраний вихідний (утворюючий) багаточлен Р (х). Якщо прийнята комбінація спотворена, то ця умова на прийомній стороні не буде виконана, у результаті чого формується сигнал, що вказує на наявність спотворення.

У процесі кодування повідомлення багаточлен G(х), що відображає двійковий код переданого повідомлення, збільшується на xk. При цьому довжина кодової комбінації збільшується на k розрядів, що призначені для перевірочних розрядів. Добуток xkG(х) поділяють на так називаний вихідний (утворюючий) багаточлен Р(х) і залишок від цього розподілу R(x) підсумовують з добутком xkG(х). Отримана кодова комбінація, описувана кодовим багаточленом F(x) = xkG(х) + R(x), поділяється без залишку на вихідний багаточлен Р(х). Це можна показати в такий спосіб. Якщо позначити f (x) частку від розподілу xk на Р (x), то буде справедлива рівність xkG(х) = f (x) Р(х) + R(x). Переносимо R(x) за знак рівності, одержимо xkG(х) + R(x) = f (x) Р(х).

При такому методі побудови коефіцієнти при вищих ступенях х є позначеннями ненульових інформаційних розрядів, а коефіцієнти при ступенях порядку (k – 1) і нижче є перевірочними.

Приклад. Дано: n = 7, m = 4, k = 3 і Р (x) = х3 + х2 + 1. Потрібно закодувати повідомлення 1011.

Для кодування даного повідомлення 1011, що відповідає багаточлену G (х) = х3 + х + 1, розділимо х3G (х) на Р (х):

х6 + х4 + х3 х3 + х2 + 1

х6 + х5 + х3 х3 + х2

х5 + х4

х5 + х4 + х2

R (x) = х2

У підсумку цієї операції одержимо залишок R (x) = х2.

Підсумовуючи добуток х3G (х) з отриманим залишком, одержимо кодовий багаточлен

F (x) = x3G (х) + R (x) = х6 + х4 + х3+ х2.

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

Прийняте повідомлення, що позначимо F/ (x), можна представити у виді суми двох доданків: багаточлена, сформованого на передавальній стороні F (x), і багаточлена спотворення Е (х): F/ (x) = F (x) + Е (х). Цей багаточлен піддається розподілу на Р (х). Якщо розподіл виконується без залишку, то приймається рішення, що інформація не спотворена.

У випадку застосування циклічного коду як коду з виправленням помилок місця спотворених розрядів визначаються шляхом аналізу залишку, що вийшов після розподілу прийнятої кодової комбінація на вихідний багаточлен. Дуже часто циклічні коди задаються перевірочними чи матрицями, що породжують. Вид цих матриць визначається утворюючим багаточленом Р(х). Так, кожен стовпець канонічної форми перевірочної матриці можна визначити шляхом перебування залишку від розподілу одночлена хі (0 ≤ і ≤ n — 1) на багаточлен Р (x).

Приклад. Побудуємо перевірочну матрицю, якщо n = 7 і Р (x) = х3 + х2 + 1:

х0 : (х3 + х2 + 1) — R (x) = х0 ; х1 : (х3 + х2 + 1) — R (x) = х1 ;

х2 : (х3 + х2 + 1) — R (x) = х2 ; х3 : (х3 + х2 + 1) — R (x) = х3 ;

х4 : (х3 + х2 + 1) — R (x) = х4 ; х5 : (х3 + х2 + 1) — R (x) = х5 ;

х6 : (х3 + х2 + 1) — R (x) = х6 .

Отже, перевірочна матриця Н (7,4) буде мати вид

n стовпців 1 2 3 4 5 6 7

Н (7, 4) = . (1)

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

R = Н (n, m) = . (1)

Відповідно до правил множення матриць значення r1, r2, r3 матриці R визначається сумою за модулем 2 тих елементів першої (другий, третьої) рядка матриці Н, номер стовпця яких відповідає номеру розряду зі значенням “1” у прийнятій кодовій комбінації.

У результаті значення матриці R визначається сумою за модулем 2 визначених стовпців матриці Н. При цьому номера стовпців збігаються c положенням “1” у прийнятої кодовий комбінації. У процесі кодування кодова комбінація будуються так, щоб при відсутності спотворень залишок R дорівнював 0. Тому значення матриці R визначається сумою тих стовпців перевірочної матриці, номера яких збігаються про номерами спотворень у кодової комбінація одиничних елементів.