Transcript
Page 1: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

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

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

www.dainiak.com

Page 2: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

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

Циклический код — это линейный код, такой, что для любого кодового слова

𝑎0, 𝑎1 … , 𝑎𝑛−1слово 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 также является кодовым.

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

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

• 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶

Page 3: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

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

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

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

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

Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽𝑞, что 1, 𝜆, 𝜆2, … , 𝜆𝑞−2 = 𝔽𝑞 ∖ 0 .

Page 4: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

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

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

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

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

среди его корней есть (различные) числа вида𝜆𝑏, 𝜆𝑏+1, … , 𝜆𝑏+𝛿−2

Тогда 𝑑 𝐶 ≥ 𝛿.

Page 5: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

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

• Если применять теорему «в лоб», то невозможно доказать, что кодовое расстояние больше мощности кодового алфавита, даже если это и так.

Решение:

• Код рассмотрим как подмножество в 𝔽𝑝𝑛, но при применении

границы БЧХ погрузим поле 𝔽𝑝 в 𝔽𝑝𝑚.

Page 6: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Факты о полях

• При любом простом 𝑝 и любом 𝑚 поле 𝔽𝑝 можно вложить как подполе в 𝔽𝑝𝑚.

Обычно поле 𝔽𝑝 — это поле вычетов 𝔽𝑝, а 𝔽𝑝𝑚 строится как множество многочленов с коэффициентами из ℤ𝑝, которые складываются и умножаются по модулю некоторого многочлена степени 𝑚, неприводимого над ℤ𝑝.

Тогда вложение 𝔽𝑝 в 𝔽𝑝𝑚 очевидно: элементам 𝔽𝑝 соответствуют многочлены степени ≤ 0.

Page 7: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Факты о полях

• Элементам 𝔽𝑝𝑚 можно сопоставить вектора из 𝔽𝑝𝑚, так, что сумме

элементов 𝔽𝑝𝑚 соответствует сумма векторов в 𝔽𝑝𝑚.

Раз 𝔽𝑝𝑚 — многочлены с коэффициентами из 𝔽𝑝 степени ≤ 𝑚, то каждому элементу 𝔽𝑝𝑚 сопоставим вектор коэффициентов многочлена.

Page 8: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Коды БЧХ

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

Коэффициенты 𝑔 берутся из 𝔽𝑝, но их можно считать одновременно элементами 𝔽𝑝𝑚.

Рассмотрим код 𝐶 ⊆ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 , порождённый многочленом 𝑔 (если считать, что 𝑔 ∈ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 ).

Можно в том же духе считать, что 𝐶 ⊆ 𝐶.

Page 9: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Коды БЧХ

Коэффициенты 𝑔 берутся из 𝔽𝑝, но их можно считать одновременно элементами 𝔽𝑝𝑚.

𝐶 ⊆ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 порождён 𝑔.

Пусть 𝜆 — примитивный элемент 𝔽𝑝𝑚, и 𝑔 𝜆𝑏 = ⋯ = 𝑔 𝜆𝑏+𝛿−2 = 0

Тогда граница БЧХ гласит: 𝑑 𝐶 ≥ 𝛿.

Так как 𝐶 ⊆ 𝐶, то и 𝑑 𝐶 ≥ 𝛿.

Page 10: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Коды БЧХ

• Подбираем 𝑔 ∈ 𝔽𝑝𝑚 𝑥 𝑥𝑛 − 1 с коэффициентами из 𝔽𝑝, так, чтобы в 𝔽𝑝𝑚 было выполнено𝑔 𝜆𝑏 = ⋯ = 𝑔 𝜆𝑏+𝛿−2 = 0 и 𝑔| 𝑥𝑛 − 1 .

• На основе 𝑔 строим циклический код в 𝔽𝑝 𝑥 𝑥𝑛 − 1 , для которого, по построению, выполнено 𝑑 𝐶 ≥ 𝛿.

Вопросы:

• Существует ли вообще такой 𝑔?

• Как оценить dim 𝐶?

Page 11: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Минимальный многочлен

