Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.07 Mб
Скачать

20. У чому полягає алгоритм кодування циклічним кодом? Що таке перевірний поліном циклічного коду? Які його властивості?

1. Таким чином, алгоритм побудови циклічного (kn)- коду для послідовності m=(m0, m1, m2, … , mk-1) такий:

1) многочлен інформаційної послідовності m(x) множиться на xn-k, тобто зсувається праворуч на n-k розрядів;

2) отриманий у такий спосіб поліном ділиться на твірний поліном коду g(x);

3) остача від ділення xn-km(x) на g(x) додається до xn-km(x), тобто записується в молодших n-k розрядах.

2 Визначення. Поліном h(x) степеня k, що є часткою від ділення двочлена xn+1 на твірний поліном коду g(x), називається перевірним поліномом. Оскільки h(x) однозначно зв'язаний з g(x), то він також визначає код.

Спираючись на вищевикладене, можна дати інше визначення двійкового циклічного коду.

Визначення. Циклічним називається лінійний (k, n)- код, усі 2k кодові комбінації якого подані поліномами степеня n-1 і менше, які діляться без остачі на деякий поліном g(x) степеня r=n-k, що є дільником двочлена xn+1.

21. Яким чином виявляються помилки поліноміальним кодом? в яких випадках помилки залишаються не знайденими?

1. Визначення. Поліноміальним кодом називається множина всіх многочленів степеня не більше n-1, що мають спільний множник – деякий фіксований многочлен g(x) степеня r=n-k (де n - довжина кодових слів, k - довжина інформаційного повідомлення; r - кількість перевірних символів). Цей многочлен g(x) називається твірним многочленом коду.

Поліноміальний код з твірним многочленом g(x) кодує повідомлення m(x) поліномом вигляду

u(x)=m(x)g(x)=u0 + u1x + u2x2  + … + un-1xn-1, (3.15)

або кодовим словом з коефіцієнтів цього многочлена u= (u0, u1, …, un-1).

Матриця поліноміального коду з твірним многочленом g(x) степеня r=n-k має вигляд

, (3.16)

де ненульові елементи в i-му рядку - це послідовність коефіцієнтів твірного многочлена, розташованих з j-го по (j+r)-й стовпець.

2. Теорема. Вектор помилок e=e0, …, en-1 залишиться не визначеним у тому і лише у тому випадку, якщо його многочлен e(x)=e0+e1x+…+en-1xn-1 ділиться на твірний поліном коду g(x) без остачі.

Доведення. Прийнята послідовність c(x)=m(x)g(x)+e(x) ділиться на g(x) без остачі тоді і тільки тоді, коли e(x) ділиться на g(x) без остачі.

Тому будь-яка помилка, многочлен якої не ділиться на g(x), буде знайденою, відповідно будь-яка помилка, многочлен якої ділиться на g(x), знайденою не буде. Отже, виявлення помилки поліноміальним кодом з твірним поліномом g(x) може бути здійснене за допомогою ділення многочленів: якщо залишок від ділення многочлена прийнятої послідовності на твірний поліном g(x) ненульовий, то при передачі відбулося спотворення даних.

22 Як побудувати твірну матрицю лінійного блокового коду із заданими характеристиками?

Твірна матриця лінійного блокового коду складається зk лінійно незалежних комбінацій коду,а всі інші кодові слова, крім нульового, - лінійні комбінації кодових слів, що входять до твірної матриці.

Найзручнішим і наочним способом задання лінійного блокового коду є його подання за допомогою твірної матриці.

одинична перевірна

підматрицяIkxkпідматрицяPkx(n-k)

Визначення.Лінійний блоковий систематичний (k, n)- код повністю визначається матрицею G розміром kn з двійковими матричними елементами. При цьому кожне кодове слово є лінійною комбінацією рядків матриці G, а кожна лінійна комбінація рядків G - кодовим словом.

Нехай m=(m1, m2, ... , mk) – блок повідомлення. Тоді кодовим словом буде послідовність u=mG, де для i=1, 2, ..., kui=mi; для i=k+1, ..., nui= 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) =( ).

Лінійний блоковий код може бути заданийперевірною матрицеюH(n-k)n, що має таку властивість:

якщо деяка послідовність u є кодовим словом лінійного блокового коду, заданого перевірною матрицею H(n-k)n, тоuH= 0, тобто перевірна матриця ортогональна будь-якій кодовій послідовності даного коду.

Перевірна матриця має розмірність (n-k)n і таку структуру:

,

де - транспонована перевірна підматриця твірної матриці Gkn; - одинична підматриця.

З властивості перевірної матриці лінійного блокового коду випливає, що за її допомогою можна визначити, чи є прийнята послідовність кодовим словом даного коду чи ні.

Приклад2 Для розглянутого прикладу лінійного блокового (4, 7)- коду перевірна матриця матиме вигляд

.

Нехай прийнята послідовність y=(1011001). Перевіримо, чи є вона кодовим словом даного коду:

=(1011001) =(1 0 1) ≠0.

Отже, послідовність (1011001) не кодове словом даного коду.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]