
- •Теорія інформації
- •Тулякова н.О.0 теорія інформації
- •Теорія інформації
- •1.1 Предмет курсу. Види інформації. Теорема дискретизації
- •1.2 Базові поняття теорії інформації
- •1.3 Способи вимірювання інформації
- •1. 4 Ентропія джерела. Властивості кількості інформації та ентропії
- •Розв'язання
- •Розв'язання
- •2.1 Умовна ентропія
- •2.2 Модель системи передачі інформації
- •2.3 Види умовної ентропії
- •2.4 Ентропія об'єднання двох джерел інформації
- •2.5 Продуктивність дискретного джерела інформації. Швидкість передачі інформації
- •2.6 Інформаційні втрати при передачі інформації по дискретному каналу зв'язку
- •2.7 Пропускна здатність дискретного каналу. Основна теорема про кодування дискретного джерела
- •Розв'язання
- •Розв'язання
- •3.1 Способи задання кодів. Статистичне кодування
- •3.2 Елементи теорії префіксних множин
- •3.3 Оптимальні методи статистичного стиснення інформації Шеннона-Фано і Хаффмена
- •Розв'язання
- •I Метод Шеннона-Фано:
- •II Метод Хаффмена:
- •4.1 Теоретичні границі стиснення інформації
- •4.2 Метод блокування повідомлення
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •Метод Шеннона-Фано
- •Арифметичний метод
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •7.1 Алгоритм lz77
- •7.2 Алгоритм lzss
- •7.3 Алгоритм lz78
- •7.4 Алгоритм lzw
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •8.1 Огляд типів систем стиснення інформації
- •8.2 Стиснення без втрат інформації
- •8.3 Стиснення із втратами інформації
- •9.1 Основні принципи
- •9.2 Елементи двійкової арифметики
- •9.3 Код з перевіркою на парність
- •9.4 Ітеративний код
- •Розв'язання
- •Розв'язання
- •10.1 Способи задання лінійних кодів. Твірна матриця лінійного блокового коду
- •10.2 Перевірна матриця лінійного блокового коду
- •10.3 Кодовий синдром і виявлення помилок лінійним блоковим кодом
- •10.4 Синдромне декодування лінійних блокових кодів
- •10.5 Вага і відстань Хеммінга. Можливості лінійних кодів виявляти і виправляти помилки
- •Розв'язання
- •Розв'язання
- •Розв'язання
- •12.1 Операції над поліномами в полі двійкових символів gf(2)
- •12.2 Поліноміальні коди
- •12.3 Циклічні коди
- •12.4 Синдром і виправлення помилок у циклічних кодах
- •12.5 Твірна і перевірна матриці циклічного коду
- •12.6 Способи декодування циклічного коду
- •Розв'язання
- •Розв'язання
- •Розв'язання
Розв'язання
Інформаційну послідовність розмістимо у вигляді матриці розмірністю 34. Дописуємо до кожного рядка і стовпця матриці перевірний елемент контролю на парність.
У загальному вигляді такий спосіб кодування інформаційної послідовності (m1, m2, … , m12) подамо так:
,
()
де r1, r2, …, r8 – перевірні елементи.
Записавши матрицю () по рядках, отримуємо послідовність, що зберігається або передається по каналу зв’язку, u= (m1, m2, m3, m4, r1, m5, m6, m7, m8, r2, m9, m10, m11, m12, r3, r4, r5, r6, r8).
З матриці () отримуємо систему перевірних рівнянь, що визначає правила знаходження перевірних елементів:
()
Скориставшись системою перевірних рівнянь (), знаходимо твірну матрицю G1220 еквівалентного лінійного блокового коду, яку можна легко привести до канонічного вигляду, розмістивши стовпці, що відповідають перевірним елементам у правій частини твірної матриці, а одиничну підматрицю, що визначає інформаційну частину кодового слова – у лівій:
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
0 |
. |
0 |
1 |
1 |
1 |
1 |
|
Розмістимо її у вигляді матриці 34 і допишемо перевірні елементи до кожного рядка і стовпця:
Отже, кодовим слово буде (11011110000110001111).
Згідно з умовою задачі на прийомній стороні прийнята послідовність (11011110001110001111). Декодуємо її за ітеративним методом.
Запишемо прийняте слово у вигляді матриці (у даному випадку розмірністю 45) і виконаємо перевірку на парність за її кожним рядком і стовпчиком. У разі відсутності помилки контрольні елементи парності за рядками і стовпчиками матриці мають значення 0. Невиконання контролю парності у стовпчику і рядку однозначно визначить координати помилкового елемента – це дозволить його виправити.
1 |
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
0 |
0 |
1 |
. |
0 |
1 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
0 |
1 |
|
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
У даному випадку не виконується контроль парності в третьому рядку й першому стовпці, тобто помилковий елемент m [3, 1]. Виправляємо помилку, змінивши значення помилкового елемента на протилежне:
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
0 |
. |
0 |
1 |
1 |
1 |
1 |
|
Отже, виправлена комбінація така:
y=(11011110000110001111).
Декодуємо її, прибравши перевірні елементи:
(11011110000110001111) (110111000110).
Надлишковість
коду
.
Задачі до розділу 9
Нехай X і Y - дискретні випадкові величини, що визначають передавач і приймач дискретних повідомлень. Використовується двійковий симетричний канал, яким передаються повідомлення довжиною 2 біти. Побудувати таблицю ймовірностей прийому.
Використовується (8, 9)- код з контролем парності. Оцінити ймовірність того, що цей код не виявить помилкове повідомлення, якщо ймовірність помилки при передачі кожного біта q=1%. Оцініть ймовірність помилкової передачі без використання коду.
Задано таблицю кодів деякого коду: 00 00000, 01 01101, 10 10011, 11 11110. Чи є цей код систематичним, лінійним? Записати твірну і перевірну матриці коду. Скільки помилок може виявити і виправити даний код?
Завадостійкий код заданий твірною матрицею вигляду
.
Записати всі кодові слова коду. Скільки помилок код може виявити/ виправити? Яка ймовірність невиявлення помилок цим кодом? Як будуть декодовані слова 1001100, 0101011, 0011101?
За твірною матрицею
побудувати відповідний (3, 4) - код. Описати основні характеристики коду: мінімальну відстань між кодовими словами, імовірність невиявлення помилки. Побудувати таблицю декодування. Які помилкові ситуації виявляє код?
Твірна матриця лінійного блокового коду має вигляд
.
Визначити мінімальну відстань Хеммінга даного коду і кратність помилок, що може виявити/ виправити код. Яка ймовірність невиявлення помилки кодом? Побудувати таблицю декодування. Виправити помилкові комбінації 101110, 010100, 101111.
Ітеративний код заданий матрицею вигляду
.
Записати твірну матрицю еквівалентного лінійного блокового коду. Визначити здатність коду виявляти/виправляти помилки, ймовірність невиявлення помилки, якщо ймовірність помилок у каналі q=10-4.
Закодувати послідовність 110111001 за ітеративним методом. Побудувати перевірну матрицю еквівалентного лінійного блокового коду. Декодувати послідовності 0011000000000111, 0000001111101111, 0101000000000111.
Розділ 10 СПОСОБИ ЗАДАННЯ ЛІНІЙНИХ БЛОКОВИХ КОДІВ. СИНДРОМНЕ ДЕКОДУВАННЯ ЛІНІЙНИХ БЛОКОВИХ КОДІВ