Хорошие новости (без доказательства):

Для любого 𝛼 ∈ 𝔽𝑝𝑚 ∖ 0 существует многочлен 𝑓 ∈ 𝔽𝑝𝑚 𝑥 ∖ 0с коэффициентами из 𝔽𝑝, для которого 𝑓 𝛼 = 0.

Если взять такой 𝑓 минимальной степени, то

• 𝑓 неприводим над 𝔽𝑝,

• deg 𝑓 ≤ 𝑚,

• 𝑓 ∣ 𝑥𝑝𝑚−1 − 1 .

Такой 𝑓 называется минимальным многочленом элемента 𝛼.

Page 12: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Коды БЧХ

Следствия из хороших новостей:

• Если 𝑛 = 𝑝𝑚 − 1, то существует 𝑔, такой, что

𝑔 𝜆𝑏 = ⋯ = 𝑔 𝜆𝑏+𝛿−2 = 0 и 𝑔| 𝑥𝑛 − 1 , причём

deg 𝑔 ≤ 𝛿 − 1 𝑚.

• Такой 𝑔 можно взять как

LCM 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2

где 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2 — минимальные

многочлены соответствующих элементов.

Page 13: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Коды БЧХ

Окончательный способ построения кода:

• Берём 𝑛 ≔ 𝑝𝑚 − 1 и𝑔 ≔ LCM 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2

где 𝑓𝜆𝑏 , … , 𝑓𝜆𝑏+𝛿−2 — минимальные многочлены соответствующих элементов в 𝔽𝑝𝑚.

• Строим циклический код в 𝔽𝑝, используя 𝑔 в качестве порождающего многочлена наименьшей возможной степени

Получаем код с параметрами 𝑝𝑚 − 1, 𝑘, 𝑑 𝑝, где

• 𝑘 = 𝑛 − deg 𝑔 ≥ 𝑛 − 𝛿 − 1 𝑚

• 𝑑 ≥ 𝛿

Page 14: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Задача восстановления синхронизации

Пусть по каналу передаются слова … 𝒂, 𝒃, 𝒄 …𝑎1𝑎2 … 𝑎𝑛𝑏1𝑏2 … 𝑏𝑛𝑐1𝑐2 … 𝑐𝑛 …

Если в канале выпадают символы, может произойти ошибка синхронизации:

𝑎𝑖+1𝑎𝑖+2 … 𝑎𝑛𝑏1𝑏2 … 𝑏𝑛𝑐1𝑐2 … 𝑐𝑛 …

и есть шанс неправильно разбить принятую последовательность на слова:

𝑎𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑖 ∣ 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 ∣ 𝑐𝑖+1 …

Если при этом такие слова окажутся кодовыми, то мы далеко не сразу обнаружим ошибку!

Page 15: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Задача восстановления синхронизации

При потере синхронизации имеем разбиение:𝑎𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑖 ∣ 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 ∣ 𝑐𝑖+1 …

Циклические коды очень плохие с точки зрения восстановления синхронизации: если 𝒂 ∈ 𝐶 и в канал передавалось

𝒂𝒂𝒂 …

то при потере синхронизации мы обнаружим ошибку только в самом конце приёма.

Page 16: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Свобода от запятой

Пусть по каналу передаются слова … 𝒂, 𝒃, 𝒄 …𝑎1𝑎2 … 𝑎𝑛𝑏1𝑏2 … 𝑏𝑛𝑐1𝑐2 … 𝑐𝑛 …

Если при приёме слова 𝒃 «запоздать» на 𝑖 тактов, то мы примем слово

𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖

а если «забежать вперёд» на 𝑖 тактов, примем𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖

Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 и 𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖.

Page 17: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Свобода от запятой

Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 и 𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖.

Если 𝑟 ≥ 𝑛

2, то считаем, что 𝑟 = ∞, а код называется кодом без

запятой.

Если 𝑟 < ∞, то при приёме можно (перебором) исправить синхросдвиг на ≤ 𝑟

2символов.

Если 𝑟 = ∞, то может быть исправлен любой синхросдвиг.

