
- •Теорія інформації
- •Тулякова н.О.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 Способи декодування циклічного коду
- •Розв'язання
- •Розв'язання
- •Розв'язання
9.2 Елементи двійкової арифметики
Полем називається множина математичних об'єктів, для яких визначені операції додавання, віднімання, множення й ділення.
Розглянемо найпростіше поле з двох елементів 0 і 1. Визначимо для нього операції додавання і множення так:
0+0=0, 0+1=1, 1+0=1, 1+1=0; |
|
0*0=0, 0*1=0, 1*0=0, 1*1=1. |
Визначені таким чином операції додавання та множення називають додаванням та множенням за модулем 2 (mod 2).
З рівності 1+1=0 випливає, що -1=1 та 1+1=1-1, а з рівності 1*1=1, що 1:1=1.
Алфавіт з двох символів 0 і 1 з означеними для них операціями додавання й множення за mod 2 називається двійковим полем GF(2). Для поля GF(2) застосовні усі методи лінійної алгебри, у тому числі матричні операції.
Операція додавання за mod 2, як правило, позначається символом , проте у подальшому у даному курсі розглядається тільки додавання за mod 2, тому використовується звичайний знак +.
9.3 Код з перевіркою на парність
Найпростіший лінійний блоковий код - це (n-1, n) - код з контролем парності. Цей код, зокрема, широко використовується у модемах.
Кодування полягає у додаванні до кожного байта 9-го контрольного біта так, щоб доповнити кількість одиниць у байті до наперед вибраного для коду парного (even) або непарного (odd) значення.
Наприклад, задана інформаційна послідовність (101), тоді кодовим словом буде (1010), де перевірний символ знаходиться додаванням за mod 2 символів інформаційної послідовності. Якщо число одиниць в інформаційній послідовності парне, то значенням суми за mod 2 буде 0, якщо непарне - то 1, отже, перевірний символ доповнює кодову послідовність так, щоб кількість одиниць в ній була парною.
Математично схему кодування з перевіркою на парність можна записати так:
Е(m1, ... , mk)=(m1, ..., mk, mk+1),
де перевірний символ
Отже,
кількість одиниць в прийнятій послідовності
повинна бути парною, тобто
.
Схему декодування можна записати так:
Уведемо поняття двійкового симетричного каналу, для якого помилки у бітах рівноймовірні й незалежні. Схематично двійковий симетричний канал зображений на рис. 3.1, де р - ймовірність безпомилкової передачі біта повідомлення; q = 1-p - ймовірність помилкової передачі.
Для
такої схеми передачі даних ймовірність
того, що у n-позиційному
коді виникне тільки одна помилка,
становить
.
У загальному випадку ймовірність передачі n бітів з k помилками визначається за формулою Бернуллі
(3.1)
де
-
кількість сполук з n
елементів по k.
Додамо, що код з перевіркою парності не виявляє помилки кратності 2, оскільки, якщо у переданій послідовності виникло 2, 4 і т. д. помилки, незалежно, в якій позиції, то загальне число одиниць в прийнятій послідовності стане парним, і помилки виявлені не будуть. Проте ймовірність двократної помилки значно менша, ніж поодинокої. Покажемо це на прикладі.
Приклад Перевірка парності при k=2 реалізується таким кодом: 00→000, 01→011, 10→101, 11→110.
Позначимо через р ймовірність правильної передачі, q – ймовірність помилки у біті повідомлення.
Тоді ймовірність виникнення хоча б однієї помилки у кодовій послідовності завдовжки 3 біти P=q3+3pq2+3p2q. З них не будуть виявлені помилки у двох бітах, що не змінюють парності, ймовірність яких Pпом=3pq2.
Ймовірність помилкової передачі повідомлення з двох бітів без використання контролю парності Pпом=q2+2pq.
Для достатньо надійного каналу передачі, тобто при q << 1, 3pq2 << q2+2pq, що свідчить про доцільність використання завадостійкого кодування з виявленням поодиноких помилок.
Не зважаючи на простоту і не дуже високу ефективність, коди з перевіркою на парність широко використовуються у системах передачі і зберігання інформації. Їх цінують за невисоку надлишковість: достатньо додати до інформаційної послідовності один перевірний символ - і можна визначити, чи є у прийнятій послідовності помилка. Проте локалізувати місце виникнення помилки, й відтак її виправити неможливо. Можна лише повторити передачу помилкової комбінації.