42
Теория кодирования МФТИ , осень 2013 Александр Дайняк www.dainiak.com

Циклические коды. Граница БЧХ

Embed Size (px)

DESCRIPTION

Циклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование. Граница Боуза—Чоудхури—Хоквингема.

Citation preview

Page 1: Циклические коды. Граница БЧХ

Теория кодированияМФТИ, осень 2013

Александр Дайняк

www.dainiak.com

Page 2: Циклические коды. Граница БЧХ

Циклический код

Циклический код — это линейный код, такой, что для любого кодового слова 𝑎0, 𝑎1 … , 𝑎𝑛−1слово 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 также является кодовым.

Т.е. циклический сдвиг кодового слова также является кодовым словом.

Page 3: Циклические коды. Граница БЧХ

Циклический код

Например, 7,4,3 -код Хемминга эквивалентен циклическому коду с проверочной матрицей

1 1 1 0 1 0 00 1 1 1 0 1 00 0 1 1 1 0 1

Page 4: Циклические коды. Граница БЧХ

Алгебраическое определение циклических кодовСопоставим слову

𝑎0, … , 𝑎𝑛−1 ∈ 𝔽𝑞𝑛

многочлен𝑓 ≔ 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥2 + ⋯ + 𝑎𝑛−1𝑥𝑛−1 ∈ 𝔽𝑞 𝑥

Тогда слову 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 отвечает многочлен𝑎𝑛−1 + 𝑎0𝑥 + 𝑎1𝑥2 + ⋯ + 𝑎𝑛−2𝑥𝑛−1 = 𝑥 ⋅ 𝑓 − 𝑎𝑛−1 𝑥𝑛 − 1

Page 5: Циклические коды. Граница БЧХ

Алгебраическое определение циклических кодовПерейдём в кольцо 𝔽𝑞 𝑥 𝑥𝑛 − 1 .

Слову 𝑎0, … , 𝑎𝑛−1 отвечает элемент кольца𝑓 = 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥2 + ⋯ + 𝑎𝑛−1𝑥𝑛−1,

а слову 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 отвечает элемент𝑥 ⋅ 𝑓 − 𝑎𝑛−1 𝑥𝑛 − 1 =

в кольце𝑥 ⋅ 𝑓

Вывод: циклический сдвиг слова эквивалентен умножению соответствующего многочлена на 𝑥 в кольце 𝔽𝑞 𝑥 𝑥𝑛 − 1 .

Page 6: Циклические коды. Граница БЧХ

Алгебраическое определение циклических кодовЦиклический код — это подмножество 𝐶 кольца 𝔽𝑞 𝑥 𝑥𝑛 − 1 , такое, что

• 𝑓1, 𝑓2 ∈ 𝐶 ⇒ ∀𝛼, 𝛽 ∈ 𝔽𝑞 𝛼𝑓1 + 𝛽𝑓2 ∈ 𝐶

• 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶

Page 7: Циклические коды. Граница БЧХ

Циклический код — идеал кольца

Утверждение.Для любого ц.к. 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 выполнено

𝑓 ∈ 𝐶 ⇒ ∀𝑔 ∈ 𝔽 𝑥 𝑥𝑛 − 1 𝑓 ⋅ 𝑔 ∈ 𝐶

Доказательство: утверждение непосредственно следует из алгебраического определения ц.к.

Page 8: Циклические коды. Граница БЧХ

Циклический код — идеал кольца

Утверждение.Любой циклический код 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 может быть представлен в виде

𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1для некоторого фиксированного многочлена 𝑔.

Page 9: Циклические коды. Граница БЧХ

Циклический код — идеал кольца

Доказательство:

Пусть 𝐶 — ц.к. Рассмотрим 𝑔0 ∈ 𝐶, такой, чтоdeg 𝑔0 = min

𝑔∈𝐶

𝑔≢0

deg 𝑔

Тогда любой многочлен 𝑓 ∈ 𝐶 кратен 𝑔0. Действительно, поделим 𝑓 на 𝑔0 c остатком:

𝑓 𝑥 = 𝑔0 𝑥 ⋅ 𝑓 𝑥 + 𝑟 𝑥

где deg 𝑟 < deg 𝑔0.

Но 𝑟 = 𝑓 − 𝑓 ⋅ 𝑔0 ∈ 𝐶, а значит 𝑟 ≡ 0.

Page 10: Циклические коды. Граница БЧХ

Единственность порождающего многочленаНормированный многочлен — это многочлен с коэффициентом 1при мономе старшей степени.

Утверждение.В любом ц.к. ненулевой нормированный многочлен минимальной степени единственен.

Этот многочлен называется порождающим многочленомциклического кода.

Page 11: Циклические коды. Граница БЧХ

Единственность порождающего многочлена

Доказательство:

Допустим, что в коде 𝐶 нашлись два разных нормногочленаминимальной степени:

𝑔1 𝑥 = 𝑥𝑙 + ⋯𝑔2 𝑥 = 𝑥𝑙 + ⋯

Но тогда 𝑔1 − 𝑔2 ∈ 𝐶 и deg 𝑔1 − 𝑔2 < 𝑙 — это противоречит минимальности 𝑙.

Page 12: Циклические коды. Граница БЧХ

Критерий существования циклического кода

Теорема.Нормногочлен 𝑔 ∈ 𝔽 𝑥 𝑥𝑛 − 1 может быть порождающим многочленом циклического кода т. и т.т., когда он является делителем многочлена 𝑥𝑛 − 1 в кольце 𝔽 𝑥 .

Page 13: Циклические коды. Граница БЧХ

Критерий существования циклического кода: достаточность

Доказательство 𝑔| 𝑥𝑛 − 1 ⇒ ∃ц. к.

Пусть 𝑔 𝑥 ∣ 𝑥𝑛 − 1 .

Положим𝐶 ≔ 𝑓𝑔, где 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

Очевидно, 𝐶 — циклический код.

Осталось доказать, что 𝑔 — порождающий многочлен кода 𝐶, то есть что в 𝐶 любой ненулевой многочлен имеет степень > deg 𝑔, либо равен const ⋅ 𝑔.

Page 14: Циклические коды. Граница БЧХ

Критерий существования циклического кода: достаточностьРассмотрим произвольный многочлен 𝑔 ∈ 𝐶.

Имеем 𝑔 = 𝑓𝑔 для некоторого 𝔽 𝑥 𝑥𝑛 − 1 .

Тогда в кольце 𝔽 𝑥 для тех же самых 𝑓 и 𝑔 и некоторого 𝑠выполнено равенство

𝑔 = 𝑓 ⋅ 𝑔 + 𝑠 ⋅ 𝑥𝑛 − 1

По условию, 𝑥𝑛 − 1 = 𝑟 ⋅ 𝑔 для некоторого 𝑟 ∈ 𝔽 𝑥 , следовательно

𝑔 = 𝑓 ⋅ 𝑔 + 𝑠𝑟 ⋅ 𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔

Page 15: Циклические коды. Граница БЧХ

Критерий существования циклического кода: достаточностьИтак, в кольце 𝔽 𝑥 для некоторых 𝑓, 𝑟, 𝑠 имеем

𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔

Возможны случаи:

• 𝑓 + 𝑠𝑟 ≡ 0 — тогда 𝑔 ≡ 0

• 𝑓 + 𝑠𝑟 ≡ const ≠ 0 — тогда 𝑔 = const ⋅ 𝑔

• deg 𝑓 + 𝑠𝑟 ≥ 1 — тогда deg 𝑔 > deg 𝑔

Page 16: Циклические коды. Граница БЧХ

Критерий существования циклического кода: необходимостьДоказательство ∃ц. к. ⇒ 𝑔| 𝑥𝑛 − 1

Пусть 𝐶 — циклический код в 𝔽 𝑥 𝑥𝑛 − 1 с порождающим многочленом 𝑔.