Page 18: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Свобода от запятой

Код обладает свободой от запятой степени 𝑟, если для любых кодовых слов 𝒂, 𝒃, 𝒄 и любого 𝑖 ≤ 𝑟 коду не принадлежат слова 𝑏𝑖+1 … 𝑏𝑛𝑐1 … 𝑐𝑖 и 𝑎𝑛−𝑖+1 … 𝑎𝑛𝑏1 … 𝑏𝑛−𝑖.

• Циклические коды — не годятся

• Зато смежные классы циклических кодов — вполне!

Page 19: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы линейных кодов

Пусть 𝐶 ⊆ 𝔽𝑛 — линейный код.

Его смежный класс — это множество вида 𝐶 + 𝒂 ≔ 𝒄 + 𝒂 ∣ 𝒄 ∈ 𝐶

Заметьте: при 𝒂 ∉ 𝐶 такой код не линейный!

Для циклического кода с порождающим многочленом 𝑔 смежный класс имеет вид

𝑓 ⋅ 𝑔 + 𝑠 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

для некоторого 𝑠 ∈ 𝔽 𝑥 𝑥𝑛 − 1 .

Page 20: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы циклических кодов

Для циклического кода с порождающим многочленом 𝑔 смежный класс имеет вид

𝑓 ⋅ 𝑔 + 𝑠 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

для некоторого 𝑠 ∈ 𝔽 𝑥 𝑥𝑛 − 1 .

Теорема.При 𝑠 ≡ 1 степень свободы от запятой смежного класса циклического кода равна

deg 𝑔 − 1

при 𝑛 ≥ 2 deg 𝑔, и равна ∞ при 𝑛 < 2 deg 𝑔.(Подробно обоснуем только нижнюю оценку.)

Page 21: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы циклических кодов

Пусть передавались слова 𝒂, 𝒃 ∈ 𝐶.

Если при приёме слова 𝒂 произошло запаздывание на 𝑖 тактов, то будет принято слово, которому отвечает многочлен

𝑥−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑥𝑛−𝑖 ⋅ 𝑡2,где 𝑡1 и 𝑡2 — многочлены, образованные 𝑖 первыми координатами слов 𝒂 и 𝒃 соответственно, а 𝑓𝒂 — многочлен, отвечающий слову 𝒂.

Page 22: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы циклических кодов

В кольце 𝔽 𝑥 𝑥𝑛 − 1 имеем𝑥−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑥𝑛−𝑖 ⋅ 𝑡2 = 𝑥𝑛−𝑖 ⋅ 𝑓𝒂 − 𝑡1 + 𝑡2

Аналогично, если при приёме слова 𝒃 произошло «забеганиевперёд», то будет принято слово 𝑥𝑖 ⋅ 𝑓𝒃 + 𝑡3 − 𝑡4 , где 𝑡3 и 𝑡4 —многочлены, образованные 𝑖 старшими разрядами слова 𝒂 и 𝑖младшими разрядами 𝒃 соответственно. При этом

deg 𝑡1 , deg 𝑡2 , deg 𝑡3 , deg 𝑡4 < 𝑖

Page 23: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы циклических кодов

Итак, в случае рассинхронизации принятое слово будет иметь вид

𝑥𝑛−𝑖 ⋅ 𝑓 + Δ или 𝑥𝑖 ⋅ 𝑓 + Δ,

где 𝑓 ∈ 𝐶 и deg Δ < 𝑖.

Нужно, чтобы 𝑥𝑛−𝑖 ⋅ 𝑓 + Δ ∉ 𝐶 и 𝑥𝑖 ⋅ 𝑓 + Δ ∉ 𝐶 при 0 < 𝑖 ≤ 𝑟.

Page 24: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы циклических кодов

Пусть 𝐶 — смежный класс ц.к. вида𝑓 ⋅ 𝑔 + 1 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

Нужно, чтобы для любых 𝑓1, 𝑓2, Δ, 𝑖, таких, что deg Δ < 𝑖 и 0 < 𝑖 ≤ 𝑟в кольце 𝔽 𝑥 𝑥𝑛 − 1 было выполнено

