Книги и конспекты / Горьковой Дискретная Математика
.pdf{X |
3g(X)} |
= |
(1101000), |
|
1101000 |
|
{X |
2g(X)} |
= |
(0110100), |
0110100 |
||
{g X } |
= |
(0011010), |
|
0011010 |
|
|
{Xg(X)} |
G = |
|
||||
|
|
|
|
|
|
|
|
( ) |
= |
(0001101), |
|
0001101 |
|
можно выбрать в качестве базисных векторов, и, следовательно, матрицу G можно выбрать в качестве порождающей матрицы для этого кода. Этот код яыляется нулевым подпространством идеала, порожденного многочленом h(X) = (X − 1)(X3 + X + 1) = X4 +
X3 + X2 + 1:
{X2h(X)} = |
(1110100), |
|
{Xh(X)} |
= |
(0111010), |
{h(X)} |
= |
(0011101). |
Рассматриваемый код является нулевым подпространством
матрицы H, образованной |
векторами {X2h(X)}, {Xh(X)} и |
|
{h(X)}, компоненты которых записаны в обратном порядке: |
||
H = 0 1 0 1 1 1 0 |
||
|
0 0 1 0 1 1 1 |
|
1 0 1 1 1 0 0 |
||
|
|
|
Легко проверить, что GHT = 0.
Другой способ задания циклических кодов основан на использовании корней (которые, возможно, лежат в расширении поля) многочлена g(X), порождающего идеал. Предположим, во-первых, что все корни α1, α2, ..., αr многочлена g(X) различны. Тогда циклический код полностью определяется условием: вектор {f (X)} принадлежит коду тогда и только тогда, когда α1, α2, ..., αr — корни многочлена f (X). Если обозначить через mi(X) минимальную функцию для αi, то вектор {f (X)} является кодовым вектором тогда и только тогда, когда многочлен f (X) делится на m1(X), m2(X), ..., mr (X) и, следовательно, на их наименьшее общее кратное. Поэтому код является идеалом, порожденным многочленом
g(X) = НОК[m1(X), m2(X), ..., mr (X)].
Так как многочлен Xn − 1 должен делится на многочлен g(X), то элементы α1, α2, ..., αr должны быть корнями многочлена Xn − 1,
136
и, следовательно, число n должно делится на порядок каждого из элементов αi. Таким образом, n можно выбирать равным наименьшему общему кратному порядков элемента αi, так как при таком выборе n каждый элемент αi является корнем многочлена Xn − 1 и этот многочлен делится на g(X) без остатка.
Если корни задаются как степени одного и того же элемента α порядка e, т.е. если установлено, что αi = αui , где ui — заданные целые числа, то число сомножителей и степень каждого из них в разложении многочлена g(X) для целых e и ui могут быть найдены по следующей схеме. Все корни минимальной функции mi(X) содержатся в последовательности αui , αui q , α , ..., так что все корни mi(X) — различные элементы этой последовательности. Показатели степеней в этой последовательности — различные вычеты по модулю e чисел ui, uiq, uiq2, uiq3, ..., и число различных вычетов равно степени ri минимальной функции mi(X). Вполне возможно, что элементы αui и αuj имеют одну и ту же минимальную функцию mi(X) = mj (X). В этом случае совокупности корней функции mi(X) и mj (X) будут совпадать и в качестве сомножителя в разложении многочлена g(X) следует взять только одну из этих функций. Совокупность показателей, связанных с многочленом mi(X), называется циклическим множеством этого многочлена.
Пр и м е р 29. Код, рассмотренный в предыдущем примере, можно определить условием, чтобы каждый кодовый многочлен содержал среди своих корней любой корень α многочлена X3 +X2 +1.
Сдругой стороны, предположим, что известно только, что каждый кодовый многочлен должен содержать среди своих корней α некоторый примитивный элемент поля GF (23). Все примитивные элементы поля GF (23) являются корнями либо многочлена X3+X2+1, либо многочлена X3 + X + 1. Поэтому искомый код — это либо код, рассмотренный в предыдущем примере, либо эквивалентный ему код, порождаемый многочленом X3 + X + 1.
Код, корнями каждого кодового вектора которого являются единица и α — корень многочлена X3 + X2 + 1 — порождается мно-
гочленом g(X) = (X − 1)(X3 + X2 + 1).
Пр и м е р 30. Рассмотрим менее тривиальный пример. Пусть
β= α89, где α — примитивный элемент GF (211). Исследуем двоичный код, для которого β, β2, β3, β4 — корни всех кодовых многочленов. Так как 89 × 23 = 211 − 1, то β23 = 1. Пусть m(X)
137
— минимальная функция для β. Тогда корни многочлена m(X) образуют последовательность β, β2, β4, β8, β16, β32 = β9, β18, β36 =
= 3 6 12 ( 24 = )
β , β β , β , β , β β .
Итак, m(X) — минимальная функция для β, β2, β3, β4, и многочлен принадлежит кодовому пространству тогда и только тогда, когда он делится на m(X). Различным выборам примитивного элемента α из GF (211) соответствуют различные значения β, каждое из которых является корнем одного из двух многочленов:
X11 +X9 +X7 +X6 +X5 +X +1 или X11 +X10 +X6 +X5 +X4 +X2 +1.
П р и м е р 31. Пусть q = 2 и α — примитивный элемент поля GF (24). Тогда α15 = 1. Рассмотрим код, такой, что вектор {f (X)} принадлежит ему тогда и только тогда, когда элементы α, α2, α3, α4, α5 и α6 являются корнями многочлена f (X). Пусть через mi(X) обозначена минимальная функция для αi. Тогда α, α2, α4, α8 — корни многочлена m1(X) и m1(X) = m2(X) = m4(X) = m8(X). Аналогично α3, α6, α12, α24 = α9 — корни многочлена m3(X). Это описание можно сократить, перечисляя только показатели степеней или циклические множества:
1 |
2 |
4 |
8 |
m1 |
(X) = m2 |
(X) = m4(X) |
(степень 4), |
3 |
6 |
12 |
9 |
m3 |
(X) = m6 |
(X) |
(степень 4), |
5 |
10 |
|
|
m5 |
(X) |
|
(степень 2). |
Отсюда g(X) = m1(X)m3(X)m5(X), и степень g(X) равна 10. П р и м е р 32. Пусть q = 2 и α — примитивный элемент поля GF (25). Тогда α31 = 1. Рассмотрим код, содержащий вектор {f (X)} тогда и только тогда, когда α, α2, α3, ..., α10 — корни
многочлена f (X). Тогда аналогично предыдущему находим
1 |
2 |
4 |
8 |
16 |
3 |
6 |
12 |
24 |
17 |
5 |
10 |
20 |
9 |
18 |
7 |
14 |
28 |
25 |
19 |
m1(X) (степень 5), m3(X) (степень 5), m5(X) (степень 5), m7(X) (степень 5).
|
Здесь m1(X) = m2(X) = m4(X) = |
m8(X), m3(X) = |
m6 |
(X), m5(X) = m10(X) = m9(X). |
При этом все эле- |
менты α, α2, α3, ..., α10 находятся среди |
корней многочленов |
|
m1 |
(X), m3(X), m5(X), m7(X), и поэтому |
|
g(X) = m1(X)m3(X)m5(X)m7(X),
138
так что степень g(X) равна 20.
Если известно, что элемент αi должен быть корнем многочлена f (X) кратности ri, то в разложении многочлена g(X) минимальная функция mi(X) для αi должна повторяться ri раз. Можно показать, что многочлен Xn −1 не имеет кратных корней, если n и q взаимно просты. Если n = qsn1, где n1 и q взаимно просты, то
Xn − 1 = (Xn1 − 1)qs .
Таким образом, все корни многочлена Xn − 1 всегда повторяются одно и то же число раз, а именно qs раз, где qs — наибольшая степень числа q, на которую делится n. Для кратных корней значение n можно найти следующим образом. Пусть n1 — наименьшее общее кратное порядков элементов α1, α2, ..., αr . Каждый из этих элементов — простой корень многочлена Xn1 − 1. Пусть rm — наибольшая кратность среди кратностей всех корней, а s — наименьшее целое число, удовлетворяющее неравенству rm ≤ qs. Тогда n = n1qs.
Приведем два способа отыскания минимальной функции для заданного элемента поля α3, где α — корень примитивного много-
члена X4 + X + 1. (См. табл. 5.1.)
1.Элементы α3, α6, α12, α9 — корни многочлена m3(X), и, следовательно, m3(X) = (X − α3)(X − α6)(X − α12)(X − α9). Производя с использованием таблицы 5.1. умножение, находим m3(X) =
X4 + X3 + X2 + X + 1.
2.Известно, что степень многочлена m3(X) равна 4. Пусть m3(X) = a0 +a1X +a2X2 +a3X3 +X4. Подставляя α3 = (1000) вместо X, α6 = (1100) вместо X2, α9 = (1010) вместо X3 и α12 = (1111)
вместо X4, получаем
|
|
0 |
|
|
|
1 |
|
|
|
1 |
|
|
|
1 |
|
|
|
1 |
|
|
a0 |
0 |
+ a1 |
0 |
+ a2 |
1 |
+ a3 |
0 |
+ |
1 |
= 0 |
||||||||||
|
0 |
|
|
0 |
|
|
0 |
|
|
1 |
|
|
1 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
0 |
|
|
|
0 |
|
|
|
0 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или
a1 + a2 + a3 + 1 |
= 0, |
|
a2 + 1 |
= |
0, |
a3 + 1 |
= |
0, |
a0 + 1 |
= |
0, |
139
откуда a0 = a1 = a2 = a3 = 1.
8.2. Матричное представление циклических кодов
Если многочлен g(X) = ar Xr + ar−1Xr−1 + ... + a0 порождает код, то все векторы {X g(X)}, {Xn−r−2g(X)}, ..., {g(X)} являются кодовыми векторами. Таким образом, кодовыми векторами являются все строки следующей матрицы:
|
|
|
a |
ar− |
|
. |
... |
a |
0 |
|
. ... . |
0 |
|
|
|
|
0r |
ar |
1 |
ar−1 |
... |
. 0 |
a0 |
0 ... . |
0 |
|
|||
|
|
. . |
|
. |
... . . |
|
. ... . |
. |
|
|
||||
G |
= |
. . |
|
. |
... . . |
|
. ... . |
. |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . |
|
. |
... . . |
|
. ... . |
. |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
|
. |
... |
ar |
ar−1 |
. ... a0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
|
. |
... |
0 |
a |
r |
. ... . |
a |
0 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Очевидно, строки этой матрицы линейно независимы, а ее ранг, совпадающий с размерностью кода, равен n − r. Следовательно пространство строк матрицы G представляет собой кодовое пространство. Условимся, что в любом циклическом коде первые k символов, т.е. коэффициенты при Xn−1, Xn−2, ..., Xn−k ,
— будут всегда выбираться в качестве информационных сим-
волов, |
а |
последние n − k симоволов, т.е. коэффициенты при |
X |
, X |
, ..., 1, — в качестве проверочных символов. |
n−k−1 |
|
n−k−2 |
Порождающая матрица любого циклического кода может быть следующим образом приведена к модифицированной приведенноступенчатой форме. Пусть ri(X) — остаток от деления Xi на многочлен g(X):
Xi = g(X)qi(X) + ri(X).
Тогда многочлены
Xi − ri(X) = g(X)qi(X)
являются кодовыми векторами. Если эти многочлены при i = n − 1, n −2, ..., n −k выбрать в качестве строк порождающей матрицы, то
G = [Ik , −R],
где Ik — единичная матрица размерности k × k, а −R — матрица размерности k × (n − k), j-ой строкой которой является вектор из
140
коэффициентов многочлена −rn−j (X). Этот код является также нулевым пространством матрицы
H = [RT , In−k ],
причем j-я строка матрицы HT является вектором коэффициентов многочлена rn−j (X) даже при j ≤ n − k.
П р и м е р 33. Для двоичного циклического кода, порожденного многочленом g(X) = X3 + X2 + 1,
X6 = g(X)(X3 + X2 + X) + X2 |
+ X |
|
|
||||||||||||
X5 = g(X)(X2 + X + 1) |
|
|
|
+ X + + 1 |
|
||||||||||
X4 = g(X)(X + 1) |
|
|
|
+ X2 |
+ X + 1 |
|
|||||||||
X |
3 = g(X)(1) |
|
|
|
|
+ |
X |
2 |
+ |
1 |
|
||||
X |
2 = g(X)(0) |
|
|
|
|
+ |
X |
2 |
|
|
|
||||
X |
1 = g(X)(0) |
|
|
|
|
|
|
|
|
+ X |
|
|
|||
X |
0 = g(X)(0) |
|
|
|
|
|
|
|
|
+ |
1 |
|
|||
|
|
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
|
|
|
|
|
1 0 0 0 1 1 0 |
|
|||||
HT |
|
1 |
1 |
1 |
|
и |
G |
|
|
|
0 1 0 0 0 1 1 |
|
|||
|
1 |
0 |
1 |
|
1 |
= |
|
|
|
|
|||||
1 |
= |
|
|
|
|
0 |
0 1 0 1 1 1 |
|
|||||||
|
|
1 |
0 |
0 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
|
|
|
|
|
|
0 |
0 0 1 1 0 1 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Теперь рассмотрим двойственный код, т.е. код, порождааемый многочленом (X7 −1)/g(X) = (X −1)(X2 +X +1) = X4 +X3 +X2 +1.
Для этого порождающего многочлена
r6(X) = |
3 |
+ |
2 |
|
+ X |
|
|
|
|
|
|
1 |
1 |
1 |
0 |
|
|||||||
X |
X |
|
|
|
|
|
|
||||||||||||||||
r5(X) = |
|
|
X2 |
|
+ X + 1 |
|
|
|
0 |
1 |
1 |
1 |
|||||||||||
r4(X) = X3 |
+ X2 |
|
+ X + 1 |
|
|
|
|
1 |
1 |
0 |
1 |
|
|||||||||||
r |
3 |
( |
X |
) = |
X3 |
|
|
|
|
|
|
|
|
HT |
= |
|
1 |
0 |
0 |
0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
||||||||||
r2(X) = |
|
|
2 |
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r1(X) = |
|
|
|
|
|
X |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
0( |
X |
) = |
|
|
|
|
|
|
|
1 |
|
|
|
|
0 |
0 |
0 |
1 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
G2 |
= 0 1 0 0 1 1 1 . |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141
Матрицы H1 и G2 совпадают, если в одной из них порядок расположения строк и столбцов заменить на обратный. То же самое верно для матриц G1 и H2.
Предположим, что многочлен f (X) принадлежит кодовому пространству тогда и только тогда, когда элементы α1, α2, ..., αr являются его корнями. Если
f (X) = fn−1Xn−1 + fn−2Xn−2 + ... + f0,
то при i = 1, 2, ..., r
f (α |
) = f − |
αn−1 |
+ f − |
αn−2 |
+ ... + f |
0 |
= 0, |
i |
n 1 |
i |
n 2 |
i |
|
|
и это равенство может быть записано при помощи произведения матриц
n−1 |
n−2 |
T |
[fn−1, fn−2, ..., f0][αi |
, αi |
, ..., αi] = 0. |
Это условие в точности эквивалентно условию, состоящему в том, что αi — корень мнонгочлена f (X). Это условие совпадает также с условием, состоящем в том, что многочлен f (X) делится на минимальную функцию mi(X) для элемента αi. Далее, то что элементы α1, α2, ..., αr являются корнями многочлена f (X), эквивалентно условию, состоящему в том, что соответствующий вектор принадлежит нулевому пространству матрицы
|
n−1 |
n−2 |
· · · |
1 |
0 |
|
α2 |
α2 |
α2 |
α2 |
|||
|
α1 |
α1 |
· · · |
α1 |
α1 |
|
|
n−1 |
n−2 |
|
1 |
0 |
|
. . − . . . .−. . . . . . . . . . . |
||||||
H = |
|
|
|
|
|
|
αn 1 |
αn 2 |
· · · |
α1 |
α0 |
||
|
r |
r |
r |
r |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
Совокупность всех многочленов, одним из корней которых является элемент αi, совпадает с нулевым пространством матрицы
[αn−1 |
, αn−2 |
, ..., α0 |
], |
(8.1) |
i |
i |
i |
|
|
и поскольку эта совокупность многочленов совпадает с многочленами, которые делятся на минимальную функцию mi(X) степени mi, то они образуют идеал, размерность которого равна n − mi. Так как размерность нулевого пространства матрицы (8.1) равна n −mi, то размерность пространства строк матрицы равна mi. Заметим, что коэффициенты кодовых многочленов принадлежат полю GF (q), а αi — элемент расширения поля, если только mi =6 1.
142
Элементы расширения поля можно рассматривать как векторы с mi компонентами над основным полем. Следовательно, размерность пространства строк матрицы (8.1) надGF (q) равна mi.
Если αi и αj определяют один и тот же минимальный многочлен mi(X) = mj (X), то соответствующие им нулевые пространства совпадают и, следовательно, соответствующие пространства строк определяют одно и то же пространство над полем GF (q). Поэтому при построении матрицы H в разложении многочлена g(X) нужно использовать только один корень каждого неприводимого сомножителя.
П р и м е р 34. Рассмотрим двоичный циклический код, содержащий вектор {f (X)} тогда и только тогда, когда элементы α, α2, ..., α6 являются корнями многочлена f (X). Здесь α — корень многочлена p(X) = X4 + X + 1 и, следовательно, примитивный элемент GF (24). В этом случае
g(X) = m1(X)m3(X)m5(X),
и достаточно потребовать, чтобы корнями любого многочлена f (X), принадлежащего коду, были элементы α, α3, α5. Искомым кодом является нулевое пространство матрицы H, транспонированная матрица к которой равна
|
|
|
α14 |
· · · |
α42 = α12 |
α70 = α10 |
|
|
|
α13 · · · |
α39 = α9 |
α65 = α5 |
|||
HT |
= |
α12 |
· · · |
α36 = α6 |
α60 = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
. . . . . . . . . . . . . . . . . . . . . . |
|||||
|
|
|
1 |
· · · |
3 |
5 |
|
|
|
|
α |
α |
α |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
· · · |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или
143
|
1001 |
1111 |
0111 |
|
1101 |
1010 |
0110 |
|
|
|
|
|
1111 |
1100 |
0001 |
|
|
|
|
|
1110 |
1000 |
0111 |
|
|
|
|
|
0111 |
0001 |
0110 |
|
|
|
|
|
|
|
|
T |
1010 |
1111 |
0001 |
|
1010 |
|
|
|
0101 |
0111 |
|
|
|
|
|
H = |
1011 |
1100 |
0110 |
|
|
|
|
|
|
|
|
|
1100 |
1000 |
0001 |
|
|
|
|
|
0110 |
0001 |
0111 |
|
|
|
|
|
0011 |
1111 |
0110 |
|
|
|
|
|
|
|
|
|
1000 |
1010 |
0001 |
|
|
|
|
|
0100 |
1100 |
0111 |
|
|
|
|
|
0010 |
1000 |
0111 |
|
|
|
|
|
|
|
|
|
0001 |
0001 |
0001 |
если подставить, пользуясь таблицей 5.1, векторное представление элементов поля.
Далее,
X15 − 1 = (X − 1)(X2 + X + 1)(X4 + X3 + X2 + X + 1)×
×(X4 + X3 + 1)(X4 + X + 1),
и легко проверить, что если α — корень многочлена X4 + X + 1, то α3 — корень многочлена X4 + X3 + X2 + X + 1, α5 — корень многочлена X2 + X + 1. Поэтому ранг матрицы (α14, α13, ..., α0) равен 4 и ранг матрицы (α42, α39, ..., α0) также равен 4, поскольку степени минимальных функций для каждого из элементов α и α3 равны 4. Степень минимальной функции для элемента α5, однако, равна 2, и ранг матрицы (α70, α65, ..., α0) должен быть равен 2. Очевидно, что это так; в матрице HT девятый столбец состоит из нулей, а десятый и одинадцатый столбцы полностью совпадают.
8.3. Коды Боуза – Чоудхури – Хоквингема (БЧХ)
Пусть α — элемент из поля GF (qm). При любых заданных значениях m0 и d0 код, порожденный многочленом g(X), является БЧХ-кодом тогда и только тогда, когда многочлен g(X) является многочленом наименьшей степени над GF (q), для которого
αm0 , α , ..., αm0+d0−2 — корни.
144
Длина кода равна наименьшему общему кратному порядков корней. За исключением того случая, когда задатся только один корень αm0 , длина кода n равна порядку e элемента α. Так как
(αm0 )n = αm0n = 1, (αm0+1)n = αm0n+n = 1
и, следовательно, αn = 1, длина кода n делится на e и n не может быть меньше чем e — порядок элемента α. С другой стороны, если αe = 1, то (αj )e = 1, так что число e делится на порядок каждого элемента αj . Поэтому n не больше e, и, следовательно, n = e.
Наибольшее значение имеют двоичные БЧХ-коды, получающиеся, если в качестве α выбрать примитивный элемент поля GF (2m) и положить m0 = 1, а d0 = 2t0 + 1. Тогда вектор {f (X)} принадлежит коду тогда и только тогда, когда элементы
2 |
3 |
2t0 |
α, α , α , ..., α
являются корнями многочлена f (X). Однако каждая четная степень α является корнем минимальной функции, являющейся также минимальной функцией для некоторой предшествуюющей нечетной степени α. Например, если mj (X) обозначает минимальную функцию для αj , то α2, α4 — корни m1(X), α6 — корень m3(X), α8
— корень m1(X), α10 — корень m5(X) и т.д. Следовательно, можно дать следующее эквивалентное определение кода: вектор {f (X)} принадлежит коду тогда и только тогда, когда элементы
32t0−1
α, α , ..., α
являются корнями многочлена f (X). Итак, код порождается многочленом
g(X) = НОК(m1(X), m3(X), ..., m2t0−1(X)), |
(8.2) |
причем степень каждого многочлена mi(X), как следует из теорем 51 и 59, не превосходит m. Таким образом, степень многочлена g(X) не превосходит mt0.
Другим важным подклассом БЧХ-кодов являются коды РидаСоломона, получаемые при m = m0 = 1. Пусть α элемент GF (q) порядка n. (Если α — примитивный элемент, то n равно своему наибольшему значению q − 1.) Пусть вектор{f (X)} является кодовым вектором тогда и только тогда, когда элементы
2d−1
α, α , ..., α
145