Поделим в кольце 𝔽 𝑥 с остатком 𝑥𝑛 − 1 на 𝑔:𝑥𝑛 − 1 = 𝑓 ⋅ 𝑔 + 𝑟

где deg 𝑟 < deg 𝑔.

Тогда в кольце 𝔽 𝑥 𝑥𝑛 − 1 имеем𝑟 = −𝑓 ⋅ 𝑔 ∈ 𝐶

Отсюда 𝑟 ≡ 0, то есть 𝑔| 𝑥𝑛 − 1 .

Page 17: Циклические коды. Граница БЧХ

Размерность и порождающая матрица циклического кода

Утверждение.Пусть порождающий многочлен циклического кода 𝐶 ⊆ 𝔽𝑞 𝑥 𝑥𝑛 − 1 имеет вид

𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝛼−1𝑥𝛼−1 + 𝑥𝛼

Тогда, если рассматривать 𝐶 как подпространство 𝔽𝑞𝑛, то dim 𝐶 =

𝑛 − 𝛼 и порождающая матрица кода имеет вид𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … … 00 𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 𝑐0 𝑐1 … 𝑐𝛼−1 1

Page 18: Циклические коды. Граница БЧХ

Размерность и порождающая матрица циклического кода

Доказательство:

Очевидно, что строки матрицы𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … … 00 𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 𝑐0 𝑐1 … 𝑐𝛼−1 1

линейно независимы и её ранг равен 𝑛 − 𝛼 .

Остаётся доказать равенство dim 𝐶 = 𝑛 − 𝛼.

Page 19: Циклические коды. Граница БЧХ

Размерность и порождающая матрица циклического кода

Для произвольного 𝑓 ∈ 𝔽𝑞 𝑥 𝑥𝑛 − 1 положим

𝐶𝑓 ≔ 𝑓 + ℎ ∣ ℎ ∈ 𝐶 .

Докажем, что если 𝑓1 ≠ 𝑓2 и deg 𝑓𝑖 < 𝛼, то𝐶𝑓1

∩ 𝐶𝑓2= ∅

Допустим, что 𝐶𝑓1∩ 𝐶𝑓2

≠ ∅. Это означает, что 𝑓1 + ℎ1 = 𝑓2 + ℎ2

для некоторых ℎ1, ℎ2 ∈ 𝐶.

Тогда 𝑓1 − 𝑓2 = ℎ2 − ℎ1 ∈ 𝐶.

Но тогда из условия deg 𝑓1 − 𝑓2 < 𝛼 вытекает, что 𝑓1 − 𝑓2 ≡ 0 —противоречие.

Page 20: Циклические коды. Граница БЧХ

Размерность и порождающая матрица циклического кодаПусть

𝑓1, … , 𝑓𝑞𝛼 ∈ 𝔽𝑞 𝑥 𝑥𝑛 − 1— всевозможные многочлены степени < 𝛼.

Так как 𝐶𝑓𝑖∩ 𝐶𝑓𝑗

= ∅ при 𝑖 ≠ 𝑗, то

𝐶𝑓1+ ⋯ + 𝐶𝑓𝑞𝛼 ≤ 𝔽𝑞 𝑥 𝑥𝑛 − 1 = 𝑞𝑛

Очевидно, 𝐶𝑓𝑖= 𝐶 для каждого 𝑖, а значит

𝐶 ≤ 𝑞𝑛

𝑞𝛼 = 𝑞𝑛−𝛼

Следовательно, dim 𝐶 ≤ 𝑛 − 𝛼.

Page 21: Циклические коды. Граница БЧХ

Размерность и порождающая матрица циклического кода

Доказанное утверждение:Если код 𝐶 имеет порождающий многочлен

𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝛼−1𝑥𝛼−1 + 𝑥𝛼

то порождающая матрица кода 𝐶 имеет вид𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … … 00 𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 𝑐0 𝑐1 … 𝑐𝛼−1 1

Следствие.Код 𝐶 можно представить в виде

𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1 , deg 𝑓 < 𝑛 − 𝛼

Page 22: Циклические коды. Граница БЧХ

Систематическое кодирование циклических кодов