𝑓1 ⋅ 𝑔 + 1 ≠ 𝑥𝑛−𝑖 ⋅ 𝑓2 ⋅ 𝑔 + 1 + Δ𝑓1 ⋅ 𝑔 + 1 ≠ 𝑥𝑖 ⋅ 𝑓2 ⋅ 𝑔 + 1 + Δ

Это равносильно тому, что для любых 𝑓, Δ, 𝑖𝑓 ⋅ 𝑔 ≠ 𝑥𝑖 + Δ − 1

Page 25: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Смежные классы циклических кодов

Пусть 𝐶 — смежный класс ц.к. вида𝑓 ⋅ 𝑔 + 1 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1

Нужно, чтобы для любых 𝑓, Δ, 𝑖, таких, что deg Δ < 𝑖 и 0 < 𝑖 ≤ 𝑟в кольце 𝔽 𝑥 𝑥𝑛 − 1 было выполнено

𝑓 ⋅ 𝑔 ≠ 𝑥𝑖 + Δ − 1

Имеем 𝑥𝑖 + Δ − 1 ≢ 0 при любом 𝑖 > 0.

Т.к. deg 𝑥𝑖 + Δ − 1 = 𝑖 ≤ 𝑟, то достаточно, чтобы deg 𝑔 > 𝑟.

Это и требовалось доказать.

Page 26: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Циклическое представлениекодов Хемминга

Пусть 𝜆 — примитивный элемент поля 𝔽2𝑚.

Пусть 𝑔 — минимальный многочлен для 𝜆, и 𝐶 ⊂ 𝔽22𝑚−1 — код,

порождённый 𝑔.

Любой кодовый многочлен 𝑓 ∈ 𝐶 имеет корень, равный 𝜆. Поэтому кодовые вектора 𝑐0, … , 𝑐2𝑚−2 удовлетворяют соотношению

𝑐0 + 𝑐1𝜆 + 𝑐2𝜆2 + ⋯ + 𝑐2𝑚−2𝜆2𝑚−2 = 0

Page 27: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Циклическое представление кодов Хемминга

Кодовые вектора 𝑐0, … , 𝑐2𝑚−2 удовлетворяют соотношению

𝑐0 + 𝑐1𝜆 + 𝑐2𝜆2 + ⋯ + 𝑐2𝑚−2𝜆2𝑚−2 = 0

Так как 𝜆0, 𝜆1, … , 𝜆2𝑚−2 = 𝔽2𝑚 ∖ 0 , и так как каждому элементу

𝔽2𝑚 отвечает вектор из 𝔽2𝑚, то проверочная матрица кода равна

𝑣𝜆0 , 𝑣𝜆1 , … , 𝑣𝜆2𝑚−2 ∈ 𝔽2

𝑚× 2𝑚−1

где 𝑣𝜆𝑖 — вектор, отвечающий 𝜆𝑖.

Столбцы матрицы — все ненулевые вектора 𝔽2𝑚.

Page 28: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Циклическое представление кодов Хемминга

Утверждение.Двоичный код Хемминга с параметрами 2𝑚 − 1, 2𝑚 − 1 − 𝑚, 3эквивалентен циклическому коду, порождённому минимальным многочленом примитивного элемента 𝔽2𝑚.

Page 29: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Коды Голея

М. Голей (M. J. E. Golay) предложил два кода, позже было замечено, что они циклические:

• 23,12,7 -код с порождающим многочленом1 + 𝑥 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥9 + 𝑥11

• 11,6,5 3-код с порождающим многочленом2 + 𝑥2 + 2𝑥3 + 𝑥4 + 𝑥5

Расширенные коды Голея:

• 23,12,7 -код → 24,12,8 -код

• 11,6,5 3-код → 12,6,6 3-код

Page 30: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

Граница Хемминга (сферической упаковки).Для любого 𝑛, 𝑀, 𝑑 𝑞-кода имеем

