Будь-циклічний (n, k) - код може бути заданий як визначено 2, що породжує многочленом g (x) або перевірочним многочленом.
Знання цих многочленів дозволяє побудувати породжує матрицю і матрицю перевірок. Для циклічного (n, k) - коду існує простий спосіб знаходження k лінійно незалежних кодових комбінацій, що утворюють породжує матрицю. Цей спосіб полягає в наступному. Записується породжує многочлен g (x). Відповідно до визначення 2 комбінація, відповідна породжує многочлену, належить циклічним (n, k) - коду. Відповідно до визначення 1 циклічні зрушення комбінації, відповідної g (x). також повинні належати цьому ж коду. Алгебраїчно зрушення відповідає множенню кодової комбінації на х. Так як ступінь g (x) дорівнює n-k. подібним чином ми можемо отримати кодові комбінації
Легко перевірити, що ці кодові комбінації лінійно незалежні, хоча б тому, що ступеня усіх цих многочленів різні, тому даний набір многочленів може бути використаний в якості:
Шляхом елементарних перетворень ця матриця може бути приведена до канонічної формі.
Аналогічним чином по перевірочного многочлену можна побудувати матрицю перевірок
Приклад 6.4. Для циклічного (7,4) - коду з породжує многочленом (див. Приклад 6.3.) Побудувати породжує матрицю.
Отже, що породжує матриця для даного коду має вигляд:
Отримані результати і міркування щодо алгебраїчної структури циклічних кодів, наведені в розділі 6.2, дозволяють помітити одну важливу властивість циклічних кодів, певне їх циклічною структурою.
Властивість 6.1. Твір кодової комбінації циклічного коду на довільний многочлен дає кодову комбінацію цього ж циклічного коду.
Дійсно, а будь-який твір такого виду дорівнює нулю, тобто належить кодовому подпространству (розділ 6.2).
Більш елементарне доказ:
Отримана сума є сума циклічних зрушень кодових комбінацій, що по властивості замкнутості групового коду має дати комбінацію того ж циклічного коду.
При описі циклічних кодів слід враховувати специфіку дій над многочленами, у порівнянні з векторами і, зокрема, той факт, що множення многочленів не збігається зі скалярним множенням векторів, що відображають ці многочлени. Однак в класі вирахувань многочленів по модулю між цими поняттями існує досить тісний зв'язок. Нехай є вектор і відповідний йому многочлен, а також вектор і відповідний йому многочлен. Будемо вважати многочлени і ортогональними, якщо виконана умова.
Коефіцієнт при х в творі дорівнює
Складові, що містять, з'являються внаслідок доданків в творі, які містять. Але так як, тобто , То. Рівність для можна представити у вигляді скалярного твори:
У цьому творі перший вектор відповідає а (х). Другий вектор містить коефіцієнти b (х). розташовані в зворотному порядку і зсунуті циклічно на j +1 елемент вправо.
Таким чином, якщо добуток дорівнює нулю, то вектор, відповідний многочлену а (х). ортогонален вектору, відповідному многочлену b (х). компоненти якого розташовані в зворотному порядку, і крім того кожному циклічному зсуву цього вектора. Вірно також і зворотне твердження. Якщо вектор ортогональний вектору і кожному циклічному зсуву цього вектора, то
З огляду на цю специфіку необхідно при матричному описі коду коефіцієнти матриці перевірок записувати в зворотному порядку. У цьому випадку буде виконана умова
Приклад 6.5. Побудувати матрицю перевірок для циклічного (7,4) - коду з попереднього прикладу.
Для побудови матриці перевірок знайдемо перевірки многочлен
В силу того, що умова рівності нулю добутку многочленів і скалярного твори відповідних їм векторів не збігаються, для виконання рівності при побудові матриці компоненти векторів, відповідних h (x), xh (x) і x 2 h (x) записуємо в зворотному порядку
В отриманій матриці перевірок в якості стовпців записані всі 7 ненульових послідовностей довжини 3. Отже, даний код є кодом Хеммінга.
Взагалі кажучи, циклічні коди Хеммінга будуються на основі породжують многочленів ступеня m. є співмножники Двочленні і не є співмножники ніяких Двочленні меншій мірі. Коріння цих многочленів мають порядок 2 m -1, тобто вони є примітивними елементами поля GF (2 m). Це означає, що породжує многочлен коду Хеммінга породжує поле GF (2 m).
Домовимося в будь-якому циклічному коді перші n-k елементів кодової комбінації, тобто коефіцієнти при використовувати в якості перевірочних елементів, а останні k елементів, тобто коефіцієнти при, - в якості інформаційних (рис. 6.0).
x 0 x 1 x 2 x n-k-1 x n-k x n-2 x n-1
З розглянутого прикладу видно, що перевірочна матриця циклічного (n, k) - коду містить в якості стовпців залишки від ділення на породжує многочлен g (x) .Сравненіе стовпців знайденої перевірочної матриці з елементами поля GF (2 3) показує їх повний збіг з ненульовими елементами GF (2 3). Результати розглянутого прикладу будуть використані для обґрунтування еквівалентності різних стовпців обчислення синдрому.