Утверждение.У любого циклического кода существует порождающая матрица канонического вида.(Т.е. любой ц.к. допускает систематическое кодирование.)

Замечание.Важно, что сам код допускает систематическое кодирование. Не нужно переходить к эквивалентному коду.

Page 23: Циклические коды. Граница БЧХ

Систематическое кодирование циклических кодов

Доказательство:

Пусть 𝑔 — порождающий многочлен, deg 𝑔 = 𝛼.

Поделим многочлены 𝑥𝛼 , 𝑥𝛼+1, … , 𝑥𝑛−1 с остатком на 𝑔:𝑥𝛼 = ℎ0 ⋅ 𝑔 + 𝑟0

⋮𝑥𝑛−1 = ℎ𝑛−𝛼−1 ⋅ 𝑔 + 𝑟𝑛−𝛼−1

Перепишем:ℎ0 ⋅ 𝑔 = 𝑥𝛼 − 𝑟0

⋮ℎ𝑛−𝛼−1 ⋅ 𝑔 = 𝑥𝑛−1 − 𝑟𝑛−𝛼−1

Page 24: Циклические коды. Граница БЧХ

Систематическое кодирование циклических кодов

Имеемℎ0 ⋅ 𝑔 = 𝑥𝛼 − 𝑟0

⋮ℎ𝑛−𝛼−1 ⋅ 𝑔 = 𝑥𝑛−1 − 𝑟𝑛−𝛼−1

Каждый из многочленов ℎ𝑖 ⋅ 𝑔 принадлежит 𝐶 и имеет вид

𝑥𝛼+𝑖 + 𝑐𝑖,𝛼−1𝑥𝛼−1 + 𝑐𝑖,𝛼−2𝑥𝛼−2 + ⋯ + 𝑐𝑖,0

где 𝑐𝑖,𝑗 — некоторые коэффициенты.

Page 25: Циклические коды. Граница БЧХ

Систематическое кодирование циклических кодов

Многочлены ℎ𝑖 ⋅ 𝑔 принадлежат 𝐶 и имеют вид

𝑥𝛼+𝑖 + 𝑐𝑖,𝛼−1𝑥𝛼−1 + 𝑐𝑖,𝛼−2𝑥𝛼−2 + ⋯ + 𝑐𝑖,0.

Составим из их коэффициентов порождающую матрицу кода 𝐶, она будет иметь вид

𝑐0,0 … 𝑐0,𝛼−1 1 0 … 0

𝑐1,0 … 𝑐1,𝛼−1 0 1 … 0

⋮ ⋮ ⋮ ⋱𝑐𝑛−𝛼−1,0 … 𝑐𝑛−𝛼−1,𝛼−1 0 0 … 1

Page 26: Циклические коды. Граница БЧХ

Систематическое кодирование циклических кодов

Итак, у кода 𝐶 есть порождающая матрица вида

𝑐0,0 … 𝑐0,𝛼−1 1 0 … 0

𝑐1,0 … 𝑐1,𝛼−1 0 1 … 0

⋮ ⋮ ⋮ ⋱𝑐𝑛−𝛼−1,0 … 𝑐𝑛−𝛼−1,𝛼−1 0 0 … 1

Т.к. код 𝐶 циклический, то можно циклически переставить столбцы

в этой матрице, и получится искомая матрица вида 𝐼| 𝐺 ,

где 𝐼 — единичная матрица порядка 𝑛 − 𝛼 .

Page 27: Циклические коды. Граница БЧХ

Проверочный многочлен

Пусть 𝑔 — порождающий многочлен кода 𝐶.

Так как 𝑔| 𝑥𝑛 − 1 , то в кольце 𝔽 𝑥 имеем𝑥𝑛 − 1 = 𝑔 ⋅ ℎ

для некоторого ℎ ∈ 𝔽 𝑥 .

Многочлен ℎ 𝑥 называется проверочным многочленом кода 𝐶.

Для любого 𝑓 ∈ 𝐶 в кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнено равенство𝑓 ⋅ ℎ = 0.

