- •76019, М. Івано-Франківськ, вул. Карпатська 15.
- •До читача
- •Частина перша Вступ
- •Коротка історія розвитку систем передачі інформації
- •Загальна схема системи передачі інформації, або модель системи звязку
- •Канал звязку
- •Перешкоди радіозвязку
- •Стратосфера
- •Частина друга Кількісне визначення інформації.
- •2.1 Одиниці вимірювання інформації і інформативності
- •2.2 Ентропія дискретних повідомлень
- •Кількість інформації у всьому тексті, що передається
- •2.3. Ентропія неперервних повідомлень
- •2.4. Інформаційна ємність і продуктивність джерела
- •Частина третя Кодування повідомлень
- •3.1 Кодування при відсутності перешкод
- •3.2 Надлишкові коди
- •3.3 Систематичні коди ( у вузькому розумінні )
- •3.4 Циклічні коди
- •3.5 Неперервні коди
- •Частина четверта аналітичне уявлення сигналів
- •4.1 Класифікація сигналів
- •4.2 Періодичні сигнали
- •4.3 Неперіодичні сигнали
- •4.4 Випадкові сигнали
- •4.5 Кореляційний аналіз сигналів
- •4.6 Спектральний аналіз випадкових процесів
- •Частина п’ята дискретизація та квантування
- •5.1 Дискретизація сигналу – теорема відліків (Котельникова)
- •5.2 Квантування сигналу по рівню
- •Частина шоста модуляція сигналів
- •6.1 Амплітудна модуляція
- •6.2 Кутова модуляція
- •6.3 Амплітудно - імпульсна модуляція
- •6.4 Широтно - імпульсна модуляція
- •6.5 Часово - імпульсна модуляція
- •6.6 Кодово - імпульсна модуляція (кім)
- •Дельта-модуляція
- •Частина сьома параметри каналів передачі інформації
- •7.1 Пропускна здатність каналу.
- •7.2 Узгодження сигналу з каналом
- •7.3. Параметри основних різновидностей каналів звязку
- •Частина восьма завадостійкість систем
- •8.1. Поняття завадостійкості
- •8.2 Завадостійкість різних видів модуляції
- •8.3 Оптимальні методи прийому
- •8.4. Структура оптимальних приймачів
- •8.5 Прийом точно відомих сигналів
- •8.6 Виявлення не цілком відомого сигналу
- •Частина дев'ята багатоканальні системи
- •9.1 Основи розділення каналів
- •9.2 Системи з частотним розділенням каналів
- •9.3 Покращення енергетики сигналів в системах з чрк
- •9.4 Викривлення в системах з чрк
- •9.5 Системи з часовим розділенням каналів
- •9.6 Викривлення в системах з врк
- •9.7 Системи передачі цифрової інформації
- •Кількісне визначення інформації
- •Кодування повідомлень
- •Частина четверта аналітичне уявлення сигналів
- •Частина п’ята дискретизація та квантування
- •Модуляція сигналів
- •Параметри каналів передачі інформації
- •Завадостійкість систем
- •Багатоканальні системи
3.3 Систематичні коди ( у вузькому розумінні )
Вихідними даними для складання систематичного коду являються: кількість кодуючих елементів N; кодова відстань S, що визначається за формулами (3.12) - (3.16); кількість інформаційних символів кодової інформації k, яка визначається за формулою (3.17); значність коду n, що визначається по табл.3.6.
Побудова коду полягає у визначенні всіх кодових комбінацій, перевірку того, як складеним набором кодових комбінацій виконуються вимоги, які пред’являються до коду, і формулюванню закономірностей, необхідних для здійснення ефективного декодування, т.б. використання виправляючих і виявляючих помилки властивостей коду.
В склад кодової комбінації систематичного коду першим включається нульовий вектор, т.б. кодова комбінація, що складається виключно з нулів. Далі складається так звана похідна матриця G, яка містить k ненульових , лінійно-незалежних векторів. Правило її складання зводиться до початкових записів діагональної матриці (k-рядків, k-стовбців), рядки якої доповнюються контрольними символами в кількості n-k кожен. Контрольні символи дописуються так, щоб кількість одиниць в кожному рядку була не менша заданої кодової відстані. Кодова відстань повинна бути витримана також між всіма векторами продуктивної матриці.
Таблиця 3.6 – Визначення кількості інформаційних символів кодової комбінації
Ρ |
N |
1 2
3
4
5
……………
2j+1
|
≤ 2n ≤ 2n-1 2n ≤—— 1+n 2n-1 ≤ —— n 2n+1 ≤———— 2+n+n2 ……………… 2n ≤——————— 1+C1n+C2n+…+Cjn |
Інші N-k-1 кодові вектори отримуються як лінійні комбінації векторів, що входять в продуктивну матрицю. Можливі випадки, коли складання коду по попередньо отриманому значенні n виявляється неможливим. Тоді n слід збільшити на одну одиницю.
В якості прикладу нижче визначаються всі кодові комбінації для коду з N=8, ρ=2 і показниками коду (5.3). Отримаємо нульовий вектор 0000
1 0 0 0 1
Продуктивну матрицю G= 0 1 0 1 0
0 0 1 1 1
Інші кодові вектори , позначивши рядки матриці відповідно через v2, v3, v4, отримаємо у вигляді:
v2 + v 3 = 1 1 0 1 1,
v 2 + v 4 = 1 0 1 1 0,
v 3 + v 4 =0 1 1 0 1,
v 2 + v 3 + v 4 = 1 1 1 0 0.
Перевірка вимог, що пред’являються коду, проводиться складанням матриці відстаней. Для приведеного прикладу матриця відстаней має наступний вигляд ( кодові комбінації позначені порядковими номерами, в порядку їх отримання):
1 2 3 4 5 6 7 8
1 0 2 2 3 4 3 3 3
2 0 4 3 2 3 3 3
3 0 3 2 3 3 3
4 0 3 2 2 4
5 0 3 3 3
6 0 4 2
7 0 2
8 0
Тут, як бачимо, кодова відстань , т.б. найменша із записаних в матрицю відстаней, рівна 2. Отже, складений код задовільняє вимогам.
Для здійснення ефективного декодування необхідно знати провірочну ( контрольну ) матрицю Н. Вона містить n-k рядків, які, являючись лінійно незалежними, повинні задовільнити рівность:
де v – вектор матриці;
u - вектор контрольної матриці;
ai і bi – символи кодових комбінацій відповідно продуктивної й контрольної матриць.
Для складання контрольної матриці попередньо за формулою (3.18) записуються умови, яким повинні відповідати всі вектори, а потім складається сама матриця. У випадку розглядаючого прикладу з формули (3.18) витікають умови:
b1 + b5 = 0;
b2 + b4 = 0;
b3 + b4 + b5 = 0.
П
о
цих умовах, виключаючи нульовий вектор,
може бути складено декілька варіантів
контрольних матриць. Наприклад:
1 0 1 0 1 0 1 1 1 0
Н1= ; Н2 = і т.д.
1 1 0 1 1 1 0 1 0 1
Контрольна матриця є основою для складання таблиці, по якій здійснюється перевірка прийнятих кодових комбінацій на парність. В цій таблиці відмічаються символи, правильність яких перевіряється в кожній із наступних перевірок. Перевірка зводиться до сумування відмічених в таблиці символів принятої кодової комбінації. Перевірку вважаємо такою, що виконується, якщо вказана сума дорівнює нулю або є парним числом. Кількість перевірок відповідає кількості рядків контрольної матриці. Таблиця являється відозміною контрольної матриці, в якій, підлягаючі перевірці символи позначені хрестиками. Наводимо таблицю перевірок для контрольної матриці Н2 нашого прикладу ( табл.3.7 ).
Таблиця 3.7 – Перевірка контрольної матриці
Номер перевірки |
Номер символу |
||||
1 |
2 |
3 |
4 |
5 |
|
1 2 |
Х |
Х |
Х Х |
Х |
Х |
В залежності від вибраної кодової віддалі перевірка на парність дає можливість виправити або тільки виявити існуючі помилки. Якщо кодова комбінація прийнята правильно, то всі перевірки на парність виконуються. Якщо прийнята комбінація містить помилку, то одна або декілька перевірок не виконується. Сполучення перевірок, що виконуються і що не виконуються, вказують на місце знаходження помилки.
В приведеному прикладі при наявності однократної помилки в прийнятій комбінації містяться три можливості. Не виконується ні одна з перевірок – значить, помилка в 3-му символі (так як тільки цей символ присутній в обох перевірках). Перша перевірка виконується, друга ні – значить, помилка в 1-му або 5-му символі. Перша перевірка не виконується, друга виконується – значить, помилка в 2-му або 4-му символі.
Крім перевірки на парність виправлення прийнятих кодових комбінацій можливе шляхом обчислення виправляючого вектора с. Його складові сj – скалярні добутки прийнятого вектора vх і рядка контрольної матриці uy . Так як будь-який прийнятий вектор є сумою переданої кодової комбінації vі і можливої помилки еі, то, враховуючи формулу (3.18), маємо:
сj = vх uj = ( vi + ei ) uj = еі uy . ( 3.19 )
Певний виправляючий вектор с представляється (n – k )- значним, двійковим числом. При відсутності помилки він дорівнює нулю. В залежності від вибраної кодової віддалі кожному виправляючому вектору відповідає одна або декілька можливих помилок. Для виправлення помилок кожному виправляючому вектору необхідно протиставити одну визначену помилку. Виправлення заключається в сумуванні прийнятої кодової комбінації з цією помилкою.
Для розглянутого прикладу ( по контрольній матриці Н2) визначаємо виправляючий вектор, що відповідає помилці 00001.
с1 = (0 0 0 0 1 х 0 1 1 1 0 ) = 0+0+0+0+0=0
с = 01
с2 = (0 0 0 0 1 х 1 0 1 0 1 ) = 0+0+0+0+1=1
По такій же закономірності встановлюємо відповідність решти помилок, що виправляються, вектору, що виправляє:
Помилка с Виправляючий вектор с
0 0 0 0 1 0 1
0 0 0 1 0 1 0
0 0 1 0 0 1 1
П
ри
прийомі будь-якої дозволеної кодової
комбінації одержуємо с = 00. При прийомі
будь-якої комбінації з однократною
помилкою, наприклад п’ятої
комбінації з помилкою в 3-му символі,
одержимо :
с1 = (1 1 1 1 1 х 0 1 1 1 0 ) = 0+1+1+1+0=0
с = 11
с2 = (1 1 1 1 1 х 1 0 1 0 1 ) = 1+ 0+1+0+1=1
Треба особливо підкреслити, що виправлення помилок методом виправляючого вектора не може усунути обмежень, що накладаються на можливості коду його кодовою віддалю. Одержана однозначність виправлення уявна, так як при недостатній кодовій надлишковості один і той же виправляючий вектор відповідає декільком різним помилкам. Це легко перевірити, продовжуючи приведену вище таблицю відповідностей.