𝑀 ≤𝑞𝑛

𝑆 𝑑−1 2 𝟎

Для любого линейного 𝑛, 𝑘, 𝑑 𝑞-кода𝑆 𝑑−1 2 𝟎 ≤ 𝑞𝑛−𝑘

Коды, достигающие эту границу, — совершенные.

𝒂1

𝒂2

𝒂𝑀⋯

Page 31: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

𝑆 𝑑−1 2 𝟎 = 𝑞𝑛−𝑘

Утверждение.Коды Голея и Хемминга — совершенные.

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

• Для 23,12,7 -кода Голея: 𝑖=03 23

𝑖= 223−12

• Для 11,6,5 3-кода Голея: 𝑖=02 𝑛

𝑖⋅ 2𝑖 = 311−6

• Для двоичных кодов Хемминга проверяли ранее. Теперь проверим в общем случае.

Page 32: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

Проверочная матрица 𝑞-ичного кода Хемминга содержит все линейно независимые столбцы высоты 𝑚.

Получается 𝑛 = 𝑞𝑚−1

𝑞−1, 𝑘 = 𝑛 − 𝑚, 3

𝑞-код.

Проверяем соотношение 𝑆 𝑑−1 2 𝟎 = 𝑞𝑛−𝑘:

𝑆1 𝟎 = 1 + 𝑛 𝑞 − 1 = 𝑞𝑚 = 𝑞𝑛−𝑘

Page 33: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Тривиальные совершенные коды

• 𝑛, 1, 𝑛 𝑞-код (состоит из одного слова)

• 𝑛, 2, 𝑛 2-код (пара слов-антиподов) при нечётных 𝑛

Page 34: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

Теорема. (В. А. Зиновьев, В. К. Леонтьев ’1972, A. Tietäväinen ’1973,

J. H. van Lint ’1971, M. R. Best ’1983, Y. Hong ’1983, V. Pless ’1968) — Б/д.

• Нетривиальных совершенных кодов с расстоянием > 7 не существует.

• Единственным с точностью до эквивалентности совершенным кодом

с расстоянием 7 является 23,12,7 -код Голея.

• Любой нетривиальный код над алфавитом мощности 𝑞 = 𝑝𝑚

с расстоянием ≤ 5 либо эквивалентен 11,6,5 3-коду Голея,

либо имеет те же длину, число слов и кодовое расстояние,

что и 𝑞𝑡−1

𝑞−1, 𝑞𝑡−1

𝑞−1− 𝑡, 3

𝑞-код Хемминга.

Page 35: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

Следствие теоремы:Для любого совершенного кода над 𝔽𝑞 существует линейный код с той же длиной слов, числом слов и кодовым расстоянием.

Нерешённая проблема:Существуют ли совершенные коды над алфавитами мощности ≠ 𝑝𝑚?

Page 36: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

Теорема. (Ю. Л. Васильев ’1962, обобщения: J. Schonheim ’1968, B. Lindstrom ‘1969)Для любого 𝑞 = 𝑝𝑚 существуют совершенные коды с расстоянием 3, не эквивалентные линейным кодам.

Докажем только для случая 𝑞 = 2:

При любом 𝑚 существует нелинейный 2𝑚 − 1, 22𝑚−𝑚−1, 3 -код.

Page 37: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Совершенные коды

Лемма. (Конструкция Васильева)Пусть 𝐶′, 𝐶′′ ⊆ 𝔽2

𝑛 — коды с расстояниями 𝑑′ и 𝑑′′, причём 𝑑′

нечётно. Положим 𝜋 𝒂 ≔ 𝑖 𝑎𝑖.

Для произвольного 𝛾: 𝐶′′ → 𝔽2 рассмотрим код

𝐶 ≔ 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ , где 𝒄′ ∈ 𝐶′, 𝒄′′ ∈ 𝐶′′

Тогда 𝐶 является 2𝑛 + 1, 𝐶′ ⋅ 𝐶′′ , 𝑑 -кодом, где𝑑 ≥ min 2𝑑′ + 1, 𝑑′′