Page 28: Циклические коды. Граница БЧХ

Проверочная матрица циклического кода

Утверждение.Пусть проверочный многочлен циклического кода 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 имеет вид

ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−𝛼𝑥𝑛−𝛼

Тогда, если рассматривать 𝐶 как обычный линейный код, то его проверочная матрица будет иметь вид

ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … … 00 ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 ℎ𝑛−𝛼 … ℎ1 ℎ0

Page 29: Циклические коды. Граница БЧХ

Проверочная матрица циклического кода

Доказательство:

Пусть проверочный многочлен циклического кода 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 имеет вид

ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−𝛼𝑥𝑛−𝛼

Для любого многочлена 𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1 ∈ 𝐶

в кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнено равенство𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1 ⋅ ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−𝛼𝑥𝑛−𝛼 = 0

Page 30: Циклические коды. Граница БЧХ

Проверочная матрица циклического кода

Для удобства формально введём ℎ𝑛−𝛼+1 = ℎ𝑛−𝛼+2 = ⋯ = 0.

В кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнено равенство

0 = 𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1 ⋅ ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−1𝑥𝑛−1

=

𝑚=0

2𝑛−2

𝑥𝑚

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖

В 𝔽 𝑥 𝑥𝑛 − 1 выполнено 𝑥𝑛+𝑡 = 𝑥𝑡, отсюда

𝑚=0

2𝑛−2

𝑥𝑚

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 =

𝑚=0

𝑛−1

𝑥𝑚

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 +

𝑚=0

𝑛−1

𝑥𝑚

𝑖=𝑚+1

𝑛−1

𝑐𝑖ℎ𝑚+𝑛−𝑖

Page 31: Циклические коды. Граница БЧХ

Проверочная матрица циклического кода

В кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнены равенства

0 =

𝑚=0

𝑛−1

𝑥𝑚

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 +

𝑚=0

𝑛−1

𝑥𝑚

𝑖=𝑚+1

𝑛−1

𝑐𝑖ℎ𝑚+𝑛−𝑖

Отсюда при каждом 𝑚 ∈ 0, … , 𝑛 − 1 должно быть выполнено

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 +

𝑖=𝑚+1

𝑛−1

𝑐𝑖ℎ𝑚+𝑛−𝑖 = 0

Page 32: Циклические коды. Граница БЧХ

Проверочная матрица циклического кодаПри каждом 𝑚 ∈ 0, … , 𝑛 − 1 должно быть выполнено

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 +

𝑖=𝑚+1

𝑛−1

𝑐𝑖ℎ𝑚+𝑛−𝑖 =

𝑖=0

𝑛−1

𝑐𝑖ℎ 𝑚−𝑖 mod 𝑛 = 0

При 𝑚 ∈ 𝑛 − 𝛼, … , 𝑛 − 1 уравнения

𝑖=0

𝑛−1

𝑐𝑖ℎ 𝑚−𝑖 mod 𝑛 = 0

как раз и задаются матрицей

ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … … 00 ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 ℎ𝑛−𝛼 … ℎ1 ℎ0

Page 33: Циклические коды. Граница БЧХ

Проверочная матрица циклического кода

Доказали, что кодовые слова удовлетворяют системе, задаваемой матрицей

ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … … 00 ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 ℎ𝑛−𝛼 … ℎ1 ℎ0

То, что эта матрица проверочная (т.е. никакие «лишние» слова не удовлетворяют системе), следует из того, что её ранг равен 𝛼, а размерность кода равна 𝑛 − 𝛼 .

Page 34: Циклические коды. Граница БЧХ

Лемма Вандермонда (A.—T. Vandermonde)

Имеет место формула Вандермонда:1 1 ⋯ 1𝜆1 𝜆2 ⋯ 𝜆𝑟

⋮ ⋮ ⋮ ⋮𝜆1

𝑟−1 𝜆2𝑟−1 ⋯ 𝜆𝑟

𝑟−1

=

1≤𝑖<𝑗≤𝑟

𝜆𝑗 − 𝜆𝑖

