Циклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование.
Граница Боуза—Чоудхури—Хоквингема.
2. Циклический код
Циклический код — это линейный код, такой, что для любого
кодового слова 𝑎0, 𝑎1 … , 𝑎 𝑛−1
слово 𝑎 𝑛−1, 𝑎0 … , 𝑎 𝑛−2 также является кодовым.
Т.е. циклический сдвиг кодового слова также является кодовым
словом.
7. Циклический код — идеал кольца
Утверждение.
Для любого ц.к. 𝐶 ⊆ 𝔽 𝑥 𝑥 𝑛
− 1 выполнено
𝑓 ∈ 𝐶 ⇒ ∀𝑔 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 𝑓 ⋅ 𝑔 ∈ 𝐶
Доказательство: утверждение непосредственно следует из
алгебраического определения ц.к.
8. Циклический код — идеал кольца
Утверждение.
Любой циклический код 𝐶 ⊆ 𝔽 𝑥 𝑥 𝑛
− 1 может быть
представлен в виде
𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛
− 1
для некоторого фиксированного многочлена 𝑔.
9. Циклический код — идеал кольца
Доказательство:
Пусть 𝐶 — ц.к. Рассмотрим 𝑔0 ∈ 𝐶, такой, что
deg 𝑔0 = min
𝑔∈𝐶
𝑔≢0
deg 𝑔
Тогда любой многочлен 𝑓 ∈ 𝐶 кратен 𝑔0. Действительно, поделим
𝑓 на 𝑔0 c остатком:
𝑓 𝑥 = 𝑔0 𝑥 ⋅ 𝑓 𝑥 + 𝑟 𝑥
где deg 𝑟 < deg 𝑔0.
Но 𝑟 = 𝑓 − 𝑓 ⋅ 𝑔0 ∈ 𝐶, а значит 𝑟 ≡ 0.
10. Единственность
порождающего многочлена
Нормированный многочлен — это многочлен с коэффициентом 1
при мономе старшей степени.
Утверждение.
В любом ц.к. ненулевой нормированный многочлен минимальной
степени единственен.
Этот многочлен называется порождающим многочленом
циклического кода.
13. Критерий существования циклического
кода: достаточность
Доказательство 𝑔| 𝑥 𝑛 − 1 ⇒ ∃ц. к.
Пусть 𝑔 𝑥 ∣ 𝑥 𝑛 − 1 .
Положим
𝐶 ≔ 𝑓𝑔, где 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1
Очевидно, 𝐶 — циклический код.
Осталось доказать, что 𝑔 — порождающий многочлен кода 𝐶, то
есть что в 𝐶 любой ненулевой многочлен имеет степень > deg 𝑔,
либо равен const ⋅ 𝑔.
14. Критерий существования циклического
кода: достаточность
Рассмотрим произвольный многочлен 𝑔 ∈ 𝐶.
Имеем 𝑔 = 𝑓𝑔 для некоторого 𝔽 𝑥 𝑥 𝑛
− 1 .
Тогда в кольце 𝔽 𝑥 для тех же самых 𝑓 и 𝑔 и некоторого 𝑠
выполнено равенство
𝑔 = 𝑓 ⋅ 𝑔 + 𝑠 ⋅ 𝑥 𝑛
− 1
По условию, 𝑥 𝑛 − 1 = 𝑟 ⋅ 𝑔 для некоторого 𝑟 ∈ 𝔽 𝑥 ,
следовательно
𝑔 = 𝑓 ⋅ 𝑔 + 𝑠𝑟 ⋅ 𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔
15. Критерий существования циклического
кода: достаточность
Итак, в кольце 𝔽 𝑥 для некоторых 𝑓, 𝑟, 𝑠 имеем
𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔
Возможны случаи:
• 𝑓 + 𝑠𝑟 ≡ 0 — тогда 𝑔 ≡ 0
• 𝑓 + 𝑠𝑟 ≡ const ≠ 0 — тогда 𝑔 = const ⋅ 𝑔
• deg 𝑓 + 𝑠𝑟 ≥ 1 — тогда deg 𝑔 > deg 𝑔
16. Критерий существования циклического
кода: необходимость
Доказательство ∃ц. к. ⇒ 𝑔| 𝑥 𝑛 − 1
Пусть 𝐶 — циклический код в 𝔽 𝑥 𝑥 𝑛
− 1 с порождающим
многочленом 𝑔.
Поделим в кольце 𝔽 𝑥 с остатком 𝑥 𝑛
− 1 на 𝑔:
𝑥 𝑛
− 1 = 𝑓 ⋅ 𝑔 + 𝑟
где deg 𝑟 < deg 𝑔.
Тогда в кольце 𝔽 𝑥 𝑥 𝑛 − 1 имеем
𝑟 = −𝑓 ⋅ 𝑔 ∈ 𝐶
Отсюда 𝑟 ≡ 0, то есть 𝑔| 𝑥 𝑛 − 1 .
17. Размерность и порождающая матрица
циклического кода
Утверждение.
Пусть порождающий многочлен циклического кода
𝐶 ⊆ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 имеет вид
𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝛼−1 𝑥 𝛼−1 + 𝑥 𝛼
Тогда, если рассматривать 𝐶 как подпространство 𝔽 𝑞
𝑛, то dim 𝐶 =
𝑛 − 𝛼 и порождающая матрица кода имеет вид
𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0
0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮
0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1
18. Размерность и порождающая матрица
циклического кода
Доказательство:
Очевидно, что строки матрицы
𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0
0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮
0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1
линейно независимы и её ранг равен 𝑛 − 𝛼 .
Остаётся доказать равенство dim 𝐶 = 𝑛 − 𝛼.
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 —
противоречие.
20. Размерность и порождающая матрица
циклического кода
Пусть
𝑓1, … , 𝑓 𝑞 𝛼 ∈ 𝔽 𝑞 𝑥 𝑥 𝑛
− 1
— всевозможные многочлены степени < 𝛼.
Так как 𝐶𝑓 𝑖
∩ 𝐶𝑓 𝑗
= ∅ при 𝑖 ≠ 𝑗, то
𝐶𝑓1
+ ⋯ + 𝐶𝑓 𝑞 𝛼 ≤ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 = 𝑞 𝑛
Очевидно, 𝐶𝑓 𝑖
= 𝐶 для каждого 𝑖, а значит
𝐶 ≤ 𝑞 𝑛
𝑞 𝛼 = 𝑞 𝑛−𝛼
Следовательно, dim 𝐶 ≤ 𝑛 − 𝛼.
21. Размерность и порождающая матрица
циклического кода
Доказанное утверждение:
Если код 𝐶 имеет порождающий многочлен
𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝛼−1 𝑥 𝛼−1
+ 𝑥 𝛼
то порождающая матрица кода 𝐶 имеет вид
𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0
0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮
0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1
Следствие.
Код 𝐶 можно представить в виде
𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛
− 1 , deg 𝑓 < 𝑛 − 𝛼
22. Систематическое кодирование
циклических кодов
Утверждение.
У любого циклического кода существует порождающая матрица
канонического вида.
(Т.е. любой ц.к. допускает систематическое кодирование.)
Замечание.
Важно, что сам код допускает систематическое кодирование.
Не нужно переходить к эквивалентному коду.
36. Примитивный элемент
Рассмотрим поле 𝔽 𝑞, где 𝑞 = 𝑝 𝑚
, 𝑝 простое.
Известно, что множество 𝔽 𝑞 ∖ 0 образует циклическую группу по
умножению.
Каждый образующий элемент этой группы (порядок которого
равен 𝑞 − 1 ) называется примитивным элементом поля.
Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽 𝑞, что
1, 𝜆, 𝜆2
, … , 𝜆 𝑞−2
= 𝔽 𝑞 ∖ 0 .
37. Граница Боуза—Чоудхури—Хоквингема
Теорема. (A.Hocquenghem’1959,
R.C. Bose and D.K. Ray-Chaudhuri’1960)
Пусть 𝜆 — примитивный элемент 𝔽 𝑞, и 𝛿 ≤ 𝑞.
Пусть порождающий многочлен 𝑔 кода 𝐶 ⊆ 𝔽 𝑞
𝑛
таков, что в 𝔽 𝑞
среди его корней есть числа
𝜆 𝑏, 𝜆 𝑏+1, … , 𝜆 𝑏+𝛿−2
Тогда 𝑑 𝐶 ≥ 𝛿.