Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Н. О. 0 Теорія інформації рекомендовано Міністе...doc
Скачиваний:
0
Добавлен:
24.02.2020
Размер:
4.27 Mб
Скачать

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) не кодове словом даного коду.