Из неё следует, что матрица невырождена при 𝜆𝑗 ≠ 𝜆𝑖.

Доказательство индукцией по 𝑟.

База: 𝑟 = 1. Очевидно:1 1𝜆1 𝜆2

= 𝜆2 − 𝜆1.

Page 35: Циклические коды. Граница БЧХ

Лемма Вандермонда

Индуктивный переход:

1 1 ⋯ 1𝜆1 𝜆2 ⋯ 𝜆𝑟

⋮ ⋮ ⋯ ⋮𝜆1

𝑟−1 𝜆2𝑟−1 ⋯ 𝜆𝑟

𝑟−1

=

1 0 ⋯ 0𝜆1 𝜆2 − 𝜆1 ⋯ 𝜆𝑟 − 𝜆1

⋮ ⋮ ⋯ ⋮𝜆1

𝑟−1 𝜆2𝑟−1 − 𝜆1

𝑟−1 ⋯ 𝜆𝑟𝑟−1 − 𝜆1

𝑟−1

=

=

𝜆2 − 𝜆1 ⋯ 𝜆𝑟 − 𝜆1

𝜆22 − 𝜆1

2 ⋯ 𝜆𝑟2 − 𝜆1

2

⋮ ⋯ ⋮𝜆2

𝑟−2 − 𝜆1𝑟−2 ⋯ 𝜆𝑟

𝑟−2 − 𝜆1𝑟−2

𝜆2𝑟−1 − 𝜆1

𝑟−1 ⋯ 𝜆𝑟𝑟−1 − 𝜆1

𝑟−1

=

𝜆2 − 𝜆1 ⋯ 𝜆𝑟 − 𝜆1

𝜆22 − 𝜆1𝜆2 ⋯ 𝜆𝑟

2 − 𝜆1𝜆𝑟

⋮ ⋯ ⋮𝜆2

𝑟−2 − 𝜆1𝜆2𝑟−3 ⋯ 𝜆𝑟

𝑟−2 − 𝜆1𝜆𝑟𝑟−3

𝜆2𝑟−1 − 𝜆1𝜆2

𝑟−2 ⋯ 𝜆𝑟𝑟−1 − 𝜆1𝜆𝑟

𝑟−2

=

=

𝑖=2

𝑟

𝜆𝑖 − 𝜆1 ⋅ det

1 1 ⋯ 1𝜆2 𝜆3 ⋯ 𝜆𝑟

⋮ ⋮ ⋯ ⋮𝜆2

𝑟−2 𝜆3𝑟−2 ⋯ 𝜆𝑟

𝑟−2

=

1≤𝑖<𝑗≤𝑟

𝜆𝑗 − 𝜆𝑖

Page 36: Циклические коды. Граница БЧХ

Примитивный элемент

Рассмотрим поле 𝔽𝑞, где 𝑞 = 𝑝𝑚, 𝑝 простое.

Известно, что множество 𝔽𝑞 ∖ 0 образует циклическую группу по

умножению.

Каждый образующий элемент этой группы (порядок которого равен 𝑞 − 1 ) называется примитивным элементом поля.

Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽𝑞, что

1, 𝜆, 𝜆2, … , 𝜆𝑞−2 = 𝔽𝑞 ∖ 0 .

Page 37: Циклические коды. Граница БЧХ

Граница Боуза—Чоудхури—Хоквингема

Теорема. (A.Hocquenghem’1959, R.C. Bose and D.K. Ray-Chaudhuri’1960)

Пусть 𝜆 — примитивный элемент 𝔽𝑞, и 𝛿 ≤ 𝑞.

Пусть порождающий многочлен 𝑔 кода 𝐶 ⊆ 𝔽𝑞𝑛 таков, что в 𝔽𝑞

среди его корней есть числа

𝜆𝑏, 𝜆𝑏+1, … , 𝜆𝑏+𝛿−2

Тогда 𝑑 𝐶 ≥ 𝛿.

Page 38: Циклические коды. Граница БЧХ

Граница Боуза—Чоудхури—Хоквингема