Доказательство:Нетривиальна только оценка 𝑑 𝐶 .(Похоже на конструкцию Плоткина.)

Page 38: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Доказательство леммы Васильева

Возьмём пару различных слов кода 𝐶:

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

Рассматриваем случаи:

• 𝒄′ ≠ 𝒄′ и 𝒄′′ = 𝒄′′. Если 𝑑 𝒄′, 𝒄′ = 𝑑′, то 𝜋 𝒄′ ≠ 𝜋 𝒄′ и следовательно

𝑑 𝒂, 𝒂 = 2𝑑′ + 1.Если 𝑑 𝒄′, 𝒄′ > 𝑑′, то

𝑑 𝒂, 𝒂 > 2𝑑′.

Page 39: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Доказательство леммы Васильева

Возьмём пару различных слов кода 𝐶:

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

Рассматриваем случаи:

• 𝒄′ = 𝒄′ и 𝒄′′ ≠ 𝒄′′. Тогда, очевидно, 𝑑 𝒂, 𝒂 ≥ 𝑑 𝒄′′, 𝒄′′ ≥ 𝑑′′.

Page 40: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Доказательство леммы Васильева

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

𝒂 = 𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′

Остался случай 𝒄′ ≠ 𝒄′ и 𝒄′′ ≠ 𝒄′′:Пусть 𝒄′ и 𝒄′ отличаются на множестве позиций 𝐷1, а 𝒄′′ и 𝒄′′ отличаются на множестве позиций 𝐷2.

Тогда 𝒄′ + 𝒄′′ и 𝒄′ + 𝒄′′ отличаются по крайней мере на множестве 𝐷2 ∖ 𝐷1.

Следовательно𝑑 𝒂, 𝒂 ≥ 𝐷1 + 𝐷2 ∖ 𝐷1 ≥ 𝐷2 ≥ 𝑑′′

Page 41: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Теорема Васильева

Следствие из леммы Васильева.Пусть 𝐶′′ ⊆ 𝔽2

𝑛 — код с расстоянием 3.

Для произвольного отображения 𝛾: 𝐶′′ → 𝔽2 код

𝒄′ ∣ 𝒄′ + 𝒄′′ ∣ 𝜋 𝒄′ + 𝛾 𝒄′′ , где 𝒄′ ∈ 𝔽2𝑛, 𝒄′′ ∈ 𝐶′′

является 2𝑛 + 1, 2𝑛 ⋅ 𝐶′′ , 3 -кодом.

Доказательство: применяем Лемму с 𝐶′ ≔ 𝔽2𝑛.

Замечание: если отображения 𝛾 и 𝛾 + 1 нелинейны, то получаемый код не эквивалентен никакому линейному.

Page 42: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Теорема Васильева

Следствие из леммы Васильева.Если существует 𝑛, 𝑀, 3 -код, то существует 2𝑛 + 1, 2𝑛 ⋅ 𝑀, 3 -код, не эквивалентный никакому линейному.

Теорема.Для любого 𝑚 ≥ 2 существует совершенный

2𝑚 − 1, 22𝑚−𝑚−1, 3 -код, не эквивалентный никакому линейному.

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

Заметим, что при каждом 𝑚 ≥ 2 есть 2𝑚−1 − 1, 22𝑚−1−𝑚, 3 -код

Хемминга, и применим Следствие с 𝑛 ≔ 2𝑚−1 − 1 и 𝑀 ≔ 22𝑚−1−𝑚.

Page 43: Циклические коды БЧХ, Хемминга. Восстановление синхронизации

Линейные коды не всегда лучшие

Теорема. (F. P. Preparata ’1968, J.-M. Goethals and S. L. Snover ’1972)

• Для ∀𝑚 ≥ 2 существует 4𝑚, 24𝑚−4𝑚, 6 -код.

• Любой линейный код длины 4𝑚 с расстоянием 6 имеет меньшую мощность.

Коды с параметрами 4𝑚, 24𝑚−4𝑚, 6 называют кодами

Препа́раты.


Recommended