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

Preview:

DESCRIPTION

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

Citation preview

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

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

www.dainiak.com

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

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

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

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

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

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

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

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

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

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

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

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

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

в кольце𝑥 ⋅ 𝑓

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

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

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

• 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶

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

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

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

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

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

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

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

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

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

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

𝑔∈𝐶

𝑔≢0

deg 𝑔

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

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

где deg 𝑟 < deg 𝑔0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔

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

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

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

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

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

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

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

где deg 𝑟 < deg 𝑔.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

𝐶𝑓 ≔ 𝑓 + ℎ ∣ ℎ ∈ 𝐶 .

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

∩ 𝐶𝑓2= ∅

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

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

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

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

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

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

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

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

= ∅ при 𝑖 ≠ 𝑗, то

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

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

𝐶 ≤ 𝑞𝑛

𝑞𝛼 = 𝑞𝑛−𝛼

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

𝑥𝛼+𝑖 + 𝑐𝑖,𝛼−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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для удобства формально введём ℎ𝑛−𝛼+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

𝑐𝑖ℎ𝑚+𝑛−𝑖

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

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

0 =

𝑚=0

𝑛−1

𝑥𝑚

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 +

𝑚=0

𝑛−1

𝑥𝑚

𝑖=𝑚+1

𝑛−1

𝑐𝑖ℎ𝑚+𝑛−𝑖

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

𝑖=0

𝑚

𝑐𝑖ℎ𝑚−𝑖 +

𝑖=𝑚+1

𝑛−1

𝑐𝑖ℎ𝑚+𝑛−𝑖 = 0

Проверочная матрица циклического кодаПри каждом 𝑚 ∈ 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

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

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

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

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

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

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

⋮ ⋮ ⋮ ⋮𝜆1

𝑟−1 𝜆2𝑟−1 ⋯ 𝜆𝑟

𝑟−1

=

1≤𝑖<𝑗≤𝑟

𝜆𝑗 − 𝜆𝑖

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

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

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

= 𝜆2 − 𝜆1.

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

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

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≤𝑖<𝑗≤𝑟

𝜆𝑗 − 𝜆𝑖

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

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

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

умножению.

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

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

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

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

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

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

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

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

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

Тогда 𝑑 𝐶 ≥ 𝛿.

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

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

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

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

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

𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥

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

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

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

𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥

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

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

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

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

1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1

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

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

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

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

𝐻 =

1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1

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

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

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

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

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

𝐻 =

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

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

Докажем, что матрица 𝐻𝑖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

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

Recommended