Доказательство:

Рассмотрим произвольный 𝑓 𝑥 ∈ 𝐶.

Найдётся многочлен 𝑠 𝑥 ∈ 𝔽𝑞 𝑥 𝑥𝑛 − 1 , такой, что

deg 𝑠 < 𝑛 − deg 𝑔 и в кольце 𝔽𝑞 𝑥 𝑥𝑛 − 1 выполнено равенство

𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥

Так как deg 𝑠 + deg 𝑔 < 𝑛, то это равенство выполнено и в кольце𝔽𝑞 𝑥 .

Page 39: Циклические коды. Граница БЧХ

Граница Боуза—Чоудхури—Хоквингема

В кольце 𝔽𝑞 𝑥 справедливо равенство

𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥

Пусть 𝜆𝑏, … , 𝜆𝑏+𝛿−2 — различные корни 𝑔 𝑥 .

Они же будут корнями 𝑓.

Пусть 𝑓 = 𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1.

Вектор 𝑐0, … , 𝑐𝑛−1 удовлетворяет системе линейных уравнений с матрицей

1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1

1 𝜆𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1

⋮ ⋮ ⋮ ⋮1 𝜆𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1

Page 40: Циклические коды. Граница БЧХ

Граница Боуза—Чоудхури—Хоквингема

Любой кодовый вектор удовлетворяет системе с матрицей

𝐻 =

1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1

1 𝜆𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1

⋮ ⋮ ⋮ ⋮1 𝜆𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1

(Это не обязательно проверочная матрица кода, но её можно дополнить до проверочной.)

Достаточно доказать, что любые 𝛿 − 1 столбцов матрицы 𝐻линейно независимы.

Page 41: Циклические коды. Граница БЧХ

Граница Боуза—Чоудхури—Хоквингема

𝐻 =

1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1

1 𝜆𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1

⋮ ⋮ ⋮ ⋮1 𝜆𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1

Выберем в 𝐻 произвольные столбцы 𝑖1, … , 𝑖𝛿−1. Получим матрицу

𝜆𝑏⋅𝑖1 𝜆𝑏⋅𝑖2 ⋯ 𝜆𝑏⋅𝑖𝛿−1

𝜆 𝑏+1 ⋅𝑖1 𝜆 𝑏+1 ⋅𝑖2 ⋯ 𝜆 𝑏+1 ⋅𝑖𝛿−1

⋮ ⋮ ⋮ ⋮𝜆 𝑏+𝛿−2 ⋅𝑖1 𝜆 𝑏+𝛿−2 ⋅𝑖2 ⋯ 𝜆 𝑏+𝛿−2 ⋅𝑖𝛿−1

Page 42: Циклические коды. Граница БЧХ

Граница Боуза—Чоудхури—Хоквингема

Докажем, что матрица 𝐻𝑖1,…,𝑖𝛿−1невырождена. Имеем

𝜆𝑏⋅𝑖1 𝜆𝑏⋅𝑖2 ⋯ 𝜆𝑏⋅𝑖𝛿−1

𝜆 𝑏+1 ⋅𝑖1 𝜆 𝑏+1 ⋅𝑖2 ⋯ 𝜆 𝑏+1 ⋅𝑖𝛿−1

⋮ ⋮ ⋮ ⋮𝜆 𝑏+𝛿−2 ⋅𝑖1 𝜆 𝑏+𝛿−2 ⋅𝑖2 ⋯ 𝜆 𝑏+𝛿−2 ⋅𝑖𝛿−1

=

= 𝜆𝑏⋅ 𝑖1+⋯+𝑖𝛿−1

1 1 ⋯ 1𝜆𝑖1 𝜆𝑖2 ⋯ 𝜆𝑖𝛿−1

⋮ ⋮ ⋮ ⋮𝜆 𝛿−2 ⋅𝑖1 𝜆 𝑏−2 ⋅𝑖2 ⋯ 𝜆 𝛿−2 ⋅𝑖𝛿−1

По лемме Вандермонда, определитель последней матрицы не равен нулю.