
- •Теорія інформації
- •Тулякова н.О.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 Способи декодування циклічного коду
- •Розв'язання
- •Розв'язання
- •Розв'язання
10.1 Способи задання лінійних кодів. Твірна матриця лінійного блокового коду
Найпростіший спосіб задання лінійних кодів – табличний, при якому кожній інформаційній послідовності ставиться у відповідність кодове слово з таблиці кодів. Приклад такого задання коду для послідовностей завдовжки k=3 символи наведений у табл. 3.2.
Таблиця 3.2
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
0000 |
0011 |
0101 |
0110 |
1001 |
1010 |
1100 |
1111 |
Недоліком такого способу подання кодів є те, що при більших k розмір кодової таблиці виявляється дуже великим.
Іншим способом задання лінійних блокових кодів є система перевірних рівнянь, що визначає правила знаходження перевірних символів залежно від інформаційних. Приклад такого задання:
де r1, r2, r3, r4 - перевірні (контрольні) символи.
Проте найзручнішим і наочним способом задання лінійного блокового коду є його подання за допомогою твірної матриці.
.
(3.2)
одинична перевірна
підматриця Ikxk підматриця Pkx(n-k)
Визначення. Лінійний блоковий систематичний (k, n)- код повністю визначається матрицею G розміром kn з двійковими матричними елементами. При цьому кожне кодове слово є лінійною комбінацією рядків матриці G, а кожна лінійна комбінація рядків G - кодовим словом.
Нехай m=(m1, m2, ... , mk) – блок повідомлення. Тоді кодовим словом буде послідовність u=mG, де для i=1, 2, ..., k ui =mi; для i=k+1, ..., n ui= m1p1i + m2p2i + ...+ +mkpki; i=1, 2, ..., n-k - номер стовпця перевірної частини Pk(n-k) твірної матриці Gkn.
Приклад 1 Розглянемо найпростіший лінійний блоковий (4, 7)-код, заданий твірною матрицею вигляду
.
Кодові слова даного коду знаходяться так:
u=mG=(m1,
m2,
m3,
m4)
=(m1,
m2,
m3,
m4,
m1+m3+m4,
m1+m2+m3,
m2+m3+m4).
Звідси випливає система перевірних рівнянь коду
Закодуємо, наприклад, послідовність m=(1011):
(1011)
=(
).
10.2 Перевірна матриця лінійного блокового коду
Лінійний блоковий код може бути заданий перевірною матрицею H(n-k)n, що має таку властивість:
якщо деяка послідовність u є кодовим словом лінійного блокового коду, заданого перевірною матрицею H(n-k)n, то uH= 0, тобто перевірна матриця ортогональна будь-якій кодовій послідовності даного коду.
Перевірна матриця має розмірність (n-k)n і таку структуру:
,
(3.3)
де - транспонована перевірна підматриця твірної матриці Gkn; - одинична підматриця.
З властивості перевірної матриці лінійного блокового коду випливає, що за її допомогою можна визначити, чи є прийнята послідовність кодовим словом даного коду чи ні.
Приклад 2 Для розглянутого прикладу лінійного блокового (4, 7)- коду перевірна матриця матиме вигляд
.
Нехай прийнята послідовність y=(1011001). Перевіримо, чи є вона кодовим словом даного коду:
=(1011001)
=(1
0 1) ≠
0.
Отже, послідовність (1011001) не кодове словом даного коду.