Загрузил Михаил Валдаев

Теория и практика кодирования

Реклама
Теория и практика кодирования
В.Ю. Михайлов
2010 г.
Монография посвящена исследованию теоретико-прикладных аспектов
алгебры кодирования применительно к эффективному решению задач
формирования, обработки сложных кодированных сигналов и предназначена
для специалистов в области проектирования и эффективного применения
информационных систем, использующих сложные кодированные сигналы
для обеспечения информационной безопасности и защиты от помех, а также
аспирантов
и
студентов,
обучающихся
по
специальностям
«Радиоэлектронные системы», «Системы связи с подвижными объектами» и
«Комплексная защита объектов информатизации».
284
Введение
1. Кодирование в информационных
системах
1.1. Задачи кодирования в информационных
системах
1.2.
Общие
принципы
помехоустойчивого
кодирования
1.3. Типовые модели сигналов и помех
1.4.
Типовые
модели
устройств
обработки
сложных сигналов
Библиографический список
2. Математические основы кодирования
2.1. Элементы теории чисел
2.1.1. Теория делимости
2.1.1.1. Общие понятия
2.1.1.2. Наибольший общий делитель
285
2.1.1.3. Наименьшее общее кратное
2.1.1.4. Простые числа
2.1.2. Важнейшие функции теории чисел
2.1.2.1. Мультипликативные функции
2.1.2.2. Функция Мёбиуса
2.1.2.3. Функция Эйлера
2.1.3. Сравнения и вычеты
2.1.3.1. Общие понятия
2.1.3.2. Свойства сравнений, подобные свойствам равенств
2.1.3.3. Дополнительные свойства сравнений
2.1.3.4. Полная система вычетов
2.1.3.5. Приведенная система вычетов
2.1.3.6. Теоремы Эйлера и Ферма
2.1.4. Сравнения с одним неизвестным
2.1.4.1. Сравнения первой степени
2.1.4.2. Системы сравнений первой степени
2.1.4.3. Сравнения второй степени
2.1.5. Первообразные корни и индексы
286
2.1.5.1. Первообразные корни по модулям pα и 2pα
2.1.5.2. Индексы по модулям pα и 2pα
2.2. Элементы теории множеств
2.2.1. Основные понятия и определения
2.2.2. Векторные пространства и линейные алгебры
2.2.3. Основные сведения о матрицах
2.2.4. Алгебра многочленов
2.2.4.1. Идеалы, классы вычетов и кольцо классов вычетов
2.2.4.2. Идеалы и классы вычетов целых чисел
2.2.4.3. Идеалы многочленов и классы вычетов
2.2.4.4. Алгебра классов вычетов многочленов
2.2.5. Поля Галуа
2.2.5.1. Общая структура полей Галуа
2.2.5.2. Мультипликативная группа поля Галуа
2.2.5.3. Круговые многочлены
2.2.5.4. Полезные обобщения и выводы
2.2.5.5. Примеры анализа мультипликативной структуры
полей Галуа
287
Библиографический список
3. Линейные переключательные схемы
3.1. Схемы для умножения многочленов
3.2. Схемы для деления многочленов
3.3. Схемы вычислений в полях Галуа
3.4.
Линейные
рекуррентные
схемы
(генераторы)
Библиографический список
4. Основы алгебры кодирования
4.1. Математическое описание алгебраических
кодовых последовательностей
4.1.1. Построение множеств упорядоченных элементов
4.1.2. Отображение элементов поля Галуа в элементы
кодовых последовательностей
4.1.2.1.
Проблема
неоднозначности
минимальных многочленов и их корней
соответствия
288
4.1.2.2. Отображение элементов поля Галуа на пространство
алфавита кодовой последовательности
4.1.2.3. Проблема определения минимальных многочленов
4.1.2.4.
Характеристические
многочлены
матриц
и
минимальные многочлены
4.1.2.5. Проблемы математического представления кодовых
последовательностей
4.2.
Особенности
векторных
представлений
элементов полей Галуа
4.2.1.
Векторное
представление,
основанное
на
содержимом регистра сдвига.
4.2.2. Векторное представление, основанное на схеме
деления многочленов (декодер).
4.2.3.
Сравнительная
характеристика
векторных
представлений.
4.3. Идея построения быстрых преобразований в
полях Галуа
Библиографический список
289
5. Примеры эффективного решения
базовых задач информационных систем
5.1.
Синтез
квазиортогональных
ансамблей
кодовых последовательностей
5.1.1. Функции взаимной корреляции
5.1.1.1. Формальное описание и расчет функций взаимной
корреляции
5.1.1.2. Основные свойства функции взаимной корреляции
5.1.2. Синтез ансамблей М-последовательностей с
тремя уровнями ФВК
5.1.3. Синтез двухкомпонентных составных кодов с
гарантированными уровнями ФАК и ФВК
5.1.3.1. Общая структура двухкомпонентных кодов
5.1.3.2. Алгебраические модели для расчетов ФАК и ФВК
двухкомпонентных кодов
5.1.3.3. Общие свойства ФАК двухкомпонентных кодов
5.1.3.4. Распределение уровней ФАК двухкомпонентных
кодов
5.1.3.5. Общие свойства ФВК двухкомпонентных кодов
290
5.1.3.6. Распределение уровней ФВК двухкомпонентных
кодов
5.1.4. Синтез трехкомпонентных составных кодов с
гарантированными уровнями ФАК и ФВК
5.1.4.1. Общая структура трехкомпонентных кодов
5.1.4.2. Алгебраические модели для расчетов ФАК и ФВК
трехкомпонентных кодов
5.1.4.3. Оценка уровней ФВК в особых точках
5.1.4.4. Выводы
5.1.5. Другие методы аналитического оценивания
ФВК
5.1.6. Формальное описание и оценка двумерной
функции корреляции
5.1.6.1. Основные свойства ДФВК
5.1.6.2. Верхняя граница ДФВК (ВФН)
5.2.
Синтез
формирования
эффективных
и
обработки
устройств
кодированных
сигналов
5.2.1. Методы быстрого изменения задержки кодовой
М-последовательности
291
5.2.1.1.
Обоснование
метода
быстрого
определения
начального вектора состояния регистра сдвига
5.2.1.2. Метод быстрого определения начального вектора
состояния регистра сдвига
5.2.1.3.
Аналитический
метод
определения
начального
вектора состояния регистра сдвига
5.2.2.
Методы
быстрого
поиска
М-
последовательностей по задержке
5.2.2.1.
Теоретическое
обоснование
метода
ускоренной
обработки кодовых последовательностей с четной степенью
порождающего многочлена
5.2.2.2.
Теоретическое
обоснование
метода
ускоренной
обработки кодовых последовательностей с нечетной степенью
порождающего многочлена
5.2.2.3. Варианты реализации устройств быстрого поиска
кодовых
М-последовательностей
с
нечетной
степенью
порождающего многочлена
5.2.2.4. Некоторые аспекты сочетания быстрого поиска по
задержке с поиском по частоте
5.2.2.5. Дополнительные направления ускорения поиска по
задержке
292
5.2.3. Синтез шумовых сигналов с нормированными
характеристиками
Библиографический список
Приложение 1. Статистика многочленов
в полях Галуа до GF(263) включительно
Приложение 2. Таблица опорных
многочленов вместе с вектором
начальных состояний A0 в 16-ной форме
10
Введение
Монография «Теория и практика кодирования» посвящена исследованию
теоретико-прикладных аспектов алгебры кодирования и ее применению в
ряде ключевых приложений проектирования информационных систем,
использующих для достижения высоких качественных показателей сложные
кодированные сигналы. Отличительной особенностью монографии является
объединение главных, целевых разделов монографии с базовыми и
прикладными математическими разделами, что, по мнению автора, улучшает
логику изложения материала и, следовательно, упрощает его понимание. Это
позволяет использовать монографию и в качестве учебно-справочного
пособия,
особенно
в
условиях
дефицита
издания
фундаментальной
литературы аналогичного назначения.
Учитывая
целевую
аудиторию,
основные
разделы
монографии
выполнены, по возможности, структурно подобными хорошо известным и
ставшим «классикой» книгам таких авторов, как И.М. Виноградов («Основы
теории чисел»), У. Питерсон, Э. Уэлдон («Коды, исправляющие ошибки»), Э.
Берлекэмп («Алгебраическая теория кодирования»). Имея в виду значимость
построения
ряда
математических
моделей-представлений
и
теорем,
монография содержит достаточно полные пояснения (в том числе,
графические) и доказательства соответствующих выводов.
Раздел
1
посвящен
обзору
основных
задач
кодирования
в
информационных системах различного назначения, использующих сложные
кодированные сигналы для достижения высоких качественных показателей,
типовых моделей сигналов, помех и устройств обработки сложных сигналов.
Раздел 2 посвящен математическим основам кодирования и состоит из
двух базовых подразделов: 2.1 (Элементы теории чисел) и 2.2 (Элементы
теории множеств). Первый из них содержит теоретико-числовую, а второй –
алгебраическую базу помехоустойчивого кодирования, множество полезных
выводов,
примеров
анализа
разнообразных
полей
Галуа
и
их
11
мультипликативной структуры.
Раздел 3 посвящен рассмотрению линейных переключательных схем и их
применению для выполнения базовых операций над многочленами в полях
Галуа.
Раздел 4 содержит детальное описание и представление элементов поля
Галуа, методы их отображения на элементы кодовых последовательностей.
Раздел 5 посвящен примерам использования алгебры кодирования для
решения ряда базовых задач рассматриваемых классов информационных
систем. Раздел 5.1 посвящен анализу ансамблевых характеристик кодовых
последовательностей
максимальной
длины,
а
также
двух-
и
трехкомпонентных последовательностей, получаемых на их основе. Раздел
5.2 посвящен построению высокоэффективных устройств формирования и
обработки сложных кодированных сигналов. Приложения 1, 2 содержат
полезные таблицы характеристик полей Галуа и примитивных многочленов с
особыми свойствами.
12
1. Кодирование в информационных
системах
1.1. Задачи кодирования в информационных
системах
На рис. 1.1 приведена обобщенная блок-схема цифровой информационной
системы. В качестве такой системы может выступать система передачи или
извлечения информации любого типа. При рассмотрении структуры систем
извлечения
информации
может
потребоваться
дополнительная
интерпретация некоторых элементов приведенной схемы. Например, в
радиолокационных системах элементы передающего и приемного трактов
пространственно объединены. В этих системах передающая часть формирует
специальный (зондирующий) сигнал, предназначенный для наилучшего
извлечения информации из принимаемого сигнала, а сама информация о
параметрах движения объекта формируется в электромагнитном колебании
при взаимодействии его с неоднородностями среды, т.е. источник
информации как таковой в этих системах отсутствует. В измерительных
системах запросного и беззапросного типа ситуация несколько иная. В них
также в явном виде отсутствует источник информации, а информация о
параметрах
движения
интересующего
объекта
формируется
при
ретрансляции (запросные системы) или генерировании (беззапросные
системы) специального сигнала на этом объекте и распространении
электромагнитного колебания по трассе. Сигналы, используемые в таких
системах, называются сложными сигналами.
Сигнал принято называть сложным, если его база B существенно больше
единицы, т.е.
B  f sTs  1,
13
где f s - эффективная полоса частот, занимаемых сигналом; Ts длительность сигнала.
Большая величина базы сигнала достигается различными методами,
однако чаще всего это делается путем использования в качестве
модулирующего колебания кодовой последовательности. Такие сигналы
будем называть кодированными сигналами. В измерительных радиосистемах
большой
дальности
действия,
особенно
в
космических
системах,
применяются, в основном, периодические сигналы, для которых Ts имеет
смысл периода повторения. Сложные сигналы, построенные на основе
кодовых
последовательностей,
качественные
показатели
потенциально
радиосистем,
обеспечивают
однако
реализация
высокие
всех
их
возможностей часто затруднена из-за значительного усложнения аппаратнопрограммных процедур формирования и обработки и (или) в силу больших
затрат времени на поиск, обнаружение сигнала и устранение априорной
неопределенности по его частоте и задержке.
Более существенные различия в упомянутых системах касаются целей и
способов кодирования и декодирования. Так, в системах передачи
информации кодирование преследует цель надежной доставки информации
от
источника
к
получателю.
Кодирование
в
системах
извлечения
информации преследует иную цель: обеспечить с требуемой точностью и
надежностью выделение на фоне помех специального измерительного
сигнала и измерение его параметров (в частности, задержки и частоты),
несущих
информацию
о
характеристиках
движения
объекта.
В
информационных системах обоих классов часто стоит задача надежной
передачи (извлечения) информации от множества источников. В зависимости
от типа и конкретного назначения систем они могут именоваться как
асинхронные адресные системы, системы многостанционного доступа с
кодовым разделением каналов (CDMA) и т.д. В любом случае системы этого
типа используют кодирование для уплотнения (разделения) каналов по
форме сигнала, т.е. для обеспечения одновременной передачи информации от
14
различных источников (объектов) в общей полосе частот. Можно говорить о
системе, имеющей множество логических каналов и использующей единый
физический канал, как это показано на рис.1.1 (в радиоэлектронных системах
такой канал принято именовать радиолинией). Строго говоря, цель такого
кодирования отличается от рассмотренных ранее целей – в этих системах
кодирование используется не для надежной доставки информационных
сообщений, а для надежного различения их источников. Однако если
договориться, что информация в некотором сообщении заключается в адресе
или идентификаторе объекта-источника, то и этот способ кодирования имеет
целью надежную доставку данной информации получателю при воздействии
помех, в том числе и от других каналов.
Таким образом, пусть и с некоторыми ограничениями, можно говорить об
общности рассмотренных задач кодирования по отношению к доставке
полезной информации получателю. Действительно, в информационных
системах любого типа в отсутствии помех в канале, передача, извлечение
информации, а также различение источников (разделение каналов) сводятся к
установлению синхронизации. Единственное, по-видимому, отличие остается
в том, что в системах передачи информации установление синхронизации с
заданной точностью является служебным этапом процесса декодирования
информационного сообщения, а в системах извлечения информации –
целевым этапом работы. Разумеется, упомянутое отличие целей кодирования
должно сказаться на выборе способов кодирования и декодирования
сигналов, несущих полезную информацию.
Перечисленные разнообразные задачи кодирования, обладая упомянутой
выше общностью, ближе всего соответствуют понятию кодирования канала.
Под
кодированием
направленные
на
канала
обычно
повышение
понимают
устойчивости
действия
процесса
(операции),
доставки
информационных сообщений по физическим каналам передачи данных к
вредному
воздействию помех естественного происхождения. Термин
«кодирование канала» подчеркивает главное отличие данной задачи
15
кодирования от других задач кодирования, выполняемых в источнике
информации, в частности задачи кодирования источника. Имея в виду
приведенную цель кодирования канала, такое кодирование также принято
называть
помехоустойчивым
кодированием
или
кодированием
с
исправлением ошибок. Главная идея помехоустойчивого кодирования
заключается в целенаправленном введении избыточности в исходное
сообщение или сигнал. В соответствии с рис. 1.1 эта операция выполняется
кодирующим устройством или кодером. Противоположная операция –
выделение
переданного
по
каналу
информационного
сообщения
из
кодированного сигнала – называется декодированием и выполняется
декодером. Имея в виду жесткую функциональную связь операций
кодирования и декодирования (для каждого помехоустойчивого кода
требуется свой декодер), пара устройств «кодер-декодер» именуется
кодеком.
Известен также подход [1, с. 17; 2, с. 564], предлагающий рассматривать
помехоустойчивое кодирование и модуляцию как единое целое, что
отображается на рис. 1.1 введением обобщенной операции «сигнальнокодовая конструкция», «кодовая модуляция» или «кодирование формы
сигнала». Единый подход к проектированию кода и отображающего его в
сигнальном пространстве множества «сигнальных точек» потенциально
обеспечивает более высокую эффективность использования полосы канала
передачи данных и больший энергетический выигрыш от кодирования по
сравнению с раздельным и независимым выполнением помехоустойчивого
кодирования и модуляции. Один из примеров применения этого подхода -
решетчатое кодирование (модуляция), в частности trellis-кодирование
(модуляция) и многоуровневая кодовая модуляция [1, с. 17]. Trellisкодирование реализовано в одном из стандартов компьютерных модемов.
Применение кодовой модуляции связано также с понятиями «жесткого» и
«мягкого»
решений
помехоустойчивым
демодуляторов.
кодированием
в
В
классической
декодер
вводится
системе
с
«жесткое»,
16
некорректируемое решение демодулятора в виде фиксированного значения
двоичного символа (0 или 1) при бинарном квантовании и в виде номера
уровня при многоуровневом квантовании. При использовании кодовой
модуляции
демодулятор
не
принимает
фиксированного
(«жесткого»)
решения, оставляя окончательное решение за декодером, в который вводится
допустимое подмножество сигнальных точек. Подробнее с методами
кодовой модуляции можно познакомиться в [2]. Описанный подход обычно
ассоциируется с системами (особенно мобильными) связи, где наибольшее
значение имеют такие показатели, как энергетическая эффективность,
экономия полосы частот, минимальная задержка (а также jitter - «дрожание»)
сигнала. В этих системах допускаются некоторые искажения информации,
т.е. не требуется гарантированность доставки.
В дальнейшем основное внимание будет уделено информационным
системам другого типа – системам, особенностями которых являются
высокая надежность обнаружения и различения на фоне помех и мешающих
сигналов, а также высокая точность измерения параметров кодированного
сигнала. К системам такого типа, прежде всего, относятся командные
системы, асинхронные адресные системы передачи информации с кодовым
уплотнением каналов (уплотнением по форме), а также системы извлечения
информации. В командных и асинхронных адресных системах передачи
информации требуется создание ансамбля квазиортогональных кодовых
последовательностей. Отметим, что в отсутствии синхронизации ансамбли
строго
ортогональных
кодовых
последовательностей
не существуют.
Особенность ансамбля квазиортогональных кодовых последовательностей,
применяемых в асинхронных адресных или подобных им системах, состоит в
том, что в отличие от командных систем на декодеры их приемного
устройства одновременно воздействует некоторое подмножество или весь
набор сигналов ансамбля. Каждый декодер должен принять решение о том,
что данный канал активен (сигнал обнаружен), а также декодировать
информационное сообщение, передаваемое по данному каналу. Структура
17
командных систем также многоканальная, однако решение такой системой
принимается иное: какой (только один) из каналов приемного устройства
активен.
1.2. Общие принципы кодирования канала
Любое помехоустойчивое кодирование использует избыточность, но поразному.
Существуют
подразумевает
два метода кодирования
кодирование-декодирование
всего
сообщений. Первый
информационного
сообщения, каким бы длинным (в битах) оно ни являлось. В этом случае
каждому информационному сообщению ставится в соответствие свое
кодовое слово, или, иначе, для передачи каждого информационного
сообщения используется одно из допустимых кодовых слов из выбранного
множества.
Примечание
В системах передачи информации под кодовым словом понимается набор
символов, сопоставленный по определенному правилу всей или части (блоку)
цифрового информационного сообщения. Правило сопоставления называется
правилом кодирования, или просто кодом. Правило кодирования реализуется
кодером и используется декодером. В системах извлечения информации под
кодовым словом понимается кодовая последовательность, обладающая
наилучшими свойствами в смысле выбранного критерия, например
минимальной ошибки измерения задержки или минимальной вероятности
перепутывания кодовых последовательностей. Указанные свойства
достигаются путем выбора соответствующего правила кодирования.
Задача декодирования и, в целом, приема кодированных сигналов
формулируется как задача обнаружения-различения, известная в теории
радиолокации [3, с. 404]. При определенных условиях и ограничениях
(помеха в виде аддитивного «белого» гауссова шума, применение
комплексного сигнала в модуляторе) известно также и оптимальное решение
этой задачи – декодирование по методу максимального правдоподобия.
18
Примечание
Принцип максимального правдоподобия используется также в концепции
декодирования при использовании «кодовой модуляции», введенной выше.
Различие состоит в том, что в «кодовой модуляции» обработке подвергается
«канальный символ», т.е. сигнальное представление набора бит, а не
кодированное сообщение в целом.
В
этом
методе
в
качестве
переданного
выбирается
сообщение,
соответствующее принятому кодовому слову, ближайшему к одному из
допустимых кодовых слов в смысле расстояния по Хэммингу. Этот метод
приема известен также как корреляционный прием, или прием в целом [4, с.
59]. При высоком качестве приема (декодирования) сообщений этот метод
обладает целым рядом существенных недостатков:
 существенные (при длинных сообщениях) задержки передачи
сообщений,
ограничивающие
использование
этого
метода
в
системах реального времени таких, например, как системы связи;
 высокая
сложность
многоканальных
устройств,
реализующих
корреляционный прием;
 низкая скорость передачи информации, являющаяся следствием
выбора множества кодовых слов с «хорошими» корреляционными
свойствами;
 неэкономное использование полосы канала, являющееся следствием
применения в модуляторе противоположной фазовой модуляции
(манипуляции).
В силу указанных особенностей данного метода главной областью его
применения
является
высоконадежная
передача
сообщений
типа
управляющих команд, кодирование адресов в асинхронных адресных
системах
передачи
информации,
а
также
построение
специальных
кодированных сигналов в системах извлечения информации.
Часто
разрешение
противоречий
между
потенциальными
характеристиками радиосистем со сложными сигналами, с одной стороны, и
большими затратами ресурсов на их обработку – с другой, достигается путем
19
некоторого отступления от оптимальной (по Котельникову) структуры
приемника. В дальнейшем с целью исключить зависимость от используемого
критерия оптимальности приемника будем использовать широко известный
подход к оценке степени близости реального приемника к оптимальному на
основе оценки доли полной энергии сигнала, используемой реальным
приемником для принятия решения.
Оптимальный корреляционный прием сложных сигналов (оптимальный
приемник предполагает ортогональность выбранного ансамбля сигналов)
использует всю энергию сигнала, но не предполагает никакого знания о
структуре сложного сигнала кроме известности его алгоритма формирования.
В связи с этим материал данной монографии направлен на выяснение и
использование тонкой структуры класса сложных дискретных сигналов,
построенных на основе кодовых последовательностей максимальной длины
для
повышения
эффективности
решения
целевых
задач
системами
указанного выше типа.
1.3. Типовые модели сигналов и помех
Реальный декодер всегда работает в условиях, когда символы входной
«оцифрованной» последовательности содержат случайную комбинацию
ошибок.
Под
комбинацией
ошибок
будем
понимать
количество
и
месторасположение ошибки во входной последовательности. Большинство
результатов в теории и практике кодирования получено в предположении
независимого искажения шумом отдельных символов. Эта ситуация
описывается моделью независимых, или некоррелированных, помех и
возникающих при их воздействии ошибок. Эта модель очень проста и удобна
для оценки помехоустойчивости информационных систем и даже для
решения некоторых задач синтеза эффективных кодов. В большинстве
случаев она адекватна реальным условиям функционирования систем, но не
исчерпывает всех возможных ситуаций. Нередко приходится учитывать
воздействие помех, искажающих целую группу подряд идущих символов
20
кодовой последовательности. Примеры таких помех - атмосферные помехи
из-за грозовых разрядов, коммутационные помехи, помехи из-за сбоев
электропитания и другие импульсные помехи. Возникающие при этом
групповые ошибки принято называть пакетами ошибок, в которых
искажения
соседних
символов
должны
считаться
зависимыми,
или
коррелированными.
Таким образом, по характеру воздействия различают коррелированные и
некоррелированные помехи, в результате чего возникают коррелированные и
некоррелированные
ошибки.
Коды,
наилучшие
для
обнаружения
и
исправления одного класса ошибок, не обязательно являются таковыми для
другого класса ошибок.
Примечание
Близкими к понятиям коррелированных и некоррелированных помех
являются
понятия
широкополосных
и
узкополосных
помех.
Широкополосными называются помехи, ширина спектра которых не меньше
ширины спектра сигнала. Эта модель помех ближе всего соответствует
помехам в виде теплового шума и чаще всего применяется в виде модели
«белого» шума. Ввиду случайного характера этих помех они соответствуют
модели некоррелированных помех. Напротив, узкополосные помехи, ширина
спектра которых много меньше полосы частот сигнала, соответствуют
модели коррелированных помех.
Другая важная модель помех относится к способу их взаимодействия с
сигналом. Наиболее простой, удобной и часто встречающейся является
ситуация линейного взаимодействия, когда процесс на входе демодулятора
представляет собой аддитивную смесь сигнала с шумом. Такие помехи
принято называть аддитивными. Типичный пример аддитивной помехи собственный
(тепловой)
шум
элементов
электронной
аппаратуры.
Мультипликативными называются помехи, которые изменяют параметры
(например,
амплитуду)
самого
сигнала.
Типичный
пример
мультипликативной помехи - нестабильность источника питания. В
большинстве случаев достаточным оказывается рассмотрение воздействия
аддитивных помех.
21
Введение типовых моделей помех преследует, прежде всего, цель
построения математического описания канала (или линии) передачи данных
и вычисления (оценки) такой характеристики информационных систем, как
вероятность ошибки на выходе декодера. С этой позиции принципиален
закон (или плотность) распределения вероятностей помехи. Наиболее просты
для расчетов равновероятная и гауссова модели плотностей распределения
вероятностей. Гауссова модель лучше всего описывает тепловые шумы, а
также помехи, формируемые как суперпозиция множества случайных и
равновесных факторов (следствие центральной предельной теоремы [5, с.
116]). Равновероятная модель чаще всего используется в ситуациях, когда
априорные сведения о распределении помехи отсутствуют.
В дальнейшем в качестве основной модели помех будет рассматриваться
аддитивная гауссова некоррелированная помеха, или помеха типа АБГШ
(аддитивный «белый» гауссов шум).
1.4.
Типовые
модели
устройств
обработки
сложных сигналов
Кодовое разделение каналов в асинхронных адресных системах и
системах многостанционного доступа осуществляется за счет присвоения
каждому каналу уникального признака - кодовой последовательности
(кодового слова). Как известно, точность и надежность работы системы в
режиме
слежения,
оптимального
т.е.
приемника
после
на
настройки
нужную
соответствующего
кодовую
канала
последовательность,
определяется характеристиками функции автокорреляции (ФАК), уровнем
шумов и помех от других каналов в области главного лепестка функции
ФАК. Помехи от других каналов проявляются в виде аддитивной суммы
уровней функции взаимной корреляции (ФВК). Напротив, на этапе поиска и
обнаружения кодовой последовательности требуемой структуры каждый из
каналов испытывает воздействие, характеристики которого определяются
уровнями функции автокорреляции (ФАК), шумов и помех от других каналов
22
в некоторой части или в полной области определения ФАК и ФВК.
Строго говоря, из-за влияния эффекта Доплера, рассмотрению подлежат
так называемые двумерные функции корреляции. Не вдаваясь в детали
поиска сигналов по частоте, отметим, что указанный этап предваряет другие
этапы, связанные с поиском сигналов по задержке (этап установления
синхронизации), обнаружением и различением кодированных сигналов, а
также
декодированием
информации.
Рассмотрение
этого
достаточно
специфичного этапа выходит за границы данной работы, поэтому в
дальнейшем будут рассматриваться только одномерные ФАК и ФВК.
Исключение составит раздел 5.2.2.4, в котором рассмотрены некоторые
вопросы совместной обработки сложных сигналов в частотно-временной
области, связанные с анализом тонкой структуры кодированных сигналов.
Обобщая цели выделенных ранее для рассмотрения информационных
систем, можно ввести обобщенный показатель качества в виде совокупности
вероятностей
Pe ( E / N 0 , ij ) ,
где E - энергия сигнала;
N 0 - спектральная плотность мощности шума;
ij - нормированный отклик j -го канала корреляционного приемника на
воздействие i -го кодированного сигнала;
Pe ( E / N 0 , ij ) - вероятность ошибки распознавания i -го кодированного
сигнала j -м каналом корреляционного приемника.
Строго говоря, многоканальный корреляционный приемник в гауссовых
аддитивных шумах остается оптимальным только при ортогональных
сигналах.
В
теории
сигналов
доказывается
оптимальность
данного
приемника и в случае равноудаленных кодированных сигналов, когда ij  
и
Pe ( E / N 0 , ij )  Pe ( E / N 0 ,  )  Pe ( E (1   ) / N 0 ,0) ,
где
Pe ( E (1   ) / N 0 ,0)
-
вероятность
ошибки
распознавания
23
ортогональных сигналов.
В [6, с. 301] найдена оценка Pe ( E / N 0 , ij ) в виде
Pe ( E / N 0 , ij )  Pe ( E / N 0 ,  max )  Pe ( E (1   max ) / N 0 ,0) ,
где  max - максимальный по всему ансамблю коэффициент корреляции.
В соответствии со структурой [4, с. 59] под ij должен пониматься
нормированный отклик
j -го канала корреляционного приемника на
воздействие i -го кодированного сигнала. В асинхронной системе под i -м
кодированным сигналом понимается множество используемых кодовых
последовательностей со всеми возможными дискретными сдвигами  ,
соответствующими элементу разрешающей способности корреляционного
приемника по задержке. Чаще всего таким элементов разрешения является
длительность символа  b кодовой последовательности, откуда становится
ясно, что проектирование кодированных сигналов должно следовать
минимизации уровней ФАК и ФВК. Однако из-за случайности задержки
уровни ФАК и ФВК также будут случайными. Более того, при существенной
взаимной
динамике
передатчика
и
приемника
выходной
эффект
корреляторов будет представлять собой случайный процесс. В первой
ситуации наиболее обоснованно использовать для оценки ФАК и ФВК их
максимальные
уровни.
статистические
Во
второй
характеристики
ситуации
ФАК
разумнее
и
ФВК,
использовать
например
среднеквадратическое отклонение их уровней. Однако использовать этот
более «мягкий» критерий можно, очевидно, лишь при достаточно хорошем
приближении распределения уровней ФАК и ФВК к гауссовому. К
сожалению, доказать такое приближение очень сложно.
Использование упомянутых характеристик уровней ФАК и ФВК
возможно лишь в модели комплексного сигнала, т.е. в когерентном
приемнике.
Эта
идеальная
модель
-
хорошее
приближение
для
квазикогерентных приемников, использующих синхронное детектирование и
систему фазовой автоподстройки частоты. В других случаях, в частности,
24
при построении приемника с квадратурными каналами, вычисляющего
модуль
ФАК
и
ФВК,
введенные
характеристики
должны
быть
соответствующим образом скорректированы.
Библиографический список
1. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования.
Методы, алгоритмы, применение. – М: Техносфера, 2005.
2. Massey J.L. Coding and modulation in digital communications, in Proc. 1974
Int. Zurich Seminar on Digital Communications, 1974, pp. E2(1-4).
3. Акимов П.С., Бакут П.А., Богданович В.А. и др. Теория обнаружения
сигналов. – М: Радио и связь, 1984.
4. Фалькович С.Е. Оценка параметров сигнала. – М: Сов. радио, 1970.
5. Гоноровский И.С. Радиотехнические цепи и сигналы. – М: Радио и
связь, 1986.
6. Витерби Э.Д. Принципы когерентной связи. – М: Сов. радио, 1970.
Рис.1.1. Обобщенная блок-схема цифровой системы связи
25
2. Математические основы кодирования
Главные математические аппараты кодирования - дискретная математика,
прежде всего, теория чисел и теория множеств. Основные сведения из этих
теорий, широко применяемых в кодировании, и являются предметом данного
раздела.
2.1. Элементы теории чисел
Теория чисел изучает свойства целых чисел, а также операции и
преобразования, выполняемые над ними. Ряд основополагающих результатов и
положений теории чисел применимы полностью или частично в теории
множеств, особенно, в алгебре кодирования. Данный раздел прежде всего
включает материал, полезный для лучшего понимания следующих разделов и
необходимый для выполнения множества целочисленных преобразований,
свойственных алгебре кодирования. При этом сопутствующие теоремам
доказательства опускаются (они могут быть при необходимости взяты из [1]) за
исключением специально выполненных доказательств или доказательств,
принципиальных для понимания и дальнейшего использования результатов.
2.1.1. Теория делимости
2.1.1.1. Общие понятия
Особенностью целых чисел является операция деления: частное от деления
a на b может быть как целым, так и не целым.
Примечание
Отметим еще одну особенность деления целых чисел. При рассмотрении
конечных множеств целых чисел (т.е. при задании операций по модулю
некоторого целого p ) результат деления обязан быть целым.
26
Определения
Если результат деления – целый, этот факт отмечают записью a  bq , где q целое число. При этом говорят, что a делится на b , или b делит a . Число a
называется кратным числа b , а b - делителем a . Иногда тот факт, что b делит
a , отмечают особой записью: b \ a .
Теорема 2.1
Если a кратно m , m кратно b , a кратно b .
Теорема 2.2
Если в равенстве
k  l  ...  n  p  q  ...  s
для всех членов, кроме какого либо одного, известно, что они кратны b , то и
этот член кратен b .
Теорема 2.3
В общем случае любое целое a представляется единственным способом
через положительное целое в виде
a  bq  r .
Доказательство
Начнем с тривиального представления a  b  r1 . Если r1  b , то вычтем b из
r1 . Обозначив r2  r1  b , получим a  2b  r2 . Продолжим эти действия до тех
пор, пока на i-м шаге ri не станет меньше b . Очевидно, что при этом q  i , а
r  rq . Число q называется неполным частным, а r - остатком от деления a на
b . Ч.т.д.
2.1.1.2. Наибольший общий делитель
Определения
Любое целое, делящее одновременно a, b,..., l называется их общим
делителем. Общих делителей может быть несколько. Наибольший из них
называется наибольшим общим делителем (НОД) и обозначается символом
27
(a, b,..., l ) . Ввиду конечности делителей существование НОД очевидно. Если
(a, b,..., l )  1 , числа приведенного ряда называются попарно или взаимно
простыми числами.
Теорема 2.4
Если a кратно b , то множество общих делителей a и b совпадает с
множеством делителей одного b . В частности, (a, b)  b .
Теорема 2.5
Если a  bq  c , то множество общих делителей a и b совпадает с
множеством общих делителей b и c . В частности, (a, b)  (b, c) .
Доказательство
Действительно, из записи следует, что любой общий делитель a и b
согласно теореме 2.2 делит также и c , а следовательно, является общим
делителем b и c . Наоборот, из приведенного равенства следует, что любой
общий делитель b и c делит a кратно b , а следовательно, является общим
делителем a и b . Таким образом, общие делители пар a и b , b и c должны
совпадать. В частности, должны совпадает их НОД, т.е. (a, b)  (b, c) , ч.т.д.
Для отыскания НОД и анализа его важнейших свойств применяется
алгоритм Евклида. Для положительных целых a и b с учетом теоремы 2.3 он
выглядит следующим образом:
a  bq1  r2 ,
0  r2  b
b  r2 q2  r3 ,
0  r3  r2
r2  r3q3  r4 ,
0  r4  r3
...
...
(2.1)
rn2  rn1qn1  rn , 0  rn  rn1
rn1  rn qn .
Алгоритм завершается при получении rn1  0 . Последнее неизбежно,
поскольку ряд b, r2 , r3 ,... - убывающий, который не может содержать более чем
b положительных чисел.
Согласно теореме 2.5 общие делители пар a и b , b и r2 , r2 и r3 , rn1 и rn
28
совпадают. Они же совпадают с делителями самого rn , т.е.
(a, b)  (b, r2 )  (r2 , r3 )  ...  (rn1 , rn )  rn .
Полученные результаты позволяют сделать следующие полезные выводы:
1. Множество общих делителей a и b совпадает с множеством делителей их
НОД.
2. Этот НОД равен rn , т.е. последнему ненулевому остатку алгоритма
Евклида.
Пример определения (525, 231) [1, с. 10]
Алгоритм поиска НОД представлен на рис. 2.1.
Последний ненулевой остаток равен r4  21 , так, что (525, 231) = 21.
3. Если m - любое положительное число, справедливо (am, bm)  m(a, b) .
 a b  ( a, b)
4. Пусть  - любой общий делитель a и b . Тогда  ,  
. В

  
частности, имеем
 a
b 
 (a, b) , (a, b)   1, т.е. частные от деления двух чисел на их НОД – взаимно


простые числа.
Теорема 2.6
Если (a, b)  1 , то (ac, b)  (c, b) .
Следствие
При c  a следует (a 2 , b)  (a, b) . При c  a 2 получим (a 3 , b)  (a 2 , b)  (a, b) .
Обобщение приводит к следующему выводу: (a i , b)  (a, b) для любого целого i .
Теорема 2.7
Если (a, b)  1 и ac делится на b , то и c делится на b .
29
Теорема 2.8
Если каждое из a1 , a2 ,..., am взаимно просто с каждым b1 , b2 ,..., bn , то и
произведение a1a2 ...am взаимно просто с произведением b1b2 ...bn .
Определение НОД множества чисел сводится к последовательному
определению НОД двух чисел. Пусть требуется найти НОД для a1 , a2 ,..., an .
Последовательно определяем
(a1 , a2 )  d 2 ; (d 2 , a3 )  d3 ; … (d n1 , an )  d n . Поскольку каждый d k содержит
общие делители всех чисел a1 , a2 ,..., ak , то искомый НОД будет равен d n .
2.1.1.3. Наименьшее общее кратное
Определения
Любое целое, кратное всем числам a, b,..., l , называется их общим кратным.
Наименьшее положительное из них называется их наименьшим общим
кратным (НОК) и обозначается символом [a, b,..., l ] . В приложении к
кодированию НОК не имеет такого значения, как НОД. Поэтому ограничимся
его определением для двух чисел (обобщение при желании может быть
получено аналогично обобщению НОД)
[ a, b] 
ab
.
( a, b)
2.1.1.4. Простые числа
Простые числа играют значительную роль в определении тонкой структуры
полей Галуа и в целом в алгебраической теории кодирования. К сожалению, об
их свойствах математике известно очень мало. В частности, проблемным
остается вопрос относительно распределения простых чисел на множестве всех
целых.
Особым простым числом является число 1, поскольку имеет только один
положительный делитель – сам себя.
30
Определения
Любое целое, большее 1, имеет не менее двух делителей: 1 и самого себя.
Если этими делителями исчерпываются все возможные делители целого числа,
то оно называется простым. В противном случае число называет составным.
Далее, с целью сокращения текста, будем подразумевать существование у
любого простого числа двух тривиальных делителей и опускать их (если этого
не требует точность формулировок) из рассмотрения.
Теорема 2.9
Наименьший, отличный от 1 делитель целого, большего 1, есть число
простое.
Доказательство
Действительно, пусть q - наименьший отличный от 1 делитель целого a  1 .
Если бы q было составным числом, то для него существовал бы делитель
q1 ,1  q1  q . Поскольку при этом число a обязано делиться на q1 , то это
противоречило бы предположению относительно q . Ч.т.д.
Теорема 2.10
Наименьший, отличный от 1 делитель составного целого числа a (согласно
теореме 2.9 он должен быть простым), не превосходит a .
Доказательство
Действительно, пусть этим делителем является q , тогда a  qa1 , a1  q .
Простой подстановкой a1 получим неравенство a  qa1  q 2 или, q  a , ч.т.д.
Последний вывод используется для построения таблицы простых чисел, не
превосходящих заданного N , методом под названием «решето Эратосфена».
Алгоритм построения таблицы простых чисел
1. Выписываем числа 1, 2, ..., N .
(2.2)
Первое большее 1 число ряда есть число 2 – оно простое.
2. Вычеркнем из ряда (2.2) как составные все числа, кратные 2 (в ряду
31
должны остаться только простые числа). Первым невычеркнутым числом будет
число 3 – оно не делится на 2, следовательно, является простым.
3. Вычеркнем из ряда (2.2) как составные все числа, кратные 3. Первым
невычеркнутым числом будет число 5 – оно не делится на 2, 3, следовательно,
является простым.
…
Согласно теореме 2.10 наименьшим делителем составного числа N *  N
(смысл N * поясняется в нижеследующем примечании) является число p  N * .
Способ построения таблицы подразумевает на каждом шаге вычеркивание всех
чисел, кратных последнему найденному простому числу. Пусть этим числом
является p*  p  N * , где p  N * - ближайшее целое, не меньшее (возможно,
равное) p* . Следовательно, процесс построения таблицы завершается после
вычеркивания всех чисел, кратных p* .
Примечание
Задача построения таблицы простых чисел не накладывала каких-либо
условий на число N . Однако использование вывода теоремы 2.10
подразумевает, что число N - составное. Если, по условию, N - простое, то
вместо него следует использовать число N *  N - ближайшее к N составное
число. Решение поставленной задачи при этом достигается, поскольку при
простом N оно сохранится в ряду, а числа, находящиеся между N * и N , в
процессе построения таблицы будут вычеркнуты.
Теорема 2.11
Любое целое a либо взаимно просто с данным простым p , либо делится на
него.
Следствие
Если произведение нескольких сомножителей делится на p , то, по крайней
мере, один из сомножителей делится на p .
32
Теорема 2.12
Любое целое, большее 1, разлагается
сомножителей, причем единственным способом.
на
произведение
простых
Доказательство
Пусть a - целое, большее 1 и p1 - его наименьший простой делитель, т.е.
a  p1a1 . Если a1  1 , то и для него существует аналогичный делитель p2 и
a1  p2 a2 . Продолжим процесс до тех пор, пока не получим при некотором n
an  1 , при котором an1  pn . Выполняя подстановки, получим a  p1 p2 ... pn .
Теперь надо доказать единственность такого разложения, Предположим, что
существует иное представление a  q1q2 ...qm . Рассмотрим равенство:
p1 p2 ... pn  q1q2 ...qm .
Согласно следствию теоремы 2.11 по крайней мере один из сомножителей
левой части равенства делит, например, q1 . Поскольку порядок расположения
простых сомножителей не имеет значения, то пусть таким сомножителем будет
p1 , но, в силу простоты p1 ( pi ) и q1 ( qi ), имеем p1  q1 . Сократим обе части
равенства на p1  q1 и продолжим процесс подбора других пар pi  qi и
сокращения равенства. Пусть процесс завершится (при n  m ), когда в левой
части останется 1. При этом имеем 1  qn1qn 2 ...qm , а это означает, что все
сомножители в правой части равны 1. Следовательно, второе разложение
тождественно первому, ч.т.д.
Определения
В разложении a на простые сомножители некоторые из них могут
повторяться. Пусть p1 , p2 ,..., pk - множество неповторяющихся сомножителей, а
1 , 2 ,..., k - кратность вхождения соответствующего сомножителя в a . При
этом получим так называемое каноническое разложение
a  p11 p2 2 ... pk k .
33
2.1.2. Важнейшие функции теории чисел
2.1.2.1. Мультипликативные функции
Определения
Функция  (a ) называется
следующие условия:
мультипликативной,
если
выполняются
1. Функция  (a ) определена для всех целых положительных a и не
обращается в нуль хотя бы при одном a .
2. Для любых положительных взаимно простых a1 , a2 имеем
 (a1a2 )   (a1 ) (a2 ) .
Например, мультипликативной является функция a s , где s - любое
вещественное или комплексное число.
Из приведенных определений следует ряд дополнительных полезных свойств
 (a) .
3.  (1)  1 . Действительно, поскольку  (a0 ) по определению не равна 0, то из
свойства 2 непосредственно следует  (a0 )   (1a0 )   (1) (a0 ) .
4. Если 1 (a ) и  2 (a ) - мультипликативные функции, то и  0 (a )  1 (a ) 2 (a ) мультипликативная функция. Это легко показать, проверив для нее выполнение
свойства 2:
 0 (a1a2 )  1 (a1a2 ) 2 (a1a2 )  1 (a1 )1 (a2 ) 2 (a1 ) 2 (a2 ) 
 1 (a1 ) 2 (a1 )1 (a2 ) 2 (a2 )   0 (a1 ) 0 (a2 ).
Теорема 2.13
Пусть  (a ) - мультипликативная функция и a  p11 p2 2 ... pk k - каноническое
разложение a . Обозначим символом

d \a
Тогда
сумму по всем делителям d числа a .
34
 (d )  (1  ( p )   ( p )  ...   ( p ))  ...
2
1
1
1
1
d \a
k
(1   ( pk )   ( p )  ...   ( pk )).
2
k
(2.3)
Доказательство
Для доказательства раскроем скобки в правой части равенства. Результат
будет представлять собой сумму слагаемых следующего вида:
 ( p1 ) ( p2 )... ( pk )   ( p1 p2 ... pk ) ,
1
2
k
1
2
k
где 0  i   i ;1  i  k .
p11 p22 ... pkk как раз и представляют собой все возможные делители
a  p11 p2 2 ... pk k , ч.т.д.
Следствие
Каноническое разложение a  p11 p2 2 ... pk k , также как и a s , в соответствии со
свойством 2 являются мультипликативными функциями, вследствие чего
результат теоремы для a s может быть представлен в следующем виде:
d
s
 (1  p1s  p12 s  ...  p11s )(1  p22  p22 s  ...  p2 2 s )  ...
d \a
k s
(2.4)
(1  p  p  ...  pk ).
s
k
2s
k
Интерес представляет не само приведенное выражение, а его два частных
случая.
1. Пусть s  1 .
Каждый сомножитель в правой части (2.4) есть конечный ряд и может быть
pii 1  1
i
2
. Левая часть (2.4) есть не что
приведен к виду 1  pi  pi  ...  pi 
pi  1
иное, как сумма S (a) всех делителей числа a :
 pii 1  1 
S (a)   
.

p
1
i 1 
i

k
2. Пусть теперь s  0 . Каждый сомножитель в правой части (2.4) имеет вид
(1   i ) , а левая часть
35
k
 (a)   1   i 
(2.5)
i 1
представляет собой один из самых полезных в теории чисел и алгебре
кодирования результат – количество делителей a .
2.1.2.2. Функция Мёбиуса
Определения.
Функция Мёбиуса  (a ) определяется для всех целых положительных чисел
a . Она задается равенствами
 (a)  0 , если a делится на квадрат какого-либо целого числа;
 (a)  (1) k , если a не делится на квадрат, отличный от единицы, где k число простых делителей a . При a  1 принимается k  1 и  (a )  1 . При этом
имеются в виду делители меньше самого a (число 1 считается простым
делителем любого числа).
Примеры значений функции Мёбиуса
 (1)  1,
 (2)  1,
 (3)  1,
 (4)  0,
 (5)  1,  (9)  0,
 (6)  1,
 (10)  1,
 (7)  1,  (11)  1,
 (8)  0,
 (12)  0.
Теорема 2.14
Функция Мёбиуса - мультипликативная функция.
Доказательство
Мультипликативность  (a1a2 ) в случае, когда хотя бы один из сомножителей
делит квадрат, очевидна. В противном случае  (a1a2 )  (1) k3 , где k3 - число
простых делителей a1a2 . В силу свойства 2 мультипликативных функций
множества простых делителей a1 , a2 не перекрываются, а следовательно,
k3  k1  k2 и  (a1a2 )  (1) k1 k2   (a1 )  (a2 ) , ч.т.д.
36
Теорема 2.15
Пусть  (a ) - мультипликативная функция и a  p11 p2 2 ... pk k - каноническое
разложение a . Тогда
  (d ) (d )  (1  ( p ))(1   ( p ))...(1   ( p )).
1
2
k
d \a
При этом для a =1 правую часть считаем равной 1.
Доказательство
В силу мультипликативности  (a ),  (a ) мультипликативной будет и
1 (a)   (a)  (a) , а следовательно, для нее можно применить теорему 2.13, т.е.
 (d )  (1  ( p )   ( p )  ...   ( p ))(1   ( p )   ( p )  ...   ( p ))  ...
1
1
1
1
2
1
1
1
1
1
2
1
2
2
1
2
2
d \a
(1  1 ( pk )  1 ( pk2 )  ...  1 ( pk k )).
Числа pi ,1  i  k - простые, поэтому
 ( pi )  1,  ( pis )  0;
i
1 ( pi )    ( pi ), 1 ( pis )  0
i
при si  1. Отсюда следует, что все сомножители в правой части имеют вид
1  1 ( pi ) , ч.т.д.
Следствие 1
Применим к  (a ) теорему 2.13, т.е.
  (d )  (1  ( p ))(1   ( p ))...(1   ( p )).
1
2
k
d \a
Поскольку все pi ,1  i  k - простые числа, то для них  ( pi )  1 и
  (d ) 0 . Исключением является отдельный случай a  1, при котором
d \a
 (a)  1 по определению и
  (d ) 1. Объединяя все варианты, получим
d \a
0, a  1;
  (d )  1, a  1.
d \a

37
Следствие 2
Функция  0 (a ) 
 2 (a)   (a)

d \a
также является мультипликативной. Применим к
1
теорему 2.13, т.е.
a
 (d ) 
d
1
a
 1 

 ( p1 ) 
p1
1 

 ( p2 )  
p2
 ...1 
 
 ( pk ) 
pk
.

Поскольку все pi ,1  i  k - простые числа, то для них  ( pi )  1 и

d \a
1 
1  
1 
 1  1   ...1   .
p1 
p2  
pk 

 (d ) 
d
Исключением является отдельный случай a  1 , при котором  (a )  1 по
 (d )
определению и 
1 . Объединяя все варианты, получим
d
d \a

1 
1  
1 
 (d ) 1  1   ...1   , a  1;
 
p1 
p2  
pk 

d
d \a

1, a  1.

(2.6)
Теорема 2.16
Пусть
задан
некоторый
набор
целых
положительных
чисел
M  {m1 , m2 ,..., mk } . Введем вещественную или комплексную функцию
F  { f1 , f 2 ,..., f k } , задающую некоторое правило отображения каждого из чисел
набора m1 , m2 ,..., mk на каждое из своих значений f1 , f 2 ,..., f k . Обозначим
символом S1 сумму значений fi , отображающих значения mi  1 , а символом Sd
- сумму значений f j , отображающих значения m j , кратные числу d . Тогда
получим
S1    (d ) Sd ,
(2.7)
d
где d пробегает все целые числа, делящие хотя бы одно из значений mi .
38
Доказательство
В силу следствия 1 теоремы 2.15 правая часть (2.7) не равна нулю только при
mi  1 , при этом  (d )  1 и Sd  S1 и (2.7) переходит в тождество. Докажем
теперь, что левая часть (2.7) в точности равна правой части. Опять, в силу
следствия 1 теоремы 2.15 и условий теоремы, формально имеем
k
S1   f i   (d ) .
i 1
d \ mi
Сгруппируем теперь члены, имеющие одинаковые значения
подмножеств значений mi и представим S1 в виде
d
для
S1    (d )  f i ,
d
i ,d \ mi
где внешнее суммирование ведется для все d , делящих хотя бы одно
значение из множества M , а внутреннее суммирование – по всем i , для
которых mi кратно данному значению d . Нетрудно видеть, что внутренняя
сумма представляет собой значение Sd , т.е. S d 

f i . Ч.т.д.
i , d \ mi
Следствие
Пусть множество целых положительных чисел M  {m1 , m2 ,..., mk } в условии
теоремы содержит все возможные делители целого n , а функция
F  { f1 , f 2 ,..., f k } задает правило отображения каждого из чисел набора
n
n
n
1  ,  2  ,...,  k 
на каждое из своих значений f1 , f 2 ,..., fl . Обозначим
m1
m2
mk
n
символом S1  F (n) сумму значений f i , отображающих значения  i 
1, а
mi
n
символом S d - сумму значений f j , отображающих значения  j 
, кратные
mj
числу d . При этом доказана справедливость соотношения (2.7), т.е.
F ( n)    ( d ) S d ,
(2.8)
d
где S d 

i ,d \
i
fi 
 F (m ) . Условие суммирования, очевидно, эквивалентно
i
i ,d \
представлению  i 
i
n
 dDi или n  dDi mi , где каждому и различному числу
mi
39
n
соответствует свое число Di . Отсюда следует, что при подсчете S d
dDi
n
суммирование можно производить по всем Di , делящим , т.е.
d
mi 
Sd 

n
i , Di \ 
d
fi 
 n 
n
 n 
F
  F
  G .
d 
n
 dDi  D \ n   dD 
i , Di \  

d 
d 
n
Подставляя в (2.8) выражение для S d  G   , получим
d 
n
F (n)    (d )G   .
d 
d
(2.9)
n
Проанализируем теперь другой вариант представления G   :
d 
n
G     F  mi  .
 d  i ,d \  n 
 
 mi 
n
n
- такой же делитель числа n , как и d . Поэтому, принимая k  ,
d
d
получим соотношение, справедливое для любого делителя k числа n :
Число
G k  
 F  m    F l  ,
i
i ,mi \ k
(2.10)
l \k
где суммирование производится по всем l , делящем k .
Полученные соотношения (2.9) и (2.10) известны как закон обращения
числовых функций [1, с. 34], а соотношение (2.9) – как формула обращения
Мебиуса для функции G , определенной соотношением (2.10) [2, с. 92].
Полезность данного результата будет выявлена в разделе 2.2.5.3 при
вычислении количества неприводимых многочленов заданной степени.
2.1.2.3. Функция Эйлера
Определения
Функция Эйлера  (a) определяется для всех целых положительных чисел a
и представляет собой количество чисел ряда 0, 1, 2,..., a , взаимно простых с a .
40
Найдем сначала значение этой функции для значения a в виде степени
простого числа, т.е. a  p11 .Количество чисел, имеющих общие делители с
p11
 p11 1 .
таким a (или количество чисел, кратных p1 ) очевидно равно
p1
Отсюда для данного a  p11 функция Эйлера равна
 (a)  p1  p1 1  p1 (1 
1
1
1
1
1
)  a (1  ) .
p1
p1
(2.11)
Рассмотрим теперь вариант a  p11 p2 2 . Поскольку p1 , p2 - простые числа, то
все числа ряда 0,1,2,..., a  1 являются делителями либо p11 , либо p2 2 . Таким
образом, для этого a  p11 p2 2 функция Эйлера равна

 (a )  ( p1  p1 1 )( p2  p2 1 )  p1 p2 1 
1
1
2
2
1
2


1 
1 
1 
1 
1    a 1  1   .
p2 
p1 
p2 
p1 

Обобщая рассмотренные варианты, получим окончательное выражение
функции Эйлера для произвольного a  p11 p2 2 ... pk k
k

 ( a )  a  1 
i 1

1
.
pi 
(2.12)
В теории чисел функция Эйлера используется, например, для анализа систем
вычетов. Она широко применяется и в алгебре кодирования, позволяя, в
частности, определить количество неприводимых, примитивных многочленов в
поле Галуа.
Примечания
1. Предыдущий вывод с очевидностью показывает, что функция Эйлера –
мультипликативная функция.
2. Выражение для функции Эйлера можно получить и другим способом,
используя следствие 2 теоремы 2.15 и формулу (2.6). Умножив обе части
уравнения на a , в правой части получим искомое выражение. Смысл суммы в
левой части (2.6) при этом, по крайней мере формально, заключается в
суммировании произведений «фильтра» в виде функции Мёбиуса на
41
соответствующее число, имеющее общий делитель ( d ) с a . Действие этого
«фильтра» может показаться достаточно «странным». Почему, например, не
суммируются указанные сомножители, если d является квадратом какого-либо
числа? Попробуем провести рассуждения, аналогичные предыдущим.
Рассмотрим сначала вариант a  p11 . Поскольку p1 - простое, то все возможные
делители a - все числа вида p1i ,1  i  1 , а все возможные числа, имеющие
a
общий делитель такого вида с a , равны
 p11 i ,1  i  1 . По определению,
d
 (d )  0 для всех d , кроме d  p1 , d  1 . В первом случае  (d )  1 , а во втором
 (d )  1, что приводит к уже знакомому результату
a
  ( d ) d  p
1
1
 p11 1 .
d \a
Разумеется, обобщение этого результата на произвольное a  p11 p2 2 ... pk k
приведет к выражению для формулы Эйлера
  (d )
d \a
k

a
1
a 1   .
d
pi 
i 1 
Завершая рассмотрение функции Эйлера, укажем на одно ее интересное
свойство:
 (d ) a .
d \a
Используем для доказательства формулу (2.3), считая  (a)   (a ) :
 (d )  (1  ( p )   ( p )  ...   ( p ))  ...
1
2
1
1
1
d \a
(1   ( pk )   ( pk2 )  ...   ( pk k )),
или, используя (2.11),
 (d )  1  ( p
1
d \a

 1)  ( p12  p1 )  ...  ( p11  p11 1 )   ...

 1  ( pk  1)  ( pk2  pk )  ...  ( pk k  pk k 1 ) ,
что после раскрытия скобок и приведения подобных членов даст искомый
результат.
42
2.1.3. Сравнения и вычеты
2.1.3.1. Общие понятия
Объект рассмотрения данного раздела - остатки от деления целых чисел на
заданное целое положительное число m , называемое модулем.
Определения.
Любому целому числу соответствует определенный остаток от его деления
на m (см. теорему 2.3). Если двум целым a, b соответствует одинаковый
остаток r , то они называются сравнимыми по модулю m .
Сравнимость чисел a, b по модулю m записывается так:
a  b (mod m) ,
а читается так: « a сравнимо с b по модулю m ».
Сравнимость чисел a, b по модулю m эквивалентна
1) представлению a  b  mt , где t - целое число;
(2.13)
2) делимости (a  b) на m .
2.1.3.2. Свойства сравнений, подобные свойствам равенств
Все перечисляемые свойства практически вытекают из представления (2.13).
1. Два числа, сравнимые с третьим, сравнимы между собой.
2. Сравнения можно почленно складывать.
3. Слагаемое, стоящее в какой-либо части сравнения, можно переносить в
другую часть с изменением знака.
4. К каждой части сравнения можно добавить число, кратное модулю.
5. Сравнения можно почленно перемножать.
6. Обе части сравнения можно возвести в одну и ту же степень.
7. Обе части сравнения можно умножать на одно и то же число.
8. Обе части сравнения можно разделить на их общий делитель, если
43
последний взаимно прост с модулем .
Доказательство
Пусть a  a1d ; b  b1d ; (d , m)  1; a  b (mod m) . Тогда a  b  (a1  b1 )d делится
на m . Отсюда вытекает a1  b1 (mod m1 ) , ч.т.д.
2.1.3.3. Дополнительные свойства сравнений
Основная
часть
представленных
свойств
практически
вытекает
из
представления (2.13).
1. Обе части сравнения и модуль можно умножить на одно и то же целое
число.
2. Обе части сравнения и модуль можно разделить на любой их общий
делитель.
Доказательство
Пусть
a  a1d ; b  b1d ; m  m1d ; a  b (mod m) .
Из
(2.13)
a1d  b1d  m1dt , а следовательно, a1  b1  m1t и a1  b1 (mod m) , ч.т.д.
следует
3. Если сравнение a  b выполняется одновременно по нескольким модулям,
то оно будет выполняться и по модулю, равному их НОК.
Доказательство
Действительно, из a  b (mod m1 ); a  b (mod m2 );...; a  b (mod mk ) следует,
что a  b делится на каждый из модулей, а следовательно, и на их НОК, ч.т.д.
4. Если сравнение выполняется по составному модулю m , то оно будет
выполняться и по модулю d , равному любому делителю модуля m .
Из того, что a  b делится на m , непосредственно следует, что a  b делится
и на любой делитель m .
5. Если одна часть сравнения и модуль делятся на одно и то же число, то и
другая часть сравнения должна делиться на это же число.
44
Доказательство.
Пусть a  a1d ; m  m1d ; a  b (mod m) . Из (2.13) вытекает a1d  b  m1dt , или
(a1  m1 )d  b и следовательно b должно делиться на d , ч.т.д.
6. Если a  b (mod m) , то (a, m)  (b, m) .
Это свойство следует из предыдущего свойства 5.
2.1.3.4. Полная система вычетов
Определения
Числа, сравнимые по модулю m , образуют класс чисел по модулю m . Из
этого определения следует, что всем числам класса присущ один и тот же
остаток r , а все члены класса образуются, если в выражении mq  r заставить
q пробегать все целые числа. Соответственно m различным значениям
остатков r образуются m классов чисел по модулю m .
Любое число класса называется вычетом по модулю m по отношению ко
всем числам того же класса.
Вычет, получаемый при q  0 , равный самому остатку r , называется
наименьшим неотрицательным вычетом.
Наименьший по абсолютной величине вычет  называется абсолютно
наименьшим вычетом. Подразумевается, что вычет  может принимать
отрицательные значения.
Взяв от каждого класса по одному вычету, получим полную систему
вычетов по модулю m .
Чаще всего в качестве полной системы вычетов используют наименьшие
неотрицательные вычеты 0,1, 2,..., m  1 . Если же использовать абсолютно
наименьшие вычеты, то полная система вычетов будет выглядеть так:
a) 
m 1
m 1
при нечетных m ;
, ...,  1, 0,1,...,
2
2
b) а при четных m одним из двух рядов
45
m
 m
1,
...,
1,
0,1,...,
,



 2
2

 m , ...,  1, 0,1,..., m  1.
 2
2
Теорема 2.17
Любые m чисел, попарно несравнимые по модулю m , образуют полную
систему вычетов по этому модулю.
Теорема 2.18
Если (a, m)  1 , b - любое целое число и x пробегает полную систему
вычетов по модулю m , то ax  b также пробегает полную систему вычетов по
модулю m .
2.1.3.5. Приведенная система вычетов
Определения
Согласно свойству 6 сравнений числа одного и того же класса по модулю m
имеют с модулем один и тот же НОД. Особый интерес представляют классы,
для которых НОД равен 1, т.е. классы, все члены которых взаимно просты с
модулем. Взяв из каждого такого класса по одному вычету, получим
приведенную систему вычетов по модулю m .
Приведенную систему вычетов можно составить из чисел полной системы
вычетов,
взаимно
простых
с
модулем.
Обычно
используют
систему
неотрицательных вычетов. Вспоминая функцию Эйлера  (a) (раздел 2.1.2.2),
видим, что количество чисел в такой системе равно  (m) .
Теорема 2.19
Если (a, m)  1 и x пробегает приведенную систему вычетов по модулю m ,
то ax также пробегает приведенную систему вычетов по модулю m .
46
2.1.3.6. Теоремы Эйлера и Ферма
Теорема 2.20 (Эйлера)
При m  1 и (a, m)  1 справедливо
a ( m )  1 (mod m) .
(2.14)
Доказательство
Пусть x пробегает приведенную систему вычетов
x  r1 , r2 ,..., rc ; c   (m) .
Как следует из предыдущей теоремы, ax также пробегает приведенную
систему вычетов
ax  1 ,  2 ,..., c .
Поскольку при заданном модуле существует только одна такая система, то
указанные последовательности из c   (m) чисел отличаются только порядком
следования (расположением) элементов в них.
Эти две последовательности связаны системой сравнений
ar1  1 (mod m),
ar2   2 (mod m),
...
arc  c (mod m).
Почленно перемножая сравнения системы, получим
a c r1r2 ...rc  1 2 ... c (mod m) , где r1r2 ...rc  1 2 ... c . Сокращая обе части
сравнения, получим доказательство теоремы
a c  ( m )  1 (mod m) .
Используя следствие теоремы 2.6 в разделе 2.1.1.2 и имея в виду (a, m)  1 ,
получим, что приведенную систему вычетов по модулю m составляет,
например, ряд из  (m) чисел
a, a 2 , a 3 ,..., a ( m ) .
Если продолжить умножение последнего члена ряда a ( m ) на a , то мы
должны наблюдать циклическое повторение членов ряда, т.е.
47
a ( m )1  a (mod m) или a ( m )  1 (mod m) ,
что доказывало бы теорему. Осталось показать, что указанный цикл является
полным, т.е. сравнение a ( m )1  a k (mod m), k  1 невозможно. Если бы это было
так, то мы получили бы новую приведенную систему вычетов, составленную из
чисел
a k , a k 1 , ..., a ( m ) .
Однако этого не может быть, поскольку этот ряд содержит всего  (m)  k  1
членов вместо необходимых  (m) членов. Таким образом, теорема доказана.
Следствие (Теорема Ферма)
Если модуль m  p является простым числом и (a, p)  1 , то имеем
a p 1  1 (mod p ) .
(2.15)
Эта форма вытекает из (2.14) и значения функции Эйлера для простого
модуля:  ( p )  p  1 .
2.1.4. Сравнения с одним неизвестным
Определения
Сравнением с одним неизвестным называется сравнение вида
f ( x)  0 (mod m) , где f ( x)  ax n  a1 x n1  ...  an .
Если a не делится на m , то n называется степенью сравнения. Решение
сравнения означает нахождение всех значений x , ему удовлетворяющих.
Два сравнения, имеющие решениями одни и те же значения x , называются
равносильными.
Если одним из решений сравнения является x  x1 , то и все x  x1 (mod m)
являются его решениями. Этот класс чисел принимается за одно решение. При
таком соглашении сравнение будет иметь столько решений, сколько вычетов
полной системы ему удовлетворяет.
Пример
Сравнению
48
x5  x  1  0 (mod 7)
среди чисел полной системы вычетов удовлетворяют два числа: x  2, x  4 .
Поэтому указанное сравнение имеет два решения:
x  2 (mod 7), x  4 (mod 7) .
2.1.4.1. Сравнения первой степени
Сравнение первой степени можно привести к виду
ax  b (mod m) ,
а данное сравнение представить как эквивалентное ему уравнение
ax  b  mt ,
(2.16)
где t - пока произвольное целое число.
Для алгоритмизации поиска решения сравнения такое представление
необходимо.
Суть алгоритма поиска решения (2.16) заключается в его последовательном
упрощении вплоть до получения тривиального результата. Мы не будем
доказывать сходимость такого процесса, по крайней мере, по причине его
очевидности при рассмотрении примера. Существует два пути упрощения
уравнения, выбираемых на основе анализа чисел a и m :
1) если a  m , то выделяется целая часть и остаток от деления m на a ;
2) если a  m , то выделяется целая часть и остаток от деления a на m .
В любом случае эти действия на i -м шаге приводят к новому, более
простому (вплоть до тривиального) уравнению в виде
ai xi*  b  miti* ,
где ai , mi - (возможно) новые коэффициент и модуль соответственно,
получаемые в результате выделения целой части и остатка от деления либо m
на a , либо a на m ;
xi* , ti* - новые параметры уравнения, получаемые путем замены переменных и
формально
связанные
с
49
аналогичными
параметрами,
полученными
на
предыдущем шаге.
По завершению процесса именно эти параметры будут использованы для
нахождения искомого решения путем элементарных вычислительных операций.
Пример
Рассмотрим
описанный
алгоритм
поиска
решения
37 x  25 (mod 107) в виде эквивалентного ему уравнения
сравнения
37 x  25  107t , где t - пока произвольное целое число.
Шаг 1. Поскольку a  m , то выделяем целую часть и остаток от деления 107
на 37 , т.е., представляем модуль в виде 107  2  37  33 .
Шаг 2. Получаем новое уравнение
37 x1  25  33t , где x1  x  2t и продолжаем процесс.
Шаг 3. Поскольку a  m , то выделяем целую часть и остаток от деления 37
на 33 , т.е., представляем a в виде 37  33  4 .
Шаг 4. Получаем новое уравнение
4 x2  25  t1 , где x2  x1  8t1 а t1  t  x1 .
Оцениваем это уравнение как тривиальное, поскольку при любом целом
положительном t1 всегда найдется решение в виде
 25 
x2     7 , где обратные скобки означают взятие ближайшего большего
4
целого.
Шаг 5. Вычисление результата.
Из результатов шага 4 имеем
x2  7, t1  4  7  25  3 , затем
x1  x2  8t1  7  8  3  31, затем
t  t1  x1  31  3  34 , после чего на основании результатов Шага 2, получаем
окончательно
x  2t  x1  2  34  31  99 .
50
Примечание
В книге [1] приводится способ решения сравнений на основе непрерывных
дробей – одного из понятий теории чисел, связанного с алгоритмом Евклида.
Данный материал преследует, прежде всего, прикладные цели, и по этой
причине здесь приведен авторский проверенный временем алгоритм вместо
достаточно громоздкого и сложного для понимания и реализации способа на
основе непрерывных дробей, хотя по своей сути он полностью соответствует
упомянутому способу из [1].
2.1.4.2. Системы сравнений первой степени
Рассмотрим простейшую систему сравнений
 x  b1 (mod m1 )
 x  b (mod m )

2
2



 x  bk (mod mk )
(2.17)
с одним неизвестным, но с разными и попарно простыми модулями
( (mi , m j )  1 ).
Решение (2.17) основано на применении следующей теоремы.
Теорема 2.21
Пусть числа M s и M s* определены из условий
M  m1m2 ...mk  M s ms ,
где M s M s*  1 (mod ms ) при s  1, 2,..., k .
Введем параметр
x0  M 1M 1*b1  M 2 M 2*b2  ...  M k M k*bk .
Тогда совокупность значений
определяется сравнением
x  x0 (mod M ) .
x,
удовлетворяющих
системе
(2.17),
(2.18)
51
Доказательство
Поскольку все M i  M s делятся на ms , то для каждого s  1, 2,..., k имеем
x0  M s M s*bs  bs (mod ms ) ,
а следовательно, система (2.17) эквивалентна системе
 x  x0 (mod m1 )
 x  x (mod m )

0
2



 x  x0 (mod mk ),
(2.19)
т.е., системам (2.17) и (2.18) удовлетворяют одни и те же значения x .
В соответствии со свойством 4 в разделе 2.1.3.3 (2.18) приводится к системе
(2.19). Другими словами, (2.18) является объединением системы (2.19), ч.т.д.
Пример
Пусть задана следующая система сравнений:
 x  b1 (mod 4)

 x  b2 (mod 5)
 x  b (mod 7),
3

для которой M  4  5  7  4M 1  5M 2  7 M 3 и M 1  35, M 2  28, M 3  20 .
Найдем теперь для каждого M s соответствующее ему значение M s* , решая
сравнения ax  b (mod m) при a  M s , x  M s* , b  1, m  ms для каждого s  1, 2, 3
способом, описанным в предыдущем разделе. Результатами их решения
являются M 1*  3, M 2*  2, M 3*  6 . Отсюда
x0  35  3  b1  28  2  b2  20  6  b3  105b1  56b2  120b3
и (2.18) выглядит следующим образом:
x  x0 (mod 140) .
Подставляя конкретные значения b1 , b2 , b3 , получим x0 и искомое решение.
2.1.4.3. Сравнения второй степени
Сравнения второй степени представляют прикладной интерес, поскольку на
52
их решениях основаны так называемые квадратично-вычетные коды.
Ограничимся в этом разделе рассмотрением двучленных сравнений вида
x 2  a (mod m), (a, m)  1 .
(2.20)
Определения
Если сравнение (2.20) имеет решения, то a называется квадратичным
вычетом по модулю m . В противном случае a называется квадратичным
невычетом по модулю m .
Начнем с варианта простого модуля m  p , т.е., рассмотрим сравнение вида
x 2  a (mod p ), (a, p )  1 .
(2.21)
Теорема 2.22
Если a - квадратичный вычет по модулю p , то (2.21) имеет два решения.
Доказательство
По определению, имеем, по крайней мере, одно решение ( x1  0 ):
x  x1 (mod p) .
Поскольку ( x1 ) 2  x12 , то сравнение (2.21) имеет и второе решение
x   x1 (mod p ) .
Покажем, что оно отлично от первого. Если предположить обратное, то
должно было бы выполняться сравнение
x1   x1 (mod p ) или 2 x1  0 (mod p ) ,
а это невозможно, так как (2, p)  ( x1 , p)  1 .
Поскольку сравнения, как и уравнения степени n , не могут иметь более n
решений, то найденные решения исчерпывают все возможные решения (2.21),
ч.т.д.
53
Теорема 2.23
Приведенная система вычетов по простому модулю p состоит из
квадратичных вычетов, сравнимых с числами
 p 1
1 , 2 ,..., 

 2 
2
p 1
2
2
2
(2.22)
и такого же количества квадратичных невычетов.
Доказательство
Из всех вычетов приведенной системы по модулю p квадратичными
являются только те, которые сравнимы с квадратами следующих чисел (в
абсолютно минимальной форме):

p 1
p 1
,...,  2,  1,1, 2,...,
,
2
2
т.е., с числами (2.22). При этом числа (2.22) несравнимы по модулю p . В
противном случае должно было выполняться сравнение
k 2  l 2 (mod p ), 0  k  l 
p 1
,
2
а это невозможно, поскольку оно справедливо для четырех чисел
x  l , k , k , l вместо двух решений, положенных в соответствии с теоремой
2.22, ч.т.д.
Определения
a
Символом Лежандра   (читается: символ a по p ) определяется для всех
 p
a , взаимно простых с p . При этом a называется числителем, а p знаменателем символа. Задается он следующим образом:
a
 p   1 , если a - квадратичный вычет по модулю p ;
 
a
 p   1 , если a - квадратичный невычет по модулю p .
 
54
a
Вычислить символ   и, таким образом, определить, является ли a
 p
квадратичным вычетом, позволяет следующая теорема.
Теорема 2.24 (критерий Эйлера)
При (a, p)  1 справедливо
a
p 1
2
a
   (mod p )
 p
Доказательство
Действительно, по теореме Ферма (следствие теоремы 2.20) из (2.15) следует
(a
p 1
2
 1)(a
p 1
2
 1)  0 (mod p ) .
Из двух сомножителей в левой части сравнения делится на p только один,
поскольку в противном случае на p должна делиться их разность (2). Поэтому
справедливо только одно из сравнений
a
a
p 1
2
p 1
2
 1 (mod p ) ,
(2.23)
 1 (mod p ) .
(2.24)
Квадратичный вычет a
удовлетворяет при некотором x сравнению
p 1
a  x 2 (mod p ) , из которого возведением в степень
обеих его частей
2
приходим к сравнению (2.23). При этом всеми квадратичными вычетами и
p 1
исчерпываются все решения (2.23), поскольку (2.23) не может иметь более
2
решений. Поэтому квадратичные невычеты должны удовлетворять сравнению
(2.24), ч.т.д.
Определить, является ли a квадратичным вычетом, пользуясь выводами
предыдущей теоремы, при решении прикладных задач (т.е., при больших
значениях p ) затруднительно, поэтому представляет интерес получение более
55
эффективных в вычислительном смысле способов.
Эффективный способ вычисления символа Лежандра
Такой способ существует и основан на свойствах приведенной системы
вычетов, выражаемых в форме абсолютно наименьших вычетов (см. раздел
2.1.3.4).
Напомним их основные свойства, на которых базируется вывод искомой
формулы.
Если x пробегает приведенную систему вычетов по модулю m , то при
(a, m)  1 ax также пробегает приведенную систему вычетов по модулю m .
Найдем все эти вычеты в форме абсолютно наименьших вычетов для
простого m  p :
ai   i ri , 0  i  p  1 ,
(2.25)
где ri представляет значение вычета по абсолютной величине, а  i - знак,
соответствующий
представлению
данного
вычета
в
форме
абсолютно
наименьших вычетов. Выясним, для каких пар i, j , i  j в (2.25) решается
система сравнений
 ai  r (mod p )

aj   r (mod p ).
(2.26)
Суммируя почленно эти два сравнения, получим
a (i  j )  0 (mod p) .
Поскольку (a, p )  1 и a  0 , решением данного сравнения является
i  j  0 (mod p ) . Поскольку, i, j не превышают модуля, то при заданном
положительном i , соответствующее ему j  p  i . Иными словами, если разбить
множество всех i на два подмножества (см. рис. 2.2):
p  1

 p 1 p 1

,
 1,..., p  1 , то отдельно в каждом
A1  1, 2,...,
 и A2  
2 
2
 2


подмножестве A1 и A2 решений системы сравнений (2.26) не существует.
56
Это дает основание, используя форму абсолютно наименьших вычетов,
рассматривать (2.25) только при 0  i 
p 1
и при этом гарантировать, что все
2
ri пробегают все положительные значения вычетов в форме абсолютно
наименьших вычетов. Выпишем теперь все эти сравнения:
a  1  1r1 (mod p ),
a  2   2 r2 (mod p ),
(2.27)
...
a  p1   p1 rp1 (mod p ),
где p1 
p 1
.
2
Еще раз отметим, что числа ri пробегают то же множество значений, что и
числа i , но в другом порядке. Можно избавиться и от учета порядка
расстановки чисел ri – для этого следует почленно перемножить все
приведенные сравнения и сократить левую и правую части полученного
результата на величину 1  2  ...  p1  r1r2 ...rp1 . В результате преобразований
получим новое сравнение
a
p 1
2
 1 2 ... p1 (mod p ) .
Теперь осталось определить зависимость  i от a . При xi  ai  p такая
зависимость достаточно очевидна (см. рис. 2.2) на основании определения
абсолютно наименьших вычетов (см. 2.1.3.4):
p 1

  i  1, 0  xi  2 ;
   1, ui  0, vi  0;
или  i

 i  1, ui  1, vi  0,
  1, p  x  p  1
i
i

2
 2x 
где ui   i  - целая часть от деления
 p 
xi на
 2x 
p
, а vi   i  2
 p 
57
соответствующий остаток (см. Рис. 2.2). Эти значения
xi , очевидно,
принадлежат подмножеству A1 при ui  0 и подмножеству A2 при ui  1 .
Рассмотрим теперь множество чисел xi  kp , обладающих одинаковыми
значениями  i и ri в соответствии с (2.27), и вычислим для них значения ui , k :
 2( x  kp )  
 2 xi   2 xi  
ui , k   i

2
k


       2k  vi  ui   2k  ui .
 
p

 
 p   p 
Это значение и используется для определения принадлежности чисел xi  kp
подмножеству A1 или A2 . Очевидно, что при всех четных ui , k числа xi  kp  A1
и  i  1 , а при нечетных ui , k - xi  kp  A2 и  i  1 .
Окончательно искомое выражение для символа Лежандра имеет вид
p1
 2 ai 
p 
 
a
i 1
(
1)


 p
 
где p1 
,
(2.28)
p 1
, а квадратные скобки, как всегда, означают взятие целого
2
числа от деления.
Полезным, по крайней мере, теоретически и, возможно, в вычислительном
аспекте обобщением символа Лежандра является символ Якоби.
Определения
a
Символ Якоби   определяется для составного нечетного P  p1 p2 ... pr и
P
всех a , взаимно простых с P . Все сомножители p1 , p2 ,..., pr являются
простыми и, возможно, равными числами. Задается он следующим образом:
a
 a   a  a   a 
      ...  , где   - символ Лежандра.
 P   p1  p2   pr 
 pi 
Символ Якоби обладает рядом интересных свойств, приводимых здесь без
доказательства.
58
 a  a 
1. Если a  a1 (mod P) , то     1  .
P  P
1
2.    1 .
P
 1 
3.    (1)
P
P 1
2
.
 ab 2   a 
 ab...l   a  b   l 
4. 

...
и,
как
следствие

   .
     
P
P
P
P
P

     

 P
2
P 1
2
5.    (1) 8 .
P
6. Если P, Q - положительные нечетные и взаимно простые числа, то
 P 1  Q 1 


2  2 

Q

(
1)


 
P
 
P
 Q .
 
Поскольку символ Лежандра является частным случаем символ Якоби, то
свойства последнего могут быть использованы для вычисления символа
Лежандра. Доказательства свойств символа Якоби приведены в [1, с. 71-74].
Решения сравнений второй степени для случая составного модуля
базируются на общих правилах, сформулированных в разделе 2.1.4.3 (теорема
2.21). Дополнительно к ним приведем правила, определяющие разрешимость и
количество решений сравнений данного класса.
1. Для сравнений общего вида
x 2  a (mod m); m  2 p11 p11 ... p11 ; (a, m)  1
необходимыми условиями разрешимости являются
a  1 (mod 4),   2;

 a  1 (mod 8),   3,
а также
59
 a 
a
 a 
1,
1,
...,


   1.
 
 
p
p
 1
 2
 pk 
2. Если ни одно из условий 1 не нарушено, то количество решений равно:
 2k ,   0,   1;
 k 1
  2;
2 ,
k
2

2 ,
  3.

2.1.5. Первообразные корни и индексы
Определения
 с условием
a  1 (mod m) . В частности,    (m) в соответствии с теоремой Эйлера
(теорема 2.20). Наименьшее из  называется показателем, которому a
принадлежит по модулю m .
При
( a, m)  1
существуют
целые
положительные

Теорема 2.25
Если a по модулю m принадлежит показателю  , то числа
1  a 0 , a1 , ..., a 1
несравнимы по модулю m .
Доказательство
Действительно, из a i  a j (mod m), 0  j  i   следовало бы a i  j  1 (mod m) ,
что противоречит определению  .
Теорема 2.26
*
Если a по модулю m принадлежит показателю  , то a  a (mod m) тогда
и только тогда, когда    * (mod  ) . В частности, при  *  0 a  1 (mod m)
тогда и только тогда, когда  делится на  .
60
Доказательство
Пусть r , r * наименьшие неотрицательные вычеты  и  * по модулю m
соответственно, т.е.    q  r ,  *   q*  r * . Отсюда получим
a  (a ) q a r  a r (mod m),
*
*
*
*
a  (a ) q a r  a r (mod m).
*
Видно, что a  a (mod m) возможно только при r  r * , т.е. только при
   * (mod  ) , ч.т.д.
Теорема 2.27
Если a по модулю m принадлежит показателю  , то  является делителем
 ( m) .
Доказательство
По определению показателя имеем a  1 (mod m) , а по теореме Эйлера a ( m )  1 (mod m) , откуда следует, что  делит    (m) , ч.т.д.
Определения.
Из теоремы 2.27 следует, что показатели, которым любые числа принадлежат
по модулю m , являются делителями  (m) , а наибольшим из них является сама
 (m) . Числа, принадлежащие показателю  (m) (если они существуют),
называются первообразными корнями по модулю m .
2.1.5.1. Первообразные корни по модулям p и 2 p
Цель этого раздела - доказательство существования первообразных корней
по модулям p и 2 p , где p - простое число и   1 .
Теорема 2.28
Если x по модулю m принадлежит показателю ab , то x a принадлежит
показателю b .
61
Доказательство
Действительно,
пусть
xa
принадлежит показателю
 . Тогда
a 
a
( x )  x  1 (mod m) . Следовательно, a делится на ab или  делится на b . С
другой стороны, x ab  ( x a )b  1 (mod m) , следовательно, b делится на  , откуда
b   . Это и доказывает теорему.
Теорема 2.29
Если x по модулю m принадлежит показателю a , а y - показателю b ,
взаимно простому с a ( (a, b)  1 ), то xy принадлежит показателю ab .
Теорема 2.30
Первообразные корни по модулю p существуют.
Доказательство
Пусть 1 ,  2 ,...,  r -
(2.29)
все различные показатели, которым по модулю p принадлежат числа
1, 2,..., ( p  1) .
(2.30)
Пусть  - НОК этих показателей и   q11 q2 2 ...qk k - его каноническое
разложение. Каждый сомножитель qii делит, по крайней мере, одно число  j из
ряда (2.29), которое, следовательно, может быть представлено в виде  j  ai qii .
Пусть x j - одно из чисел ряда (2.30), принадлежащее показателю  j . Согласно
теореме 2.28 число
x aji
принадлежит показателю
qii , а произведение
g  x1a1 x2a2 ...xkak , согласно теореме 2.29, - показателю   q11 q2 2 ...qk k . Но  обязан
быть делителем  ( p )  p  1 (см. теорему 2.27).
С другой стороны, поскольку числа ряда (2.29) делят  , числа ряда (2.30)
являются всеми решениями сравнения x  1 (mod p ) , а раз так, то степень
сравнения не может меньше ( p  1) . Следовательно,   p  1, а
g  x1a x2a ...xka первообразный корень, ч.т.д.
(2.31)
62
Примечание
Отметим, что последняя теорема не только доказывает существование
первообразного корня по простому модулю, но и указывает способ, по крайней
мере формальный, его получения. Разумеется, для практического использования
g  x1a1 x2a2 ...xkak его следует взять по модулю p .
Теорема 2.31
Пусть g - первообразный корень по модулю p . Можно найти t с условием,
что u , определяемое равенством ( g  pt ) p 1  1  pu , не делится на
p.
Соответствующее число g  pt будет первообразным корнем по модулю p
при любом   1 .
Доказательство
Раскроем ( g  pt ) p 1 по формуле бинома Ньютона
p 1
( g  pt ) p 1   C pk 1 g p 1k ( pt ) k .
k 0
Представим явным образом только два первых члена. Остальные члены,
кратные p 2 , учтем в виде одного общего члена Tp 2
( g  pt ) p 1  g p 1  ( p  1) g p 2 pt  Tp 2 
g p 1  p ( p (T  g p 2t )  g p 2t ).
Учитывая, что по определению первообразного корня по модулю
p
величина g p 1  1  pT0 , получим
( g  pt ) p 1  1  pu ,
(2.32)
где u  p (T  g p 2t )  g p 2t  T0 .
В этом уравнении u одновременно t пробегает полную систему вычетов по
модулю p , поэтому можно подобрать t такое, что u не делится на p .
Уравнение (2.32) является стартовым для получения аналогичных уравнений,
отличающихся друг от друга степенью. Методика вывода остается той же.
63


( g  pt ) p ( p 1)  (1  pu ) p  1  p 2u2 , 

2
( g  pt ) p ( p 1)  (1  p 2u2 ) p  1  p 3u3 , 

...,

( g  pt ) p 1  1  pu ,
(2.33)
где u2 , u3 ,... не делятся на p .
Пусть g  pt по модулю p принадлежит показателю  . Тогда справедливо
( g  pt )  1 (mod p ) .
(2.34)
Отсюда также следует ( g  pt )  1 (mod p) , а следовательно,  кратно p  1 .
Но поскольку  делит  ( p )  p 1 ( p  1) , то   p r 1 ( p  1) , где r - одно из
чисел ряда 1, 2,...,  . Заменяя левую часть сравнения (2.34) ее выражением из
соответствующего равенства (2.33), получим
1  p r ur  1 (mod p ), p r  0 (mod p ), r   ,    ( p ) ,
откуда следует, что g  pt - первообразный корень по модулю p , ч.т.д.
Теорема 2.32
Пусть   1 и g1 - первообразный корень по модулю p . Тогда нечетное из
чисел g1 , g1  p будет первообразным корнем по модулю 2 p .
2.1.5.2. Индексы по модулям p и 2 p
Теорема 2.33
Пусть p - простое нечетное число,   1 ; m - одно из чисел p , 2 p ;
c   (m) и g - первообразный корень по модулю m . Если  пробегает
наименьшие отрицательные вычеты по модулю c   (m) , то g  пробегает
приведенную систему вычетов по модулю m .
Доказательство
Действительно, g  пробегает c   (m) чисел, взаимно простых с m и по
теореме 2.25 несравнимых по модулю, ч.т.д.
64
Определения.
Если a  g  (mod m),   0 , то  называется индексом числа a по модулю m
при основании g и обозначается символом   ind g a , или просто   ind a . По
теореме 2.33 всякое a , (a, m)  1 имеет некоторый единственный индекс.
Понятие индекса аналогично понятию о логарифме; при этом первообразный
корень g играет роль «основания логарифма».
Теорема 2.34
По аналогии с логарифмами имеем («целочисленное логарифмирование»)
ind a1a2 ...an  ind a1  ind a2  ...  ind an , в частности, ind a n  nind a .
Следствие 1
Пусть p - простое нечетное число,   1 ; m - одно из чисел p , 2 p ;
c   (m) и (n, c)  d . Тогда справедливы выводы:
1. Сравнение x n  a (mod m); (a, m)  1
(2.35)
разрешимо и тем самым имеет вычет степени n по модулю m тогда и только
тогда, когда ind a кратен n . В случае разрешимости сравнение имеет d
решений.
2. В приведенной системе вычетов по модулю m количество вычетов
c
степени n есть .
d
3. Число a является вычетом степени n по модулю m , тогда и только тогда,
когда
c
d
a  1 (mod m) .
Доказательство
Действительно, сравнение (2.35) эквивалентно сравнению
n  ind x  ind a (mod c) ,
(2.36)
которое разрешимо тогда и только тогда, когда ind a кратен d (по причине
(n, c)  d ). В случае разрешимости (2.35) дает d несравнимых по модулю c
65
значений ind x , а им соответствуют d несравнимых по модулю m значений x ,
что доказывает утверждение п. 1.
Среди чисел 1, 2,..., (c  1) , представляющих наименьшие индексы вычетов
c
приведенной системы по модулю m , имеется , кратных d . Поэтому верно
d
утверждение п. 2.
Условие ind a  0 (mod d ) равносильно условию
c
ind a  0 (mod c) , что
d
доказывает утверждение п. 3.
Следствие 2
1. Показатель  , которому a принадлежит по модулю m , определяется
c
равенством (ind a, c)  . В частности, принадлежность a к числу

первообразных корней по модулю m определяется равенством (ind a, c)  1 .
2. В приведенной системе вычетов по модулю m количество чисел,
принадлежащих показателю  , равно  (c) .
Доказательство.
Действительно,  - наименьший делитель c с условием a  1 (mod m) ,
которое равносильно условию
  ind a  0 (mod c) , или
c
ind a  0 (mod ) .

Отсюда следует, что  - наименьший делитель c , при котором
ind a , а значит  - наибольший делитель c , делящий ind a , т.е.
c

c

делит
 (ind a, c) ,
что доказывает утверждение п. 1.
Среди чисел 1, 2,..., (c  1) , представляющих наименьшие индексы вычетов
c
c
являются числа вида y , где
приведенной системы по модулю m , кратными


66
c
c
эквивалентно условию ( y,  )  1, а ему
y  0,1,...,   1 . Условие ( , c) 


удовлетворяет  ( ) значений y . Поэтому верно утверждение п. 2.
Общие выводы о существовании первообразных корней.
Все случаи существования первообразных корней по модулю
исчерпываются вариантами
m 1
m  2, 4, p , 2 p .
Последние
два
варианта
являлись
предметами
теорем
2.31,
2.32.
Доказательства существования первообразных корней при m  2, 4 опущены
ввиду их малой практической ценности.
Примечания
1. Первообразные корни и индексы занимают, скорее всего, одно из
центральных мест в теории чисел и алгебре, являясь «инструментом» анализа и
синтеза числовых и, как показано в дальнейшем, абстрактных структур,
обладающих полезными и (или) заданными свойствами. Как первообразные
корни, так и индексы играют существенную роль в теории и практике
кодирования, и не в последнюю очередь ввиду широкого применения
кодирования в таких массовых информационных системах, как мобильные
системы связи. Здесь требуются компактные, высокоэффективные кодеки,
решающие
конкретную
потребительскую
задачу
информационного
взаимодействия. Именно в таких задачах кодирования знание и, главное,
практическое использование «тонкостей» теоретико-числовой структуры может
привести и приводит к значительному технико-экономическому эффекту.
2. К сожалению, теория чисел довольно скудна на результаты, которые могут
быть непосредственно использованы в теории и практике кодирования. Каждый
полезный результат такого свойства дается здесь огромными усилиями
«теоретиков» и «прикладников». Важно отметить огромную роль специалистовприкладников, владеющих столь сложным математическим аппаратом и
одновременно пониманием сути практических задач на пути его практического
применения и развития (для целей перспективного применения) ряда
востребованных теоретических разделов.
3. К счастью, современным специалистам доступна компьютерная техника и
программирование
для
решения
практических
задач
кодирования
алгоритмическими средствами. На этом пути важно среди многочисленных
67
теорем и выводов выбрать те, которые необязательно красиво выглядят в виде
конечных выражений или формул, но которые эффективны в алгоритмической
реализации. А для этого надо владеть и математическим аппаратом, и
способностью к теоретическому анализу.
68
2.2. Элементы теории множеств
2.2.1. Основные понятия и определения [3, с. 29-37]
Группа
Группой G называется множество элементов, для которых определена
некоторая операция (сложение - для аддитивной группы или умножение - для
мультипликативной группы) и выполняются следующие четыре аксиомы.
G1. Замкнутость
В результате применения операции к любым двум элементам группы
получается ее третий элемент. Иначе говоря, если элементы a, b
принадлежат G ( a, b  G ), то c  a  b  G по операции сложения или
c  ab  G по операции умножения.
G2. Ассоциативность
Для a, b, c  G справедливо (a  b)  c  a  (b  c) по операции сложения
или (ab)c  a (bc) по операции умножения.
G3. Единичный элемент.
В G существует единичный элемент. Единичным элементом для
операции сложения называется нуль ( 0 ) с условием a  0  0  a  a , а для
операции умножения - единица (1 ) с условием a1  1a  a при a  G .
G4. Обратный элемент
В G существует обратный элемент. Элементом, обратным к a  G ,
называется элемент
для операции сложения с условием
a
a  (a)  (a )  a  0 и элемент a 1 - для операции умножения с условием
aa 1  a 1a  1 при a  G . В приложениях алгебры часто используются
группы, обладающие дополнительным свойством.
G5. Коммутативность
Для a, b  G справедливо a  b  b  a по операции сложения и ab  ba по операции умножения. Такие группы называются коммутативными, или
абелевыми.
Отметим,
что
введенные
69
операции
не
обязательно
являются
арифметическими операциями сложения и умножения.
Кольцо
Кольцом R называется множество элементов, на котором определены
сразу две операции (сложение и умножение) и выполняются следующие
аксиомы.
R1. Множество R является аддитивной абелевой группой
R2. Замкнутость
Совпадает с G1 по операции умножения.
R3. Ассоциативность
Совпадает с G2 по операции умножения.
R4. Дистрибутивность
Для
a , b, c  R
a (b  c)  ab  ac .
справедливы
равенства:
a (b  c)  ab  ac
и
Кольцо называется коммутативным, если коммутативна операция
умножения. Пример коммутативных колец относительно операций
арифметического сложения и умножения - множество действительных чисел,
множество положительных и отрицательных целых чисел и нуль, множество
многочленов с целыми коэффициентами при одной формальной переменной
x.
Поле
Полем называется коммутативное кольцо с единичным элементом по
операции умножения (единичным мультипликативным элементом кольца).
Иначе говоря, элементы поля образуют мультипликативную группу.
Примерами полей являются:
 множество всех действительных чисел;
 множество всех рациональных чисел;
 множество всех комплексных чисел.
Применительно к кодовым последовательностям интерес представляют
конечные поля, или поля Галуа, содержащие конечное число элементов. В
70
алгебре доказывается, что поле Галуа GF ( p ) с числом элементов p можно
получить из совокупности целых чисел по модулю простого числа p .
Простым называется число, не имеющее делителей, кроме самого себя и
1.
Подгруппа
Подмножество H элементов группы G называется подгруппой, если при
a, b  H справедливо a  b  H (или ab  H ) и для каждого a  H
существует обратный элемент:  a (или a 1 ).
Очевидно, что единичный элемент принадлежит группе. Например, в
группе всех целых чисел подмножество чисел, кратное заданному числу m ,
является подгруппой для любого m . Это свойство часто используется в
алгебре для разложения элементов группы на смежные классы.
Пусть элементы
h1  1, h2 , ..., hn  H .
Запишем эти элементы в качестве первой строки таблицы. Возьмем теперь
произвольный элемент g1  G, ( g1  H ) и запишем вторую строку таблицы в
виде
g1h1  g1 , g1h2 , ..., g1hn .
Следующие строки таблицы сформируем аналогичным образом, пока не
исчерпаем всех элементов G . Полученная таблица
h1  1,
h2 ,..., hn
g1h1  g1 , g1h2 ,..., g1hn
g 2 h1  g 2 , g 2 h2 ,..., g 2 hn

g m h1  g m , g m h2 ,..., g m hn
и является разложением на смежные классы в виде ее строк, причем левый
элемент каждой строки (обычно минимальный) называется лидером
(образующим) смежного класса. Полнота такого разложения доказывается
самой процедурой разложения или построения строк таблицы: процесс
построения завершается исчерпанием элементов G .
71
Примечание
Совсем необязательно, что смежные классы будут содержать одинаковое
количество элементов. Конкретный характер разложения полностью
определяется детальной структурой конкретного поля Галуа, что показано
ниже.
Поскольку разложение группы на смежные классы имеет очень важное
значение для анализа детальных свойств полей Галуа, полезно рассмотреть
несколько ключевых теорем.
Теорема 2.35
Два элемента g , g *  G являются членами одного и того же смежного
класса по подгруппе H в группе G тогда и только тогда, когда произведение
g 1 g *  H .
Доказательство
Пусть g , g * являются членами одного и того же смежного класса. Тогда
g  gi h j и g *  gi hk , где gi - образующий элемент общего для g , g * смежного
класса,
а
h j , hk  H .
При
этом
g 1 g *  gi gi1h j 1hk  h j 1hk  H .
Теперь
рассмотрим обратную гипотезу – пусть теперь известно, что g 1 g *  H . Тогда
g  gi h j и g 1 g *  h*  H или g *  gh*  gi h j h*  gi hl , что доказывает
принадлежность g , g * единому смежному классу. Ч.т.д.
Иными словами, результат деления двух элементов одного и того же
смежного класса лежит в подгруппе H .
Теорема 2.36
Каждый элемент группы G принадлежит одному и только одному
смежному классу по подгруппе H (уникальность вхождения).
Доказательство
Неуникальность вхождения элемента может проявляться двумя путями:
один и тот же элемент содержится либо в одном смежном классе, либо в
различных смежных классах. Рассмотрим сначала первую ситуацию, т.е.
gi h j  gi hk , что приводит к h j  hk , что означает просто равенство этих двух
элементов. Теперь рассмотрим второй вариант: вхождение элемента в
различные смежные классы, т.е. gi h j  g k hl , i  k . Умножая равенство на h j 1 ,
72
получим gi  g k hl h j 1  g k hm . Это означает, что образующий элемент gi вошел
в другой смежный класс с образующим элементом g k , что противоречит
условиям разложения на смежные классы: образующий элемент каждого
нового смежного класса должен выбираться из элементов, не входящих в уже
созданные классы (строки). Ч.т.д.
Определения
Число элементов группы называется порядком группы. Число различных
смежных классов в разложении группы G по подгруппе H называется
индексом H в G . Подгруппа H называется нормальной (или нормальным
делителем), если для h  H и g  G справедливо g 1hg  H . Для абелевой
(коммутативной) группы это достаточно очевидное заключение. В общем
случае кажущееся очевидным заключение, что порядок группы G равен
произведению индекса H в G на порядок подгруппы H , оказывается
неверным (см. ниже пример 1). Этот (неверный) вывод основан на
предположении, что все смежные классы имеют одинаковое количество
элементов, равное порядку подгруппы H . В общем случае это не так, что
собственно и представляет интерес для кодирования, основанного на
использовании тонкостей алгебраических структур. По этой причине следует
отдельно рассматривать также и порядок каждого смежного класса.
Дальнейшее изучение детальной структуры полей Галуа покажет, что
порядок смежного класса всегда является делителем порядка подгруппы H .
В связи с этим точным оказывается следующее заключение: (сумма порядков
смежных классов + порядок H ) = (порядок G ).
Если H – нормальная подгруппа в G (для абелевых групп это так), то
можно ввести такую операцию над смежными классами, результатом
которой окажется новая группа с теми же самыми смежными классами. Эта
группа называется факторгруппой и обозначается G / H . Факторгруппы
позволяют рассмотреть операции над смежными классами.
Обозначим через {g} смежный класс, содержащий элемент g , и введем
операцию перемножения смежных классов
{g1}{g 2 }  {g1 g 2 } .
Рассмотрение такого преобразования имеет смысл только в том случае,
если
удастся
установить
инвариантность
(т.е.
независимость)
результирующего смежного класса к выбору представителей каждого из
перемножаемых
смежных
классов.
справедливость следующего вывода:
Математически
следует
показать
73
если g1 , g1* {g1} и g 2 , g 2* {g 2 } , то g1 g 2 , g1* g 2* {g3} , {g3} - новый
смежный класс. Согласно теореме 2.35, для этого необходимо доказать, что
( g1 g 2 ) 1 ( g1* g 2* )  H .
(2.37)
Следуя той же теореме, справедливо g11 g1*  h1  H , g 21 g 2*  h2  H ,
откуда, раскрывая левую часть (2.37), получим
g11 g1* g 21 g 2*  h1h2  H , Ч.т.д.
Таким образом, предположение g1 g 2 , g1* g 2* {g3} доказано, и умножение
смежных классов имеет смысл.
Проверим теперь, что факторгруппа G / H
действительно является
группой. Операция над смежными классами; очевидно, определена для всех
пар смежных классов, и поэтому аксиома G1 (Замкнутость) удовлетворяется.
Проверим теперь справедливость ассоциативного закона
{g1}({g 2 }{g3})  {g1}{g 2 g3}  {g1 g 2 g3} 
 {g1 g 2 }{g3}  ({g1}{g 2 }){g3}.
Единичным элементом является сама подгруппа H  {1} , поскольку
{1}{g}  {1g}  {g} . Обратным к смежному классу {g} является смежный
класс,
содержащий
g 1 ,
так
как
{g}{g 1}  {gg 1}  {1}
и
{g 1}{g}  {g 1 g}  {1} . Легко установить, что для абелевой группы G
факторгруппа также является абелевой.
Пример 1
Разложение на смежные классы элементов поля целых чисел по модулю
N  2n  1 по мультипликативной подгруппе H
20  1, 21 , ..., 2n1 .
Пусть n  4 , N  15 .
74
H
1
2
4
8
K1
3
6
12
9
K2
5
10
K3
7
14
13
11
Отметим, что все операции умножения выполняются по модулю целого
N  15 . Несмотря на свою простоту, этот пример интересен тем, что
демонстрирует определенные особенности данного числового поля Галуа
(точнее, его групповую мультипликативную структуру). Видно, что смежный
класс K 2 имеет порядок, равный 2, а не 4. Как показано в дальнейшем, это
является следствием существования в этом поле Галуа подполя меньшего
порядка.
Пример 2
Рассмотрим аддитивную группу G , состоящую из положительных и
отрицательных целых чисел и нуля, и подгруппу H , состоящую из чисел,
кратных целому n . Все числа от нуля до n  1 принадлежат различным
смежным классам, поскольку в противном случае элемент ( a )  b
принадлежал бы подгруппе и был кратен n . Эти числа могут быть выбраны
образующими смежных классов, более того, других смежных классов не
существует. Поскольку группа G абелева, то может быть определена
операция сложения смежных классов и смежные классы образуют группу.
Например, пусть n  3 . Тогда смежные классы оказываются строками
таблицы:
0
3
-3
6
-6
9
-9
…
1
4
-2
7
-5
10
-8
…
2
5
-1
8
-4
11
-7
…
Если их обозначить как {0}, {1}, {2} соответственно, то таблица сложения
смежных классов имеет вид
+
{0}
{1}
{2}
{0}
{0}
{1}
{2}
{1}
{1}
{2}
{0}
{2}
{2}
{0}
{1}
По форме она представляет собой сложение по модулю 3 для целых чисел.
75
Подполе
Свойства подполя аналогичны свойствам подгруппы, но расширяются на
две операции.
2.2.2. Векторные пространства и линейные алгебры [3,
с. 39-42; 4]
Определения
Множество V называется векторным пространством над полем F , если
для него выполняются следующие аксиомы:
V.1. Множество V является аддитивной абелевой группой.
V.2. Для любого вектора v V и любого элемента поля f  F определено
произведение vf , являющееся вектором (элементы поля называются
скалярами, а элементы V - векторами).
V.3 (дистрибутивный закон). Если u, v - векторы из множества V , а f  F
- скаляр, то f (u  v )  fu  fv .
V.4 (дистрибутивный закон). Если v - вектор, а c, d - скаляры, то
(c  d ) v  cv  dv .
V.5 (ассоциативный закон). Если v - вектор, а c, d - скаляры, то
(cd ) v  c(dv ) и 1  v  v .
Множество A называется линейной ассоциативной алгеброй над полем F ,
если выполняются следующие аксиомы:
А.1. Множество A является векторным пространством над F .
А.2. Для любых двух элементов u, v из A существует произведение uv ,
определяемое как некоторый элемент из A .
А.3. (ассоциативный закон). Для любых трех элементов u, v и w из A
справедливо равенство (uv )w  u( vw ) .
А.4 (билинейный закон). Если c, d - скаляры из F , а u, v и w - векторы
из A , то u(cv  dw )  cuv  duw и (cv  dw )u  cvu  dwu .
Набором длины n элементов поля называется упорядоченное множество
из n элементов поля, обозначаемое как (a1 , a2 , a3 , ..., an ) , где каждый из ai
является элементом поля. Сложение наборов длины n определяется
следующим образом:
76
(a1 , a2 , a3 , ..., an )  (b1 , b2 , b3 , ..., bn )  (a1  b1 , a2  b2 , a3  b3 , ..., an  bn ) .
Умножение наборов длины n на элемент поля c определяется правилом
c(a1 , a2 , a3 , ..., an )  (ca1 , ca2 , ca3 , ..., can ) .
Если определены эти две операции, то, как легко проверить, совокупность
всех наборов длины n над полем образует векторное пространство. Такие
векторные пространства занимают центральное место в теории кодирования.
Они и являются основным предметом дальнейшего рассмотрения оставшейся
части данного Раздела.
Умножение наборов длины n может быть определено как
(a1 , a2 , a3 , ..., an )(b1 , b2 , b3 , ..., bn )  (a1b1 , a2b2 , a3b3 , ..., anbn ) .
Введение этой операции превращает совокупность наборов в линейную
алгебру.
В
алгебраической
теории
кодирования
чаще
используется
отображение таких совокупностей наборов (векторного пространства) на
многочлены. Оно рассмотрено в следующем разделе. Единичный элемент
векторного пространства будет обозначаться символом 0  (0,0,...0) . Для
совокупности наборов очевидно, а в случае произвольного векторного
пространства легко проверить, что для любого вектора v и скаляра c
справедливы правила произведения 0v  0 и c0  0 соответственно. Кроме
того, ( v )  (1) v .
Определения
Подмножество векторного пространства называется подпространством,
если оно удовлетворяет аксиомам векторного пространства.
При этом необходимо проверить только замкнутость этого подмножества
относительно операций сложения и умножения на скаляр. Так как
( v)  (1) v , то замкнутость относительно умножения на скаляр показывает,
в частности, что элемент, обратный каждому из элементов подмножества,
принадлежит
подмножеству.
Поэтому
замкнутости
подмножества
относительно операции сложения достаточно для того, чтобы подмножество
было подгруппой; ассоциативный и дистрибутивный законы должны быть
справедливы в подпространстве, если они справедливы в исходном
77
векторном пространстве.
Определения
Линейной комбинацией k векторов v1 , v 2 ,..., v k называется сумма вида
u  a1v1  a2 v 2  ...  ak v k .
Здесь ai - скаляры, т.е. элементы поля.
Теорема 2.37
Совокупность всех линейных комбинаций некоторого набора векторов
v1 , v 2 ,..., v k из векторного пространства V является подпространством
пространства V .
Доказательство
Очевидно, что любая линейная комбинация векторов V является вектором
из V . Если совокупность всех линейных комбинаций векторов v1 , v 2 ,..., v k
обозначить через S и u  b1v1  b2 v 2  ...  bk v k , w  c1v1  c2 v 2  ...  ck v k любые два элемента из S , то элемент u  w также принадлежит S ,
поскольку
u  w  (b1  c1 ) v1  (b2  c2 ) v 2  ...  (bk  ck ) v k .
Кроме того, любое произведение w на скаляр a , т.е.
aw  ab1v1  ab2 v 2  ...  abk v k , также принадлежит S .
Поскольку множество S замкнуто относительно операции сложения и
умножения на скаляр, то оно является подпространством векторного
пространства V . Ч.т.д.
Определения
Совокупность векторов v1 , v 2 ,..., v k называется линейно зависимой тогда и
только тогда, когда существуют скаляры c1 , c2 ,..., ck , не все равные нулю,
такие, что
c1v1  c2 v 2  ...  ck v k  0 .
Совокупность векторов называется линейно независимой, если она не
является линейно зависимой. Некоторая совокупность порождает векторное
пространство, если каждый его элемент может быть представлен в виде
линейной комбинации векторов этого пространства.
78
Теорема 2.38
Если совокупность k векторов v1 , v 2 ,..., v k порождает векторное
пространство, которое содержит некоторую совокупность из m линейно
независимых векторов u1 , u 2 ,..., u m , то k  m .
Доказательство
Поскольку векторы v1 , v 2 ,..., v k порождают пространство, то вектор u1
может быть представлен как линейная комбинация векторов v1 , v 2 ,..., v k :
u1  c1v1  c2 v 2  ...  ck v k .
Разрешим это уравнение относительно какого-либо v j :
v j  u1 
k
 cv .
i 1,i  j
i
i
Теперь векторное пространство порождают вектора
v1 , v 2 ,..., v j 1 ,(u1 
k
 c v ), v
i 1, i  j
i
i
j 1
,..., v k ,
а следовательно, и u 2 может быть представлен в виде линейной
комбинации указанных векторов. Процесс дальнейшего замещения векторов
v j векторами ui должен завершиться исчерпанием либо v j (при k  m ), либо
ui (при k  m ), либо того и другого одновременно (при k  m ). Первый
вариант невозможен, поскольку по условию векторы v1 , v 2 , ..., v k порождают
векторное пространство, а значит k  m . Ч.т.д.
Из теоремы 2.38 вытекает следующая теорема.
Теорема 2.39
Если два множества линейно независимых векторов порождают одно и то
же пространство, то в каждом из них содержится одинаковое количество
векторов.
Определения
В любом пространстве количество линейно независимых векторов,
порождающих пространство, называется размерностью пространства.
Совокупность k линейно независимых векторов, порождающих k -мерное
пространство, называется базисом пространства.
Из теоремы 2.39 следует, что любая совокупность, содержащая более чем
79
k векторов из k -мерного векторного пространства, линейно зависима. Из
теоремы 2.38 следует, что не существует совокупности менее чем из k
векторов, порождающей k -мерное пространство.
Теорема 2.40
Если V есть k -мерное векторное пространство, то любая совокупность из
k линейно независимых векторов, принадлежащих V , является его базисом.
Доказательство
Пусть v1 , v 2 ,..., v k - совокупность линейно независимых векторов из V .
Если они не порождают пространство V , то должен существовать некоторый
элемент v из V , который нельзя представить в виде линейной комбинации
векторов v1 , v 2 ,..., v k . Поэтому совокупность k  1 векторов v , v1 , v 2 ,..., v k из
пространства V является линейно независимой. Это противоречит теореме
2.38, и поэтому векторы v1 , v 2 ,..., v k должны порождать пространство V .
Ч.т.д.
Теорема 2.41
Если векторное пространство V1 содержится в векторном пространстве V2
и оба пространства имеют одну и ту же размерность k , то эти пространства
совпадают.
Доказательство
Базис пространства V1 является совокупностью k линейно независимых
векторов в пространстве V2 . Следовательно, каждый вектор из V2
принадлежит также V1 . Ч.т.д.
Определения
Скалярным произведением двух последовательностей длины n называется
скаляр, определяемый как
(a1 , a2 , a3 , ..., an )(b1 , b2 , b3 , ..., bn )  a1b1  a2b2  a3b3  ...  anbn .
Легко показать, что uv  vu и w (u  v )  wu  wv . Если скалярное
произведение двух векторов равно нулю, то говорят, что эти векторы
ортогональны.
80
2.2.3. Основные сведения о матрицах
Определения
Матрицей размерности m  n называется упорядоченное множество из
m  n элементов, расположенных в виде прямоугольной таблицы,
содержащей m строк и n столбцов:
 a11 a12 
a
 21 a22 



 am1 am 2 
a1n 
a2 n 
  aij  .
   

amn 
Применительно к задачам кодирования нас будут интересовать матрицы с
элементами из полей. Строки матрицы можно рассматривать как m наборов
длины n или как m векторов размерности n ; аналогично n столбцов
матрицы могут также интерпретироваться как векторы размерностью m .
Совокупность элементов aii , у которых номера строк и столбцов одинаковы,
называется главной диагональю матрицы.
Пространством строк матрицы M размерности m  n называется
совокупность всех линейных комбинаций ее вектор-строк. Оно образует
подпространство векторного пространства наборов длины n . Размерность
пространства строк называется рангом по строкам. Аналогично
совокупность всех линейных комбинаций вектор-столбцов матрицы образует
пространство столбцов матрицы, размерность которого называется рангом
по столбцам.
Для любых матриц существует следующая совокупность элементарных
операций над строками:
1) перестановка любых двух строк;
2) умножение любой строки на ненулевой элемент поля;
3) прибавление результата операции 2) к другой строке матрицы.
Операция, обратная каждой из элементарных операций над строками,
является, очевидно, элементарной операцией того же вида.
Теорема 2.42
Если одна матрица получается из другой путем последовательного
выполнения элементарных операций над строками, то пространства строк
этих двух матриц совпадают.
Элементарные операции над строками могут быть использованы для
81
упрощения представления матрицы и приведения ее к стандартному виду.
Определения
Матрица имеет ступенчатую каноническую форму, если:
1) первый ненулевой элемент (необязательно в первой позиции) каждой
ненулевой строки равен 1;
2) каждый столбец, содержащий первый ненулевой элемент некоторой
строки, в качестве всех остальных элементов содержит нули;
3) первый ненулевой элемент каждой строки стоит справа от первого
ненулевого элемента каждой предыдущей строки. Все нулевые строки
расположены ниже всех ненулевых строк.
Процедура приведения матрицы к ступенчатой канонической форме по
существу эквивалентна решению системы линейных уравнений путем
последовательного исключения неизвестных.
Ненулевые строки матрицы в ступенчатой канонической форме линейно
независимы, и, таким образом, число ненулевых строк совпадает с
размерностью пространства строк. Можно показать, что каждому заданному
пространству строк соответствует только одна матрица в ступенчатой
канонической форме.
Определения
Если все строки квадратной матрицы размерности n  n линейно
независимы, то такая матрица называется невырожденной. После приведения
такой матрицы к ступенчатой канонической форме должно тем не менее
остаться n линейно независимых строк, и поэтому любая строка должна
содержать единицу. Это случается только тогда, когда в приведенной
матрице на главной диагонали стоят единицы, а вне ее - нули.
Матрица такого вида называется единичной и обозначается как 1 . Итак,
любая невырожденная матрица может быть преобразована в единичную
матрицу с помощью элементарных операций над строками.
Матрицей M T размерности n  m , транспонированной к матрице M
размерности m  n , называется матрица, строками которой являются столбцы
матрицы M а столбцами - строки матрицы M . Если M   aij  , то M T   a ji  .
Две матрицы одинаковой размерности можно складывать поэлементно:
82
 aij   bij    aij  bij  .
При этом определении матрицы образуют абелеву группу относительно
операции сложения.
Две
матрицы
A =  aij  ,
B = bij 
размерностями
mk
и
kn
соответственно могут быть перемножены. Если не обращать внимания на
расположение сомножителей, то математически правило получения каждого
элемента результирующей матрицы записывается одинаково для левого и
правого перемножения:
k
cij   ail blj .
l 1
Теорема 2.43
Если M - матрица размерности m  n , а S - невырожденная матрица
размерности m  m , то произведение матриц S и M имеет то же самое
пространство строк, что и матрица M .
Теорема 2.44
Совокупность всех наборов длины n , ортогональных подпространству V1
наборов длины n , образует подпространство V2 наборов длины n . Это
подпространство V2 называется нулевым пространством для V1 .
Теорема 2.45
Если вектор ортогонален каждому из векторов, порождающих
подпространство V1 , то этот вектор принадлежит нулевому пространству для
V1 .
Определения
Нулевое пространство для пространства строк матрицы называется
нулевым пространством матрицы.
Вектор
принадлежит
нулевому
пространству
матрицы,
если
он
ортогонален каждой строке матрицы. Если последовательность v длины n
рассматривать как матрицу размерности 1  n , то v принадлежит нулевому
пространству матрицы размерности m  n тогда и только тогда, когда
83
vM T  0 .
Теорема 2.46
Если размерность подпространства наборов длины n равна k , то
размерность нулевого пространства равна n  k .
Теорема 2.47
Если V2 - подпространство наборов длины n и V1 - нулевое пространство
для V2 , то V2 - нулевое пространство для V1 .
2.2.4. Алгебра многочленов [3, с. 166-194]
2.2.4.1. Идеалы, классы вычетов и кольцо классов вычетов
В теории групп важную роль играет понятие подгруппы, и в частности
нормального делителя. В теории колец соответствующую роль играет
понятие идеала.
Определения
Идеалом I называется подмножество элементов кольца R , обладающее
следующими двумя свойствами:
1) I является подгруппой аддитивной группы кольца R ;
2) для любого элемента a из I и любого элемента r из R произведения
ar , ra принадлежат I .
Например, в кольце из положительных и отрицательных целых чисел и
нуля множество всех чисел, кратных некоторому целому числу, образует
идеал.
Поскольку идеал является подгруппой, то по нему могут быть образованы
смежные классы. В этом случае смежные классы называются классами
вычетов.
Идеал образует первую строку разложения с нулевым элементом слева.
Как и при разложении на смежные классы, любой элемент кольца, не
принадлежащий идеалу, может быть выбран в качестве образующего первого
класса вычетов, а остальные элементы класса строятся прибавлением
образующего к каждому элементу идеала:
84
0  a1 ,
a2 ,

a3 ,
r1  r1  a1 , r1  a2 , r1  a3 , 
r2  r2  a1 , r2  a2 , r2  a3 , 




Первыми элементами в каждой строке являются, как и прежде, элементы,
не использованные в предыдущих строках.
Конечно, все свойства смежных классов верны также для классов
вычетов.
В
частности,
поскольку
групповая
операция
сложения
коммутативна, идеал является нормальным делителем и сложение классов
вычетов может быть определено как
{r}  {s}  {r  s} ,
где {r} обозначает класс вычетов, содержащий r . При таком определении
классы
вычетов
образуют
аддитивную
группу
-
факторгруппу,
рассмотренную в разделе 2.2.1. Аналогично умножение классов вычетов
определяется следующим образом:
{r}{s}  {rs}
(2.38)
Это определение справедливо только в случае инвариантности (т.е.
независимости) результирующего классов вычетов к выбору представителей
каждого из перемножаемых классов вычетов (для смежных классов такая
инвариантность установлена в разделе 2.2.1).
Другими словами, если r , r * принадлежат одному и тому же классу
вычетов и если s, s* принадлежат одному и тому же классу вычетов, то
произведения rs, r *s* должны принадлежать одному и тому же классу
вычетов. Это условие будет выполняться тогда и только тогда, когда элемент
r *s*  rs принадлежит идеалу. Но
r *s*  rs  r *s*  (r *s  r *s )  rs  r * ( s*  s )  s (r *  r ) .
Поскольку элементы s*  s, r *  r принадлежат идеалу, то каждое из двух
слагаемых в правой части этого равенства также принадлежит идеалу и,
следовательно, идеалу принадлежит также элемент r *s*  rs . Таким образом,
85
(2.38) имеет смысл.
Легко
проверяются
также
справедливость
ассоциативного
и
дистрибутивного законов
{a}({b}{c})  {a}{bc}  {abc}  {ab}{c}  ({a}{b}){c};
{a}({b}  {c})  {a}{b  c}  {a(b  c)}  {ab}  {ac}  {a}{b}  {a}{c}.
Аналогично проверяется справедливость дистрибутивного закона для
умножения справа. Очевидно, умножение определено для любой пары
классов вычетов. Следовательно, справедлива следующая теорема.
Теорема 2.48
Классы вычетов по идеалу в некотором кольце образуют кольцо. Это
кольцо называется кольцом классов вычетов.
Пример
В кольце всех целых чисел рассмотрим идеал, образуемый всеми четными
целыми числами. Тогда будет два класса вычетов: {0}, {1} . Легко видеть, что
с арифметической точки зрения кольцо классов вычетов определяет
«арифметику по модулю 2».
2.2.4.2. Идеалы и классы вычетов целых чисел
Данный раздел содержит дополнительные сведения из теории чисел, в
целом представленной в разделе 2.1.
Теорема 2.49
Пусть r , s - целые числа, не равные одновременно нулю; x, y - целые,
возможно отрицательные числа и d  rx0  sy0 - наименьшее положительное
число вида rx  sy . Тогда d  (r , s ) , т.е. d - НОД чисел r , s .
Доказательство
Докажем сначала, что любое число вида rx  sy делится без остатка на
rx0  sy0 .
Действительно, выполняя деление, получим
86
rx  sy  (rx0  sy0 )i  r ( x  ix0 )  s ( y  iy0 ) 
(rx0  sy0 )i  (rx*  sy* ),
где rx*  sy*  rx0  sy0 . Но по условию теоремы rx0  sy0 является
наименьшим положительным числом вида rx  sy . Следовательно,
rx*  sy*  0 .
Любые общие делители чисел r , s , очевидно, являются делителями
rx0  sy0 . С другой стороны, rx0  sy0 является делителем любого числа вида
rx  sy , в частности r  1  s  0  r ; r  0  s  1  s . Отсюда и следует, что
d  (r , s ) , Ч.т.д.
Следствие
НОД d  (r , s ) любых целых чисел r , s всегда можно представить в виде
d  rx  sy .
(2.39)
Теорема 2.50
Совокупность целых чисел образует идеал тогда и только тогда, когда она
состоит из всех чисел, кратных некоторому целому числу.
Определения
Идеал, который состоит из всех элементов, кратных одному из элементов
кольца, называется главным идеалом, а кольцо, в котором каждый идеал
главный, называется кольцом главных идеалов. Согласно теореме 2.50 кольцо
всех целых чисел является кольцом главных идеалов. Идеал, который
состоит из всех чисел, кратных положительному целому числу m ,
обозначается через (m) . Кольцо классов вычетов, образованное классами
вычетов по идеалу (m) , называется кольцом целых чисел по модулю m .
Теорема 2.51
Каждый класс вычетов по модулю m содержит либо 0 , либо целое
положительное число, меньшее m . Нуль является элементом идеала {0} , а
все остальные целые положительные числа, меньшие m , принадлежат
различным классам вычетов.
Доказательство
Если s - любой элемент некоторого класса вычетов, то, поскольку
s  mq  r , то r принадлежит тому же самому классу вычетов и 0  r  m .
87
Если r , s принадлежат одному и тому же классу вычетов, то разность r  s
является элементом идеала и, следовательно, кратна m . Если r  s , то,
очевидно, эти числа не могут быть оба меньше чем m и неотрицательны.
Ч.т.д.
Из теоремы 2.51 следует, что перечень {0}, {1}, {2}, ..., {m  1} включает
каждый класс вычетов один и только один раз.
Теорема 2.52
Кольцо классов вычетов по модулю m является полем тогда и только
тогда, когда m - простое число.
Доказательство
Если m - число непростое, то, m  rs для некоторых целых чисел r , s ,
которые не кратны m . Поэтому {r}{s}  {m}  {0} , и если класс вычетов {r}
обладает обратным {r}1 , то {r}1{r}{s}  {s}  {r}1{m}  {0} , что
противоречит предположению. Поэтому класс вычетов {r} не может иметь
обратного и кольцо классов вычетов не является полем.
Теперь остается показать, что если m - простое число, то для каждого
класса вычетов, кроме идеала {0} , существует обратный.
Каждый такой класс вычетов содержит целое число s  m; s  0 .
Поскольку элемент 1 совпадает с обратным к нему элементом, можно
предполагать, что s  1 . Так как m по предположению - простое число и
s  m , то ( s, m)  1 . В силу соотношения (2.39)
1  mx  sy или sy  1 (mod m) ,
откуда следует, что { y}{s}  {1} , т.е. для класса вычетов {s} существует
обратный ему класс вычетов { y}  {s}1 , ч.т.д.
Определения
Построенные таким образом поля называются простыми полями или
полями Галуа из p элементов GF ( p ) .
2.2.4.3. Идеалы многочленов и классы вычетов
Рассмотрим
теперь
многочлены
f ( x)
от
одного
(переменной) x с коэффициентами из некоторого поля F
неизвестного
88
f ( x)  f n x n  f n1 x n1  ...  f1 x  f 0 .
Определения
Степенью deg f ( x) многочлена f ( x) называется наибольшая степень x
члена с ненулевым коэффициентом. Степень нулевого многочлена равна 0 .
Многочлен называется нормированным, если коэффициент f n при
наивысшей степени x равен 1. Многочлены можно складывать и умножать
обычным способом. Многочлены образуют кольцо.
Если r ( x), s ( x) и t ( x) - многочлены и r ( x) s ( x)  t ( x) , то, по аналогии с
целочисленной теорией, говорят, что многочлен t ( x) делится на многочлен
r ( x) , а многочлен r ( x) является делителем многочлена t ( x) или делит t ( x) .
Многочлен p( x) степени n , у которого нет делителей, кроме самого себя,
называется неприводимым. По аналогии с целочисленной теорией
наибольшим общим делителем (НОД) двух многочленов называется
нормированный многочлен наибольшей степени, который является
делителем для обоих многочленов. Говорят, что два многочлена взаимно
просты, если их НОД равен 1.
Степень произведения двух многочленов равна сумме их степеней.
Ненулевой многочлен степени 0 является элементом поля и поэтому имеет
обратный элемент, но многочленов более высоких степеней, которые
обладали бы обратными элементами, не существует. Если s ( x) делится на
r ( x) и r ( x) делится на s ( x) , то они либо равны, либо отличаются только
множителем
в
виде
элемента
поля.
Действительно,
пусть
s ( x)  r ( x)a ( x); r ( x)  s ( x)b( x) . Тогда deg s ( x)  deg r ( x); deg r ( x)  deg s ( x) ,
откуда
следует,
что
степени
s ( x)
и
r ( x)
равны,
а
значит
deg a ( x)  deg b( x)  0 . Следовательно, многочлены a ( x), b( x) должны быть
элементами (константами) поля.
Для любой пары многочленов s ( x) и d ( x) существует единственная пара
многочленов q ( x) - частное и r ( x) - остаток, таких, что
s ( x)  d ( x)q ( x)  r ( x)
и степень r ( x) меньше степени d ( x) .
(2.40)
89
Примечание
Это выражение аналогично целочисленному представлению, полученному
в разделе 2.1.1. Алгоритм поиска представления (2.40) аналогичен алгоритму,
приведенному в доказательстве теоремы 2.3 для целых чисел. Различие
состоит в том, что вместо сравнения величин делителя и остатка от деления
для получения (2.40) сравнению подлежат степени d ( x) и r ( x) .
Приведенный в том же разделе алгоритм Евклида может быть
использован и для поиска НОД многочленов.
В целом сходство в структуре и свойствах колец целых чисел и
многочленов над некоторым полем очевидно. Оба они являются частными
случаями алгебраической конструкции, называемой евклидовым кольцом.
Вследствие этого свойства, теоремы и их доказательства, приведенные в
разделе 2.1 («Основы теории чисел»), а также разделе 2.2.4.2 («Идеалы и
классы вычетов целых чисел»), могут быть применены и в данном разделе с
учетом соответствующей коррекции понятий и выражений: понятие «целое
число» заменяется понятием «многочлен», а выражение « a меньше, чем b »
заменяется выражением «степень a ( x) меньше степени b( x) ».
Процесс получения (2.40) состоит в последовательном делении текущего
многочлена-остатка r1 ( x) на многочлен d ( x) , начиная с тривиального
представления s ( x)  d ( x)  r1 ( x) , и завершается при выполнении условия
deg ri ( x)  deg d ( x) на соответствующем i -м шаге алгоритма. Деление
многочленов производится обычным делением «столбиком».
В предположении, что делитель в (2.40) имеет первую степень, т.е.
d ( x)  x  a , можно получить несколько важных результатов. Пусть
f ( x)  ( x  a )q ( x)  r .
(2.41)
Заметим, что в данном случае выполнение условия deg r ( x)  deg d ( x)
приводит к тому, что deg r ( x)  0 и r ( x)  r - элемент поля. Подставляя в
(2.41) a вместо x , найдем, что r  f (a ) . Этот вывод известен как Теорема об
остатке.
Следующий интересный результат, известный как Теорема Безу, может
быть получен в предположении, что a является корнем многочлена f ( x) ,
когда f (a )  0 . В этом случае r  0 и многочлен d ( x)  x  a является одним
из делителей f ( x) .
Таким
образом,
каждому
90
корню
многочлена
f ( x)
однозначно
соответствует делитель первой степени. Поскольку степень произведения
многочленов равна сумме степеней сомножителей, степень многочлена f ( x) ,
по крайней мере, не меньше числа его корней.
НОД d ( x) двух многочленов r ( x), s ( x) всегда может быть представлен в
виде (см. следствие теоремы 2.52)
d ( x)  a ( x)r ( x)  b( x) s ( x),
(2.42)
где a ( x), b( x) - многочлены.
Теорема 2.53 (расширение теоремы 2.50)
Совокупность многочленов образует идеал тогда и только тогда, когда она
содержит все многочлены, кратные некоторому многочлену.
Это значит, что кольцо многочленов есть кольцо главных идеалов. Идеал,
состоящий из всех многочленов, кратных f ( x) , обозначается через ( f ( x)) .
Кольцо классов вычетов, образованных по этому идеалу, называется кольцом
многочленов по модулю f ( x) .
Теорема 2.54 (расширение теоремы 2.51)
Каждый класс вычетов по модулю многочлена f ( x) степени n содержит
либо 0 , либо многочлен степени, меньшей чем n . Нуль является элементом
идеала, а многочлены степеней, меньших чем n , принадлежат различным
классам вычетов.
2.2.4.4. Алгебра классов вычетов многочленов
Теорема 2.55
Классы вычетов многочленов по модулю многочлена f ( x) степени n
образуют коммутативную линейную алгебру размерности n над полем
коэффициентов.
Доказательство
Умножение на скаляр определяется равенством a{r ( x)}  {ar ( x)} . При
этом выполняются все аксиомы векторного пространства и алгебры.
91
Например, справедливость дистрибутивного закона проверяется следующим
образом:
{r ( x)}({s( x)}  {t ( x)})  {r ( x)( s ( x)  t ( x))} 
{r ( x) s( x)  r ( x)t ( x)}  {r ( x)}{s( x)}  {r ( x)}{t ( x)}.
То, что векторное пространство имеет размерность n , можно увидеть из
того, что n классов вычетов {1}, {x}, {x 2 },..., {x n1} порождают все
пространство, поскольку каждый класс вычетов содержит многочлен
степени, меньшей чем n , и
{a0  a1 x  ...  an1 x n1}  a0{1}  a1{x}  ...  an1{x n1} .
(2.43)
Кроме того, эти n классов вычетов линейно независимы, поскольку в
правой части соотношения (2.43) стоит произвольная линейная комбинация
классов вычетов {1}, {x}, {x 2 },..., {x n1} , а левая часть равна нулю только при
выполнении одного из условий:
1) a0  a1 x  ...  an1 x n1 делится на f ( x) , что невозможно;
2) все коэффициенты ai  0 .
Это и доказывает теорему.
Обычно принято брать многочлен минимальной степени в классе вычетов
в качестве его представителя, однако использование одних и тех же
обозначений для класса вычетов и многочлена минимальной степени в классе
вычетов может привести к некоторой путанице. При обозначениях будут
выполняться правила:
1) {} - класс вычетов; это общее правило;
2) S (или  ) – класс вычетов, содержащий x ;
3) a - класс вычетов, содержащий этот элемент поля.
Тогда смежный класс, который содержит многочлен a0  a1 x  ...  an1 x n1 ,
имеет вид
{a0  a1 x  ...  an1 x n1}  {a0 }  {a1}{x}  ...  {an1}{x n1} 
a0  a1S  ...  an1S n1.
Таким образом, каждый класс вычетов равен многочлену от S степени,
меньшей n .
92
Теорема 2.56
В алгебре многочленов по модулю многочлена f ( x) степени n многочлен
f ( S )  0 , но не существует равного нулю многочлена от S степени, меньшей
n.
Доказательство
f ( S )  f 0  f1S  ...  f n S n  f 0  f1{x}  ...  f n {x n } 
{ f 0  f1 x  ...  f n x n }  { f ( x)}  0.
Аналогично, если g ( x) - любой многочлен степени, меньшей n , то
g ( S )  {g ( x)} , и по теореме 2.53 этот класс вычетов не является идеалом.
Ч.т.д.
Из этой теоремы следует, что различные многочлены от S степеней,
меньших n , являются различными классами вычетов, так как в противном
случае их разность была бы многочленом от S степени, меньшей чем n ,
который был бы равен 0 .
Теорема 2.57
Пусть J - идеал в алгебре многочленов по модулю f ( x) , а g ( x) отличный от нуля многочлен наименьшей степени, такой, что класс вычетов
{g ( x)} принадлежит J . При этом класс вычетов {s ( x)} принадлежит J тогда
и только тогда, когда многочлен s ( x) делится на g ( x) . Более того, многочлен
g ( x) является делителем f ( x) .
Доказательство
В соответствии с (2.40)
s ( x)  g ( x)q ( x)  r ( x); deg r ( x)  deg g ( x) .
Следовательно, {s ( x)}  {g ( x)}{q ( x)}  {r ( x)} и если классы вычетов {s ( x)}
и {g ( x)} принадлежат J , то класс вычетов {s ( x)}  {g ( x)}{q ( x)}  {r ( x)}
также принадлежит J . Поскольку deg r ( x)  deg g ( x) и по предположению
g ( x) - ненулевой многочлен наименьшей степени с условием {g ( x)}  J , то
многочлен r ( x) должен быть равен 0 . Следовательно, многочлен g ( x) делитель s ( x) . Обратно, если многочлен g ( x) делит s ( x) и {g ( x)}  J , то
{s ( x)}  J .
93
Аналогично, в соответствии с (2.40) имеем
f ( x)  g ( x)q ( x)  r ( x); deg r ( x)  deg g ( x) .
Поэтому
0  { f ( x)}  {g ( x)}{q ( x )}  {r ( x)} и {r ( x)}  J .
Поскольку deg r ( x)  deg g ( x) , то многочлен r ( x) должен быть нулевым,
и, следовательно, многочлен g ( x) является делителем f ( x) . Ч.т.д.
Теорема 2.58
Для любого идеала J в алгебре многочленов по модулю f ( x) существует
единственный нормированный многочлен g ( x) минимальной степени, такой,
что класс вычетов {g ( x)} принадлежит идеалу J . И наоборот, каждый
нормированный многочлен g ( x) , являющийся делителем f ( x) , порождает
некоторый идеал J , в котором g ( x) - нормированный многочлен
наименьшей степени.
Доказательство
Существует многочлен наименьшей степени h( x)  h0  h1 x  ...  hk x k ,
такой, что класс вычетов {h( x)} принадлежит идеалу J . Тогда многочлен
g ( x)  hk1h( x) - нормированный многочленом наименьшей степени, класс
вычетов которого также принадлежит J , и, следовательно, в J существует,
по крайней мере, один нормированный многочлен минимальной степени.
Если предположить, что существуют два таких многочлена g ( x) и g1 ( x) , то,
согласно теореме 2.57, многочлен g1 ( x) должен делиться на g ( x) и наоборот.
Следовательно, они отличаются самое большее на множитель, являющийся
элементом поля. Этот множитель должен быть равен 1, поскольку по
предположению оба многочлена являются нормированными. Следовательно,
существует единственный нормированный многочлен минимальной степени
g ( x) , класс вычетов которого {g ( x)} принадлежит J .
Предположим теперь, что g ( x) - нормированный многочлен, являющийся
делителем f ( x) . Рассмотрим идеал J , порожденный классом вычетов
{g ( x)} , т.е. идеал, содержащий все классы вычетов, кратные {g ( x)} .
Покажем, что g ( x) обладает наименьшей степенью. Пусть некоторый класс
вычетов {r ( x)} принадлежит J . Тогда
{r ( x)}  {g ( x)}{a ( x)}  {g ( x)a( x)}
для некоторого многочлена a ( x) , откуда следует
94
r ( x)  g ( x)a ( x)  f ( x)b( x)
для некоторого многочлена b( x) . Так как многочлен f ( x) кратен g ( x) , то
r ( x) также кратен g ( x) и если r ( x) ненулевой, то его степень должна быть
не меньше степени g ( x) . Таким образом, g ( x) - нормированный многочлен
минимальной степени, класс вычетов которого принадлежит J . Ч.т.д.
Теорема 2.59
Пусть f ( x)  g ( x)h( x) - многочлен степени n , а h( x) - многочлен степени
k . Тогда идеал, порожденный классом вычетов {g ( x)} в алгебре
многочленов по модулю f ( x) , имеет размерность k .
Доказательство
В идеале, который является некоторым подпространством, векторы
{g ( x)}, {xg ( x)},..., {x k 1 g ( x)} - линейно независимы, так как любая линейная
комбинация этих векторов имеет вид {(a0  a1 x  ...  ak 1 x k 1 ) g ( x)} и по
теореме 2.54 отлична от нуля, так как каждый класс вычетов содержит
некоторый многочлен степени меньше n . Более того, если {s ( x)}
принадлежит идеалу, то, согласно теореме 2.57, многочлен s ( x) делится на
g ( x) . Если s ( x) - многочлен наименьшей степени в своем классе вычетов, то
его степень меньше n . Таким образом,
s ( x)  g ( x)q ( x)  g ( x)(q0  q1 x  ...  qk 1 x k 1 )
и
{s ( x)}  q0{g ( x)}  q1{xg ( x)}  ...  qk 1{x k 1 g ( x)} ,
так что k векторов {g ( x)}, {xg ( x)},..., {x k 1 g ( x)} порождают идеал
размерностью k . Ч.т.д.
Определения
Нормированный многочлен g ( x) минимальной степени, такой, что его
класс вычетов {g ( x)} принадлежит идеалу, называется порождающим
многочленом идеала.
Утверждения теорем 2.57 - 2.59 можно обобщить следующим образом.
Каждому идеалу в алгебре многочленов по модулю f ( x) соответствует
порождающий многочлен g ( x) - делитель f ( x) . Каждый нормированный
многочлен, являющийся делителем многочлена f ( x) , порождает свой идеал.
95
Каждый класс вычетов в идеале, порожденном многочленом g ( x) , содержит
единственный многочлен, который делится на g ( x) и степень которого
меньше степени многочлена f ( x) . Каждый такой многочлен принадлежит
некоторому классу вычетов, входящему в идеал.
Имеется естественное соответствие между наборами (векторами) длины n
(или векторами размерности n ) и многочленами в алгебре многочленов по
модулю f ( x) степени n . Набор (a0 , a1 ,..., an1 ) соответствует многочлену
a0  a1S  ...  an1S n1 . В этом смысле вектора и многочлены рассматриваются
как различные представления одного и того же элемента алгебры. Сумма
двух наборов соответствует сумме соответствующих многочленов, а
умножение на скаляр производится обычным способом.
Определения
Будем говорить, что многочлен r ( S ) принадлежит нулевому
пространству идеала J , если r ( S) s ( S )  0 для любого многочлена s ( S ) из
J.
Это определение отличается от определения нулевого пространства,
данного в разделе 2.2.3, поскольку требования равенства нулю скалярного
произведения векторов и произведения многочленов не совпадают. Однако
между этими понятиями появляется очень тесная связь, если принять
f ( x)  x n  1. Пусть
a ( S )  a0  a1S  ...  an1S n1 ,
b( S )  b0  b1S  ...  bn1S n1 ,
c( S )  a ( S )b( S ).
Рассмотрим коэффициент при S j в c( S ) :
n 1
c j   aib j i (mod n )
(2.44)
i 0
Причиной появления слагаемых, составляющих нижнюю строку (2.44),
является равенство членов
S n j  S j
вследствие
скалярного произведения (2.44) будет выглядеть так:
S n  1  0 . В форме
96
c j  (a0 , a1 ,..., an1 )(b j , b j 1 ,..., b0 , bn1 , bn2 ,..., b j1 ) .
Первый вектор - это вектор, соответствующий a ( S ) . Второй вектор
содержит коэффициенты b( S ) , расположенные в обратном порядке и
циклически сдвинутые на
j  1 элемент вправо. Таким образом, если
произведение a ( S )b( S ) равно нулю, то вектор, соответствующий a ( S ) ,
ортогонален вектору, соответствующему
b( S ) , компоненты которого
расположены в обратном порядке, и каждому циклическому сдвигу этого
вектора. Справедливо и обратное утверждение: если вектор (a0 , a1 ,..., an1 )
ортогонален вектору (bn1 , bn2 , ...,b0 ) , а также циклическому сдвигу этого
вектора, то a ( S)b( S )  0 .
Теорема 2.60
Пусть f ( x), g ( x), h( x) - нормированные многочлены, и f ( x)  g ( x)h( x) .
Класс вычетов {a ( x)} принадлежит нулевому пространству идеала,
порожденного многочленом h( x) , тогда и только тогда, когда он
принадлежит идеалу, порожденному многочленом g ( x) .
Доказательство
Если {a ( x)} принадлежит идеалу, порожденному многочленом g ( x) , а
{b( x)} - любой класс вычетов из идеала, порожденного h( x) , то многочлен
a ( x) кратен g ( x) , многочлен b( x) кратен h( x) , а произведение a ( x)b( x)
кратно f ( x) . Следовательно, {a( x)}{b( x)}  {a ( x)b( x)}  0 , и, таким образом,
класс вычетов {a ( x)} принадлежит нулевому пространству идеала,
порожденного многочленом h( x) . И наоборот, если {a ( x)}{h( x)}  0 , то
произведение a ( x)h( x) должно быть кратно f ( x) . Это означает, что
многочлен a( x) должен делиться на g ( x) , и, следовательно, класс вычетов
{a ( x)} принадлежит идеалу, порожденному g ( x) . Ч.т.д.
97
2.2.5. Поля Галуа [3, с. 177-188, 6]
2.2.5.1. Общая структура полей Галуа
Определения
Многочлен p ( x) , делящийся только на 1 и сам на себя, называется
неприводимым. Если при этом старший коэффициент равен 1, то многочлен
называется простым.
Теорема 2.61 (расширение теоремы 2.51)
Пусть p ( x) - многочлен коэффициентами из поля GF ( p) . Алгебра
многочленов над полем GF ( p ) по модулю p ( x) является полем тогда и
только тогда, когда многочлен p ( x) неприводим в поле GF ( p ) .
Пример
Рассмотрим кольцо многочленов с действительными коэффициентами по
модулю неприводимого многочлена p ( x)  x 2  1 . Обозначим через {x}  i
класс вычетов, содержащий x . Тогда каждый элемент порожденного поля
можно представить в виде многочлена от {x}  i степени меньше 2, т.е. в виде
a  bi . Так как {x}  i по теореме 2.56 удовлетворяет уравнению p ( x)  0 , то
i 2  1  0 , или i 2  1. Как видно, это один из способов описания поля
комплексных чисел.
Определения
Поле, образованное многочленами над полем GF ( p ) по модулю
неприводимого многочлена p( x) степени n , называется расширением поля
степени n над GF ( p ) , содержит p n элементов и обозначается как GF ( p n ) .
Поля Галуа, которые могут быть образованы классами вычетов многочленов
по модулю неприводимого многочлена p ( x) над полем GF ( p ) , называются
полями характеристики p .
Расширение поля (новое или порожденное поле) GF ( p n ) содержит
элементы основного поля GF ( p ) в виде классов вычетов по модулю p и
новые элементы в виде классов вычетов по модулю p ( x) .
В разделе 2.2.4.2 показано, что классы вычетов целых чисел по модулю
некоторого простого числа p образуют поле из p элементов, называемое
98
полем Галуа GF ( p) . Можно доказать, что кольцо многочленов над любым
конечным полем содержит, по крайней мере, один неприводимый многочлен
каждой степени.
Поле многочленов по модулю неприводимого многочлена согласно
теореме 2.55 является векторным пространством размерности n над полем
GF ( p ) и, следовательно, содержит p n элементов. Таким образом, для
любого числа q  p n , являющегося степенью простого числа, существует
поле GF (q ) из q элементов. Можно показать, что любое конечное поле
изоморфно некоторому полю Галуа, т.е. имеет ту же самую структуру, что и
некоторое поле Галуа, а отличается от него только расстановкой и
обозначением элементов. Можно также доказать, что любые конечные поля с
одним и тем же числом элементов изоморфны, т.е. отличаются только
обозначением элементов. В исходном поле GF ( p ) (классы вычетов по
модулю p ) элемент p  0 . Поскольку GF ( p ) - поле коэффициентов для
GF (q ) , то во всех полях характеристики p элемент p  0 .
Теорема 2.62
В поле характеристики p справедливо равенство
( a  b) p  a p  b p .
Доказательство
В соответствии с формулой бинома Ньютона имеем
p
(a  b) p   C pk a p k b k  a p  C1p a p 1b  C p2 a p 2b 2  ...  b p .
k 0
Можно показать, что для простых p все биномиальные коэффициенты
C pk , 0  k  p содержат p в качестве сомножителя и поэтому равны 0 .
 C pk 11 
 C pk 1 
 p
показывают, что
Действительно, представления C  p 
 k 
 p  k 




k 1
либо k является делителем C p 1 , либо p  k - делителем C pk 1 . Таким
образом, ненулевыми являются только первое и последнее слагаемые. Ч.т.д.
k
p
99
Определения
Рассмотрим некоторое расширение основного поля GF ( p ) . Пусть  любой элемент этого расширения. Нормированный многочлен m( x)
наименьшей степени с коэффициентами из основного поля GF ( p ) , такой, что
m(  )  0 , называется минимальным многочленом, или минимальной функцией
для  .
Теорема 2.63
Минимальная функция m( x)
неприводимым многочленом.
для
любого
элемента

является
Доказательство
Предположим обратное, т.е. m( x)  m1 ( x)m2 ( x) . Тогда m(  )  m1 (  )m2 (  )
и, по крайней мере, один из сомножителей должен быть равен 0 . Если эти
сомножители нетривиальны, то это противоречит предположению о том, что
m( x) - многочлен минимальной степени с корнем  . Ч.т.д.
Теорема 2.64
Если f ( x) - многочлен с коэффициентами из основного поля GF ( p ) и
если f (  )  0 , то многочлен f ( x) делится на m( x) - минимальную функцию
для  .
Доказательство
В соответствии с (2.40)
f ( x)  m( x)q ( x )  r ( x); deg r ( x)  deg m( x) .
Поскольку f (  )  m(  )  0 , то r (  )  0 . Так как m( x) - минимальная
функция для  и deg r ( x)  deg m( x) , то r (  )  0 возможно только при
r ( x)  0 . Ч. т. д.
Из теоремы 2.64 следует, что минимальная функция для  единственна.
Из нее следует также, что если p ( x) - нормированный неприводимый
многочлен и p (  )  0 , то p ( x) - минимальная функция для  .
100
Теорема 2.65
Для каждого элемента из расширения поля степени n над GF ( p )
существует минимальная функция для этого элемента степени n или
меньше.
Доказательство
По теореме 2.55 расширение поля является векторным пространством
размерности n . Поэтому для любого элемента  совокупность из n  1
элементов
1,  ,  2 ,...,  n
не
может
быть
линейно
независимой.
Следовательно, должен существовать некоторый многочлен степени не более
n от  , который равен 0 . Ч.т.д.
2.2.5.2. Мультипликативная группа поля Галуа
В любой конечной группе можно рассмотреть совокупность элементов,
образованную некоторым элементом
g
и всеми его степенями
gi .
Множество таких элементов конечно и поэтому при некотором j  i должно
произойти повторение, т.е. g j  g i или g j i  1. Следовательно, некоторая
степень элемента g равна 1. Пусть e - наименьшее целое положительное
число, такое, что g e  1. Число e называется порядком элемента g .
Совокупность элементов 1, g , g 2 ,..., g e1 образует подгруппу, поскольку
произведение любых двух элементов совокупности есть снова элемент того
же вида, а элемент, обратный g j , равен g  j  g e j и, следовательно, тоже
является одним из элементов этой совокупности.
Определения
Группа, которая состоит из всех степеней одного из ее элементов,
называется циклической группой.
Порядок e любого элемента g группы является делителем порядка
группы, так как группа содержит циклическую подгруппу из e элементов,
порожденную g , и некоторое количество l смежных классов по этой
101
подгруппе, каждый из которых состоит из ei , i  l элементов, причем ei
являются делителями e .
Примечание
Для числовых полей их мультипликативные свойства рассмотрены
подробно в разделе 2.1.5 (теоремы 2.25 - 2.27). В разделе 2.2.1 введено
понятие подгруппы и рассмотрен принцип разложения элементов группы на
смежные классы по выбранной подгруппе. Там же показано, что в общем
случае смежные классы по этой подгруппе могут содержать неодинаковое
количество элементов. Однако порядок смежных классов обязательно делит
порядок подгруппы.
Теорема 2.66
Совокупность корней многочлена x q 1  1 является совокупностью всех
q  1 ненулевых элементов поля GF (q ) .
Доказательство
Совокупность q  1 ненулевых элементов поля GF (q ) образует группу.
Порядок каждого элемента поля GF (q ) должен быть делителем q  1 , и,
следовательно, каждый из q  1 элементов является корнем многочлена
x q 1  1 . Но этот многочлен имеет самое большее q  1 различных корней.
Ч.т.д.
Теорема 2.67
Многочлен x n  1 делится на многочлен x m  1 тогда и только тогда, когда
m является делителем n .
Доказательство
Предположим, что n  md . Тогда y d  1 делится на y  1, поскольку y  1
- корень многочлена y d  1. Выполняя подстановку y  x m , получаем, что
x md  1 делится на x m  1 .
Допустим теперь, что n  md  r , 0  r  d . Тогда x n  1 представляется как
x n  1  x r ( x md  1)  x r  1.
Но в соответствии с (2.40) имеем
102
x n  1  q ( x)( x d  1)  r ( x), deg r ( x)  d .
Сравнивая эти равенства, находим
x r ( x md  1)
q( x) 
; r ( x)  x r  1.
d
x 1
Отсюда следует, что остаток r ( x) равен 0 только тогда, когда r  0 , т.е.,
когда n делится на m . Ч.т.д.
Теорема 2.68
В поле GF (q ) существует примитивный элемент  , порядок которого
равен q  1, и такой, что каждый ненулевой элемент поля GF (q ) может быть
представлен в виде некоторой степени  . Т.е. мультипликативная группа
поля Галуа GF (q ) является циклической.
Доказательство
Пусть q  1  p1e1 p2e2 ... prer - каноническое разложение q  1, а i ,  j e
элементы поля порядка piei , p j j ;1  i, j  r ; i  j .
e
Поскольку piei , p j j - попарно взаимно простые числа, то в соответствии с
теоремой 2.49 и формулой (2.40) найдутся целые t , s такие, что выполняется
равенство
e
spiei  tp j j  1 .
(2.45)
Определим порядок нового элемента поля  ij  i  j . Для этого возведем
последовательно  ij  i  j
в степени
spiei , tp j j , удовлетворяющие
соотношению (2.45). В результате этих операций, с учетом того, что
e
ei
i
i p   j
e
pjj
 1 , получим
ei
i
ei
i
ei
i
ei
i
ei
i
 ijsp  ( i  j ) sp  i sp  j sp   j sp   j

e
tp j j
ij
 ( i  j )
e
tp j j
 i
e
tp j j
j
e
tp j j
 i
e
tp j j

e
1tp j j
1 spiei
i
  j;
(2.46)
 i .
Отсюда следует, что элементы i ,  j являются степенями  ij  i  j .
Учитывая, что порядки элементов i ,  j равны piei , p j j соответственно, из
(2.46) имеем
e
103
ei
i
e
tpiei p j j
e
spiei p j j
i p   ij
pjj
 j   ij
e
 1;
 1,
откуда следует, что порядок элемента  ij  i  j не менее
e
piei p j j .
e
Предположим сначала, что этот порядок превышает piei p j j . В этом случае t , s
одновременно должны быть делителями q  1  p1e1 p2e2 ... prer , что ввиду (2.45)
невозможно, поскольку обе части равенства должны иметь в качестве
сомножителя этот общий делитель.
Таким образом, порядок  ij  i  j равен точно piei p j j . Поскольку i ,  j
выбраны произвольно, то индукцией приходим к тому, что элемент
  1 2 ... r имеет порядок q  1  p1e1 p2e2 ... prer и является, таким образом,
примитивным элементом поля GF (q ) ; все его степени  ,  2 ,...,  q 1 являются
различными элементами поля и мультипликативная группа поля GF (q ) циклическая. Ч.т.д.
e
Следствие
Если порядки элементов 1 ,  2 равны n и m соответственно, то порядок
элемента 1 2 равен nm .
Определения
Многочлен, корнем которого является примитивный элемент поля GF (q ) ,
называется примитивным. Примитивный многочлен обязан быть
неприводимым (простым) и минимальным. Не все неприводимые
многочлены являются примитивными.
Пример 1
Поле Галуа GF (23 ) при p  2 из q  23 элементов поля (один из них
нулевой) может быть образовано как поле многочленов по модулю
f ( x)  x 3  x  1 в предположении, что он примитивный. Пусть  - корень
этого многочлена. Тогда  3    1  0 . Все степени  , а также
соответствующие наборы двоичных коэффициентов (двоичные вектора)
представлены в табл. 2.1. Первые три строки таблицы тривиальны.
Остальные строки могут быть получены двумя способами.
Первый из них использует вычисление остатков от деления xi на
заданный примитивный многочлен (т.е., вычисление вычетов). В качестве
104
примера на рис. 2.3 приведен алгоритм деления x5 на f ( x)  x3  x  1
«столбиком». Это общий способ деления многочленов.
Второй способ можно применять только при последовательном
вычислении всех степеней  и использует тот факт, что  является корнем
f ( x)  x 3  x  1, а следовательно, f ( )   3    1  0 или  3  1   .
Например, найдем представление  5 , зная представление элемента
4  2:
 5   4  (   2 )   2   3   2  1   .
Примечания
1. Последний способ вычислений наиболее удобен для алгоритмической
(программной) и аппаратной реализации устройств кодеков. Однако он же
страдает низким быстродействием, поскольку для определения, например
99
 2 1 , где  - корень примитивного многочлена степени 100 , потребуется
приблизительно (103 )10  1030 шагов. Если принять, что каждый шаг
вычислений требует одного такта работы процессора с тактовой частотой,
например, 1010 Гц (что пока недостижимо), то результат можно будет
получить приблизительно через 3  1016 часов! Разработка более эффективных
способов вычислений является, как видно, актуальной задачей и базируется
на быстрых преобразованиях в полях Галуа. Такие способы рассмотрены в
разделе 5.2.1.
2. Построение таблиц, подобных табл. 2.1, позволяет наглядно убедиться в
примитивности выбранного многочлена. В данном примере многочлен
f ( x)  x 3  x  1 действительно примитивен, поскольку все строки таблицы
различны.
Пример 2
Поле Галуа GF (24 ) при p  2 из q  24 элементов поля (один из них
нулевой) может быть образовано как поле многочленов по модулю
f ( x)  x 4  x  1 в предположении, что он примитивный. Пусть  - корень
этого многочлена. Тогда  4    1  0 . Все степени  , а также
соответствующие наборы двоичных коэффициентов (двоичные вектора)
представлены в табл. 2.2:
Теорема 2.69
Если f ( x) - многочлен с коэффициентами из поля GF ( p ) и  - его
корень в расширении поля GF ( p ) , то  p также является корнем f ( x) .
105
Доказательство
Пусть f ( x)  a0  a1 x  ...  an x n . Тогда согласно теореме 2.62 имеем
( f ( x)) p  (a0 ) p  (a1 x) p  ...  (an x n ) p  a0p  a1p x p  ...  anp ( x p ) n .
По теореме 2.68 в поле GF ( p ) для каждого его элемента a справедливо
a p 1  1 или a p  a . Отсюда ( f ( x)) p  a0  a1 x p  ...  an ( x p )n  f ( x p ) и из
f (  )  0 следует f (  p )  0 . Ч.т.д.
Следствие
2
Считая теперь корнем f ( x) элемент    p , получим, что элемент  p
также является корнем f ( x) . Продолжая далее, приходим к выводу, что все
2
n 1
являются корнями одного и того же
элементы ряда  ,  p ,  p ,...,  p
неприводимого многочлена f ( x) степени n .
Теорема 2.70
Каждый многочлен p ( x) степени n , неприводимый над полем GF ( p ) ,
n
является делителем x p  x .
Доказательство
При p ( x)  x утверждение теоремы очевидно. Пусть теперь p ( x)  x и  корень многочлена p ( x) в расширении поля многочленов по модулю p ( x)
над GF ( p ) . Это поле содержит p n элементов, причем все ненулевые
элементы образуют мультипликативную группу порядка p n  1. Поэтому
порядок  должен быть делителем p n  1 , а сам  должен быть корнем
n
x p 1  1 . Тогда согласно теореме 2.64 p ( x) является делителем x p
Ч.т.д.
n
1
1.
Теорема 2.71
n
Каждый делитель многочлена x p  x , неприводимый над полем GF ( p ) ,
имеет степень не больше n .
Доказательство.
Пусть неприводимый над полем GF ( p ) многочлен p ( x) степени k
n
является делителем x p  x . Рассмотрим расширение поля многочленов над
106
GF ( p ) по модулю p ( x) . Оно содержит p k элементов, каждый из которых
может быть представлен в виде   a0  a1  ...  ak 1 k 1 , где  - корень
p ( x) , а a0 , a1 ,..., ak 1 - элементы поля GF ( p ) . Тогда согласно теореме 2.62
справедливо
n
n
n
n
n
 p  a0p  a1p  p  ...  akp1 p
По теореме 2.66 a p
n
1
n
( k 1)
.
n
 1, a p  a для любого элемента a из поля GF ( p n ) .
Но a0 , a1 ,..., ak 1 принадлежат как GF ( p ) , так и его расширению GF ( p n ) ,
поэтому
n
n
 p  a0  a1 p  ...  ak 1 p
n
( k 1)
.
n
n
Поскольку  - корень p ( x) , а следовательно, и x p  x , то  jp   j для
любого j , откуда получим
n
 p  a0  a1  ...  ak 1 ( k 1)   ,
n
т.е.  - также является корнем x p  x . Так как количество элементов
n
 j , 0  j  p k  1 в расширении поля равно p k в то время как x p  x имеет не
более p n элементов, то p n  p k и n  k . Ч.т.д.
Теорема 2.72
Если  - элемент расширения поля многочленов над GF ( p ) и корень
минимального многочлена степени k , то порядок e элемента  , являясь
делителем числа p k  1, не делит числа вида p m  1, m  k .
Доказательство
Пусть m( x) - минимальный многочлен степени k для  . По теореме 2.71
m( x) является делителем многочлена x p
k
1
 1 , а  - его корнем. Поэтому
порядок  является делителем p k  1 . Предположим теперь, что порядок 
является делителем и p m  1, m  k . Тогда в соответствии с той же теоремой
m
 является корнем многочлена x p  x , а это возможно только при m  k .
Ч.т.д.
107
Теорема 2.73 (уточнение следствия теоремы 2.69)
Пусть p ( x) - неприводимый над полем GF ( p ) многочлен степени n с
2
корнем  в расширении поля. Тогда элементы  ,  p ,  p ,...,  p
множество всех корней многочлена p ( x) .
n 1
составляют
Доказательство
2
n 1
Следствие теоремы 2.69 устанавливает, что элементы  ,  p ,  p ,...,  p
являются корнями p ( x) . Здесь доказывается, что все эти элементы различны
и, таким образом, составляют множество всех корней p( x) . Предположим,
что не все указанные элементы различны, т.е. для некоторых i, j; j  i
i
j
выполняется равенство  p   p или
i j
 p  ;  p
i j
1
 1.
Отсюда следует, что порядок элемента  должен являться делителем
p  1 при каких либо i, j; 0  j  i  n  1 , а это, в соответствии с теоремой
2.72 невозможно, поскольку i  j  n . Ч.т.д.
i j
Теорема 2.74
Все корни неприводимого многочлена имеют один и тот же порядок.
Доказательство
Пусть степень неприводимого многочлена p ( x) равна m . В соответствии
с теоремой 2.72 порядок любого корня p ( x) должен являться делителем
j
p m  1 . Пусть теперь при некотором j  0 порядок e j корня  p отличается
от порядка e корня  . Тогда равенство
j
j
j
(  p )e   p e  (  e ) p  1
возможно только в случае, когда e j - делитель e . С другой стороны
равенство
m
  ( p )  
ej
ej
p j pm je j
j
 ((  p ) j ) p
e
m j
1
возможно только при условии, когда e - делитель e j . Отсюда следует, что
e j  e . Ч.т.д.
108
2.2.5.3. Круговые многочлены
Как уже известно, каждое разложение многочлена x
p n 1
k
 1   mi ( x)
i 1
задает
xp
n
1
разбиение
ненулевых
элементов
поля
GF ( p n ) .
Если
 1  f ( x) g ( x) , то каждый ненулевой элемент поля является корнем либо
многочлена
f ( x) , либо многочлена
g ( x) . Корневая структура поля
представлена также в виде
x
p n 1
p n 1
 1   ( x  i )
i 1
или, с учетом теоремы 2.68, в виде разложения
x
p n 1
p n 1
1   (x   i ) .
i 1
Порядок d каждого элемента  i или равен или делит n , и каждый
элемент поля, порядок которого делит n , является соответствующей
степенью  . Это позволяет выполнить разбиение ненулевых элементов поля
GF ( p n ) в соответствии с их порядками
xp
n
1
 1   ( x   d ) ,
d \n d
где первое произведение проводится по всем возможным делителям d
(включая и n ), а второе – по всем элементам  d порядка d .
Определения
Многочлены, корни которых совпадают со всеми элементами поля
порядка d , называются круговыми многочленами и обозначаются как
Q ( d ) ( x) .
Из этого определения вытекает разложение
xp
n
1
 1   Q ( d ) ( x) .
d \n
Полезность такого представления состоит в том, что оно позволяет
применить теоретико-числовые понятия и закономерности, рассмотренные в
109
разделе 2.1.
2.2.5.4. Полезные обобщения и выводы
Вывод 1. Корневая структура GF ( p n )
Поскольку все элементы поля GF ( p n ) являются корнями многочлена
n
x p  x , то
p n 1
x  x  x ( x  i )
pn
(2.47)
i 1
или, исключая нулевой элемент поля,
x
p n 1
p n 1
 1   ( x  i ) ,
i 1
где 1 ,  2 , ...,  pn 1 - все ненулевые элементы поля GF ( p n ) .
Вывод 2. Разложение GF ( p n ) на неприводимые (минимальные)
многочлены
Поскольку все элементы поля
GF ( p n )
являются корнями своих
минимальных многочленов, то
k
x  x   mi ( x) ,
pn
(2.48)
i 1
где mi ( x) - минимальный многочлен, а k - их количество в данном поле.
Отметим,
что
минимальные
m1 ( x)  x; m2 ( x)  1  x; m3 ( x)  2  x;...; m p ( x)  ( p  1)  x
многочлены
степени 1 имеют
корни x  0; x  1; x  2;...; x  p  1 соответственно и тем самым принадлежат
одновременно расширению поля, его подполям (если они существуют) и
основному полю GF ( p) .
Вывод 3. Корни минимальных многочленов
Любой минимальный многочлен mi ( x) можно представить своим набором
110
mi
корней i , j , т.е. mi ( x)   ( x  i , j ); mi  n .
j 1
Все множество корней минимального многочлена mi ( x) степени больше 1
2
m 1
представляется рядом элементов i , i p , i p ,..., i p , поэтому
mi 1
mi ( x)   ( x  i p ); mi  n .
j
(2.49)
j 0
Вывод 4. Степени минимальных многочленов
Степени mi всех минимальных многочленов mi ( x) , включая многочлены
степени 1 в поле GF ( p n ) , являются делителями n , причем сумма степеней
всех минимальных многочленов должна быть равна
k
m  p
i 1
i
n
.
(2.50)
Вывод 5. Порядки корней минимальных многочленов
Порядок ei корня любого минимального многочлена mi ( x) в поле GF ( p n )
является делителем p n  1, причем возможны следующие варианты:
a) если степень mi минимального многочлена mi ( x) меньше n (при этом
mi обязан быть делителем n ), то ei  p mi  1 ;
b) если степень mi минимального многочлена mi ( x) равна n и mi ( x) - не
примитивный многочлен, то ei  p n  1 и не может быть представлен в форме
ei  p k  1 , где k  n ;
c) если степень mi минимального многочлена mi ( x) равна n и mi ( x) примитивный многочлен, то ei  p n  1 , причем корень mi ( x) в этом случае
является примитивным элементом поля.
Вывод 6. Количество минимальных многочленов заданной
степени
Из (2.48), (2.50) следует
111
p m   dM d ,
(2.51)
d \m
где m - любой делитель n (в частном случае m  n ); суммирование
ведется по всем d - делителям m , а M d - количество минимальных
многочленов степени d .
Для определения количества неприводимых (минимальных) многочленов
применим формулу обращения Мебиуса (2.9) (см. раздел 2.1.2.2, следствие
теоремы 2.16):
m
F (m)    (d )G  
d
d
для функции
G  m   F  d  .
(2.52)
d \m
Принимая в (2.52) F  d   dM d и G  m   p m , приходим к (2.51), откуда
следует
Mm 
1
 (d ) p m/ d ,

m d \m
(2.53)
где M m - количество минимальных многочленов степени m .
Примеры вычисления количества минимальных многочленов
для p  2
1) M 3 
1
1
 (1)23   (3)21    23  2   2 ;

3
3
2) M 4 
1
1
 (1)24   (2)22   (4)21    24  22  0   3 ;

4
4
3) M 5 
1 5
 2  2  6 ;
5
4) M 6 
1
1
 (1)26   (2)23   (3)22   (6)21    26  23  22  21   9 .

6
6
112
Вывод 7. Алгебраическое представление элементов GF ( p n )
Поскольку в поле GF ( p n ) существует аддитивная группа, то каждый
элемент 
поля GF ( p n ) может быть представлен в виде линейной
комбинации:
  an1 n1  an2 n2  ...  a0 ,
(2.54)
где ai - элементы GF ( p ) , а  - примитивный элемент поля GF ( p n ) .
Отсюда следует, что при заданном  существует другое, эквивалентное
представление элемента  - в виде p -значного (в частном случае двоичного)
набора (вектора размерности n )
A  (a0 , a1 , ..., an1 ) .
(2.55)
В следующем разделе приводятся примеры анализа структуры полей
Галуа.
2.2.5.5. Примеры анализа мультипликативной структуры
полей Галуа
Анализ структуры полей Галуа GF ( p n ) в общем случае достаточно
сложен, вместе с тем в практике кодирования наиболее распространены
расширения GF (2n ) над двоичным полем коэффициентов GF (2) . Этим полям
Галуа и посвящены примеры в данном разделе.
Анализ структуры полей производится на основе разложения элементов
поля (точнее, ненулевых степеней примитивного элемента  ) на смежные
классы по мультипликативной подгруппе. Понятие смежных классов было
введено в разделе 2.2.1 «Основные понятия и определения». Там же
приведены простые примеры разложения всех ненулевых элементов поля
GF (2n ) на смежные классы. Примеры являются развитием и детализацией
примера 1 в разделе 2.2.1.
Для различных приложений кодирования продуктивно разложение на
смежные классы, содержащие все корни одного и того же многочлена. В
113
качестве лидера смежного класса используется элемент поля с минимальным
значением степени. Для простоты рассмотрения используется разложение на
смежные классы элементов числового множества 1, 2,..., N  1; N  2n  1 ,
представляющего ненулевые степени примитивного элемента 
поля
GF (2n ) . В дальнейшем, учитывая одинаковые свойства всех представителей
данного
типа
смежного
класса,
для
анализа
свойств
кодовых
последовательностей можно рассматривать только лидеры смежных классов.
Пример 1. Анализ структуры поля GF (25 )
Для разложения элементов числового множества при n  5; N  25  1  31
используется мультипликативная подгруппа H={1, 2, 4, 8, 16} .
{1, 2, 4, 8, 16};
{3, 6, 12, 24, 17};
{5, 10, 20, 9, 18};
{7, 14, 28, 25, 19};
{11, 22, 13, 26, 21};
{15, 30, 29, 27, 23}.
В приведенном примере члены каждого смежного класса заключены в
фигурные скобки, а на первой позиции списка стоит лидер смежного класса.
Как видно, все смежные классы содержат одинаковое число членов - 5 ,
что подтверждает вывод 5c) в предыдущем разделе: все минимальные
многочлены в данном поле имеют степень 5 и примитивны. Необходимым и
достаточным условием для этого является отсутствие делителей у модуля
N  25  1  31 , 31 - число простое. Полное количество смежных классов при
этом совпадает с количеством примитивных многочленов и равно 6 (см.
теорему 4.2 в разделе 4.1.1).
Пример 2. Анализ структуры поля GF (26 )
Для разложения элементов числового множества при n  6; N  26  1  63
используется мультипликативная подгруппа H={1, 2, 4, 8, 16, 32} .
114
{1, 2, 4, 8, 16, 32};
{3, 6, 12, 24, 48, 33};
{5, 10, 20, 40, 17, 34};
{7, 14, 28, 56, 49, 35};
{9, 18, 36};
{11, 22, 44, 25, 50, 37};
{13, 26, 52, 41, 19, 38};
{15, 30, 60, 57, 51, 39};
{21, 42};
{23, 46, 29, 58, 53, 43};
{27, 54, 45};
{31, 62, 61, 59, 55, 47}.
В этом разложении ситуация иная: кроме смежных классов с числом
членов 6 имеются классы (они выделены полужирным шрифтом) с меньшим
числом членов ( 2 и 3 ). Эти числа являются делителями числа 6  2  3 , и
GF (26 )
указывают на наличие в поле
подполей
GF (23 ), GF (22 )
и
соответствующих минимальных многочленов степеней 2 (корень  21 ) и 3
(корни  9 , 27 ). Эта ситуация соответствует выводу 5a) в предыдущем
разделе. Корни указанных многочленов имеют порядок 22  1  3 и 23  1  7
соответственно.
Полное
число
смежных
классов
равно
количеству
минимальных многочленов, т.е. 12 , среди них 9 многочленов имеют степень
6 , но только 6 из них являются примитивными (корни многочленов -
 , 5 , 11 , 13 , 23 , 31 ).
непримитивным
Остальные
многочленам,
корни
поскольку
(  3 , 7 , 15 )
числа
относятся
3, 7,15
имеют
к
с
N  (32 )  7  63 общие делители. Соответствующие классы выделены в
разложении курсивом. Эта ситуация соответствует выводу 5b) в предыдущем
разделе (см. также теорему 2.75). Эти результаты сведены в табл. 2.3.
115
Пример 3. Общий поход к анализу структуры полей GF (2n )
произвольного порядка
Одно из самых интересных свойств полей Галуа порядка 2n - возможность
существования в них подполей (или вложенных полей) меньшего порядка 2n1
( n1  n ). Такие подполя существуют, если n1 является делителем n (см.
пример 2). Это означает существование в поле GF (2n ) минимальных
многочленов степени меньше n . Нетрудно видеть, что среди всех элементов
такого поля существуют  k , являющиеся корнями минимального многочлена
степени n1 и имеющие порядок 2n1  1 . Структура таких полей зависит от
конкретных чисел n, n1 и их делителей. Если исходное число n - простое, то
можно точно сказать, что все минимальные многочлены имеют степень n и в
поле GF (2n ) вложенных полей не существует. Но при этом совсем не
обязательно, что порядок корней всех минимальных многочленов равен
2n  1 . Действительно, рассматривая циклическую выборку элементов поля с
шагом k
 k 0  1,  k ,  2 k ,...,  ik ,... ,
убеждаемся в том, что порядок элемента  k будет иметь максимальное
значение 2n  1 только при выполнении условия (k , 2n  1)  1. Кроме того,
можно точно сказать, что порядок элемента  k не будет иметь вид 2l  1 , где
l n.
Сравним структуры полей Галуа при n  5, 6,11 . Числа 5,11 являются
простыми, а, следовательно, все минимальные многочлены в полях
GF (25 ), GF (211 ) будут иметь степень 5 и 11 соответственно. На этом
сходство этих полей заканчивается. Число N  25  1  31 является простым,
поэтому минимальные многочлены будут также примитивными. Число
N  211  1  2047  23  89 имеет два делителя, причем ни один из делителей
не имеет вид 2l  1, где l  n . Это означает, что в поле GF (211 ) подполей
меньшего
порядка
(за
116
исключением
исходного
двоичного
поля
коэффициентов многочленов) нет. Поэтому элементы  k при условиях,
(k , 23)  1 или (k ,89)  1 являются корнями непримитивных многочленов, а
порядки этих корней будут иметь величину 89 и 23 соответственно.
Все четные числа n имеют хотя бы два делителя, следовательно, в полях
GF (22 n1 ) всегда существуют подполя и минимальные многочлены степеней
меньше n . Можно точно сказать, что в таких полях существуют подполя
GF (2n1 ) и минимальные многочлены степени n1  n / 2 . Поскольку 6  2  3 ,
то в поле Галуа GF (26 ) существуют подполя GF (22 ) и GF (23 ) . Вследствие
этого элементы  k поля GF (26 ) при условии, что числа k делят числа
(26  1) / (22  1)  21 или (26  1) / (23  1)  9 , являются корнями минимальных
многочленов степеней меньше n . Если же k делят числа 22  1  3 или
23  1  7 , то соответствующие им элементы  k будут являться корнями
непримитивных многочленов степени n .
Пример 4. Определение минимального многочлена по его
корням
Основой решения поставленной задачи является формула (2.49) и теорема
2.69. Кроме того, воспользуемся данными примера из предыдущего раздела и
табл. 2.1. Для наглядности повторим эту таблицу.
0 
1

1 
2 
 (010)
 (100)
2

3 
 (001)
4 
2 

5 
2 

6 
2 
1
 (011)
 (110)
1
 (111)
1
 (101)
Считаем, что минимальный многочлен m1 ( x)  1  x  x 3 степени 3 с
117
корнем  нам известен. Следовательно, известна и таблица представления
элементов поля GF (2n ) для n  3 .
Перепишем теперь (2.49) в более простой форме для варианта поля Галуа
GF (2n ) , считая корнем минимального многочлена  3 :
2
m3 ( x)   ( x   32 )  ( x   3 )( x   32 )( x   34 ) .
j
j 0
Выполнив перемножение и приведя подобные члены, получим
m3 ( x)  x3  x 2 ( 3   5   6 )  x( 1   2   4 )  1 .
(2.56)
Здесь учтено, что для любых целых k и n степень свободного члена
n 1
представляется в виде k  2i  k (2n  1)  0 (mod 2n  1) . Пользуясь только
i 0
приведенной таблицей, получим
m3 ( x)  x3  x 2 (1    1     2  1   2 )  x(   2     2 )  1 ,
откуда,
выполнив суммирование констант поля, окончательно получим
m3 ( x)  1  x 2  x 3 .
Итак, получив результат для столь простого на первый взгляд поля Галуа,
можно сделать ряд интересных и полезных выводов.
1) По существу в данном примере использовано свойство изоморфизма
полей Галуа – знание одного представления поля, задаваемое минимальным
примитивным многочленом m1 ( x) , позволяет найти все другие представления
поля.
2) Найденный многочлен m3 ( x) оказался удивительно похож на исходный
многочлен m1 ( x) . Разумеется, это не является общим результатом, но в
данном примере так должно было случиться. Получен так называемый
взаимный многочлен, имеющий симметричный (зеркальный) характер
расположения коэффициентов многочлена m3 ( x) по отношению к m1 ( x) .
Взаимные многочлены существуют в любом поле Галуа. Действительно,
k
пусть задан минимальный многочлен m( x)   ai xi ; a0  ak  1 степени k ,
i 0
118
корнем которого является элемент  порядка 2k  1 . Представим его в
следующем виде
m( x )  x
k
k
a x
i 0
 ( k i )
i
x
k
k
a
i 0
k i
Поскольку m( )  0 , то и
xi .
k
a
i 0
  i  0 , откуда следует, что элемент
k i
   1 является корнем многочлена
k
m* ( x)   ak i x i
с
«зеркальным»
расположением
коэффициентов
i 0
относительно многочлена m( x) . Осталось показать, что многочлены m( x) и
m* ( x) не совпадают. Предположим обратное, что эквивалентно выполнению
условия
принадлежности
   1
множеству
корней
k 1
( ,  2 , ...,  2 )
многочлена m( x) , т.е. выполнению равенства
l
l
 1   2 ; 0  l  k  1 или  2 1  1 ,
откуда следует, что порядок e элемента  должен быть равен e  2l  1 ,
что по условию невозможно ни при каком значении l . Таким образом, для
минимального многочлена m( x) всегда существует взаимный многочлен
m* ( x) .
Количество примитивных многочленов выражается формулой (она
доказана в разделе 4.1.1)
M
 ( p n  1)
n
,
k

1
где  (a )  a 1   ; a  p11 p2 2 ... pk k - функция Эйлера (см. раздел
pi 
i 1 
2.1.2.3). Для заданного поля порядка 23 ( p n  1  23  1  7 - простое число)
M  2 . Таким образом, мы должны были получить, выбирая корень  k
искомого многочлена либо m1 ( x) (тогда было бы использовано свойство
автоморфизма полей Галуа), либо двойственный к нему - m3 ( x) .
119
3) До сих пор никак не использовалась крайняя правая колонка в
рассматриваемой таблице представления поля GF (23 ) . Тот же результат
данного примера можно получить, используя векторное представление
элементов поля, которое содержится в указанной колонке таблицы, и
операции над матрицами. Перепишем (2.56) в виде
m3 ( x)  x3  x 2b2  xb1  1 .
Введем следующие обозначения:
E  1 1 1 - единичная вектор-строка;
A i   ai 2
ai1 ai 0  - вектор-строка, представляющая элемент  i
в
таблице;
 A1 
M1   A 2  - матрица размерностью 3  3 , представляющая слагаемые в
 
 A 4 
коэффициенте при x в (2.56);
A3 
M 2   A 5  - матрица размерностью 3  3 , представляющая слагаемые в
 
 A 6 
коэффициенте при x 2 в (2.56);
B j  b j 2
b j1 b j 0   0 0 b j 0 
-
вектор-строка
результата
для
коэффициента при x j .
Умножение E на M1 и M 2 дает вектор-строки B1 и B 2 соответственно,
т.е.
EM1  B1 ; EM 2  B 2 .
Преобразование вектор-строк B j в скаляры может быть выполнено
аналогичным способом
EB Tj  b j .
Учитывая то, что в вектор-строках B j значащими элементами являются
только b j 0 , последняя операция может быть опущена и при этом b j  b j 0 .
120
Итак, результатом матричных преобразований будут следующие вектор
строки:
0 1 0
1 1 1 1 0 0  0 0 0  B1 ;
1 1 0 
0 1 1
1 1 1 1 1 1  0 0 1  B 2 ,
1 0 1
откуда получим b1  b10  0 и b2  b20  1 .
Несмотря на некоторую громоздкость данного варианта вычислений по
сравнению с предыдущим, следует отметить, что реально такие вычисления
поручаются элементам цифровой техники (или процессорам компьютеров) и
выполняются чрезвычайно эффективно, в чем и заключается полезность
данного варианта.
4) Внимательный анализ выражения (2.56) показывает, что коэффициенты
многочлена представляют собой сумму корней одного и того же
минимального многочлена. Это не случайное совпадение, а закономерность,
которая детально рассмотривается в следующем разделе. Здесь достаточно
было, заметив этот факт, сделать интересный вывод: сумма корней
многочлена с коэффициентами из двоичного поля оказывается двоичным
числом.
Для многочленов больших степеней эта закономерность сохраняется, хотя
коэффициенты будут выглядеть сложнее - они будут содержать сумму
корней нескольких минимальных многочленов.
Пример 5. Определение минимального многочлена с помощью
линейных преобразований в поле Галуа
Задача
формулируется
следующим
образом.
Пусть
задан
один
минимальный многочлен, скажем m1 ( x)  1  x  x 3 из предыдущего примера.
Требуется найти минимальный многочлен mk ( x) с корнем, отличным от
121
корня многочлена m1 ( x) . Существенное отличие этой задачи от предыдущей
заключается в том, что здесь не используется корневая структура поля. Из
определения
поля
следует,
что
отображение
x  GF (2n )
в
y  x   ;   GF (2n ); y  GF (2n ) использует аддитивные свойства поля и,
следовательно, позволяет пробежать все элементы поля иным способом.
Применим такое преобразование к многочлену m1 ( x) :
mk ( x)  1  ( x   )  (x   )3  1  x    x3  x 2   x 2   3 или
mk ( x)  1     3  x(1   2 )  x 2   x 3 .
Во-первых, потребуем выполнения условия    3  0 , иначе mk ( x) будет
иметь в качестве делителя какую-либо степень x . Поскольку в GF (23 )
подполей нет и модуль N  23  1  7 - простое число, следовательно,
уравнение имеет два решения:
1)   0;
2)   1.
Первое решение тривиальное, а второе приводит к уже известному нам
результату:
mk ( x)  1  x 2  x3  m3 ( x) .
Разумеется, такое легкое решение обязано выбору поля с несложной
корневой
структурой,
но
полезность
данного
примера
состоит
в
демонстрации разнообразных подходов к решению практических задач.
Библиографическирй список
1. Виноградов И.М. Основы теории чисел. – М: Наука, 1972.
2. Берлекэмп Э. Алгебраическая теория кодирования. – М: Мир, 1971.
3. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. – М: Мир, 1976.
4. Михайлов В.Ю. Математические основы анализа и синтеза сложных
сигналов и процедур их обработки. – М: Издательство МАИ, 1994.
Рис.2.1. Алгоритм поиска НОД (525, 231)
Рис.2.2. К выводу формулы для вычисления символа Лежандра
Рис.2.3. Пример алгоритма деления «столбиком»
 i (mod f ( x))
i
0 
1
 (100)
2

3 
 (001)
 (010)

1 
2 
Двоичный вектор
4 
2 

5 
2 

6 
2 
1
 (011)
 (110)
1
 (111)
1
 (101)
Таблица 2.1. Пример перечисления ненулевых элементов поля GF (23 )
i
 i (mod f ( x))
Двоичный вектор
0 
1
2 
3 
 (0100)
2
 (1000)
3

4 
5 
2 
6 
3 
7 
3 
8 
9 
 (0010)

1 
1
 (1100)
2

1
 (1001)
1
 (0101)
 (1010)

3 
 (0011)
 (0110)

2 
 10 
 (0001)
2 

 11 
3 
2 

 12 
3 
2 

 13 
3 
2 
 14 
3 
1
 (0111)
 (1110)
1
 (1111)
1
 (1101)
1
 (1001)
Табл. 2.2. Пример перечисления ненулевых элементов поля GF (24 )
Лидеры Степень
Порядок
Примитивный Корень
минимального корня
подполе
многочлена
1
6
26  1  63
да
нет
3
6
21  63 / 3
нет
нет
5
6
26  1  63
да
нет
7
6
9  63 / 7
нет
нет
9
3
23  1  7
нет
GF (23 )
11
6
26  1  63
да
нет
13
6
26  1  63
да
нет
15
6
21  63 / 3
нет
нет
21
2
22  1  3
нет
GF (22 )
23
6
26  1  63
да
нет
27
3
23  1  7
нет
GF (23 )
31
6
26  1  63
да
нет
Табл. 2.3. Корневая структура GF (26 )
в
122
3. Линейные переключательные схемы
[1, с. 195-205; 2]
Мощное развитие цифровой техники, автоматизированных средств
разработки программ предоставляют сегодня богатейший выбор способов
реализации
устройств
кодеков.
Традиционно
различают
два
противоположных способа реализации устройств: аппаратный (hardware) и
программный (software), хотя сегодня справедливей было бы назвать все (или
почти
все)
реализации,
решения
имея
программно-аппаратными.
самое
высокое
Чисто
быстродействие,
не
аппаратные
обеспечивают
требуемой гибкости устройств, не обладают способностью к быстрой
модернизации устройств (ограничивая тем самым срок «жизни» устройств),
исправлению проектных ошибок и т.д. Чисто программные реализации
обладают сравнительно более низким быстродействием и требуют наличия
специальной операционной платформы. Однако специфика операций
кодирования
и
декодирования,
базирующихся
на
алгебраических
преобразованиях, обнаруживает определенное сходство аппаратных и
программных решений. Например, аппаратным ядром компьютерных
процессоров
являются
регистры,
а
самыми
быстрыми
операциями,
выполняемыми универсальными процессорами, – операции с памятью и
двоичная арифметика. Основу аппаратных решений составляют, по
существу, те же элементы. Данный раздел посвящен рассмотрению
основных, но линейных операций, выполняемых практически любым
кодеком.
Приводимые
и
анализируемые
схемы
следует
в
целом
воспринимать как модели устройств, реализовать которые можно и
аппаратно, и программно (в том числе используя низкоуровневые языки
программирования, позволяющие оперировать регистрами процессора и
памятью).
123
Определения
Предполагается, что в линейных переключательных схемах (ЛПС)
информация представлена с помощью элементов поля GF ( p ) , причем
основное внимание уделяется двоичному случаю ( p  2 ). ЛПС строятся на
основе трех основных типов элементов (рис. 3.1):
1) сумматор в поле GF ( p ) , имеющий два (рис. 3.1b) или более (рис. 3.1a)
входов и один выход;
2) элемент умножения на константу поля GF ( p ) , имеющий один вход и
один выход (рис. 3.1c);
3) элемент памяти на k разрядов с одним входом и выводом от каждого
разряда (обычный регистр сдвига, рис. 3.1d); с k входами и выводом от
каждого разряда (регистр сдвига с параллельным входом, рис. 3.1e); с одним
или k входами с входной логикой «исключающее ИЛИ» и выводом от
каждого разряда (комбинированный регистр сдвига, рис. 3.1f).
Линейными переключательными схемами с конечным числом состояний
называются любые схемы, содержащие конечное число сумматоров,
элементов памяти и элементов умножения на константу, соединенных
любым допустимым способом. В двоичном случае сумматор представляет
собой логический элемент «исключающее ИЛИ» (сумматор по модулю 2 ).
Наличие в схеме умножителя на константу, равную 1 или 0 , эквивалентно
наличию или отсутствию соединения соответственно.
Предполагается, что входной и выходной сигналы представляют собой
временную дискретную последовательность, состоящую из элементов
основного поля GF ( p ) . ЛПС в силу алгебраической природы сигналов в
большинстве случаев имеют дело с многочленами, например выполняют
операции
сложения,
непосредственные
умножения
операции
над
или
деления
многочленами
многочленов.
в
ЛПС
Однако
заменяются
операциями над коэффициентами многочленов – элементами поля GF ( p) ,
при этом номер i коэффициента ai при члене xi многочлена в точности
соответствует номеру элемента (символа) дискретной последовательности,
поступающей на вход ЛПС, относительно первого элемента. Разумеется, для
обеспечения указанного соответствия каждая ЛПС должна включать
некоторое вспомогательное синхронизирующее устройство – тактовый
генератор. Это устройство является неотъемлемой частью любой цифровой
124
схемы, но для упрощения представлений ЛПС опускается. При этом
подразумевается, что любая операция с элементами памяти (чаще всего,
регистрами сдвига) выполняется синхронно, т.е. в определенные моменты
времени, задаваемые тактовым генератором. В ЛПС как модели реальных
устройств это правило отображается так: «при поступлении i -го символа на
вход …». В операциях деления многочленов у многочлена-делимого сначала
должны быть обработаны коэффициенты высших степеней, поэтому
коэффициенты многочлена (символы) поступают на вход ЛПС начиная с
высших номеров-порядков. Так, многочлен
f ( x)  f n x n  f n1 x n1  ...  f 0
будет поступать на вход ЛПС или появляться на ее выходе в виде
последовательности из n элементов поля GF ( p ) и начинаться она будет с
элемента f n . В следующих тактах работы ЛПС появится элемент f n1 , за ним
f n2 и т.д.
3.1. Схемы для умножения многочленов
В этом разделе описываются ЛПС, выполняющие операции умножения
или деления любого многочлена на некоторый фиксированный многочлен.
На рис. 3.2 и 3.3 приведены два варианта ЛПС для умножения
многочленов.
Обе схемы производят умножение многочлена-множимого
a ( x)  ak x k  ak 1 x k 1  ...  a1 x  a0
на фиксированный многочлен
h( x)  hr x r  hr 1 x r 1  ...  h1 x  h0 .
Предполагается, что первоначально устройство памяти содержит нули, а
на
вход
поступают
коэффициенты
многочлена
a ( x)
начиная
с
коэффициентов высших степеней, после чего следует r нулей, как показано
на рис. 3.4.
Произведение равно
125
a ( x)h( x)  ak hr x k  r  (ak 1hr  ak hr 1 ) x k  r 1 
(ak 2 hr  ak 1hr 1  ak hr 2 ) x k  r 2  ... 
(a0 h2  a1h1  a2 h0 ) x 2  (a0 h1  a1h0 ) x  a0 h0 .
На рис. 3.5, 3.6 показаны два первых и два последних состояния схемы
соответственно.
Логика работы ЛПС полностью отвечает логике работы регистров сдвига:
входной символ записывается в ячейку по такту i , а поступает на выход этой
ячейки по такту i  1. Этим и объясняется еще одно наименование регистра
сдвига: «цифровой элемент задержки». Поэтому при поступлении на вход
схемы первого символа ak он сразу появляется на выходе схемы, а на выход
первой ячейки регистра сдвига поступит в следующем такте, как это
показано на рис. 3.5. Специфика этого варианта схемы умножения состоит в
том, что текущий результат умножения поступает непосредственно на выход
ЛПС в виде цифрового потока.
Схема умножения многочленов, представленная на рис. 3.3, представляет
несколько больший интерес, по крайней мере, по двум причинам. Во-первых,
текущий результат умножения сохраняется в регистре сдвига. Во-вторых, эту
схему легко трансформировать в схему умножения суммы любого
количества многочленов-множимых на фиксированный многочлен. Более
того, можно даже для каждого многочлена-множимого задать различные
фиксированные многочлены-множители. Как видно, это требует применения
многовходовых сумматоров по модулю 2 . На рис. 3.7 представлен вариант
такой схемы.
Результат работы схемы таков:
b( x)  a1 ( x)h( x)  a2 ( x )k ( x) ,
где h( x), k ( x) - многочлены одинаковой степени r . Если степени
многочленов h( x), k ( x) не совпадают, то в качестве r можно выбрать
наибольшую из степеней многочленов и присвоить нулю коэффициенты
высших степеней многочлена с меньшей степенью. На рис. 3.8a и 3.8b
приведены
два
варианта
126
схем
умножения
на
многочлен
деления
многочлена
h( x )  x 6  x 5  x 4  x 3  1 .
3.2. Схемы для деления многочленов
На
рис.
3.9
приведена
a ( x)  an x n  an1 x n1  ...  a1 x  a0
схема
степени
для
n
на
многочлен
g ( x)  g r x r  g r 1 x r 1  ...  g1 x  g 0 степени r .
В этой схеме умножитель на коэффициент g r1 по существу выполняет
нормирование многочлена g ( x) , а умножитель на 1 в цепи обратной связи
обеспечивает вычитание каждого текущего частного из текущего делимого,
оставляя в каждом такте работы схемы текущий остаток от деления a ( x) на
g ( x) . Алгоритм деления мало отличается от процедуры обычного деления
«столбиком». Первое отличие заключается в том, что регистр сдвига
предварительно заполняется нулями и схеме требуется r тактов работы, пока
регистр сдвига не заполнится входными данными. Второе отличие состоит в
том, при делении «столбиком» мы «угадываем» следующий член целой части
делимого, в то время как электронная схема выполняет шаг за шагом
положенные операции сдвига и вычитания. Поясним работу схемы на
примере деления многочлена
a ( x)  x13  x11  x10  x 7  x 4  x 3  x  1
на многочлен
g ( x)  x 6  x5  x 4  x3  1
с коэффициентами из двоичного поля.
На рис. 3.10 приведена схема для деления, а на рис. 3.11 – шаги
процедуры деления «столбиком».
Алгоритм работы схемы в каждом такте можно выразить выражением
B i+1  ( A i+1  bri 1G * )  (B i ) ,
(3.1)
где Bi , Bi+1 - двоичные вектора содержимого регистра сдвига в i -м и i  1 -
127
м тактах работы схемы соответственно;
B i  - означает «чистый», т.е. без учета воздействия обратной связи,
сдвиг B i вправо;
A i+1  {ai 1 , 0,..., 0} - двоичный вектор входных данных;
bri 1 - содержимое старшего разряда регистра сдвига в i -м такте работы;
G * - векторное представление выражения g ( x)  x 6  x 5  x 4  x3  1 .
Смысл выражения (3.1) становится более понятным, если добавить к
схеме на рис. 3.10 дополнительный «фиктивный» разряд (он маркирован
штриховой окантовкой), никак не влияющий на работу схемы. Тогда (3.1)
полезно преобразовать к виду
B i+1  ( A i+1  (B i ))  bri G ,
где
G
-
векторное
(3.2)
представление
выражения
многочлена
g ( x)  x 6  x5  x 4  x 3  1 . В этом алгоритме сначала выполняется операция
A i+1  (B i ) , означающая сдвиг содержимого регистра сдвига вправо с
замещением младшего разряда новым значением
ai 1 . При этом в
дополнительном разряде появляется значение bri , которое при bri  1
формирует цепь обратной связи (показана штриховой линией) в виде
векторного представления многочлена g ( x) . Вектор G , суммируясь с новым
содержимым регистра сдвига, формирует выходной сигнал схемы (показан
штриховой линией). При таком представлении схема вычисляет значение
текущего остатка по модулю многочлена g ( x) . Этот взгляд будет полезен в
следующем разделе.
На этом рисунке левая колонка цифр, обведенных кружком, отображает
номера тактов, в которых как раз и производится последняя операция в (3.1)
при bri 1  1 .
Схема для деления многочлена a ( x) на многочлен g ( x) , приведенная на
рис. 3.9, может быть объединена со схемой умножения того же многочлена
на многочлен h( x) , показанной на рис. 3.3.
128
В качестве примера на рис. 3.12, 3.13 приведены две комбинированных
схемы для одновременного умножения и деления на соответствующие
многочлены.
В этой схеме степень многочлена g ( x) больше степени многочлена h( x) .
В противоположность этой ситуации в схеме на рис. 3.13 степень h( x)
превышает степень g ( x) .
Отметим,
что
для
завершения
деления
требуется
произвести
дополнительные deg h( x)  deg g ( x)  4 сдвига при нулевом сигнале не входе
схемы
3.3. Схемы вычислений в полях Галуа
ЛПС, описанные в предыдущем разделе, могут быть легко адаптированы
для вычислений в алгебре многочленов по модулю заданного, например,
неприводимого (или примитивного) многочлена g ( x) . Это хорошо видно из
выражения (3.2).
Используем для иллюстрации этого вывода примитивный многочлен
g ( x)  x3  x  1 над полем GF (2) с корнем  . Класс вычетов {x}  
является примитивным элементом поля GF (23 ) . Соответствующая схема
деления на g ( x) приведена на рис. 3.14.
Если в ячейку младшего разряда поместить единицу, а в остальные ячейки
- нули, то последовательные сдвиги регистра в варианте схемы a ) дадут
представление последовательных степеней элемента  , начиная с  0  1 .
Оно совпадает с представлением в табл. 2.1 раздела 2.2.5.2.
В варианте схемы 3.14b направление сдвига изменено, поэтому эта схема
вычисляет последовательные степени  1 .
Схемы вычислений степеней  и  1 могут применяться совместно,
например, для умножения двух элементов поля. Поместим сомножитель  k в
регистр сдвига на схеме a ) , а сомножитель  l в регистр сдвига в схеме на
129
рис. 3.14b и синхронно выполним в этих схемах сдвиг содержимого до тех
пор, пока в схеме на рис. 3.14b не появится представление  0  1 . Ясно, что
это произойдет через l тактов работы обеих схем, вследствие чего в схеме на
рис. 3.14a появится представление элемента  k l . Те же схемы можно
использовать и для поиска элемента, обратного заданному элементу  k . Для
этого запишем представление элемента  k в регистр сдвига схемы на рис.
3.14a, а представление  0  1 - в регистр сдвига схемы на рис. 3.14b.
Произведем синхронно сдвиги до тех пор, пока в регистре сдвига схемы на
рис. 3.14a не появится представление  0  1 . Ясно, что это произойдет через
23  1  k (в общем случае, т.е. в поле GF (2n ) , через 2n  1  k тактов) и в
регистре сдвига схемы на рис. 3.14b появится представление элемента
3
 2 1k    k , т.е. обратного элементу  k .
Деление элементов осуществляется аналогичным способом.
3.4.
Линейные
рекуррентные
схемы
(генераторы)
Рассмотрим рекуррентное соотношение вида
k
h a
j 0
j i j
 0,
(3.3)
где h0  0; hk  1 и h j принадлежат полю GF ( p ) . Тогда (3.3) можно
привести к виду
k 1
ai k   h j ai  j .
(3.4)
j 0
Это соотношение определяет правило вычисления ai k по известным k
предыдущим значениям ai  j ; j  0,1, ..., k  1 для произвольного значения i .
Поскольку уравнения (3.4) для любого значения i линейны, то любая
линейная комбинация их решений также является решением уравнения, и все
они образуют векторное пространство (см. раздел 2.2.2). Определим базис
130
векторного пространства следующим образом. Совокупность из k решений
(3.4) при i  0 для начальных условий
1
0

(a0 , a1 , ..., ak 1 )   
0

0
0  0 0;
1  0 0;
 
 
0  1 0;
0  0 1
порождает все пространство решений, а следовательно, размерность
пространства решений не превосходит k . Так как a0 , a1 , ..., ak 1 линейно
независимы, то размерность пространства равна k .
На рис. 3.15 изображена ЛПС, которая может быть использована для
вычисления суммы (3.4).
Исходные величины a0 , a1 , ..., ak 1 записываются
в разряды регистра
сдвига, последовательные сдвиги которого соответствуют вычислению
последовательных символов, и выход после i -го сдвига равен ai . Это
устройство
называется
генератором
линейных
рекуррентных
последовательностей (ЛРП).
Решения линейных рекуррентных соотношений описываются следующей
теоремой.
Теорема 3.1
Пусть h( x)  hr x r  hr 1 x r 1  ...  h1 x  h0 , причем h0  0; hk  1 и n наименьшее целое положительное число, для которого двучлен x n  1
делится на h( x) .
Пусть, далее, g ( x)  ( x n  1) / h( x) . Тогда решения рекуррентных
уравнений (3.3) цикличны с периодом n и совокупность, составленная из
первых периодов всех возможных решений, рассматриваемых как вычеты
a ( x)  a0 x n1  a1 x n2  ...  an2 x  an1 по модулю x n  1 , совпадает с идеалом,
порожденным многочленом g ( x) в алгебре многочленов по модулю x n  1 .
Заметим, что при таком определении многочлена a ( x) индексы (порядок)
коэффициентов a0 , a1 ,..., an1 противоположны принятому ранее в этом
разделе.
131
Доказательство
Сначала покажем, что если класс вычетов {a ( x)} принадлежит идеалу,
порожденному многочленом g ( x) , то последовательность периода n
a0 , a1 ,..., an1 , a0 ,...
является решением уравнений (3.3). Для этого рассмотрим произведение
{a ( x)}{h( x)}  {c( x)} ,
где
a ( x)  a0 x n1  a1 x n2  ...  an2 x  an1 ;
h( x)  hk x k  hk 1 x k 1  ...  h0 ;
c( x)  cn1 x n1  cn2 x n2  ...  c0 .
Найдем выражение для коэффициента cl при степени xl в многочлене
c( x) . При этом можно воспользоваться аналогичным выражением (2.41),
приведенным в разделе 2.2.4.4 («Алгебра классов вычетов многочленов»).
Общее выражение для cl имеет вид
cl 

i , j ; i  j l
h j an1i (mod n )
или
k
cl   h j an1l  j (mod n ) ,
(3.5)
j 0
где 0  i  n  1, 0  j  k - степени x в многочленах a ( x) и h( x)
соответственно. Из теоремы 2.60 в разделе 2.2.4.4 следует, что если класс
вычетов {a ( x)} принадлежит идеалу {g ( x)} , то {a ( x)}{h( x)}  0 и,
следовательно, в (3.5) cl  0 для любого l . Но каждое из уравнений (3.3)
эквивалентно соответствующему уравнению (3.5), поэтому если класс
вычетов {a ( x)} принадлежит идеалу {g ( x)} , то периодическая
последовательность
a0 , a1 ,..., an1 , a0 ,...
является решением рекуррентных уравнений (3.3), (3.4).
Поскольку степень многочлена g ( x)  ( x n  1) / h( x) равна n  k , то, по
теореме 2.59 в разделе 2.2.4.4, размерность идеала {g ( x)} равна k . Она
совпадает с размерностью пространства решений, откуда в соответствии с
теоремой 2.41 в разделе 2.2.2 следует, что идеал должен содержать все
решения.
132
Некоторые из решений могут иметь период меньше n , но должны
существовать и решения, для которых это неверно. В частности, решение,
получаемое из {g ( x)} , имеет период, равный n . Это можно показать
следующим образом. Если период такого решения n1 меньше n , то,
очевидно, n1 - делитель n и каждый блок из n символов состоит из n / n1
повторяющихся блоков из n1 символов. В этом случае должно выполняться
равенство
g ( x)  q ( x)( x n  1) / ( x n1  1) .
Тогда в соответствии с условием теоремы
x n1  1  h( x)q ( x) ,
что противоречит предположению о том, что n - наименьшее целое число,
для которого многочлен x n  1 делится на h( x) . Ч.т.д.
Ниже приводится ряд полезных примеров решений рекуррентных
уравнений.
Пример 1
На рис. 3.16 приведен генератор ЛРП, соответствующий многочлену
h( x)  x8  x 6  x5  x3  1 над полем коэффициентов GF (2) .
h( x)  x8  x 6  x5  x3  1 - примитивный многочлен, а следовательно, он
делит многочлен x 255  1 . Никакой другой многочлен вида x n  1 при n  255
не делится на h( x) . Таким образом, период выходной последовательности
регистра сдвига равен 255 . Это максимально возможная длина для 8 разрядного генератора ЛРП.
Все сведения, существенные для изучения циклических кодов, в наиболее
удобной форме даются теоремой 3.1. Используя эту теорему, легко
определить возможные периоды ЛРП для заданного генератора (или
многочлена).
Рассмотрим
рекуррентное
соотношение,
следуя
обозначениям,
используемым в теореме 3.1. Пусть  - любой корень многочлена h( x)
степени
k,
лежащий,
последовательность
вообще
говоря,
в
расширении
поля.
Тогда
133
1,  ,  2 ,  3 ,... ,
очевидно,
удовлетворяет
рекуррентному
соотношению.
Поскольку
рекуррентное соотношение линейно, то любая линейная комбинация
последовательностей возрастающих степеней корней  является решением
уравнения
bi  a1 i ,1  a2 i ,2  ...  ak i ,k ,
(3.6)
где  i ,1 ,  i ,2 , ...,  i ,k - k различных корней многочлена h( x) , а a1 , a2 , ..., ak произвольные константы поля. Так как известно, что размерность
пространства решений равна k и в соотношении (3.6) - k произвольных
постоянных, то результатом является полная совокупность решений.
Библиографический список
1. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. – М: Мир, 1976.
2. Михайлов В.Ю. Математические основы анализа и синтеза сложных
сигналов и процедур их обработки. – М: Издательство МАИ, 1994.
Рис.3.1. Элементы линейных переключательных схем
Рис.3.10. Схема для деления на многочлен g ( x)  x 6  x 5  x 4  x3  1
Рис.3.11. Процедура деления «столбиком»
Рис.3.12. Схема для умножения на h( x) и одновременного деления на
g ( x)
Рис.3.13. Другой пример схемы с условием deg g ( x)  deg h( x)
Рис.3.14. Вычисление  i и  i в поле GF (23 )
Рис.3.15. Генератор линейных рекуррентных последовательностей
Рис.3.16. Пример генератора ЛРП максимальной длины
Рис.3.2. ЛПС с хранением в регистре коэффициентов множимого
Рис.3.3. ЛПС с хранением в регистре результата умножения
Рис.3.4. Структура входной последовательности
Рис.3.5. Два первых состояния схемы
Рис.3.6. Два последних состояния схемы
Рис.3.7. Схема для умножения двух многочленов
Рис.3.8. Варианты схем умножения на многочлен h( x)  x 6  x 5  x 4  x 3  1
Рис.3.9. Схема для деления многочлена a ( x) на многочлен g ( x)
134
4. Основы алгебры кодирования
4.1. Математическое описание алгебраических
кодовых последовательностей
Данный раздел имеет целью ввести и проанализировать различные
модели-представления абстрактного поля Галуа и его элементов в
пространстве
двоичных
кодовых
последовательностей
и
других
пространствах, позволяющих лучше представить смысл алгебраических
операций для эффективного решения прикладных задач.
4.1.1. Построение множеств упорядоченных элементов
Решение большинства практических задач кодирования связано с
построением и обработкой упорядоченных множеств элементов, т.е.
множеств элементов, перечисляемых по определенному правилу. В данном
разделе рассматриваются основные проблемы перечисления элементов в
числовых и абстрактных множествах.
Числовые множества Галуа рассмотрены в разделах 2.1 («Основы теории
чисел») и 2.2.4.2 («Идеалы и классы вычетов целых чисел»). В соответствии с
теоремой 2.52 числовое множество является полем только при выборе
простого модуля.
Под абстрактными полями будем понимать поля Галуа как расширения
GF ( p n ) над полем GF ( p ) коэффициентов многочленов степени n . Эти поля
рассмотрены,
подчеркивается
в
основном,
в
невозможность
разделе
2.2.5.
прямого
В
(т.е.,
этом
определении
непосредственного)
представления элементов GF ( p n ) как корней кольца многочленов.
Оба типа множеств определяются как системы вычетов. В качестве
модуля для построения системы вычетов в числовых полях используется
простое число, а в абстрактных полях (расширениях над числовым полем
135
коэффициентов многочленов) – неприводимый многочлен выбранной
степени. В этом смысле модули как алгебраические конструкции имеют
определенное и принципиальное сходство – они должны быть простыми (не
должны иметь делителей в своем алгебраическом пространстве). Можно
обнаружить полезную и интересную связь числовых и абстрактных полей
Галуа.
Рассмотрим сначала все ненулевые элементы абстрактного поля GF ( p n ) .
Они могут быть представлены в виде различных степеней (  i ; 0  i  p n  1 )
примитивного элемента 
поля GF ( p n ) . Отметим, что примитивный
элемент  существуют в любом поле GF ( p n ) . Принимая естественный
порядок перечисления элементов поля
1,  ,  2 ,...,  p
n
2
,
видно, что все возможности изменения способа перечисления элементов
связаны с выбором примитивного элемента  , т.е. с выбором примитивного
многочлена степени n .
Определения
В алгебре полей Галуа и кодировании имеют большое значение и широко
используются разнообразные преобразования или отображения элементов
полей. Среди них существуют взаимно однозначные и взаимно
отображения.
Примером
взаимно
неоднозначного
неоднозначные
отображения является отображение элементов поля Галуа на пространство
символов кодовой (в частности, двоичной) последовательности. Такое
отображение подробно рассмотрено в разделе 4.1.2.2. Взаимно однозначные
отображения связаны чаще всего с изменением порядка перечисления
элементов поля. Изоморфизмом называется взаимно однозначные
отображения элементов поля Галуа, получаемые при выборе различных
примитивных элементов, степени которых пробегают все ненулевые
элементы поля Галуа. Иными словами, изоморфизм – преобразование корней
одного примитивного многочлена в корни другого примитивного
многочлена. Некоторые преобразования приводят к отображению корней
одного примитивного многочлена в корни того же самого многочлена. Такие
отображения называются автоморфизмом.
Следующие две теоремы определяют способы формирования различных
136
эквивалентных представлений одного и того же поля Галуа.
Теорема 4.1
Если  - примитивный элемент в GF ( p n ) , то    k ; (k , p n  1)  1 - также
примитивный элемент в GF ( p n ) .
Доказательство
Поскольку  - примитивный элемент в GF ( p n ) , то порядок e элемента 
равен e  p n  1 (см. раздел 2.2.5.3 «Полезные обобщения и выводы»).
Пользуясь аппаратом сравнений (см. раздел 2.1.3 «Сравнения и вычеты»), это
же условие выглядит как
e  0 (mod p n  1) .
Предположим теперь, что порядок ek элемента  k меньше порядка e . Но
порядок ek элемента  k должен являться делителем p n  1, откуда имеем
( k )ek  ( ) kek  1 или
kek  0 (mod p n  1) ,
откуда следует, что и k должен быть делителем p n  1, что противоречит
условию (k , p n  1)  1 . Ч.т.д.
Теорема 4.2
Количество M
формулой
M
 ( p n  1)
n
примитивных многочленов степени n определяется
, где  ( p n  1) - функция Эйлера для модуля p n  1 .
Доказательство
1
a  p n  1  p11 p2 2 ... pk k ,
;
pi 
i 1 
рассмотренная в разделе 2.1.2.3, определяет количество чисел ряда
0, 1, 2,..., p n  1 , взаимно простых с p n  1 . По теореме 4.1 значение  ( p n  1)
совпадает с количеством различных степеней k , порождающих из
примитивного элемента  полное множество  k примитивных элементов в
поле GF ( p n ) . Но в этом множестве присутствуют подмножества корней
k
Функция
Эйлера

 ( a )  a  1 
137
одних и тех же примитивных многочленов. Поскольку порядок всех корней
одного и того же многочлена одинаков (см. теорему 2.74), а степени
примитивных многочленов равны n , то количество примитивных
многочленов в n раз меньше количества примитивных элементов, т.е.
M
 ( p n  1)
n
.
(4.1)
Это же значение определяет количество различных изоморфных
отображений элементов поля Галуа. Ч.т.д.
Рассмотренные теоремы позволяют перейти из абстрактного в числовое
поле
с
целью
формализации
и
упрощения
процедур
построения
упорядоченных множеств элементов поля GF ( p n ) . Перечислим главные
задачи такой формализации.
1) Генерация множества чисел, удовлетворяющих условию (k , p n  1)  1 .
2) Генерация множества чисел, удовлетворяющих условиям (k , p m  1)  1,
где m - один из делителей n .
3) Генерация множества чисел, не удовлетворяющих условиям задач 1 и 2.
В
соответствии
с
выводом
5
(«Порядки
корней
минимальных
многочленов») раздела 2.2.5.3. («Полезные обобщения и выводы») решение
этих задач эквивалентно перечислению всех минимальных многочленов и их
корней или полному анализу корневой структуры данного поля Галуа.
Перейдем теперь к числовому множеству, т.е. множеству чисел
i; 0  i  p n  1 ,
являющихся
степенями
абстрактных
элементов
i .
Тривиальным решением всех трех перечисленных задач является перебор
элементов множества с проверкой соответствующих условий и разделением
всех элементов на три не перекрывающихся подмножества. Разумеется,
эффективные алгоритмические решения должны использовать групповую
(например, мультипликативную) структуру полей Галуа и разложение систем
вычетов на смежные классы.
Нетривиальные
решения
требуют
определения
математических
соотношений, устанавливающих соответствующие правила формирования
указанных подмножеств, если это возможно.
138
Первое ограничение на этом пути – числовое множество является полем
Галуа только в случае, когда модуль p n  1 - простое число. Но если это так,
то из трех перечисленных задач актуальной остается только первая,
поскольку для простого модуля условие (k , p n  1)  1 выполняется при
любом k . Если исключить из числового поля число 0 , то оставшееся
множество будет являться мультипликативной группой, для которой
аналитическое решение первой задачи существует и связано оно с понятием
первообразного корня (см. раздел 2.1.5 «Первообразные корни и индексы» и
выводы к нему). В этом разделе показано, что первообразные корни по
простому модулю существуют всегда, значит существует возможность
формирования упорядоченных множеств чисел – степеней  , используя
первообразный корень g . По определению первообразный корень g имеет
порядок  ( p n 1) , а следовательно, все степени g j ; 0  j   ( p n  1)  p n  2
пробегают все ненулевые элементы числового поля. Сам по себе этот
результат не представляет практического интереса. Однако следующая
теорема показывает вариант полезного его использования.
Теорема 4.3
Подмножество из первых M 
 ( p n  1)
степеней первообразного корня g
n
по простому модулю p n  1 содержит по одному числу, представляющему
степень корня каждого из примитивных многочленов, существующих в поле
GF ( p n ) , т.е. подмножество чисел
g 0 , g , g 2 , ..., g M 1
по модулю p n  1 является подмножеством чисел, являющихся степенями
следующего подмножества элементов абстрактного поля GF ( p n ) :
 k ,  k ,  k , ...,  k , где  - примитивный элемент, а ki  g i 1 (mod p n  1) ,
1
2
3
M
j
причем ki не является решением сравнения ki  kip (mod p n  1) ни при каких
1  i  M ;1  j  n 1 .
139
Доказательство
По существу доказательство сводится к определению минимальной
величины l в диапазоне 1  l  n  1, для которой выполняется сравнение
g i l  g i p k (mod p n  1);1  i  M , 0  k  n  1 или, учитывая, что p n  1 простое число,
g l  p k (mod p n  1) .
(4.2)
Поскольку далее необходимо оперировать с величинами степеней в обеих
частях (4.2), воспользуемся их представлением в виде целочисленных
аналогов логарифмов – индексов по основанию g (см. раздел 2.1.5.2
«Индексы по модулям p и 2 p »):
l  ind g p k (mod p n  2) или
l  k  ind g p (mod p n  2) .
(4.3)
Второй сомножитель в правой части (4.3) является константой, что
позволяет сделать первый вывод о характере изменения l в зависимости от
k . Очевидно, что эта зависимость - линейная и при увеличении k на единицу
l изменяется на величину ind g p (mod p n  2) . Отсюда можно предположить,
что минимальное значение l достигается при k  0 . Однако из (4.2) следует,
что данное значение l  p n  2   ( p n  1) - максимальное и равно порядку
первообразного корня g . В соответствии с теорией сравнений это означает,
что в данном случае следует привести положительную величину
ind g p (mod p n  2) к отрицательной в виде (( p n  2)  ind g p (mod p n  2)) ,
что, очевидно, никак не изменяет само значение константы. Таким образом,
приходим к выводу, что минимальное значение l достигается при k  n  1 .
Саму величину lmin удобнее найти с помощью следующих простых
рассуждений. Поскольку диапазон изменений (максимальное значение) l
составляет lmax  p n  2   ( p n  1) , шаг изменения значений l - константа и
количество различных дискретных значений l равно n , то минимальное
значение l равно величине шага, т.е.
lmin 
pn  2
. Ч.т.д.
n
Практическое значение этого результата связано с тем фактом, что для
определения соответствующего примитивного многочлена по теореме 2.69
достаточно знать лишь один из его корней.
140
4.1.2. Отображение элементов поля Галуа в элементы
кодовых последовательностей
4.1.2.1.
Проблема
неоднозначности
соответствия
минимальных
многочленов и их корней
Раздел 2.2.5 определил алгебраически полное, но неоднозначное
соответствие между элементами поля Галуа GF ( p n ) и всеми минимальными
многочленами степени n и менее. Причина неоднозначности - абстрактный
характер поля Галуа и невозможность явного представления корней
минимальных многочленов. Это не является ограничением для решения
теоретических задач, однако создает определенные трудности для практики
кодирования.
многочлена
Действительно,
доказать,
что
корнем
минимального
f ( x)  1  x  x 4 в GF (24 ) является корень  , а не  7 ,
невозможно. Однозначное соответствие может быть дано только в случае
четкого указания хотя бы одного минимального примитивного многочлена,
например f1 ( x) , и его корня  . Все остальные соответствия после этой
договоренности
уже
становятся
однозначными.
Следствием
этой
договоренности является создание разными авторами таблиц минимальных
многочленов [1, 2]. Хотя, в целом, выбор f1 ( x) следует определенному
правилу - выбирается многочлен с минимальным количеством ненулевых
коэффициентов, причем предпочтение отдается ненулевым коэффициентам
при меньшей степени x - разночтения все-таки существуют. В частности,
записи таблиц для n  7;14 в [1, с. 513-532; 2, с. 548-554] выглядят поразному.
Существует и другая проблема. На тот момент времени, когда указанные
таблицы создавались, эффективная цифровая техника только создавалась, да
и потребности практики были не сопоставимыми с сегодняшними.
Современное положение вещей таково, что в сложных информационных
системах, использующих помехоустойчивое кодирование и шифрование
141
данных, стремятся выбирать многочлены более сложной структуры, т.е. с
большим количеством ненулевых коэффициентов и с большей степенью.
Такие многочлены в таблицах вообще, скорее всего, отсутствуют.
Наконец, нельзя не считаться и с такой проблемой практического
свойства, как длинные записи многочленов и их степеней. Достаточно
упомянуть пример с многочленом степени n  100 , приведенный в разделе
2.2.5.2.
Современный подход к устранению или хотя бы к минимизации
возможных
конфликтов
состоит
следующем.
Во-первых,
таблицы
многочленов в той или иной форме следует хранить в базах данных. Вовторых, возможно, более эффективно регенерировать требуемый многочлен
на основе f1 ( x) , что приводит к необходимости хранения только f1 ( x) для
каждой степени n . Следуя этому подходу, в табл. 4.1 сведены данные обо
всех минимальных многочленах f1 ( x) и их корнях для n от 2 до 16
включительно. В этой таблице для каждой степени многочлена приводится
набор (если это необходимо) минимальных многочленов для основного поля
и его подполей.
Двоично-восьмеричная запись структуры многочленов принята в [1, с.
513-532; 2, с. 548-554]. В этой записи каждая цифра кодирует запись трех
двоичных коэффициентов многочлена, причем крайний правый разряд имеет
номер 0 , а крайний левый – n . Для примера расшифруем запись многочлена
103 для n  6 :
 старшие три разряда {001}2  18 ;
 средние три разряда {000}2  08 ;
 младшие три разряда {011}2  38 ;
 полная
структура
многочлена
{001 000 011} или 1  x  x 6 .
в
векторном
представлении:
142
4.1.2.2. Отображение элементов поля Галуа на пространство алфавита
кодовой последовательности
В примере 4 раздела 2.2.5.5, а также в соотношении (2.56) мы столкнулись
с интересным частным фактом: сумма корней одного и того же многочлена
представляет собой двоичное число. Этот частный факт требует отдельного
доказательства.
Теорема 4.4
Сумма корней одного и того же неприводимого (минимального)
многочлена f ( x) степени m  n в поле GF ( p n ) есть элемент из основного
поля GF ( p ) коэффициентов многочлена.
Доказательство
Пусть  - один из корней минимального многочлена f ( x) . Тогда на
2
m 1
основании теорем 2.69, 2.73  ,  p ,  p ,...,  p составляют множество всех
корней многочлена f ( x) . Обозначим их сумму через Tp ,m (  ) :
m 1
T p ,m (  )    p .
i
(4.4)
i 0
Поскольку каждый элемент поля GF ( p ) коэффициентов многочлена
является решением уравнения X p  X , то для доказательства теоремы
достаточно показать, что (Tp ,m (  )) p  Tp ,m (  ) . В соответствии теоремой 2.62
имеем (a  b) p  a p  b p , поэтому, разбивая правую часть (4.4) на два
слагаемых, получим
p
p
p
m 1
i 
 m1 i  
 m1 i 
(Tp ,m (  ))     p        p    p     p  .
i 1
 i 0
 

 i 1

p
Продолжая этот процесс, получим
2
(Tp ,m (  )) p   p   p  ...   p
m 1
 ,
откуда видно, что (Tp ,m (  )) p отличается от Tp ,m (  ) только порядком
расположения слагаемых, т.е. (Tp ,m (  )) p  Tp ,m (  ) . Ч.т.д.
143
Определения
В алгебре полей Галуа функция Tp ,m (  ) не имеет специального названия,
хотя, как будет видно ниже, играет свою роль в алгебраических
преобразованиях [3-5].
Похожая по форме функция
n 1
Tp (  )    p
i
(4.5)
i 0
имеет в алгебре устойчивое название следа (или функции следа) элемента
GF ( p n ) в основном поле GF ( p ) . Для двоичного поля коэффициентов
многочлена ( p  2 ) эта функция называется двоичным следом элемента  и
обозначается tr (  ) (от англ. trace – след) или T (  ) .
Нетрудно видеть, что при m  n значения Tp ,m (  ) и Tp (  ) совпадают.
Формальное различие наступает только при m  n , т.е. в случаях, когда n непростое число, или, что то же самое, когда m является одним из делителей
n . В этой ситуации функции Tp (  ) и Tp ,m (  ) связаны следующим
соотношением
n/m
Tp (  )   Tp ,m (  ) .
(4.6)
i 1
В поле характеристики 2 ( p  2 ) (4.6) демонстрирует интересную связь:

 Tm (  ); Tm (  )  0;

n

T (  )  Tm (  );  1 (mod 2);
m

n

 0; m  0 (mod 2).
Смысловое различие между функциями Tp (  ) и Tp ,m (  ) довольно
серьезное. Если Tp (  ) не имеет жесткой связи с корнями минимального
многочлена, то Tp ,m (  ) ее имеет. В частности, при
p  2 значения
n
(mod 2) не имеют связи с корнями многочлена, в то время
m
как Tm (0)  0 имеет отношение к элементу 0 , являющемуся корнем
многочлена f ( x)  x , а Tm (1)  m (mod 2) имеет отношение к элементу 1,
являющемуся корнем многочлена f ( x)  1  x .
T (0)  0, T (1) 
144
Имея в виду смысл и полезность функции Tp ,m (  ) , введем ее определение.
Под Tp ,m (  ) при m  n будем понимать след корня  многочлена f ( x)
степени m  n в основном поле GF ( p ) .
Теорема 4.5
Двоичный след T (  ) любого элемента  поля GF (2n ) , являющегося
корнем минимального многочлена f ( x) степени n  mt , может быть
представлен через двоичный след Tm ( ) корня      2
nm
в подполе
GF (2m ) .
Доказательство
Действительно, развернув сумму (4.5) для p  2 , получим
T (  )     2  ...   2
nm
nm
 ...   2
nm
n  m 1
 ...   2
nm
 (    2 )  (    2 ) 2  ...  (    2 ) 2
    2  ...   2
m 1
m 1
n 1


 Tm ( ).
Ч.т.д.
Теорема 4.6
f ( x) минимальный многочлен степени e в GF ( p n ) и  p
Пусть
j
j
( j  0,1,..., e  1 ) – все его корни. Тогда следы  p в поле GF ( p ) совпадают.
Доказательство.
Поскольку любой  p
соответствии с (4.6)
e 1
j
( j  0,1,..., e  1 ) обращает
f ( x) в 0 , то в
Tp (  p )    p , откуда, используя замену переменных, получим
j
j i
i 0
e 1
Tp (  )    p Tp (  ) .
pj
i
i 0
Тот же результат можно получить, используя теорему 2.62,
e 1
Tp (  )   
pj
i 0
p j i
e 1
  ( )
i 0
pi
pj
pj
 e1 pi 
      Tp (  ) . Ч.т.д.
 i 0

145
n
Поскольку коэффициенты ai многочлена f ( x)   ai x i степени n и следы
i 0
Tp (  j ) всех элементов поля GF ( p n ) принадлежат одному и тому же полю
GF ( p ) , можно попытаться найти связь между ними. Действительно, заменив
j
x одним из корней  p многочлена f ( x) , имеем
n
f (  p )   ai  ip  0 для любого j  0,1,..., n  1 . Суммируя полученное
j
j
i 0
выражение по всем j , получим
 n1 ip j  n
f (  )   ai       aiTp (  i )  0 .

j 0
i 0
 j 0
 i 0
n 1
pj
n
(4.7)
Таким образом, связь установлена, однако воспользоваться (4.7) для
определения двоичного следа корня по заданным коэффициентам или
коэффициентов многочлена по его корням в общем случае затруднительно.
4.1.2.3. Проблема определения минимальных многочленов
В разделе 2.2.5.4 (пример 4) рассмотрен пример использования общего
соотношения (2.49), определяющего минимальный многочлен по его корням.
Этот пример предполагал знание одного из примитивных многочленов,
например f1 ( x) и таблицы представления всех степеней его корня  . Целью
данного раздела является обобщение упомянутого примера 4, обоснование
закономерности, описанной в выводе 4) примера, а также приведение
соотношения (2.49) к виду, удобному для алгоритмических решений
поставленной задачи.
Для начала отметим, что пока не найдено математически обоснованных и
эффективных методов поиска неприводимых многочленов над полем
коэффициентов GF ( p ) , даже в простейшем случае двоичного поля
коэффициентов ( p  2 ). Поиск примитивных многочленов является еще
более сложной задачей. Большинство массовых приложений кодирования
тем не менее решается с использованием известных таблиц многочленов,
146
упомянутых ранее, в том числе и в табл. 4.1.
Далее будем исходить из того, что p  2 и для заданного поля GF (2n )
порядка 2n известен один неприводимый примитивный многочлен f1 ( x)
степени n с корнем  . Задача заключается в определении любого другого
примитивного многочлена f k ( x) степени n с корнем  k , где (k , 2n  1)  1.
Последнее
условие
в
соответствии
с
теоремой
4.1
гарантирует
примитивность многочлена f k ( x) . Перепишем соотношение (2.49) для f1 ( x)
и f k ( x) в виде
n 1
f1 ( x)   ( x   2 ) - известный многочлен;
j
(4.8)
j 0
n 1
f k ( x)   ( x   k 2 ) - искомый многочлен.
j
(4.9)
j 0
Сначала найдем общие закономерности представления (4.8) известного
нам многочлена, а затем применим их для определения искомого многочлена
(4.9).
Определим коэффициент ai при произвольной степени x , например при
xi , перемножая двучлены в (4.8). Этот коэффициент формируется ровно
Cni  Cnni
способами, т.е. определяется числом сочетаний из полного
количества сомножителей по количеству сомножителей, содержащих xi . Это
иллюстрируется следующим представлением первого варианта слагаемого
коэффициента ai :
n  i 1

 2l
xi
l 0
( x   )( x   2 )...( x   2
n  i 1
n i
) ( x   2 )( x   2
n  i 1
n2
n 1
)...( x   2 )( x   2 )
Из левого множества, содержащего n  i сомножителей, выбираются
сомножители в виде элементов поля для формирования коэффициента ai , а
из правого – сомножители в виде переменной
закономерность формирования каждого слагаемого в ai .
x . Важно увидеть
147
Определения
Количество единиц в двоичном представлении любого целого числа
называется двоичным весом числа. Количество единиц в кодовом слове,
использующим двоичный алфавит, весом кодового слова.
Из иллюстрации видно, что
1) степень mi , j элемента  в каждом слагаемом, где j - номер слагаемого,
представляется как сумма из n  i различных степеней числа 2 и таких
вариантов формирования суммы – ровно Cnni  Cni ;
2) все степени mi , j элемента  в каждом слагаемом при выбранном i вне
зависимости от j могут быть представлены в виде всех чисел, имеющих
одинаковый вес wi  n  i в их двоичном представлении.
Таким
образом,
выявлена
первая
существенная
закономерность
формирования каждого из коэффициентов ai : все числа mi , имеющие один и
тот же двоичный вес wi  n  i , принадлежат одному и тому же множеству
M i степеней  , формирующему коэффициент ai .
Теорема 4.7
Коэффициент ai при xi в представлении минимального многочлена f ( x)
над GF (2) степени m  n состоит из сумм двоичных следов Tm ( i ,l ) корней
k
 k в поле GF (2n ) , где ki ,l - лидеры соответствующих смежных классов по
i ,l
подгруппе H  {1, 2, ..., 2n1} , имеющие одинаковый вес wi  m  i .
Доказательство
Поскольку степени ki ,l , 2ki ,l ,...,2m1 ki ,l корней одного и того же
минимального многочлена имеют один и тот же двоичный вес, то все они
принадлежат множеству M i , а следовательно, сумма этих корней участвует в
формировании коэффициента ai . Но в соответствии с определением
двоичного следа эта сумма представляет собой двоичный след Tm ( i ,l ) корня
k
k .
i ,l
Различные значения l (если таковые имеются), являясь лидерами
смежных классов по подгруппе H  {1, 2, ..., 2n1} , составляют другое
148
подмножество степеней ki ,l , 2ki ,l ,...,2m1 ki ,l того же самого (по условию)
двоичного веса. Следовательно, они также, в виде двоичных следов Tm ( i ,l )
k
корней 
ki ,l
участвуют в формировании коэффициента ai . Ч.т.д.
Таким образом, (4.8) можно представить в виде


k
f1 ( x)   x i   Tm ( i ,l )  ,

 W ( k )  n i
i 0
 i ,l

n
(4.10)
где ki ,l - лидеры всех смежных классов по подгруппе H  {1, 2, ..., 2n1} ,
имеющие одинаковый вес wi  n  i ;
W (ki ,l ) - функция, возвращающая двоичный вес числа ki ,l ;
ai 

W ( ki , l )  n  i
Tm ( i ,l ) .
k
Обратимся теперь к выражению (4.7) для произвольного многочлена
f k ( x) , корнем которого является  k . Как видно из теоремы 4.6, ее выводы
инвариантны
по
отношению
к
выбору
примитивного
корня

и
соответствующего ему многочлена f k ( x) . Иными словами, соотношение
(4.10) можно использовать для представления любого многочлена, имеющего
корнем примитивный элемент    k , где (k , 2n  1)  1:
n


k
f k ( x)   x i   Tm (  i ,l )  .
 W ( k )  n i

i 0
 i ,l

(4.11)
Из (4.11) видно, что условия суммирования во вложенной сумме никак не
зависят от выбора k , т.е. множества M i степеней ki ,l не зависят от выбора
   k . Это означает, что для выбранного поля GF (2n ) множества M i
степеней ki ,l для каждого 0  i  n известны и могут храниться, например, в
соответствующей базе данных. Изменения фактически касаются конкретных
значений двоичных следов Tm ( 
ki , l
)  Tm (
kki ,l
) , участвующих в формировании
коэффициентов ai . Следующая теорема устанавливает закономерности,
имеющие отношение к вычислению (точнее, к использованию) двоичных
следов корней в выражениях (4.10), (4.11).
149
Теорема 4.8
В
ai 
соотношении (4.10) в вычислениях всех коэффициентов
k
 Tm ( i ,l ) участвуют корни всех минимальных многочленов, в том
W ( ki , l )  n  i
числе и степеней, меньших n (если такие существуют). Поэтому каждый
k
член Tm ( i ,l ) , входящий в множество M i , при замене  на  k ( (k , 2n  1)  1)
представляет соответствующий член Tm (
kki ,l
)  Tm (
k j ,l
) в множестве M j ,
возможно совпадающем с M i .
Доказательство
Поскольку в (4.10) внутреннее суммирование выполняется по всем ki ,l ,
имеющим одинаковый двоичный вес wi  n  i , а он, в свою очередь
пробегает все значения от 1 до n (число с двоичным весом 0 соответствует
числу 0 , которое невозможно получить путем суммирования степеней  ;
этот случай соответствует тождественному равенству an  1 при x n ), все
возможные числа ki ,l для всех i  0,1,..., n  1 пробегают в двоичном
представлении все возможные двоичные наборы-вектора, полное количество
которых равно 2n  1. А так как ki ,l являются степенями соответствующих
элементов поля, то первая часть теоремы доказана. Вторая часть теоремы по
существу является следствием первой: поскольку (k , 2n  1)  1, то
преобразование kki ,l (mod 2n  1) переводит число либо в то же самое
множество M i при W (kki ,l )  W (ki ,l* )  W (ki ,l ) , либо в другое множество M j
при W (kki ,l )  W (k j ,l* )  W (ki ,l ) . Ч.т.д.
Примечание
Соотношение (4.11) очень хорошо поддается алгоритмизации и
использовано автором для создания специальной программы генерации
примитивных многочленов, используемой в учебно-исследовательском
процессе. В частности, с помощью этой программы получены подробные
характеристики полей Галуа вплоть до GF (263 ) , приведенные в Приложении
1. Другие полезные операции, выполняемые программой, описываются в
разделе 4.2.3.
Другие методы определения минимальных многочленов приведены в [6, с.
120-125]
150
4.1.2.4. Характеристические многочлены матриц и минимальные
многочлены
Рассмотрим диагональную матрицу A размерности m  m вида
 p

0
A  


 0
0
0
p

0


,


p m 1
  



0
0

(4.12)
2
в которой элементы  ,  p ,  p ,...,  p
m 1
поля GF ( p n ) - корни некоторого
минимального многочлена f ( x) степени m  n с коэффициентами из GF ( p ) .
Определения
Характеристическим уравнением матрицы A называется уравнение вида
det ( A  x  1)  0
относительно x , где 1 - единичная матрица, а c( x)  det ( A  x  1) определитель матрицы
A  x  1 , называемый характеристическим
многочленом относительно x . Собственными значениями матрицы A
называются все решения xi характеристического уравнения det ( A  x  1)  0 .
Следом tr ( A) матрицы A называется сумма ее диагональных элементов, т.е.
m 1
tr ( A)   aii .
i 0
Построим характеристический многочлен для матрицы A :
0
  x
 0
px

c( x)  det
 


0
 0



 p
0
0

m 1

 m1
i

p x .

 i 0

 x 


Сравнивая c( x) с выражением для минимального многочлена mi ( x) (2.49)
из раздела 2.2.5.3, получим
c( x)  (1) m m( x) .
Итак, для матрицы A вида (4.12) характеристический многочлен с
точностью до знака совпадает с минимальным многочленом m( x) степени
151
mn,
имеющим
характеристики
корни
2
m 1
 ,  p ,  p ,...,  p . Отметим, что в полях
p  2 различие в знаках пропадает. Применительно к
характеристическому уравнению c( x) =0 эти корни являются собственными
значениями матрицы A вида (4.12). Выражение c( x) в степенной форме
можно получить, воспользовавшись теоремой 4.9 [7, с. 55].
Определения
Минором порядка r ; 1  r  m произвольной квадратной матрицы A
размерностью m  m называется определитель матрицы, получаемой из
матрицы A вычеркиванием m  r строк и такого же количества столбцов
Главным минором порядка r ;1  r  m называется минор, получаемый
вычеркиванием m  r одноименных строк и столбцов.
Теорема 4.9
Пусть cr - сумма всех главных миноров порядка r ;1  r  m матрицы A .
Тогда
c( x)  x m  c1 x m1  c2 x m2  ...  (1)m cm .
Доказательство теоремы приведено в [7, с. 55]
Для матрицы A вида (4.12) выражения для коэффициентов ci можно
представить в более конструктивной форме. Для большей наглядности и
лучшего понимания примем p  2 . По определению имеем
Cmr
cr   M ri ,
i1
где M ri - главный минор порядка r , представляющий i -ю комбинацию
вычеркивания из матрицы A
m  r одноименных строк и столбцов;
Cmr  Cmmr - количество сочетаний из m по r , соответствующее количеству
вариантов
вычеркивания
строк
и
столбцов.
Для
рассматриваемой
диагональной матрицы главные миноры M ri могут быть представлены в виде
M ri   ki
с условием w(ki )  r , где W (ki ) - функция, возвращающая
двоичный вес числа ki , откуда
152
cr 
Cmr


k 
i
i 1,W ( ki )  r
k .
(4.13)
k ,W ( k )  r
Сравнивая полученное выражение с выражением (4.10), получим
cr 

k ,W ( k )  r
Tm (  k ) ,
(4.14)
где Tm (  k ) соответствует (см. соотношение (4.4) для p  2 ) функции
следа корня    k минимального многочлена mk ( x) степени m  n .
Таким
образом,
показана
эквивалентность
характеристического
и
минимального многочленов.
Полезность введенного представления проявляется в том, что Tm (  k ) как
функция следа корня непосредственно связывается с общепринятым
понятием следа tr ( A) матрицы A вида (4.12), для которой построен
характеристический
многочлен
c ( x )  m( x ) .
В
частности,
из
(4.14)
непосредственно следует
m 1
c1  tr ( A)    2  Tm (  ) и
i
i 0
m 1
m 1
i 0
i 0
m 1
 2i
cm  det A   aii      i 0   2
i
2
m
1
 1.
Теорема 4.10
Обозначим через S множество чисел s , имеющих одинаковый вес в
двоичном представлении W ( S )  r ; s  S . Пусть множество S0 - разбиение
множества S на смежные классы по мультипликативной подгруппе
H  {1, 2, ..., 2m1} , где m  n - степень минимального многочлена m( x)  c( x) ;
c( x) - характеристический многочлен матрицы A вида (4.12), а
2
 ,  2 ,  2 ,...,  2
  s0

0
As  
 

 0
m 1
- корни многочленов m( x), c( x) . Введем матрицу
0
 s 2
0

0


,


s0  2ms 1
 




0
0

(4.15)
153
для которой корнями характеристического многочлена cs ( x)  ms ( x) будут
ms 1
2
элементы  s0 ,  2 s0 ,  2 s0 ,...,  2 s0 , где ms  n, s0  S0 . Тогда коэффициент cr
при члене x mr характеристического многочлена можно представить в виде
cr 

s0S0 ,W ( S )  r
cs0 ,1 ,
ms 1
где cs0 ,1  tr ( A s )    2 s0  Tms (  s0 ) - след матрицы A s .
i
(4.16)
i 0
Доказательство
Поскольку каждое число s  S по условию имеет один и тот же вес
W ( S )  r в его двоичном представлении, то в соответствии с (4.13) каждый
элемент  s участвует в формировании коэффициента cr . Поскольку каждый
смежный класс из S0 , являясь разбиением множества S , содержит числа с
ms 1
одинаковым весом в двоичном представлении, то след tr ( A s )    2 s0
i
i 0
матрицы
As представляет отдельное слагаемое в выражении для
коэффициента cr при члене x mr характеристического многочлена. Это
слагаемое соответствует выбранному смежному классу с образующим
элементом (лидером) s0  S0 . Продолжая рассуждения для остальных
смежных классов из S0 , получим доказательство теоремы.
Из этой теоремы непосредственно следует
m 1


c( x)  m( x)  x m   x mi   cs0 ,1   1,
i 1
 s0S0 ,W ( S )i

(4.17)
где ck0 ,1 - след матрицы A s для соответствующего s0  S0 .
Таким образом, получено эквивалентное представление минимального
многочлена m( x) , базирующееся на понятии следа матрицы вида (4.12). С
другой стороны, (4.17) представляет собой характеристический многочлен
c( x)
матрицы
A
вида
(4.12),
коэффициенты
выражаются через следы (4.16) матриц As вида (4.15).
которого
полностью
154
Теорема 4.11
Обозначим через r 

s
0
элемент GF (2n ) , представляющий
s0S0 ,W ( S )  r
сумму лидеров всех смежных классов с условием W ( S )  r . Введем матрицу
r
0
A S(r)  


 0



,


ms 1 
 r2 

0
r2

0
ms 1
0
0

след tr ( A S(r) )   r2  Tms (r ) которой, очевидно, равен коэффициенту cr
i
i 0
при члене x mr характеристического многочлена c( x) матрицы A вида (4.12).
При этом выражение (4.17) преобразуется к виду
m 1
c( x)  m( x)  x   x mitr ( A S(i) )  1 .
m
i 1
Элемент r поля GF (2n ) может быть представлен в виде r   kr и по
теореме 4.10 участвует в формировании какого-либо иного коэффициента
ct , t  r при члене x mt характеристического многочлена c( x) матрицы A . В
противном случае r должен быть равен одному из элементов  s0 с
условием s0  S0 , W ( S )  r . В общем случае этого быть не может, поскольку
это условие тождественно обращает в нуль все остальные слагаемые в cr при
члене x mr характеристического многочлена матрицы A . Но каждый элемент
поля участвует в формировании только одного из коэффициентов ct , t  r
при члене x mt характеристического многочлена c( x) матрицы A . Другими
словами, число kr должно иметь вес t  r . При этом элемент r должен быть
корнем
своего
минимального
mr ( x)
и
характеристического
cr ( x)
многочленов и, таким образом, полностью представлять в них коэффициент
cr ,1 . Отсюда следует, что знание
c ( x )  m( x )
m2
коэффициентов многочлена
автоматически определяет коэффициенты при члене
x m1
155
многочленов, корнями которых являются r для всех r при условии
1 r  m.
4.1.2.5.
Проблемы
математического
представления
кодовых
последовательностей
Как было установлено в разделе 4.1.1, универсальным методом
упорядоченного
представления
элементов
полей
Галуа
является
перечисление всех его ненулевых членов с помощью степеней  i
примитивного элемента  . На этом представлении основаны все или, по
крайней мере, очень многие аналитические результаты, имеющие теоретикоприкладное значение. Недостатком такого представления является его
абстрактность,
что
делает
невозможным
непосредственный
перенос
результатов исследований, полученных средствами алгебры, на пространство
решения прикладных задач. Например, рассмотрим (рис. 4.1) вариант схемы
генератора ЛРП максимальной длины, представленной в разделе 3.5
(«Линейные рекуррентные схемы (генераторы)») на рис. 3.16. Эти коды
широко применяются при решении многих прикладных задач кодирования и
шифрования данных.
Примечание
В различной литературе по теории и практике кодирования используются
также
другие
наименования
ЛРП
максимальной
длины:
«Мпоследовательности» и «коды максимальной длины».
На рис. 4.1 использованы следующие обозначения:
h( x) - примитивный в GF (28 ) многочлен степени 8 ;
0,1, 2,..., 7 - номера разрядов регистра сдвига, представленных так, чтобы
кодовая последовательность начиналась с нулевого символа при сдвиге
содержимого регистра сдвига влево;
a0 , a1 , a2 ,..., a7 - начальное содержимое ячеек регистра сдвига на начало
генерирования кодовой последовательности.
На этой схеме для лучшего понимания принципа работы генератора
156
показано также будущее состояние последней (с номером 7 ) ячейки регистра
сдвига, имеющее номер 8 и маркированное кружком.
Для работы данного генератора достаточно записать в регистр сдвига
любую
ненулевую
начальную
двоичную
комбинацию
a0 , a1 , a2 ,..., a7
(двоичный вектор). Однако без применения дополнительных и не простых
преобразований невозможно узнать, с какого именно отображенного из поля
Галуа элемента начинается перечисление элементов. Вместе с тем для
решения
многих
представлениях
прикладных
элементов
задач,
полей
основанных
Галуа
на
(формирование
векторных
заданных
циклических сдвигов, шифрование данных и др.), точная привязка двоичного
вектора к отображаемому элементу поля Галуа необходима.
Данную схему можно трактовать несколькими различными способами.
Если схема используется для перечисления элементов поля Галуа с помощью
аппаратных и программных (алгоритмических) средств, то адекватным
способом упомянутой точной привязки к началу отсчета являлось бы задание
начального состояния регистра сдвига в виде комбинации a0 , a1 , a2 ,..., a7 , в
которой i -й элемент ai  T ( i ) представляется в виде двоичного следа
элемента  i . Этот вопрос подробно рассматривается в следующем разделе.
Если же данная схема используется как кодер, то начальная комбинация
a0 , a1 , a2 ,..., a7
информационных
блокового
должна
рассматриваться
символов,
кодирования.
В
подлежащих
этом
случае
как
последовательность
кодированию
заданная
по
принципу
информационная
последовательность является отображением какого-то элемента  l поля
Галуа. Следуя этой трактовке, схема на рис. 4.1 названа кодером.
157
4.2.
Особенности
векторных
представлений
элементов полей Галуа
4.2.1.
Векторное
представление,
основанное
на
содержимом регистра сдвига
В этом варианте представления каждому элементу  i ставится в
соответствие не его двоичный след T ( i ) , а следующий двоичный вектор
A i  (ai , ai 1 , ..., ai  n1 )
размерности n , где ai  j  T ( i  j ) .
Теперь уже отображение становится взаимно однозначным, поскольку
каждому элементу поля Галуа соответствует один единственный вектор.
Данное отображение сохраняет свою однозначность для выбранного
примитивного элемента  или, что то же самое, для выбранной структуры
n
примитивного многочлена h( x)   hi x i .
i 0
Данное
представление
выделяется
тем,
что
четко
указывает
на
однозначность интерпретации исходного или начального состояния регистра
сдвига: «нулевое» состояние определяется вектором A 0  (a0 , a1 , ..., an1 ) .
Кроме
того,
данное
представление
дает
возможность,
хотя
бы
алгоритмически, найти решение уравнения
i  j  ,
mij
(4.18)
заменив его уравнением
A i  A j  A mij .
Решение заключается в поиске такого количества последовательных
сдвигов mij , при котором регистр сдвига содержал бы двоичный вектор Amij .
Отметим, что первые n векторов A 0 , A1 , ..., A n-1 являются линейно
независимыми, поскольку в противном случае многочлен h( x) не был бы
158
примитивным. Это дает возможность единственным способом представить
любой вектор, например Amij , в виде линейной комбинации множества
линейно независимых векторов:
n 1
A m   bim A i ,
(4.19)
i 0
где bim - двоичные коэффициенты, которые, разумеется, в общем виде не
могут быть найдены. Тем не менее отсюда может быть получен интересный
аналитический результат.
m  m
Предположим, что для некоторого заранее заданного
для
фиксированного многочлена h( x) каким-либо образом (например, путем
последовательного
перебора)
нам
стал
известен
A m* ,
вектор
а

следовательно, и полный набор коэффициентов bim . Пусть также нам
известно решение уравнения
1   t ,
(4.20)
являющегося частным случаем уравнения (4.18). Найдем сумму векторов
A m*  A m* +1 , учитывая, что вектор A m* +1 можно представить следующим
образом:
n 1
n 1
A m* +1   bim 1A i   bim A i+1 .

i 0

(4.21)
i 0
Объединяя (4.19) и (4.21), получим
n 1
n 1
A m*  A m* +1   bim ( A i  A i +1 )  b0m A 0  bnm1A n   A i (bim  bim1 ) .



i 0


i 1
Поскольку вектор A n тривиально определяется через тождество h( )  0 ,
получим
m
0
m
n 1
A m*  A m* +1  b A 0  b
n 1
n 1
 h A   A (b
i 0
i
i
n 1
i
i 1
m
i

 bim1 ) и, после преобразований,
A m*  A m* +1  A 0 (b0m  bnm1 )   A i (bnm1hi  bim  bim1 ) .





i 1
Поскольку
пара
векторов
A m* , A m* +1
является
отображением
пар
159





элементов поля Галуа  m ,  m 1 , то из равенства  m   m 1   m t
окончательно следует
n 1
A m* +t  A 0 (b0m  bnm1 )   A i (bnm1hi  bim  bim1 ) .





(4.22)
i 1
Правая часть (4.22) содержит линейно независимое множество векторов
A 0 , A1 , ..., A n-1 , «взвешенных» с полностью известными (по условию
решаемой задачи) коэффициентами, что позволяет привести (4.22) к
стандартному виду
n 1
A m* +t   bim t A i ,

(4.23)
i 0
где
b0m  bnm1 ,
i  0;
 
m
m
m
 bn1hi  bi  bi 1 ,1  i  n  1.

m t
i
b

Последовательное применение указанных преобразований приводит к
общему выводу:
n 1
A m* +kt   bim  kt A i ,

(4.24)
i 0
где k - любое целое число по модулю N  2n  1 ;
i  0;
0,



bim  kt  bim ( k 1) t  bnm1( k 1) t hi   m ( k 1)t
, i  0.
bi 1
Таким образом, знание решений (4.19) и (4.20) дают в соответствии с
(4.24) представление любого вектора через линейно независимую систему
векторов, если m  kt при любом целом k пробегает полную систему
вычетов по модулю N  2n  1. Поскольку выбор значения m совершенно
произволен, то достаточно выполнения условия (m , N )  1 .
Полученный результат является аналитическим и в математическом
смысле привлекательным, однако практическое его использование, конечно
же, связано с построением вычислительного (в отличие от моделирующего)
алгоритма.
160
4.2.2. Векторное представление, основанное на схеме
деления многочленов (декодер)
Данный вариант представления базируется на одном из вариантов
линейной переключающей схемы, известной под названиями: «схема деления
произвольного многочлена на примитивный многочлен», «схема умножения
или деления на  » и «схема вычисления вычетов многочленов по модулю
заданного многочлена». ЛПС для деления многочленов в общем виде
представлена на рис. 3.9 в разделе 3.2.
На рис. 3.14 в разделе 3.3 были представлены примеры схем для
вычисления  i и   i по модулю заданного примитивного многочлена в поле
GF (23 ) . На рис. 4.2 представлена схема для вычисления  i по модулю
примитивного многочлена произвольной степени n в поле GF (2n ) как
обобщение схемы на рис. 3.14 и как частный случай схемы на рис. 3.9.
По существу схема на рис. 4.2. должна выполнять вычисление вычетов xl
по модулю примитивного многочлена h( x) , сохраняя в регистре остаток
gl ( x) в соответствии с выражением
x l  h( x ) f l ( x )  g l ( x) .
(4.25)
Очевидно, что h( )  0 при x   , и, следовательно,
 l  h( ) fl ( )  gl ( )  gl ( ) .
Рекуррентный
характер
приведенной
схемы
позволяет
упростить
вычисления по формуле (4.25). Попробуем синтезировать приведенную
схему на основе алгебраических представлений.
Предположим, что мы знаем остаток gl ( x) для xl и он содержится в
регистре сдвига в виде двоичного вектора G l  ( gl , gl 1 , ..., gl  n1 ) , т.е.
n 1
gl ( )   gl i i .
i 0
При умножении левой и правой частей уравнения на  , получим
161
n 1
gl ( )  gl 1 ( )   gl i i 1 , или
i 0
n2
gl 1 ( )   gl i i 1  gl  n1 n , где gl 1 ( ) представляет собой остаток от
i 0
деления x l 1 на h( x) , который должен содержаться в регистре сдвига при
подаче очередного тактового импульса, т.е. в следующий дискретный момент
времени.
Учитывая, что деление  n на h( ) эквивалентно операции  n  h( ) , а
n
также то, что в представлении многочлена h( x)   hi x i коэффициенты
i 0
h0  hn  1 , получим
n2
n 1
i 0
i 0
gl 1 ( )   gl i i 1  gl  n1  hi  i , или
n 1
n 1
gl 1 ( )   gl i 1  gl  n1  gl  n1  hi  i .
i
i 1
i 1
Приводя подобные члены, имеем
n 1
gl 1 ( )  gl  n1   ( gl i 1  gl  n1hi ) i .
i 1
Представляя этот результат в виде двоичного вектора, получим
G l+1  G l  G l ,
где G l  (0, gl , gl 1 ,..., gl  n2 ) - вектор, отображающий обычную операцию
смещения содержимого регистра сдвига вправо, а
G l  ( gl  n1 , h1 gl  n1 ,..., hn1 gl n1 )  gl  n1 (1, h1 , h2 ,..., hn1 )
-
вектор,
представляющий операцию деления  n на h( ) , т.е. операцию переноса
содержимого старшего разряда регистра сдвига по цепи обратной связи.
Примечание
Полезно сравнить полученное здесь выражение с выражениями (3.1), (3.2)
в разделе 3.2.
Именно этот процесс и реализован схемой на рис. 4.2, т.е. схема
162
синтезирована. Осталось только определить начальное состояние регистра
сдвига. Имея в виду, что первые n степеней примитивного элемента
 i , i  0, n  1 могут быть представлены только самими собой, первые n
линейно независимых двоичных векторов представляются в виде
G 0  (1, 0, ..., 0) ;
G 1  (0,1, ..., 0) ;
…………………
G n-1  (0, 0, ...,1) .
Итак, схема на рис. 4.2 вырабатывает представление элемента  l через l
тактов сдвига относительно начального состояния G 0  (1, 0, ..., 0) в виде
коэффициентов
многочлена
n 1
gl ( )   gl i i ,
или
вектора
i 0
G l  ( gl , gl 1 , ..., gl  n1 ) . На рис. 4.3 приведена схема генератора кодовых
последовательностей,
использующая
полученное
представление
для
одновременного формирования двух циклических сдвигов одной и той же
кодовой последовательности.
На этой схеме вектор G l  ( gl , gl 1 , ..., gl  n1 )
является результатом
вычисления  l с помощью схемы на рис. 4.2. Линейная комбинация
n 1
a (i  l )   gl  j a (i  j ) , реализованная в верхней части схемы, вырабатывает
j 0
кодовую последовательность с циклическим сдвигом l .
Рассмотрим
теперь
способность
данного
представления
решать
уравнения, подобные (4.18), т.е.
i  j  .
mij
Очевидно, что оно вполне заменяется уравнением
G i  G j  G mij ,
решение
которого
заключается
в
поиске
такого
количества
последовательных сдвигов mij , при котором регистр сдвига содержал бы
163
двоичный вектор G mij .
4.2.3.
Сравнительная
характеристика
векторных
представлений
Отметим сначала, что схемы устройств (рис. 4.1, 4.2 и 4.3), определяющие
эти представления, выполняют совершенно разные операции и имеют
различное практическое назначение. Так, схемы на рис. 4.1, 4.3 являются
генераторами кодовой последовательности или кодерами, а схема на рис. 4.2
выполняет деление на заданный (например, примитивный) многочлен и в
этом смысле, следуя алгебре кодирования, является декодером. Здесь мы
обращаем
внимание
исключительно
на
варианты
и
особенности
формальных векторных представлений абстрактных элементов поля Галуа.
С позиции взаимной однозначности преобразований элементов поля Галуа
в соответствующий вектор оба представления совершенно идентичны.
С точки зрения возможности и вычислительной сложности решения
уравнений типа  i   j  
mij
оба представления также приблизительно
эквивалентны. Тем не менее представление в разделе 4.2.2, по-видимому,
выглядит предпочтительнее, поскольку практически не требует сложных
вычислительных операций, будучи основано на регистровых операциях (в
том числе программных с использованием языков Ассемблера или C).
Представление в разделе 4.2.2 имеет исключительную ценность для
практических
циклических
приложений,
сдвигов
требующих
кодовых
генерирования
последовательностей
множества
с
помощью
единственного генератора (см. рис. 4.3).
Представление в разделе 4.2.2 не связано, как в разделе 4.2.1, с
конкретизацией
начального
A 0  (a0 , a1 , ..., an1 )
или
текущего
A i  (ai , ai 1 , ..., ai  n1 ) векторов состояния регистра сдвига и по этой причине
более эффективно для определения относительных смещений (сдвигов)
кодовых последовательностей.
164
Особенностью представления в разделе 4.2.1 является то, что начальное
состояние регистра сдвига
A 0  (a0 , a1 , ..., an1 ) , где ai  T ( i ) ,
строго фиксировано.
Определения
Будем в дальнейшем, если это необходимо, называть начальное состояние
A 0  (a0 , a1 , ..., an1 ) алгебраическим нулем.
Примечание
Ввиду важности определения этого состояния в Приложении 2
приводится таблица опорных многочленов вместе с вектором начальных
состояний A 0 в 16-ой форме.
4.3. Идея построения быстрых преобразований в
полях Галуа
Возможность построения быстрых преобразований в полях Галуа
существует при наличии в поле GF (2n ) подполей GF (2nk ) , где nk - один из
делителей числа n. Если какой-либо элемент  L  GF (2n )
является
одновременно примитивным элементом подполя GF (2nk ) , то все степени
этого элемента  Li  GF (2nk ), i  0,2nk  2 , по определению, пробегают все
ненулевые элементы этого подполя. Это означает, что в полях, обладающих
указанными свойствами, существует возможность разложения элементов
поля GF (2n ) по элементам подполей GF (2nk ) . Математически эта операция
соответствует разложению поля на смежные классы по подгруппе,
представляющей собой элементы подполя GF (2nk ) . Если рассматривать
кодовую последовательность как временную последовательность символов,
то выборки символов исходной М-последовательности длиной N  2n  1 ,
взятые с шагом
L  (2n  1) / (2nk  1) , являются символами некоторой
165
«короткой» последовательности длиной N k  2nk  1 (в литературе часто
такие преобразования называют децимациями). Поскольку начальный номер
символа исходной М-последовательности, с которого начинается выборка,
может быть произвольным, то в результате взятия всех возможных выборок
формируется
совокупность
b((iL  j ) и ), j  0, L  1
«коротких»
одинаковой
длины
последовательностей
N k  2nk  1.
Этот
процесс
демонстрируется на рис.4.4.
В дальнейшем, для краткости записи «коротких» последовательностей
будем
опускать
временной
параметр
 s , т.е. будем рассматривать
последовательности в виде b(iL  j ), i  0,2nk  2, j  0, L  1 . По определению
элемента  L  GF (2nk ) непосредственно следует, что при j  0 «короткая»
последовательность
b(iL  j )  b(iL)
в
точности
является
М-
последовательностью длиной N k  2nk  1, в подполе GF (2nk ) . Покажем, что
все остальные «короткие» последовательности при j  0 также являются Мпоследовательностями той же самой длины и структуры, но с различными
взаимными
сдвигами.
Свойства
рассматриваемых
преобразований
существенным образом зависят от структуры конкретных полей Галуа,
поэтому в качестве примера рассмотрим случай n  2 p; nk  p; N1  2 p  1 ,
22 p  1 (2 p  1)(2 p  1)
L p

 2 p  1 , т.е. рассматривается вариант разложения
p
2 1
2 1
исходной
М-последовательности
последовательностей
длиной
на
совокупность
N1  2 p  1 .
«коротких»
Совокупность
М-
«коротких»
последовательностей можно записать в виде
b((2 p  1)i  j   ), i  0,2 p  2, j  0, 2 p ,
а 
(4.26)
- неизвестный начальный сдвиг (задержка) исходной кодовой
последовательности. Символы этой последовательности как функции
целочисленного i могут быть описаны как отображение элементов подполя
GF (2 p ) в двоичное поле GF (2) с помощью функции двоичного следа.
166
Параметром каждой последовательности, характеризующим смещение при
взятии выборки, будет являться индекс j . Он же, совместно с  , будет
определять относительный сдвиг каждой «короткой» последовательности с
номером j . По определению двоичный след любого элемента поля равен
p
T ( (2
 2
p
1) i  j 
p
)   (2
((2 1) i  j  )
p
1) i  j 
 ...   2
n 1
  2((2
p
1) i  j  )
p
((2 1) i  j  )
 ... 
.
Учитывая, что 2 p (2 p  1)  2 p  1 (mod 22 p  1) ,
сгруппируем члены с одинаковыми множителями при дискретной
переменной i
T ( (2
p
1) i  j 
 2(2
p
1) i
 2
p 1
)   (2
p
( j    2
( 2 p 1) i
1) i
p
( j    2
p
( j  )
)
( j  ) 2
)  ... 
( j    2
p
( j  ) 2 p 1
)
.
(4.27)
.
На этом этапе можно сделать следующие выводы.
1. Число членов в (2.2) равно p, а не 2p, как это должно быть в выражении
для двоичного следа элемента в поле характеристики 2p, что указывает на то,
что фактически получен след элемента подполя GF (2 p ) в GF (2) .
2. Элемент  j    j    2
p
( j  )
является элементом подполя GF (2 p ) ,
поскольку
( j    2
p
( j  ) 2 p
)   j    2
3. Элемент  (2
p
1)
p
( j  )
p
и  2j    j  .
  является элементом подполя GF (2 p ) , поскольку
p
2  .
Таким образом, получим
T ( (2
p
1) i  j 
)  Tp ( i j  ) ,
(4.28)
где запись Tp (.) трактуется как двоичный след элемента подполя GF (2 p ) .
Из (4.28) видно, что представленный след действительно является i -м
символом «короткой» М-последовательности, полученной в результате
взятия выборки из исходной последовательности с шагом
2p 1 и
смещением
j
справедливо,
 j    2
p
( j  )
167
относительно «алгебраического» нуля. Все сказанное
если
,  j   0
j    0 (mod 2 p  1) .
и
все
символы
последовательности равны 0, т.е. T ( (2
p
1) i  j 
В
противном
случай
соответствует
«короткой»
получаемой
)  0 или, при использовании
представления символов в виде симметричных уровней, S p ( (2
Этот
случае
формированию
p
1) i  j 
)  1 .
«вырожденной»
последовательности, состоящей из всех +1. Идея быстрых преобразований
(обработки) состоит в фазировании всех «коротких» М-последовательностей
кроме вырожденной и накопление энергии символов на каждой позиции i . В
результате накопления получается одна «короткая» М-последовательность
длиной 2 p  1 символов, но с возросшей в 2 p раз энергией в одном символе.
Очевидно, что обработка такой последовательности обычным коррелятором
или согласованным фильтром может быть выполнена в 2 p  1 раз быстрее,
чем исходной. Энергию, содержащуюся в 2 p  1 символах «вырожденной»
последовательности, можно учесть, выполняя отдельное накопление ее
символов и добавляя этот результат к полному результату корреляционной
обработки «короткой» М-последовательности. Структурная схема тракта
обработки, реализующего описанную идею, подробно рассмотрена в разделе
5.2.2.1.
Библиографический список
1. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. – М.: Мир, 1976.
2. Кассами Т., Токура Н., Ивадари Е., Инагаки Я. Теория кодирования. –
М.: Мир, 1978.
3. Михайлов В.Ю. О расчете максимальных значений функции взаимной
корреляции М-последовательностей. - Радиотехника и электроника, 1982.
№6.
4. Михайлов В.Ю. Регулярный метод синтеза квазиортогональных
168
ансамблей М-последовательностей. - Радиотехника и электроника, 1984. №9.
5. Bychenkov S., Mikhaylov V., Sakaniva K. Fast Acquisition of PN Sequences
in DS/CDMA Systems. IEICE TRANS. FUNDAMENTALS, VOLE85-A, NO.11
NOVEMBER 2002.
6. Берлекэмп Э. Алгебраическая теория кодирования. – М.: Мир, 1971.
7. Ланкастер П. Теория матриц. – М.: Наука, 1978.
8. Блейхут Р. Теория и практика кодов, контролирующих ошибки. – М.:
Мир, 1986.
9. Вернер М. Основы кодирования. – М.: Техносфера, 2006.
Рис.4.1. Генератор кодовой последовательности (кодер)
n
Рис.4.2. Схема для вычисления  по модулю h( x)   hi x i
i
i 0
Рис.4.3. Схема генератора циклических сдвигов последовательности
Рис 4.4. Выборки исходной М-последовательности.
Степень
Минимальные
Структура многочлена в Корень
многочлена
многочлены
двоично-восьмеричном
представлении
n
2
1  x  x2
7

3
1  x  x3
13

4
1  x  x4
23

1  x  x2
7
5
1  x 2  x5
45
5

6
1  x  x6
103

1  x  x3
13
 27
1  x  x2
7
7
1  x3  x 7
211
 21

8
1  x 2  x3  x 4  x8
435

1  x  x4
23
 17
1  x  x2
7
1  x 4  x9
1021
 85

1  x  x3
13
1  x3  x10
2011
 73

1  x 2  x5
45
 363
1  x  x2
7
11
1  x 2  x11
4005
 341

12
1  x  x 4  x 6  x12
10123

1  x  x6
103
 2015
1  x  x4
23
 273
1  x  x3
13
 585
1  x  x2
7
13
1  x  x 3  x 4  x13
20033
 1365

14
1  x  x 6  x10  x14
42103

1  x3  x 7
211
 1419
9
10
Степень
Минимальные
Структура многочлена в Корень
многочлена
многочлены
двоично-восьмеричном
представлении
n
15
16
1  x  x2
7
1  x  x15
100003
 5461

1  x 2  x5
45
 5285
1  x  x3
13
1  x  x 3  x12  x16
210013
 4681

1  x 2  x3  x 4  x8
435
 5911
1  x  x4
23
 4369
1  x  x2
7
 21845
Табл. 4.1. Минимальные многочлены и их корни.
169
5. Примеры эффективного решения
базовых задач информационных систем
Данный раздел посвящен применению ранее приведенных результатов
теоретических исследований в прикладных задачах кодирования, описанных
в разделе 1.1.
5.1.
Синтез
квазиортогональных
ансамблей
кодовых последовательностей
В разделе 1.1. выяснено, что в командных и асинхронных адресных
системах
передачи
информации
требуется
создание
ансамбля
квазиортогональных кодовых последовательностей. Поскольку в отсутствии
синхронизации
ансамбли
строго
ортогональных
кодовых
последовательностей не существуют, то ставится задача синтеза (поиска)
ансамблей квазиортогональных кодовых последовательностей.
5.1.1. Функции взаимной корреляции
В разделе 1.4 установлено, что основными показателями качества
ансамблей квазиортогональных кодовых последовательностей являются
размер
(мощность)
ансамбля
и
различные
характеристики
функций
корреляции и, прежде всего, максимальный по всему ансамблю уровень
функций авто- и взаимной корреляции.
В дальнейшем будут использоваться следующие сокращения:
 ФАК - для функции автокорреляции;
 ФВК - для функции взаимной корреляции;
 ДФАК и ДФВК - для двумерных функций авто- и взаимной
корреляции (в осях задержка-частота) соответственно.
Основное внимание в этом и других разделах уделено ситуации, когда
170
неопределенность по частоте и фазе сложных сигналов разрешена. При этом
исчерпывающими ансамблевыми характеристиками сложных сигналов
являются ФАК и ФВК, среди которых наиболее сложны для анализа ФВК.
Некоторые вопросы, связанные с оценкой двумерных функций корреляции,
рассмотрены в разделе 5.1.6.
5.1.1.1. Формальное описание и расчет функций взаимной
корреляции
Пусть P1 (i )  a(i ) - М-последовательность первой структуры, порождаемая
многочленом f1 ( x) с корнем  , а P2 (i )  bk (i ) - М-последовательность второй
структуры, порождаемая полиномом f k ( x) с корнем  k . Напомним, что при
этом  - примитивный элемент поля Галуа GF (2n ) , длина обеих Мпоследовательностей равна N  2n  1 , а число k удовлетворяет условию
(k , N )  1 . Несмотря на то, что обычно в инженерной практике обработка
дискретных последовательностей (в результате которой и вычисляется
корреляционная функция) производится цифровыми методами, т.е. символы
М-последовательностей рассматриваются как логические переменные (0, 1),
математическая модель вычислений более компактна при использовании
представления символов в виде симметричных аналоговых уровней (1, 1) .
В терминах алгебры это означает, что операции суммирования двоичных
следов T ( x) , T ( y ) по модулю 2 заменяется операцией произведения функций
 (T ( x)) ,  (T ( y )) от двоичных следов, т.е. аддитивные операции заменяются
на мультипликативные. Преобразование осуществляется по правилу
S ( i )   (T ( i )) ,
1 при T ( z )  0;
где  ( z )  
1 при T ( z )  1.
Последовательности
рассматриваются
как
функции
целочисленной
переменной i , а относительный целочисленный сдвиг  вводится в одну из
последовательностей. Таким образом, ненормированная ФВК имеет вид
171
N 1
N 1
i 0
i 0
 k ( )   a (i   )bk (i )   S ( i  ) S ( ik ) ,
(5.1)
где a (i   ) , bk (i ) - М-последовательности различной структуры, а  относительный сдвиг первой М-последовательности относительно своего
«нулевого» начального состояния (см. разделы 4.2.2, 4.2.3).
Часто бывает удобнее использовать модифицированную форму ФВК, в
которой в подсчете участвуют все элементы поля Галуа, включая и нулевой
элемент

 k ( )  1 
S (  x) S ( x k ),
(5.2)
n
xGF (2 )
где произведенная замена  i  x вызвала появление дополнительного
члена суммы S (0) S (0)  1 , что и отражено в левой части равенства (5.2).
Будем называть эту форму представления модифицированной ФВК.
5.1.1.2. Основные свойства функции взаимной корреляции
На основе введенного представления ФВК найдем ее ключевые свойства.
1. Свойство ФВК при сдвигах из одного смежного класса
Определим
ФВК
при
всех
сдвигах
 2 j , j  0,1,..., n  1 ,
вида
принадлежащих одному смежному классу по мультипликативной подгруппе
H  {1,2,4,...,2n1} .
j
Учитывая, что по определению двоичного следа S ( x 2 )  S ( x) получим
N 1
 k ( 2 )   S (
j
i 0
i  2 j
N 1
) S ( )   S ( i 2
ik
j

j
) S ( ik 2 ) ,
i 0
откуда после замены переменной i 2 j  i получим
 k ( 2 j )   k ( ) .
Этот результат означает, что при расчетах ФВК исчерпывающим
множеством всех возможных сдвигов  является подмножество лидеров
смежных классов, что существенно сокращает затраты вычислительного
172
времени.
2.
Свойство
ФВК
эквивалентных
пар
кодовых
последовательностей
Рассмотрим теперь ФВК последовательностей, порождающие многочлены
которых имеют корнями    l и  k , т.е.
N 1
  ( )   S ( 
i 
i 0
N 1
) S (  )   S ( il  l ) S ( ilk ) ,
ik
i 0
откуда путем замены переменных il  i получим
  ( )   ( l ) .
Этот результат по сути является следствием изоморфизма полей Галуа
одного и того же порядка и позволяет существенно сократить число
перебираемых пар М-последовательностей при расчете ФВК, поскольку
полный перебор оказывается избыточным. Доказанное свойство ФВК
позволяет
точно
отобразить
значения
ФВК
любой
пары
кодовых
последовательностей на значения ФВК другой пары, в которой первая
(«опорная») последовательность всегда фиксирована (например, порождается
многочленом с корнем  ). Следуя таблицам в [1], первая («опорная»)
последовательность всегда находится на первой позиции для каждой степени
многочлена n .
3.
Свойство
ФВК
симметричных
пар
кодовых
последовательностей
Взяв
за
основу
предыдущее
свойство,
рассмотрим
ФВК
М-
последовательностей при условии lk  2 j mod N .
Числа l , k имеют тот же смысл, что и в предыдущем пункте, а число j –
j
произвольно в диапазоне от 0 до n  1 . С учетом свойства S ( x 2 )  S ( x) ,
получим
173
N 1
N 1
N 1
i 0
i 0
i 0
  ,k ( )   S (  i  ) S (  ik )   S ( il  l ) S ( ilk )   S ( il  l ) S ( i )
.
N 1
  S ( i  ) S ( il )   ,l ( ).
i 0
Объединив данное свойство с предыдущим, получим результат
  ,k ( )   ,k ( l )   ,l ( ) ,
который демонстрирует, что в множестве пар последовательностей,
определенных в свойством 2, остаются пары последовательностей (назовем
их симметричными), ФВК которых взаимно отображаются друг на друга,
причем эти пары заранее известны и строго подчиняются правилу
lk  2 j mod N .
4. Свойство суммы значений ФВК
N 1
N 1
0
i 0
N 1
 ( )   S ( ) S (



ik
i 
)  1.
0
При выводе результата учтено, что сумма всех значений символов Мпоследовательности любой структуры равна -1.
В форме (5.2) данное свойство ФВК выражается, очевидно, так
N 1



0
k
( )  1  N  1 .
5. Свойство суммы квадратов значений ФВК
При выводе этого свойства воспользуемся представлением ФВК в форме
(5.2), т.е.
N 1
N 1
 0
 0
N 1
N 1
 0
 0
 2 ( )    k ( )  1  2 ( )  N    k ( )  1  2  N , где
N 1



0
( )  1 
2
k
2


xGF (2n ) yGF (2n )
2
N 1
S ( x  y )  S   ( x  y )  .
k
k
 0
Внутренняя сумма по  в зависимости от соотношений между x и y
может принимать значения
174
 N , x  y;

S
(
x
y
)







 0
1, x  y.
N 1
Эти значения являются своеобразным «фильтром», определяющим
значение всей суммы. Рассмотрим далее внешнюю двойную сумму для двух
вариантов соотношений между x и y :
N 1



0

( )  1  N
2
k
S (0) 
x  yGF (2n )

xGF (2n )
S ( x k ) S ( y k ) 
y x


S ( x k )   S ( y k )  S ( x k ) .
xGF (2n )
 yGF (2n )


 N ( N  1) 
Учитывая, что

S ( x k )  0 , получим
xGF (2n )
N 1



0
( )  1  N ( N  1)  N  1  ( N  1) 2 и окончательно
2
k
N 1
N 1
 0
 0
 2 ( )   k ( )  1  2  N  ( N  1)2  2  N  N 2  N  1 .
2
5.1.2. Синтез ансамблей М-последовательностей с
тремя уровнями ФВК
Случай нечетных n
Рассмотрим свойства ФВК этих последовательностей сначала для случая
нечетного n , как это впервые сделал Р.Голд в [2]. Число k в выражениях
(5.1) и (5.2) выбирается из условия k  2l  1. Для удобства вычислений
используем модель (5.2). Поскольку x пробегает все элементы поля, то
значение (5.2) не изменится при замене переменной x  x   , т.е.


 k ( )  1   S (cx  x k )  S (c   2 1 ) S x(c   2 )   x 2  x 2 1 ,
l
x
x
где c    - ненулевая константа поля Галуа.
j
Учитывая, что S ( x 2 )  S ( x) , получим
l
l
l
175


 k ( )  1  S (c   2 1 ) S x(c   2   2 )  x 2 1 .
l
x
l
Докажем, что элемент    2   2
условием T ( )  0 , если 
l
l
l
l
(5.3)
пробегает все элементы поля с
пробегает все элементы поля Галуа. Из
l
l
определения двоичного следа непосредственно следует T (  2 )  T (  2 ) и
T ( )  0 для любого  . Однако пока неизвестно, все ли элементы с
указанным свойством пробегаются при переборе всех значений   GF (2n ) .
Рассмотрим условия, при которых найдутся два различных элемента поля
l
l
l
l
1 ,  2  1 такие, что   12  12   22   22 . Это равенство эквивалентно
l
l
2l
( 1   2 ) 2  ( 1   2 ) 2 или 1   2  ( 1   2 ) 2 или ( 1   2 ) 2
2l
1
 1.
Единственное тривиальное решение этого уравнения Дополнительные
решения
22l  1  (2l  1)(2l  1)
возможны
является делителем
только,
 2  1  1 .
если
число
N  2n  1 , Поскольку число
k  2l  1 по условию задачи синтеза взаимно просто с N , то для отсутствия
дополнительных решений необходимо (2l  1,2n  1)  1, а это возможно
только если числа l , n взаимно просты, т.е. (l , n)  1.
В дальнейшем это условие принимается как необходимое условие синтеза.
Таким образом, для каждого  существует парный к нему элемент 1   ,
дающий то же самое значение  . Более того, поскольку по условию синтеза
n нечетно, то необходимое и достаточное подмножество элементов 1 ,
l
l
перебирая которые можно пробежать все возможные элементы   12  12 ,
есть подмножество {1} с условием T ( 1 )  0 , так как дополняющее его
подмножество
{ 2 }
обладает
свойством
T (  2 )  T ( 1 )  T (1)  1 .
Следовательно, все множество элементов  есть точно подмножество всех
элементов поля Галуа с условием T ( )  0 .
Из доказательства непосредственно следует, что при любом  с условием
176
l
l
T (  )  T (c)  0 всегда найдется  такое, что c   2   2  0 и (5.3)
принимает вид
 k ( )  1  S (c   2 1 ) S ( x 2 1 )  0 .
l
l
(5.4)
x
Таким образом, для всех  при T (  )  0 значения ФВК одинаковы и
равны  k ( )  1.
Рассмотрим теперь оставшиеся значения  при T (  )  1 . В этом случае,
поскольку для элемента поля c1 , T (c1 )  1 существует парный ему элемент
l
l
c2  1  c1 , T (c2 )  0 , то всегда найдется * такое, что c2  *2  *2  0 ,
l
l
c1  *2  *2  1 и (5.3) принимает вид
 k ( )  1  S (c*  *2 1 ) S ( x  x 2 1 ) 
l
l
(5.5)
x
 S (c*  *2 1 )  k (0)  1 .
l
Отсюда следует, что значения (5.4), (5.5), учтенные в свойствах 4 и 5
ФВК, позволят определить не только конкретное значение  k (0)  1 , но и
распределение уровней. Более того, уже на этом этапе синтеза очевидно, что
ФВК в форме (5.2) имеет три уровня: 0,   k (0)  1 .
Итак, абсолютное значение  k (0)  1 может быть найдено из (5.4), (5.5) и
свойства 5 ФВК:
N 1
( N  1) 2    k ( )  1   k (0)  1
2
 0
2
N 1
, откуда
2
 k (0)  1  2( N  1)  2( n1)/2 .
(5.6)
Теперь осталось найти распределение уровней ФВК, точнее, количество
положительных
M
и отрицательных
M
ее значений, связанных
соотношением
M   M   ( N  1) / 2  2n1 .
(5.7)
Для этого потребуются результаты (5.4) - (5.6) и свойство 4 ФВК
177
N 1
N  1  2n    k ( )  1  2( n1)/2 ( M   M  ) ,
 0
откуда
M   M   2( n1)/2 и, с учетом (5.7),
M   2n2  2( n3)/ 2 и
M   2n2  2( n3)/ 2 .
Распределение уровней ФВК может быть получено и непосредственно из
выражения (5.5) без применения свойства 5 ФВК. Действительно, из (5.5)
следует, что количество значений ФВК вида   k (0)  1 при всех  с
T (  )  1
условием
l
равно
S (c*  *2 1 )  S ( *  *2
l
1
N
положительных
значений
l
)  S ( *  *2 1 ) , а количество значений ФВК вида
  k (0)  1 при всех 
отрицательных
количеству
с условием T (  )  1 равно количеству N 
l
S (c*  *2 1 )  S ( *  *2
значений
l
1
l
)  S ( *  *2 1 ) ,
где
N   N   2n1 , т.е.
 1  S ( *  *2 1 )   1  S ( * ) 
N   
 


2
2


*GF (2n ) 

1
 ( N  1)   k (0)  1  ;
4
l
 1  S ( *  *2 1 )   1  S ( * ) 
N   
 


2
2


*GF (2n ) 

1
 ( N  1)   k (0)  1  .
4
l
Из свойства 4 ФВК следует
N 1
N  1  2    k ( )  1   k (0)  1 ( N   N 
n
 0
 (0)  1
) k
2
2
,
откуда
 k (0)  1  2( N  1)  2( n1)/2 .
Пусть теперь, как и ранее, M  и M  равны количеству положительных
178
2( n1)/2
и
2( n1)/2
отрицательных
уровней
соответственно,
причем
M   M   2n1 . Тогда, из того же свойства 4 ФВК получим
N 1
2n    k ( )  1  2( n1)/2 ( M   M  ) ,
 0
откуда, как и ранее,
M   M   2( n1)/2 и, с учетом (5.7),
M   2n2  2( n3)/ 2 и
M   2n2  2( n3)/ 2 .
Таким образом, распределение уровней ФВК в форме (5.2) имеет вид

0, T (  )  0, 2n1  1;

 k ( )  1   2( n1)/2 , T (  )  1, 2n2  2( n3)/2 ; .
 2( n1)/2 , T (  )  1, 2n2  2( n3)/2 .

(5.8)
Случай четных n
Как и ранее, число k в выражениях (5.1) и (5.2) выбирается из условия
k  2l  1. Для удобства вычислений будем использовать модель (5.2).
Поскольку x пробегает все элементы поля, то значение (5.2) не изменится
при замене переменной x  x   , т.е.


 k ( )  1   S (cx  x k )  S (c   2 1 ) S x(c   2 )   x 2  x 2 1 ,
l
x
x
l
l
l
где c    - ненулевая константа поля Галуа.
j
Учитывая, что S ( x 2 )  S ( x) , получим


 k ( )  1  S (c   2 1 ) S x(c   2   2 )  x 2 1 .
l
x
l
l
l
(5.9)
Одно подмножество значений можно легко найти, приняв   1. Так как
T (1)  0 для четных n , то
 k ( )  1  S (c)  k ( )  1 и
 k ( )  1 =0
179
для всех  с условием T (  )  1 . Таким образом, далее рассмотрению
подлежит подмножество  с условием T (  )  0 .
Для четных n оказывается, что при переборе всех возможных  элемент
l
  2  2
l
пробегает не все элементы поля с условием T ( )  0 .
Действительно, среди подмножества {1} с условием T ( 1 )  0 только
половина
элементов
обеспечивает
пробегание
различных
элементов
l
l
   2   2 , поскольку другая половина { 2 }  {1  1} приводит к
повторению
уже
l
l
полученного
подмножества
l
l
  (1  1 )2  (1  1 )2   2   2 . В общем случае наличие дополнительных
решений может быть найдено из соотношения
l
l
l
l
l
l
  12  12   22   22 или ( 1   2 )2  ( 1   2 ) 2 ,
которое приводится сначала к эквивалентному соотношению
( 1   2 ) 2
2l
1
 1,
(5.10)
а затем и к сравнению
r12 (2l  1)(2l  1)  0  mod N  ,
где r12 - порядок элемента  12  1   2 , или
r12 (2l  1)  0  mod N  ,
(5.11)
поскольку, по условию синтеза, (2l  1, N )  1 . Число 2l  1 , как известно,
делит N только в том случае, если l является делителем n . Поэтому, если
принять (l , n)  1, то из (5.11) следует и
r12  0  mod N  ,
что означает невозможность существования дополнительных решений
l
l
l
l
уравнения   12  12   22   22 при (l , n)  1.
Если T (  )  0 и подмножество c    таково, что удается добиться
равенства   c перебором 1 с условием T ( 1 )  0 , то из (5.9) получим
180
 k ( )  1  S (c   2 1 ) S ( x 2 1 )  0 .
l
l
(5.12)
x
Таким образом, значение  k ( )  1  0 достигается при M 0  2n1  2n2 1
значениях смещений  .
Значения (5.9) для оставшегося подмножества смещений  следует искать
путем подбора 3 из подмножества {3} с условием T ( 3 )  1 . Это
подмножество можно построить из подмножества
{1}
так, чтобы
3   1  1 , где T ( 1 )  1 . Для любого четного n существует только два
элемента, которые заведомо обладают указанным свойством: это  N /3 ,  2 N /3 ,
принадлежащие подполю GF (22 ) . Другие два элемента подполя – 0 и 1 –
обладают нулевыми двоичными следами. Итак,  1   N /3  1   2 N /3
l
l
и
l
l
 3  ( 1   1 ) 2  ( 1   1 )2     12   12 . Очевидно, что возможны только два
l
l
варианта соотношений между  12 ,  12 :
l
l
l
l
 12   12  0 , или  12
2l
1
 1;
 12   12  1 .
Первое из них аналогично соотношению (5.10) при  1    1   2 и
приводит к тому же результату: отсутствию дополнительных решений.
Второе соотношение приводит к одной из двух возможных систем
сравнений:
 N l N
 3 2  3 (mod N )
 2l  1  0 (mod 3)
или  l 1

2
N
N

l
2  1  0 (mod 3)
 2 
(mod N )
 3
3
или
 N l 2N
 3 2  3 (mod N )
2l 1  1  0 (mod 3)
или  l

N
N

l
 2  1  0 (mod 3).
 2  (mod N )
 3
3
Очевидно, что при введенном выше ограничении (l , n)  1 ни одна из
181
приведенных систем не имеет решений.
Таким образом, любая вариация  приводит к результату (5.12) при
l
l
условии, что c    таково, что удается добиться равенства c     2   2 .
Важной
частью
выполненных
доказательств
является
определение
l
размерности множества пробегаемых значений элементом    2   2
вариации  , а следовательно, и количество значений 
l
при
с условием
T (  )  0 , для которых значения ФВК определены соотношением (5.12).
Размерность этого множества точно равна 2n2  1 .
Другие значения  должны принадлежать множеству размерностью 2n2 ,
не совпадающему с множеством, включающим все элементы вида
l
l
   2   2 . Вариантом построения такого множества могло бы стать
l
l
l
l
отображение вида  2   2  1   2   2 при условии, что не найдется пар
элементов 1 ,  2 таких что
l
l
l
l
12  12  1   22   22 , или
l
l
 2   2  1,
где   1   2 . Отличие в размерности подмножеств порождено тем, что
второе подмножество включает в себя единичный элемент поля, в то время
как первое подмножество не включает нулевой элемент поля. Невозможность
существования таких пар при условии (l , n)  1 доказана выше. Это означает,
что, перебирая все возможные  , удается всегда достичь либо равенства
l
l
l
l
c   2   2 , либо равенства c  1   2   2 . В последнем случае (5.9)
представляется в виде
 k ( )  1  S (c   2 1 ) S ( x  x 2 1 ) или
l
l
x
 k ( )  1  S ( *  *2 1 )  k (0)  1 ,
l
(5.13)
l
l
где * - элемент, для которого выполняется равенство c  1  *2  *2 .
Таким образом, для всего множества  доказан трехуровневый характер
182
ФВК и для четных значений n .
Найдем теперь распределение уровней ФВК. Так как соотношение (5.13)
определяет единственное ненулевое значение ФВК, то на основании свойства
5 ФВК имеем
N 1
 ( )  1


0
2
 22 n  2n2  k (0)  1 , откуда
2
 k (0)  1  2( n 2)/2 .
Пусть теперь, как и ранее, M  и M  равны количеству положительных
( 2( n 2)/2 ) и отрицательных ( 2( n 2 )/2 ) уровней соответственно, причем
M   M   2n2 . Тогда из свойства 4 ФВК получим
N 1
2n    k ( )  1  2( n 2)/2 ( M   M  ) , откуда
 0
M   M   2( n2)/2 ,
M   2n3  2( n4)/ 2 и
M   2n3  2( n4)/ 2 .
Таким образом, распределение уровней ФВК для четных n в форме (5.2)
имеет вид
 0, T (  )  1; T (  )  0,    *2  *2 , M 0 ;

l
l
 k ( )  1   2( n 2)/2 , T (  )  0,    1  *2  *2 , M  ;
 ( n 2)/2
l
l
 2
, T (  )  0,    1  *2  *2 , M  .

l
l
(5.14)
Как видно, отличительными особенностями ФВК для четных n являются:
 несколько большее (в
2 раз) значение максимальных уровней
ФВК;
 большее (приблизительно в 1,5 раза) количество уровней -1.
Вторая особенность в ряде случаев оказывается востребованной на
практике, поскольку по сравнению с нечетным n вероятность появления
высокого уровня взаимной корреляции уменьшается приблизительно вдвое.
184
5.1.3. Синтез двухкомпонентных составных кодов с
гарантированными уровнями ФАК и ФВК
5.1.3.1. Общая структура двухкомпонентных кодов
Двухкомпонентные коды с наилучшими характеристиками в смысле
распределения и значения максимальных уровней, а также размера
ансамбля впервые синтезированы Р.Голдом [2] на основе им же впервые
найденных
замечательных
свойств
пар
М-последовательностей
с
наилучшими свойствами ФВК. Однако им не были выполнены все
необходимые доказательства и не были найдены все последовательности с
указанными свойствами. По этой причине ряд авторов, включая и автора
данной работы, в разное время публиковали результаты в этом
направлении [3-5]. Целью данного раздела - систематизация результатов, в
том числе полученных автором, и вывод полноценных и доступных для
понимания доказательств.
Двухкомпонентные
коды
предназначены
для
формирования
квазиортогональных ансамблей большого размера. Напомним, что полный
размер ансамбля в классе кодов максимальной длины N  2n  1 равен
M1 
(N )
n
N , если допускается использование циклических сдвигов,
или
M2 
(N )
n
- в противном случае,
где  ( N ) - функция Эйлера.
Отметим, что для последовательностей Голда полный размер ансамбля
составляет
M 1G   ( N ) N 2
185
и
M 2G   ( N ) N ,
соответственно, где  ( N ) - количество различных пар кодовых
последовательностей максимальной длины, составляющих классические
коды Голда.
На рис. 5.1 приведена обобщенная структурная схема формирователя
двухкомпонентных кодовых последовательностей, где представлены:
MG 1 - генератор М-последовательности структуры 1;
MG 2 - генератор М-последовательности структуры 2;
G1 ( x)
- блок линейного суммирования первых
n
сдвигов М-
последовательности структуры 1 для получения М-последовательности с
произвольным сдвигом  ;
 - блок сумматоров по модулю два;
P1 (i   )  T ( i  ) ;
P2 (i )  T ( ik ) .
Анализ характеристик корреляционных функций проводится при
условиях, наложенных на структуры кодовых последовательностей:
a1 (i )    P1 (i )   S ( i ) ;
a2 (i )    P2 (i )   S ( ik ) ;
a (i, )    P (i, )   S ( i    ik ) ;
k  2l  1 ;
S () - преобразование аддитивной группы двоичных элементов (0, 1) в
мультипликативную группу (+1, -1),
а число l удовлетворяет условию (l , n)  1.
186
5.1.3.2. Алгебраические модели для расчетов ФАК и ФВК
двухкомпонентных кодов
Для вычислений автокорреляционной функции (ФАК) используется
алгебраическая модель
N 1
 2 A ( )   a (i   , )a (i, ) , или
i 0
N 1
 2 A ( )   S  i  (1    )   ik (1    k )  ,
i 0
где  - целочисленный сдвиг М-последовательности структуры 1,   0
- аргумент корреляционной функции  A ( ) , а индекс «А» идентифицирует
ФАК.
Принимая следующие обозначения (при   0 )
1      0 ( ) ,
1    k   1 (  ) k ,
получим
N 1
 2 A ( )   S  i  
0 ( )

  (i 1 (  )) k 
i 0
N 1

 S 
i 0
i   0 (  ) 1 (  )

ik
     
0
(5.15)
( )   1 (  ) 
или, выполняя замену  i  x, x  GF (2 n ) ,
 2 A ( )  1   S   
x
0 (  )  1 (  )

x  x k      0 ( )   1 ( )   1 ,
(5.16)
где     0 ( )   1 ( )  - соответствующее значение ФВК исходных Мпоследовательностей

P1  i     0 ( )   1 ( )   T  i   0 (  )1 (  )

и
P2 (i )  T ( ik ) . Разумеется, при нулевом аргументе ФАК достигает своего
максимального значения  2 A (0)  N . Данный вывод справедлив для любого
значения k .
Для
вычислений
взаимно-корреляционной
функции
(ФВК)
187
использована следующая алгебраическая модель
N 1
 2C ( )   a (i   , 1 )a (i, 2 ) ,
i 0
или
N 1
 2C ( )   S  i (      )   ik (1    k )  
1
2
i 0
N 1
  S  i  2 ( 1  2   1)   ik (1    k ) ,
i 0
где  1 ,  2 - целочисленные сдвиги М-последовательностей структуры 1
при формировании различных двухкомпонентных последовательностей;

- аргумент ФВК, а индекс «C» идентифицирует взаимно-
корреляционную
функцию.
При
этом
варианты
 1   2 не
могут
рассматриваться, иначе ФВК вырождается в ФАК.
Принимая следующие обозначения (при  1     2 ;   0 )
        
1
2
0 (  ,1 , 2 )
;
1    k  1 (  ) k ,
получим
N 1
 2C ( )   S  i 
0 (  ,1 , 2 )

  (i 1 (  )) k 
i 0
N 1

 S 
i 0
i  0 (  ,1 , 2 ) 1 (  )

ik
   
0
(5.17)
( , 1 , 2 )   1 ( )  ,
или, выполняя замену  i  x, x  GF (2 n ) ,
 2 C ( )  1 


xGF (2n )

xGF (2n )
S  x( 1     2 )  x k (1   k )  


S   0 (  ,1 , 2 )1 (  ) x  x ik    0 ( , 1 , 2 )   1 ( )   1.
.
(5.18)
Таким образом, и C ( ) приводится к значениям ФВК исходных Мпоследовательностей

P1  i   0 ( , 1 , 2 )   1 ( )   T  i  0 (  ,1 , 2 )1 (  )

и
188
P2 (i )  T ( ik ) . Данный вывод также справедлив для любого значения k .
Различия в результирующих соотношениях состоят в том, что элемент

0 (  ,1 , 2 )
при некоторых  1 , 2   1 может быть нулевым элементом поля,
что приводит к особой форме выражения для функции взаимной
корреляции.
В зависимости от значения  и соотношения между  1 и  2 значения
ФВК двухкомпонентных кодов (5.17) в особых точках может приводиться
к значениям боковых выбросов ФАК. Рассмотрим эти две особые точки.
1.  1     2 ;   0 .
При этом (5.17) приводится к виду
N 1
 2C ( , 1 , 2 )   2C ( 2   1 , 1 , 2 )   S  (i  (
1
i 0
2 1 )) k
  1 .
2.  1   2 ;   0 .
В этом случае имеем
N 1
 2C (0, 1 , 2 )   S  (i 
i 0
0 (0,1 , 2 )) k
  1.
В остальных точках, как видно из сопоставления выражений (5.15) и
(5.17), значения ФАК и ФВК двухкомпонентных кодов принадлежат
одному и тому же множеству. Таким образом, первый этап синтеза
квазиортогональных кодов завершен со следующими результатами:
1) вне зависимости от значения k значения ФАК при   0 и ФВК
двухкомпонентных кодов принадлежат одному и тому же множеству
значений;
2) эти значения исчерпываются значениями ФВК исходных Мпоследовательностей;
3) в особых точках значения ФВК двухкомпонентных кодов равны -1.
Эти результаты, в частности, сразу же определяют наилучшие
возможные (с точки зрения максимальных боковых уровней ФАК и ФВК)
189
двухкомпонентные
коды,
получаемые
на
основе
исходных
М-
последовательностей с трехуровневой ФВК (см. раздел 5.1.2).
Второй этап синтеза – нахождение распределения уровней ФАК и ФВК
двухкомпонентных
кодов
–
выполним
при
условиях,
наиболее
благоприятных для получения квазиортогональных ансамблей, то есть при
условиях существования трехуровневых ФВК исходных компонентов.
5.1.3.3. Общие свойства ФАК двухкомпонентных кодов
1. Свойство суммы значений ФАК
Сумма значений ФАК в форме (5.15)
N 1
N 1
N 1
 0
i 0
 0
2 A ( )   S  i   ik   S      k    2 ( ) ,
или в форме (5.16)
N 1



0
( )  1   ( )  1  2  ( )  1  1  N ,
2
2A
откуда, без учета значения ФАК при   0 , получим
N 1



1
( )  1   ( )  1  2  ( )  1 .
2
2A
(5.19)
Пусть  max  1 - максимальное положительное значение уровня
модифицированной ФВК для последовательностей с трехуровневой ФВК,
описанных в разделе 5.1.2. Поскольку трехуровневый характер ФАК при
  0 , очевидно, сохраняется, то (5.19) можно представить в виде
  ( )  12
 ( )  1 

(

)
1
(

1)
2





 2A
 max 


1

1



 1
max

 max
 ( max  1)( M   M  ).
N 1
(5.20)
Здесь M  , M  означают количество положительных и отрицательных
уровней ФАК при   0 соответственно.
190
2. Свойство суммы квадратов ФАК
Сумма квадратов значений ФАК в форме (5.15) может быть выражена
непосредственно из (5.15)
N 1
N 1
 1
 1
22A ( )   2    0 ( )  1 ( )  ,
или, в форме (5.16),
N 1
 2 A ( )  1
2
 1
N 1
N 1
   (   0 ( )   1 ( ))  1 
2
 1


  S    0 (  )1 (  ) ( x  y )  x k  y k 
 1 x
y
N 1
(5.21)


  S   ( x  y )   (1 (  ) 0 (  )) k x k   (1 (  ) 0 (  )) k y k .
 1 x
y
В последнем выражении интерес представляет анализ возможных
значений  1 ( )k   0 ( )k . Используя ранее введенные определения для
 0 ( ),  1 ( );   0 , при k  2l  1 получим
k
 
(1 (  )  0 (  )) k
1  (1  


 0 ( ) k
0 ( ) k
)
 1
 0 (  )
l
   0 (  )2 ,
(5.22)
откуда следует, что при любых   0,  0 ( )  0 и нечетных n элемент
  k ,   0 пробегает все элементы со свойством S (  k )  1 .
Рассмотрим сначала случай нечетных n .
Случай нечетных n
Используя найденное свойство (5.22), преобразуем (5.21) к виду
N 1
N 1
 2 A ( )  1  2 S   ( x  y)    k ( x k  y k ) 
2
 1
 1 x
y
1  S (  k )
.
2
Множитель 2 перед суммами учитывает, что в соответствии с (5.22)
значения   k повторяются дважды при перечислении   0 . Дальнейшие
преобразования дают
191
N 1



1

2A
N 1
( )  1   1  S (  k )   (   )  1 
2
2
 1
N 1
1
2
max  1  1  S (  k ) 1  S (   )  
2
 1
(5.23)
 ( )  1
2  N 1

  max  1 
 k
 1  S (  )   ,
2
 2

N 1
где   k ( )   S ( i    ik ) ;
i 0
 max  1 имеет тот же смысл, что и в соотношении (5.20). Поскольку
трехуровневый характер ФАК при   0 , очевидно, сохраняется, то
величина
M  M 
N  1   k ( )  1

 1  S (  ) 
2
2
(5.24)
в (5.23) показывает количество ненулевых уровней модифицированной
ФАК при   0 . Значения M  , M  имеют тот же смысл, что и в
соотношении (5.20). Для последовательностей с трехуровневой ФВК, как
показано в hазделе 5.1.2, это количество равно ( N  1) / 2  2n1 . Из
сравнения
следует,
что
для
получения
наилучшей
формы
ФАК
двухкомпонентных последовательностей с наименьшим количеством
ненулевых уровней ФАК при   0 необходимо подобрать такое значение
 , чтобы достичь максимального отрицательного значения функции
  k ( ) . Однако при больших значениях
n
получаемый выигрыш
незначителен.
Случай четных n
Для четных значений n соотношение (5.21) интерпретируется иначе:
при
вариации
 0
элемент
  k  1   
0 ( )
l
   0 (  )2  1
дважды
пробегает элементы поля со свойством S (  k )  1,   0 , но не все.
Действительно, дополнительное к подмножеству 1 подмножество  0 ,
192
l
составленное из элементов   0 (  )    0 (  )2   0 , также обладает свойством
l
S (  0 (  )    0 (  )2 )  1 и не перекрывается с 1 (см. раздел 5.1.2) Оба этих
множества составляют подмножество дважды повторяющихся элементов
  0,   1
поля
со
свойством
S ( )  1 .
Соотношение
(5.21)
непосредственно использует элементы подмножества 1 и может быть
представлено в виде
N 1
1    2 A ( )  1 
2
 1
N 1


  S   ( x  y )  (1    0 (  )    0 (  )2 )( x k  y k ) 
 1 x
y
l
N 1


  S   ( x  y )  x k  y k   S (  0 (  )    0 (  )2 )(x k  y k ) .
x
 1
y
l
Элементы подмножества  0 соответствуют некоторой абстрактной
функции вида
N 1


0   S   ( x  y )  (  0 (  )    0 (  )2 )( x k  y k ) 
 1 x
y
l
N 1


  S  ( x  y )   S (  0 (  )    0 (  )2 )( x k  y k ) .

x
y
 1
l
Сравнение функций 1 и 0 показывает идентичность внутренних
сумм по 
N 1


N 1


 S (  0 ( )    0 ( )2 )( xk  y k )   S   0 ( ) (z  z 2 ) ,
 1
l
 1
l
где z  x k  y k . Из определения  0 ( ) следует, что суммирование по
  0 можно заменить суммированием по  0 ( )  0 . Выполняя замену
переменных  0 ( )   , получим
N 1
l
 N  1, z  0,1;
 0 (  )
2 l
S
(
z
)


z

S   (z  z2 )  


 1
 1
 2, z  0,1,
N 1

откуда следует



193


0  ( N  1)  ( N  1)   S   ( x  y* )  
x


и


2
1  ( N  1)  ( N  1)   S   ( x  y* )    2  ( )  1 
x


 0  2  ( )  1 ,
2
где y* - элемент поля, являющийся решением уравнения y k  x k  1 .
Учет обоих подмножеств  0 , 1 представляет функцию
10  1  0  20  2  ( )  1 
2
1  S (  k )
 2 S  ( x  y )   ( x  y ) 
.
2
 1 x
y
N 1

k
k
k
Выполняя преобразования, аналогичные использованным в (5.22),
получим
N 1
10   1  S (  k )   (   )  1 .
2
(5.25)
 1
Анализ распределения уровней ФВК (5.14), полученного
5.1.2,
показывает,
что
ненулевые
значения
функции
в разделе
 (   )  1
определяются выполнением двух условий: S (   )  1 и возможностью
подбора
*
элемента
поля
Галуа
для
достижения
равенства
l
l
    1  *2  *2 для каждого   0 . Иными словами, в (5.25) никакого
влияния не оказывают члены для   0 такие, что для них существует
l
l
элемент поля * с условием     *2  *2 . Указанные два подмножества
l
l
l
l
элементов 1   2   2 и  2   2 , очевидно, не пересекаются и содержат
двукратно повторяющиеся элементы (для * и 1  * ). При определенном
условии эти два подмножества однозначно отображаются друг на друга,
вследствие чего размерности рассматриваемых подмножеств одинаковы и
равны половине количества элементов со свойством S (   )  1 при   0 ,
194
то есть 2n2 1 . Рассмотрим это условие подробнее.
Из (5.25) видно, что исключенный член при   0 имеет множитель
 ( )  1 , который при S (  )  1 равен 0 и не оказывает никакого влияния
на исключаемый член при   0 в (5.25). Этот вывод справедлив также и
при S (  )  1 , если только сдвиг  таков, что существует * с условием
l
l
   *2  *2 . Однако при S (  )  1 и 
l
l
   1  *2  *2 ,
множитель
исключенному члену при
 ( )  1
таком, что справедливо
ненулевой
и
соответствует
  0 , не участвуя, таким образом, в
формировании суммы (5.25). Пусть для определенности  таков, что
l
l
S (  )  1 и    *2  *2 . На основании этого вывода соотношение (5.25)
приобретает вид
10  2  max  1
2
N 1
 1  S (  k ) 
 1
1  S (   )

4
 ( )  1
2 N 3

 k
 1  S (  )   
  max  1 
2
 2

 ( )  1 
2 N 3
 k
 2,
  max  1 
2
 2

откуда следует
 ( )  1 
2  N 1
0   max  1 
 k
 2
4
 4

и
N 1



1
( )  1  1  10  0 
2
2A
  max
 N  1   k ( )  1


 2 .
 1 
4
 4

(5.26)
2
Поскольку трехуровневый характер ФАК при
  0 , очевидно,
сохраняется, то величина
M  M 
N  1   k ( )  1

 2,
4
4
(5.27)
195
входящая
в
(5.26),
показывает
количество
ненулевых
уровней
модифицированной ФАК при   0 . Здесь, как и ранее, M  , M  означают
количество положительных и отрицательных уровней ФАК при   0
соответственно. Для М-последовательностей с трехуровневой ФВК, как
показано в разделе 5.1.2, это количество равно ( N  1) / 4  2n2 . Из
сравнения
следует,
что
для
получения
наилучшей
формы
ФАК
двухкомпонентных последовательностей с наименьшим количеством
ненулевых уровней ФАК при   0 необходимо подобрать такое значение
 , чтобы достичь максимального отрицательного значения функции
  k ( ) . Однако при больших значениях n
получаемый выигрыш
незначителен.
Полученные результаты достаточны для определения распределения
уровней ФАК при   0 .
5.1.3.4. Распределение уровней ФАК двухкомпонентных
кодов
Случай нечетных n
Для определения распределения уровней ФАК достаточно найти
значения M  , M  , используя соотношения (5.20)
  ( )  12
 ( )  1 
M  M  
2

  max  1

1


max


и (5.24)
M  M 
N  1   k ( )  1

 1  S (  )  ,
2
2
полученные при выводе свойств суммы значений и суммы квадратов
значений ФАК. Результат совместного решения приведенных уравнения
относительно M  , M  дает
196
2
N  1   k ( )  1 1  S (  )   ( )  1  ( )  1 
M 




;
 2( max  1)  max  1 
4
4
2


2
N  1   k ( )  1 1  S (  )   ( )  1  ( )  1 
M 




,
 2( max  1)  max  1 
4
4
2


откуда получим
0, M 0 ;


 2 A ( )  1    max  1, M  ;
(  1), M ,

 max
где
M 0  N  1  (M   M  ) 
N  3   k ( )  1

 1  S (  )  .
2
2
Случай четных n
Как и для нечетных n , исходными для определения распределения
уровней ФАК являются значения M  , M  , получаемые из (5.20) и (5.27)
l
l
для  с условием S (  )  1 и     2   2 :
  ( )  12
 ( )  1 
M  M  
2
  0,
  max  1

1


max


M  M 
N  1   k ( )  1

2
4
4
при выводе свойств суммы значений и суммы квадратов значений ФАК.
Результат совместного решения приведенных уравнений относительно
M  , M  дает
M  M 
N  1   k ( )  1

1;
8
8
0, M 0 ;


 2 A ( )  1    max  1, M  ;
(  1), M .

 max
197
M 0  N  1  (M   M  ) 
3( N  1)   k ( )  1

.
4
4
5.1.3.5. Общие свойства ФВК двухкомпонентных кодов
1. Свойство суммы значений ФВК
Сумма значений ФВК в форме (5.17) и в форме (5.18) соответственно
равны
N 1



0
N 1
2C
(  )   S 
0

2C
ik
N 1
  S 
 1
 0
i 0
N 1



i  2
   k    ( 1 ) ( 2 ) ;
( )  1  N   ( 1 ) ( 2 ) 
 N  1   ( 1 )  1 ( 2 )  1   ( 1 )  1   ( 2 )  1 .
Учитывая трехуровневый характер ФВК, перепишем полученный
результат в виде
N 1



0
2C
( )  1  ( max  1)( M   M  ) ,
(5.28)
где
M  M 
N  1   ( 1 )  1 ( 2 )  1   ( 1 )  1   ( 2 )  1
;
 max  1
M  , M  - количество положительных и отрицательных уровней ФВК
соответственно.
2. Свойство суммы квадратов ФВК
Сумма квадратов значений ФВК в форме (5.17) может быть выражена
непосредственно из (5.17)
N 1



1
2
2C
( ) 
N 1

 
  0;  2 1
или в форме (5.18)
 2  0 ( , 1 , 2 )   1 ( )  ,
198
N 1


  
  0;  2 
( )  1 
2C
1
N 1
S  


  

  0;  2 
1
N 1
 (

  
2
x
  0;  2 
( , 1 , 2 )   1 ( ))  1 
2
0
1
0 (  ,1 , 2 )  1 (  )

( x  y)  xk  y k 
y
N 1
S x  y  


  

( 1 (  )  0 (  ,1 , 2 )) k
  0;  2 
1
x
(5.29)

x k   (1 (  ) 0 (  ,1 , 2 )) k y k .
y
При этом, как показано выше, в выражение (5.29) не входят значения
ФВК в двух особых точках:   0 и    2   1 , которые рассчитываются
отдельно.
В последнем выражении интерес представляет анализ возможных
значений  1 ( )k   0 ( , 1 , 2 )k . Используя ранее введенные определения,
получим
k
 
(1 (  )  0 (  ,1 , 2 )) k

1k
1   k


   
k


  1k  (  ) k  1    ,
k
или
  k   (  ) k  1    ,
k
1
(5.30)
где 1     1 , а переменная  связана с  ,   0;    соотношением
       1 . Как и ранее при анализе ФАК, существенное значение при
оценке
(5.29)
имеет
определение
области
значений,
пробегаемых
элементом   k или  1k при вариации  . Очевидным ограничением
области значений   k в соответствии с его определением является
значение при    2 .
Раскрывая (5.30) при k  2m  1, получим
m
  k  1     2    k (1    k ) .
1
(5.31)
Первая особая точка -   0 - соответствует нулевому элементу поля и
по определению не принадлежит допустимой области значений элемента
  k в (5.31). Вторая особая точка -    - также соответствует нулевому
1
199
элементу поля, но в определении элемента   , что также не принадлежит
допустимой области его значений. В (5.30) это значение соответствует
1  0 или    1 . Таким образом, значения    1 и    2 должны быть
исключены из области возможных значений параметра  1 ( )   0 ( , 1 , 2 ) в
(5.29).
Дальнейший анализ соотношения (5.31) производится раздельно для
четных и нечетных значений n .
Случай нечетных n
Для нечетных n , очевидно, произвольный элемент  1k , 1  0 можно
m
представить в одной из двух форм:  1k  1     2 , если S ( 1k )  1 и
S   k (1    k )   1 ,
или
m
 k     2 ,
1
S ( 1k )  1
если
и
S   k (1    k )   1 , где   GF (2n ) - любой элемент поля, кроме
  0; 1 . Причем, при вариации  каждый элемент   k в своей области
1
значений пробегается ровно два раза, поскольку различных значений
  0;1 вдвое больше, чем различный значений   k в своей области.
1
Отсюда следует, что вариация  , а значит и  ,   0;    , приводит к
перечислению всех ненулевых элементов поля   k , кроме тех, которые
соответствуют ранее определенным значениям    1 и    2 . Таким
образом, (5.29) с учетом свойства суммы квадратов ФВК, определенного в
разделе 5.1.1, представляется в виде
N 1
  
  0; 
( )  1 
2
2C
  ( )  1
  
 1,
2
 ( N  1) 2   ( 1 )  1 2   ( 2 )  1 2 ,
2
или
N 1



0
где
( )  1   max  1 2 ( M   M  ) ,
2
2C
(5.32)
200
( N  1) 2   ( 1 )  1 2   ( 2 )  1 2
.
M  M 
 max  1 2
Случай четных n
Для четных n , очевидно, произвольный элемент  1k , 1  0 можно
представить в одной из двух форм
1     2 ;

2m
    ,
m
 k
1
если S ( 1k )  1 и S   k (1    k )   1 , или
  1     2 ;

2m
      ,
m

1k
если S ( 1k )  1 и S   k (1    k )   1 , где   GF (2n ) со свойством
S ( )  1 .
При вариации  каждый элемент  1k в своей области значений
пробегается ровно два раза, поскольку различных значений   0,1 вдвое
больше, чем различный значений  1k в своей области. Отсюда следует,
что вариация  , а следовательно, и
 ,   0;    , приводит к
перечислению всех ненулевых элементов поля   k кроме тех, которые
соответствуют ранее определенным значениям    1 и    2 . Таким
образом, (5.29), как и в случае нечетных n , представляется соотношением
(5.32).
5.1.3.6. Распределение уровней ФВК двухкомпонентных
кодов
Случай нечетных n
Для определения распределения уровней ФВК достаточно найти
201
значения M  , M  , используя соотношения (5.28)
 N  1   ( 1 )  1 ( 2 )  1   ( 1 )  1   ( 2 )  1 
M  M  

 max  1


и (5.32)
( N  1) 2   ( 1 )  1 2   ( 2 )  1 2
.
M  M 
 max  1 2
Совместное решение относительно M  , M  при  ( 1 )  1;  ( 2 )  1 и
значении максимального уровня для нечетных n  max  1  2( n1)/2 дает
2
1  N 1  1 N 1
 2n2  2( n3)/ 2 ;
M  
 
2   max  1  2  max  1
2
1  N 1  1 N 1
 2n2  2( n3) /2
M  
 
2   max  1  2  max  1
2
 N 1 
n 1
M0  N  
  2  1,
  max  1 
что полностью совпадает с распределением уровней ФВК Мпоследовательностей для нечетных n , полученным в разделе 5.1.2.
Случай четных n
Определение величин M  , M  при  ( 1 )  1;  ( 2 )  1 и значении
максимального уровня  max  1  2( n 2)/2 для четных n дает
2
1  N 1  1 N 1
M  
 2n3  2( n4)/ 2 ;
 
2   max  1  2  max  1
2
1  N 1  1 N 1
 2n3  2( n4)/ 2
M  
 
2   max  1  2  max  1
2
 N 1 
n
n2
M0  N  
  2 1 2 ,
  max  1 
что полностью совпадает с распределением уровней ФВК М-
202
последовательностей для четных n , полученным в разделе 5.1.2.
203
5.1.4. Синтез трехкомпонентных составных кодов с
гарантированными уровнями ФАК и ФВК
5.1.4.1. Общая структура трехкомпонентных кодов
Трехкомпонентные коды являются развитием рассмотренных в разделе
5.1.3 двухкомпонентных кодов и предназначены для формирования
квазиортогональных ансамблей еще большего размера. Полный размер
ансамбля в классе кодов максимальной длины N  2n  1 равен
M1 
(N )
n
N , если допускается использование циклических сдвигов,
или
M2 
(N )
n
- в противном случае,
где  ( N ) - функция Эйлера.
Для последовательностей Голда полный размер ансамбля при тех же
условиях составляет
M 12   ( N ) N 2
и
M 22   ( N ) N ,
соответственно, где  ( N ) - количество различных пар кодовых
последовательностей максимальной длины, составляющих классические
коды Голда (см. раздел 5.1.3).
Для трехкомпонентных составных кодов полный размер ансамбля при
тех же условиях составляет
M 13   ( N ) N 3
и
M 23   ( N ) N 2 ,
204
соответственно, где  ( N ) - количество различных пар кодовых
последовательностей
максимальной
длины,
составляющих
трехкомпонентные коды (см. раздел 5.1.3).
Последовательности
Голда
достаточно
хорошо
исследованы
-
существуют даже аналитические методы их синтеза. Аналогичных
аналитических результатов для трехкомпонентных кодов в настоящее
время не существует.
На рис.5.2 приведена обобщенная структурная схема формирователя
трехкомпонентных кодовых последовательностей, где представлены:
MG 1 - генератор М-последовательности структуры 1;
MG 2 - генератор М-последовательности структуры 2;
MG 3 - генератор М-последовательности структуры 3;
G1 ( x)
- блок линейного суммирования первых
n
сдвигов М-
последовательности структуры 1 для получения М-последовательности с
произвольным сдвигом  ;
G2 ( x) - блок линейного суммирования первых
n
сдвигов М-
последовательности структуры 2 для получения М-последовательности с
произвольным сдвигом  ;
 - блок сумматоров по модулю два;
P1 (i   )  T ( i  ) ;
P2 (i   )  T ( (i  ) k1 ) ;
P3 (i )  T ( ik2 ) ;
P (i, ,  )  T ( i  )+T ( ( i  ) k1 )+T ( ik2 ) .
Перечислим условия, при которых проводится анализ характеристик
корреляционных функций:
a1 (i )    P1 (i )   S ( i ) ;
205
a2 (i )    P2 (i )   S ( ik1 ) ;
a3 (i )    P3 (i )   S ( ik2 ) ;
a (i, ,  )    P (i, ,  )   S ( i    (i  ) k1   ik2 )
k1  2l1  1; k1  2l2  1 ;
S () - преобразование аддитивной группы двоичных элементов (0, 1) в
мультипликативную группу (+1, -1),
а числа l1 , l2 удовлетворяют условиям
(l1 , n)  1; (l2 , n)  1, l1  l2 .
Иными словами, числа l1 , l2 не должны иметь общих делителей с
числом n . Смысл этих ограничений раскрыт в разделе 5.1.3.
5.1.4.2. Алгебраические модели для расчетов ФАК и ФВК
трехкомпонентных кодов
Для вычислений автокорреляционной функции (ФАК) используется
алгебраическая модель
N 1
3 A ( )   a (i   , ,  )a (i, ,  ) , или
i 0
N 1
3 A ( )   S  i  (1    )   (i  ) k (1    k )   ik (1    k )  ,
1
1
2
2
i 0
где  ,  - целочисленные сдвиги М-последовательностей структуры 1 и
2, а   0 - аргумент корреляционной функции 3 A ( ) ; индекс 3 является
признаком трехкомпонентного кода, а индекс «А» идентифицирует ФАК.
Принимая следующие обозначения (при   0 )
1     0 ,
1    k1   1k1 ,
1    k2    2 k2 ,
получим
206
N 1
3 A ( )   S  i     (i   ) k   (i 
0
1
1
2 ) k2
i 0
 
(5.33)
N 1
  a  i   ( , ,  )   N a ( , ,  ),
i 0
где
a ( , ,  )
-
среднее
значение
трехкомпонентной
кодовой
последовательности.
Для
вычислений
взаимно-корреляционной
функции
(ФВК)
использована алгебраическая модель
N 1
3C ( )   a (i   , 1 , 1 )a (i, 2 ,  2 ) ,
i 0
или
N 1
3C ( )   S  i (      )   ik ( (  ) k    k )   ik (1    k )  ,
1
2
1
1
1
2 1
2
2
i 0
где
 1 , 1 ,  2 ,  2 -
целочисленные
сдвиги
М-последовательностей
структуры 1 и 2 при формировании различных трехкомпонентных
последовательностей;

- аргумент ФВК, а индекс «C» идентифицирует взаимно-
корреляционную функцию. При этом варианты  1   2 , 1   2 не могут
рассматриваться совместно, иначе ФВК вырождается в ФАК.
Принимая следующие обозначения (при  1     2 ; 1     2 ;   0 )
        (  , , ) ;
1
2
1
2
 (  ) k    k    (  , ,
1
1
2 1
1    k 2    (  ) k2 ,
получим
1
2 ) k1
;
207
N 1
3C ( )   S  i  (  , , )   (i  (  , ,
1
2
1
i 0
2 )) k1
  (i  (  )) k2  
N 1
  a  i   ( , 1 , 2 , 1 ,  2 )   N a ( , 1 , 2 , 1 ,  2 ).
(5.34)
i 0
Различия в результирующих соотношениях состоят в том, что элементы
  (  , , ) ,   (  , ,
1
2
1
2 )k1
при произвольных  1 , 2 , 1 ,  2 могут быть нулевыми
элементами поля, что приводит к особым формам выражений для функций
взаимной корреляции.
В зависимости от значений соотношений между  1 и  2 , 1 и  2
значения ФВК трехкомпонентных кодов (5.34) в особых точках могут
приводиться к значениям ФВК 2-компонентных кодов или значениям
боковых выбросов ФАК. Эти особые точки рассмотрены отдельно, а пока
они исключаются из дальнейшего анализа.
В остальных точках, как видно из сопоставления выражений (5.33) и
(5.34), значения ФАК и ФВК трехкомпонентных кодов принадлежат
одному и тому же множеству. Поскольку при синтезе квазиортогональных
кодов существенными показателями корреляционных функций являются
их максимальные значения, а не распределение, то в дальнейшем
анализируется выражение (5.33) при   0 как более простое, а индекс,
идентифицирующий
авто-
или
взаимно-корреляционную
функции,
опускается.
Как это известно из синтеза двухкомпонентных кодов Голда,
аналитические результаты могут быть получены для значений k1  2l1  1 и
k2  2l2  1 . Дальнейший анализ соотношения (5.33) произведем, используя
замену  i  x, x  GF (2 n )
3 ( , ,  )  1 

n
xGF (2 )
S  x   0  x k1 ( 1 ) k1  x k2  2k2  .
(5.35)
Будем также считать, что параметры  0 ,  1 ,  2 не равны 0. Поскольку
208
переменная x пробегает все элементы поля, включая 0, равенство (5.35) не
изменится при замене переменной x  x   . После выполнения замены
переменной, получим
3 ( , ,  )  1  S     (   )k  (   ) k  
1


xGF (2n )
2
1
2
2
(5.36)
S  x  1    ( 2 , 2 )   ( x 2 ) k1  ( x  2 ) k2 ,
где
1     0 
2     1 ;
l1
 l1
  ( 2 , 2 )   2   k   2  2
2 1
 l1
2 k1
 l2
l2
  2   2 k2   2  2
 l2
 2 k2

1
1
2
2
  2 (  2 ) 2  (  2 ) 2    2 (  2 ) 2  (  2 ) 2  .




l
l
l
l
Данная форма обладает аддитивным характером по отношению к  :
для любых 1 ,  2 справедливо
  ( 2 , 2 )    ( 2 , 2 )    ( 2 , 2 ) ,
1
2
3
где  3  1   2 .
Это означает, в частности, что равенство  1 (  2 , 2 )   2 ( 2 , 2 ) для
1   2 достижимо, только если   (  2 , 2 )  0 для 3  1   2 .
3
В зависимости от значений параметров  , ,  , характеристик кода
k1  2l1  1 и k2  2l2  1 в выбранном поле Галуа вариация  может
привести к разнообразным формам соотношения (5.36). Однако в любом
случае при выбранном значении  возможен только один из следующих
вариантов значений параметра  1    (  2 , 2 ) :
 1
,
    (  2 , 2 )  
 0
1
где 1      0 и  
(5.37)
- новый параметр смещения для первого
209
компонента составной последовательности, соответствующий выбранному
 . Первый вариант (5.37) формально включает случай   ( 2 , 2 )  0 , при
котором 1  1 . Кроме того, первый вариант (5.37) универсален: для
любого  при фиксированных  , ,  , кроме случая  1    (  2 , 2 )  0 ,
всегда найдется соответствующее значение 1 .
В этих условиях (5.36) представляется следующим образом
3 ( , ,  )  1  S     (   ) k  (   ) k  3 ( ,  ,  )  1 (5.38)
1
2
1
2
2
для любого  .
Из (5.38) следует, что для фиксированного набора  , ,  для любого 
с условием  1    (  2 , 2 )  0 значение 3 ( , ,  )  1 отображается на
любое значение  3 ( ,  ,  )  1 , где   пробегает все возможные
значения (см. рис.5.3).
Данный вывод означает одно из двух событий: либо значения
3 ( ,  ,  )  1  0 при всех   и, следовательно, 3 ( , ,  )  1  0 (рис.5.3a),
либо для данного набора  , ,  введенное предположение неверно и
удается подобрать  с условием  1    (  2 , 2 )  0 , так что значение
3 ( , ,  )  1 отображается на значение   2 ( ,  )  1 (рис.5.3b), где
 2 ( ,  )  1 

xGF (2n )
S  x k1 ( 1 ) k1  x k2  2k2  - ФВК второй и третьей
компонентов составной последовательности.
Более того, легко показать, что если второй вариант (5.37) недостижим
для набора параметров  , ,  , то первый вариант всегда может быть
приведен ко второму варианту для набора параметров  , 2 ,  .
Действительно, для первого варианта из равенства
     (  2 , 2 )  
1
1 
с учетом обозначений, принятых при выводе
210
(5.36), получим
 
1
1 

   0 (     )    0  2  
3 ( , 2 ,  )  1  S  
12 
   ( 2 , 2 ) и
 (  2 ) k1  (   2 ) k2   2 ( ,  )  1 ,
12 

где   2       .
Это подмножество значений смещений  2 может быть получено и из
следующих соображений. Пусть для заданного набора параметров  , , 
вариацией  не удается добиться равенства  1    (  2 , 2 )  0 . Для двух
некоторых неравных значений 1 ,  2 , очевидно, справедливо
     ( 2 , 2 )  
1
 1  0
;
 2  0
.
1
     (  2 , 2 )  
1
2
Суммируя эти равенства и учитывая аддитивные свойства   ( 2 , 2 ) ,
получим
  ( 2 , 2 )    (
0
3
 1

 2
) , причем 
 1

 2
   ни при каких 1 ,  2 ,
иначе оказалось бы возможным  1   3 ( 2 , 2 )  0 , что противоречит
условию. Таким образом, все множество возможных смещений 
распадается на два подмножества    ,  *  , где первое подмножество
включает все возможные различные значения   , соответствующие
уравнению  1    (  2 , 2 )  
   0
при вариации  , а второе состоит из
всех  * , удовлетворяющих условию 
представляет
значения
 *


   . Первое подмножество
3 ( , ,  )  1  3 ( ,  ,  )  1  0 , а второе –
значения 3 ( , ,  )  1   3 ( , * ,  )  1    2 ( ,  )  1 .
5.1.4.3. Оценка уровней ФВК в особых точках
Как указывалось в предыдущем разделе, в зависимости от значения
211
аргумента а также соотношений между параметрами  1 и  2 , 1 и  2
значения ФВК трехкомпонентных кодов (5.34) в особых точках может
приводиться либо к значениям ФВК двухкомпонентных кодов, либо к
значениям боковых выбросов ФАК.
В обозначениях, принятых при выводе соотношения (5.34), эти особые
точки соответствуют следующим значениям параметров.
1.  1     2 ; 1     2 ;   0 .
При этом (5.34) приводится к виду
3C ( , 1 , 2 , 1 ,  2 )  3C ( , 1 , 1   , 1 ,  2 ) 
N 1
  S  ( i  (  ,1 , 2 )) k1   (i  (  )) k2 .
i 0
Выполняя те же преобразования, что и ранее, запишем ФВК в
модифицированной форме
N 1
3C ( , 1 , 1   , 1 ,  2 )  1   S   (  , ,
1
2 ) k1
i 0
x k1    (  ) k2 x k2  
  2C ( , 1 ,  2 )  1,
откуда
следует,
что
ФВК
трехкомпонентных
кодовых
последовательностей при данных условиях отображается на ФВК второго
и третьего компонентов трехкомпонентных кодовых последовательностей.
2.  1     2 ; 1     2 ;   0.
В этом случае (5.34) приводится к виду
3C ( , 1 , 2 , 1 ,  2 )  3C ( , 1 , 2 , 1 , 1   ) 
или,
N 1
  S  i  (  ,1 , 2 )   ( i  (  )) k2 ,
в
модифицированной
i 0
форме,
N 1
3C ( , 1 , 2 , 1 , 1   )  1   S   (  , , ) x    (  ) k x k  
1
2
2
2
i 0
  2C ( , 1 , 2 )  1,
т.е.
при
данных
условиях
ФВК
трехкомпонентных
кодовых
212
последовательностей
компонентов
отображается
на
трехкомпонентных
ФВК
первого
кодовых
и
третьего
последовательностей
трехкомпонентного кода.
3.  1   2 ; 1   2 ;   0
В этом случае (5.34) приводится к виду
N 1
3C (0, 1 , 2 , 1 ,  2 )   S  i  (0, , )   (i  (0, ,
1
2
1
2 )) k1
i 0
,
или,
в
модифицированной форме,
N 1
3C (0, 1 , 2 , 1 ,  2 )  1   S   (0, , ) x    (0, ,
1
2
1
2 ) k1
i 0
x k1    2C (0, 1 , 2 , 1 ,  2 )  1 ,
откуда следует, что в этом случае ФВК трехкомпонентных кодовых
последовательностей
отображается
на
ФВК
первого
и
второго
компонентов трехкомпонентного кода.
4.
 1     2 ; 1     2 ;   0
или
 1   2 ; 1   2 ;   0
или
 1   2 ; 1   2 ;   0 .
В таких условиях (5.34) приводится к простейшим выражениям для
бокового уровня ФАК кода максимальной длины
N 1
3C ( , 1 , 1   , 1 , 1   )   S  (i  (  )) k   1 , или
2
i 0
N 1
3C (0, 1 , 1 , 1 ,  2 )   S  (i  (0, ,
1
2 )) k1
i 0
N 1
3C (0, 1 , 2 , 1 , 1 )   S  i  (0, ,
1
i 0
2)
  1 , или
  1.
5.  1   2 ; 1   2 ;   0 .
Этот вариант, очевидно, соответствует главному уровню ФАК и в
данном контексте рассматриваться не должен.
5.1.4.4. Выводы
1. Уровни ФВК, так же как и боковые уровни ФАК рассматриваемых
213
трехкомпонентных последовательностей, в результате синтеза либо
определены явно, либо отображены на соответствующие уровни ФВК
двухкомпонентных
кодовых
последовательностей,
аналогичных
последовательностям Голда.
2. Уровни ФВК, так же как и боковые уровни ФАК рассматриваемых
трехкомпонентных последовательностей, могут отображаться на уровни
ФВК двухкомпонентных кодовых последовательностей, составленных из
всех возможных трех пар кодовых последовательностей, составляющих
трехкомпонентный код. При этом в двух из трех сочетаний пар
отображение
происходит
на
уровни,
известные
из
синтеза
двухкомпонентных кодов (см. раздел 5.1.3).
3. В тех случаях, когда отображение уровней ФВК, так же как и
боковых
уровней
ФАК
рассматриваемых
трехкомпонентных
последовательностей, происходит на уровни ФВК двухкомпонентных
кодовых последовательностей, составленных из второго и третьего
компонентов трехкомпонентных последовательностей, значения этих
уровней не определяются как результат данного синтеза. Таким образом,
данный вывод означает, что дополнительным этапом полного синтеза
является
расчет
ФВК
последовательностей.
указанных
компонентов
трехкомпонентных
214
5.1.5. Другие методы аналитического оценивания
ФВК
В [3, 4] показано, что периодическая функция взаимной корреляции (в
дальнейшем просто ФВК) двух последовательностей a (i   )  S ( i  ) и
b(i )  S ( ik ) длины N  22 p 1 может быть определена по формуле
N 1
 k ( )   S ( i  ) S ( ik )  2 p ( M  1)  1 ,
(5.39)
i 0
где k - число, определяющее структуру последовательности b(i ) , причем
(k , N )  1 и
k  1 (mod (2 p  1)) ;

-
параметр
(5.40)
задержки
последовательности
b(i )
относительно
«алгебраического нуля» или аргумент ФВК;
M - число решений уравнения
      k  
(5.41)
относительно параметра   {0,1,...,2 p } ;
  GF (22 p ) - примитивный элемент поля GF (22 p ) ;
  GF (2 p ) - произвольный элемент подполя GF (2 p ) .
Работа [3], в основном, посвящена поиску и исключению из ансамбля
заведомо «плохих» пар кодовых последовательностей, соответствующих
максимально возможным значениям параметра M . Там же найдены условия
существования пар последовательностей с уровнями ФВК порядка N / 3.
В [4] сформулирован общий принцип синтеза квазиортогональных
ансамблей указанного типа.
Цель дальнейшего анализа - уточнение ФВК (5.39) как функции параметра
M  f (k , ) , поэтому основное внимание будет уделено решению уравнения
(5.41). Анализ
этого
уравнения
показывает, что все
соответствуют трем вариантам (см. рис.5.4).
его решения
215
Вариант 1
  0 (ветвь 1 на рис.5.4).
В этом случае параметр  должен удовлетворять сравнению
     k ( mod N) .
(5.42)
Вариант 2
Этот
вариант
ограничивает
область
значений
слагаемых
рассматриваемого уравнения подмножеством элементов, принадлежащих
подполю GF (2 p ) (ветвь 2 на рис.5.4):
     1  GF (2 p );
,
 k
p
   2  GF (2 ).
(5.43)
Очевидно, что результат суммирования
  1   2
так же будет
принадлежать подполю GF (2 p ) .
Вариант 3
Этот вариант задает представление (5.41) в виде функции отображения
элемента поля GF (22 p ) в элемент подполя GF (2 p ) в виде (ветвь 3 на рис.5.4)
  x  x2 ,
p
(5.44)
где x - произвольный элемент поля GF (22 p ) .
Несложно
убедиться
в
результативности
такого
преобразования,
поскольку двоичный след  как элемента подполя GF (2 p ) в точности равен
двоичному следу  как элемента поля GF (22 p ) .
Строго говоря, два первых варианта являются частными случаями
третьего и выделяются с целью оперативной оценки снизу количества
решений M .
Рассмотрим перечисленные варианты более детально и для однозначности
потребуем, чтобы области значений уравнения (5.41), представляемые ими,
не пересекались.
Рассмотрим сначала первый вариант (ветвь 1 на рис.5.4)
216
Вариант 1
Здесь при заданных k ,  выполняется сравнение (5.42). Множество его
решений есть подмножество решений алгебраического уравнения (5.41).
Найдем области определения k ,  , а также число решений (5.42). Для этого,
исходя из условия (5.40), представим k в виде
k  qk (2 p  1)  1.
(5.45)
Тогда сравнение (5.42) приобретает вид
   qk (2 p  1) (mod (22 p  1)).
(5.46)
Поскольку решения сравнения (5.46) существуют только при условии
делимости его левой части на 2 p  1 , то значения  должны иметь вид
  q (2 p  1), q  0,1, ...,2 p.
(5.47)
После подставновки (5.47) в (5.46) и сокращения общего делителя
получим
q   qk ( mod (2 p  1)).
(5.48)
Поскольку максимальное значение  равно 2 p , то (5.48), очевидно,
описывает все возможные решения сравнения (5.42).
Количество решений (5.48) зависит от величины (НОД) чисел q , qk и
2 p  1 . При этом возможны три варианта.
Вариант 1.1
Сравнение
(5.48)
имеет
единственное
решение
при
(qk , 2 p  1)  1; (q , 2 p  1)  1 (ветвь 11 на рис.5.4).
Вариант 1.2
Сравнение
(5.48)
имеет
(qk , 2 p  1)  d1  1
решений
при
условии
q  0 (mod d1 ) (ветвь 12 на рис.5.4).
Вариант 1.3.
Сравнение (5.48) не имеет ни одного решения, если (qk , 2 p  1)  d1 , но при
217
этом q  0 (mod d1 ) (ветвь 13 на рис.5.4).
Рассмотрим теперь второй вариант (ветвь 2 на рис.5.4).
Вариант 2
В этом случае выполняются условия системы уравнений (5.43).
Очевидно, что система (5.43) эквивалентна следующей системе сравнений
    0 (mod (2 p  1));

p
  k  0 (mod (2  1)).
(5.49)
Анализ системы сравнений (5.49) показывает, что она при   2 p имеет
единственное решение   0 (ветвь 21 на рис.5.4), причем только при
условии
  0 (mod (2 p  1)) .
Следовательно и уравнение (5.41) будет иметь два решения при
следующих значениях аргумента ФВК:
  (2 p  1) j; j  1, 2, ..., 2 p  2 .
Здесь значение   0 исключено, чтобы не допустить пересечения с
рассмотренным ранее условием (5.42).
Рассмотрим, наконец, вариант 3 (ветвь 3 на рис.5.4).
Вариант 3
Для этого варианта справедливо условие (5.44). Определим двоичный след
элемента       k , определенного в (5.41), как элемента подполя GF (2 p ) :
T2 p (      k )       2(  )  ...   (  )2
p 1

p 1
   k   2 k  ...    k 2 .
Отсюда следует, что       k  GF (2 p ) , если справедливо одно из двух
представлений
 k  (   )2 p (mod N )
(5.50)
или
     k 2 p (mod N ) ,
(5.51)
218
поскольку только при этих условиях указанное выражение является
двоичным следом.
Нетрудно видеть, что представление (5.51) полностью эквивалентно
(5.50). Действительно, домножая левую и правую части (5.51) на 2 p , получим
(   )2 p   k 22 p (mod N )   k (mod N ) .
Таким образом, множество решений (5.41) в рассматриваемой ситуации
совпадает с множеством решений (5.50).
Сравнение (5.50) эквивалентно сравнению
 2 p   (k  2 p ) ( mod 22 p  1) , которое с учетом (5.40) представляется в
виде
 2 p   (qk  1)(2 p  1) ( mod 22 p  1) .
Последнее сравнение имеет решения только для аргументов  ,
определенных (5.47), вследствие чего имеем:
q 2 p   (qk  1) ( mod 2 p 1) .
(5.52)
Поскольку по условию   2 p , то (5.52) описывает все возможные
решения (5.50). Количество решений сравнения (5.52) зависит от величины
НОД чисел q , qk 1 и 2 p  1. При этом возможны три варианта.
Вариант 3.1
Сравнение (5.52) имеет единственное решение при (qk  1, 2 p  1)  1 (ветвь
31 на рис.5.4).
Вариант 3.2
Сравнение (5.52) имеет (qk  1, 2 p  1)  d 2  1 решений при условии
q  0 (mod d 2 ) , так как (d 2 , 2 p )  1 (ветвь 32 на рис.5.4).
Вариант 3.3
Сравнение (5.52) не имеет ни одного решения, если (qk  1, 2 p  1)  d 2 , но
при этом q  0 (mod d 2 ) (ветвь 33 на рис.5.4).
219
Полученные результаты анализа соотношений (5.42), (5.49) и (5.50)
необходимы для оценки количества решений M исходного уравнения (5.41).
Ожидаемые оценки, по крайней мере при некоторых условиях, будут
носить характер нижней границы. В частности, это является следствием того,
что рассмотренный выше вариант 3 оценивает принадлежность элемента
      k только к подполю порядка 2 p . Однако само это подполе GP (2 p )
может содержать подполя, порождающие дополнительные решения. В
любом случае минимальное значение M  0 и минимальный (с учетом знака)
уровень ФВК всегда равен
min  k ( )  (2 p  1) .

Из полученных выше результатов следует, что все множество значений k
вида (5.45) разбивается на три подмножества, которые представлены
схемами a, b, c на рис. 5.5.
Анализ вариантов решений на рис. 5.5 показывает, что лучшие с точки
зрения минимального значения максимального уровня ФВК результаты
получаются при выборе значений k , удовлетворяющих следующей системе
уравнений:
 (qk , 2 p  1)  1

p
(qk  1, 2  1)  1.
(5.53)
Оценим возможности решения системы (5.53). Для этого перепишем
условие (5.45) для k ,представленного в следующей эквивалентной форме
k  qk (2 p  1)  (2qk  1) ,
откуда вытекает ограничение для выбора числа qk :
(2qk  1, 2 p  1)  1 .
Таким образом, система (5.53) с учетом всех ограничений должна быть
представлена в виде
 (qk , 2 p  1)  1;

p
(qk  1, 2  1)  1;
(2q  1, 2 p  1)  1.
 k
(5.54)
220
Каждое из условий можно представить в виде системы условий
(2qk  1, ei )  1; i  1, 2,..., m p ,
где ei - i -й делитель числа 2 p  1 ;
m p - количество делителей числа 2 p  1 .
Таким образом, система (5.54) приобретает вид
(qk , ei )  1;

 (qk  1, ei )  1; при i  1,2,..., m p .
 (2q  1, e )  1.
i
 k
(5.55)
Из (5.55) следует, что самые жесткие ограничения на выбор значений qk
накладывает минимальный делитель e1 числа 2 p  1 , значение которого
зависит от свойств числа p . Представим минимальный делитель в форме
e1  2e 1 и найдем условия, при которых 2 p  1 делит e1  2e  1 . Нетрудно
установить, что таким условием является p  (2t  1)e , где t  1 - целое число.
Отсюда,
в
частности,
следует,
что
минимальный
делитель
e1  3
соответствует значению e  1 и любому нечетному числу p  2t  1, а
минимальный делитель e1  5 - значению e  2 и любому четному числу вида
p  2(2t  1) .
Кроме того, анализ показывает, что для некоторых четных значений p
числа 2 p  1 могут быть простыми. В частности, скорее всего, многие (но не
все) из чисел Ферма вида 2 p  1; p  2 s являются простыми. В этой ситуации
система (5.54) имеет решение для любых значений qk . Однако для чисел p
вида p  2 j (2q p  1); j  0; q p  0 числа 2 p  1 имеют минимальный делитель
e1  22  1 . Итак, при поиске наилучших кодовых последовательностей
j
рассматриваемого подкласса система (5.55) может быть заменена системой
 (qk , e1 )  1;

(qk  1, e1 )  1;
 (2q  1, e )  1.
1
 k
(5.56)
221
и все возможные ее решения соответствуют четырем вариантам
представления чисел p :
 нечетные p вида p  2t  1, для которых e1  3 ;
 четные p вида p  2(2t  1) , для которых e1  5 ;
 четные p вида p  2 s такие, что числа Ферма вида 2 p  1 - простые;
 четные p вида p  2 j (2q p  1); j  1; q p  0 , для которых e1  22  1 .
j
Вариант 1: p  2t  1; e1  3
Для этого варианта система (5.56) решения не имеет, а следовательно, этот
вариант
соответствует
либо
условию
(qk , 2 p  1)  d1 ,
либо
условию
(qk  1, 2 p  1)  d 2 , где d1  d 2  e1  3 . В частности, если t  2; p  5 , то
минимальное значение
qk
по условию (qk , 2 p  1)  d1
равно 3, что
соответствует k  47 (см. рис. 5.6b). При этом (qk  1, 2 p  1)  1 , полное число
решений M  5 и максимальный уровень ФВК в соответствии с (5.39) равен
 k ( )  2 p ( M  1)  1  2 p  2  1 .
Вариант 2: p  2(2t  1); e1  5
Для этого варианта система (5.56) имеет два решения, а следовательно,
этот вариант соответствует условиям (qk , 2 p  1)  1 , (qk  1, 2 p  1)  1 . В
частности, если t  1; p  6 , то минимальное значение qk , удовлетворяющее
(5.56), равно 2, что соответствует k  127 (см. рис. 5.6c). При этом полное
число решений M  3 и максимальный уровень ФВК в соответствии с (5.39)
равен
 k ( )  2 p ( M  1)  1  2 p 1  1 .
Вариант 3: p  2 s , число 2 p  1 - простое
Для этого варианта система (5.56) имеет также два решения, а,
следовательно,
этот
вариант
соответствует
условиям
(qk , 2 p  1)  1 ,
222
(qk  1, 2 p  1)  1 . В частности, если s  1; p  4 , то минимальное значение qk ,
удовлетворяющее (5.56), равно 2, что соответствует k  31 (см. рис. 5.6a).
При этом полное число решений M  3 и нижняя граница максимального
уровеня ФВК в соответствии с (5.39) равна
 k ( )  2 p ( M  1)  1  2 p 1  1 .
Отметим, что при существовании дополнительных подполей могут
появляться не рассмотренные в данном анализе дополнительные решения.
Рассматриваемый вариант как раз обладает указанным свойством. Поэтому,
скорее всего, будут существовать значения k , при которых уровень ФВК
велчиной
2 p 1  1
будет
превышен.
Действительно,
при
k  47 (qk  3), 61 (qk  4) количество решений M  5 , что соответствует
уровню  k ( )  2 p  2  1 , а при k  19 (qk  5) M  4 , что соответствует уровню
 k ( )  3  2 p  1 .
Вариант 4. p  2 j (2q p  1); j  1; q p  0 , e1  22  1 .
j
Для этого варианта возможен выбор qk таких, что система (5.56) имеет
два решения, вследствие чего полное число решений M  3 и максимальный
уровень ФВК в соответствии с (5.39) равен
 k ( )  2 p ( M  1)  1  2 p 1  1 .
Таким образом, полученные результаты могут быть использованы как для
построения квазиортогональных составных последовательностей типа кодов
Голда,
так
и
для
предварительной
отбраковки
заведомо
«плохих»
комбинаций, например при алгоритмическом формировании ансамблей.
223
5.1.6. Формальное описание и оценка двумерной
функций корреляции
Будем считать, что информационная система использует ансамбль непрерывных фазоманипулированных (ФМн) сигналов со скачком фазы  , построенных на основе М-последовательностей с различными порождающими
многочленами. Для оценки качества ансамбля сигналов при наличии неопределенности, как по задержке, так и по частоте принято использовать взаимную функцию неопределенности (ВФН) в координатах «частота - задержка»
[6, с. 23] или двумерную функцию взаимной корреляции (ДФВК) [7, с. 90].
Понятия ДФВК и ВФН близки друг к другу. Отличие заключается в комплексном характере ВФН. В дальнейшем будем использовать понятие ВФН
как общепринятое в теории сигналов:
R1k ( * , ) 
1 T
s1 (t   * ) sk (t )exp(it )dt ,

2E 0
(5.57)
где индексы 1, k означают выбор f1 ( x), f k ( x) в качестве многочленов с
корнями  ,  k , порождающих кодовые М-последовательности s1 (t ), sk (t ) соответственно;
 * - временной сдвиг;
 - частотный сдвиг;
Ts  N 0 - период М-последовательности с длительностью символа  0 .
В периодическом режиме работы системы имеет смысл рассматривать
дискретные значения частотного и временного сдвигов в виде
h
2
и  *   0 соответственно, или их безразмерные представления:
N 0
h - целочисленный номер гармоники основной частоты повторения
1 
2
;
N 0
 - номер символа кодовой последовательности.
Следуя правилам алгебраического представления кодовых последователь-
224
ностей, на временных интервалах i 0  t  (i  1) 0
последовательности
s1 (t   * ), sk (t ) представляются в виде
s1 (t   * )  S ( i  ), sk (t )  S ( ik ) . При этих условиях (5.57) приводится к
виду
 
sin  h  N 1
1
 N  S ( l    lk )exp  i  h(2l  1)  .
R1k ( , h) 




N
N


l

0
h
N
Для оценки качества ансамбля сигналов обычно используют модуль или
квадрат модуля ВФН в виде
2
1k ( , h)  R1k ( , h) 
N 1 N 1
 2

 Ah2  S  ( i   j )   S ( ik   jk )cos 
h(i  j ) ,
 N

i  0 j 0
где
 
sin  h 
1
N .
Ah 

N
h
N
Используя новый индекс суммирования m  i  j , последнее выражение
приводится к виду
N 1
 2

hm 1k (  m   m ) ,
1k ( , h)  Ah2 N  Ah2  cos 
 N

m 1
(5.58)
или
N 1
 2

hm 1k (   m   m ) .
1*k ( , h)  1k ( , h)  Ah2 N  Ah2  cos 
 N

m 1
В этом соотношении
N 1
1k (  m   m )   S  i  (1   m )  S  ik (1   mk )  представляет собой знаi 0
чение ФВК кодовых последовательностей
a (i     m )  S  i  (1   m )  и
225
bk (i   m )  S  ik (1   mk )  ,
где
  1 m ;
m
  k  1   mk .
m
5.1.6.1. Основные свойства ДФВК
Используя (5.58), а также свойства ФВК, полученные в разделе 5.1.1, найдем соотношение между значениями 1k ( , h) и 1k ( , g ) при условии
(h, N )  1; ( g , N )  1. Учитывая, что значения 1k (  m   m ) не изменяются
при замене    q , где (q, N )  1 и qh  g (mod N ) , получим
N 1
 2
 N 1
hmq   S   ( i  ) q (1   mq )  S   ikq (1   mkq )  ,
1k ( , g )  Ag2 N  Ag2  cos 
 N
 i 0
m 1
или
1*k ( , g )  1k ( , g )  Ag2 N 
N 1
 2
 N 1
 Ag2  cos 
hmq   S   ( i  ) q (1   mq )  S   ikq (1   mkq ) .
 N
 i 0
m 1
Произведя замену индексов суммирования qm  m и iq  i , запишем
окончательное выражение для квадрата модуля ВФН
1k ( , g )  A N  A
2
g
2
g
N 1
 2
 cos  N
m 1

hm 1k  ( q   m   m ) ,

(5.59)
N 1
 2

hm 1k  ( q  m   m ),
1*k ( , g )  1k ( , g )  Ag2 N  Ag2  cos 
 N

m 1
где
N 1
1k  ( q  m   m )   S   i  q (1   m )  S   ik (1   mk ) 
(5.60)
i 0
представляет собой ФВК эквивалентных кодовых последовательностей с
порождающими многочленами, имеющими корни  ,  k при условии    q ,
( q, N )  1 .
Сравнения (5.58) и (5.59) дают искомое соотношение
226
2
A 
 ( , g )   g  1*k ( q, h)  ,
 Ah 
*
1k
(5.61)
где индексы  ,  отражают факт выбора  ,  k и  ,  k в качестве корней
пар многочленов, порождающих соответствующие кодовые последовательности. Отсюда вытекает целый ряд полезных свойств ВФН.
Свойство 1 ДФВК
Пусть известна совокупность значений 1k ( q, h)  , полученная в единственной точке (сечении)
2
h на оси частот для всех возможных изоморфN 0
ных отображений    q , (q, N )  1 . Тогда, в соответствии с (5.61) известно
множество значений ВФН во всех точках (сечениях)
2
g на оси частот при
N 0
фиксированном значении  , где g пробегает все значения в соответствии с
условием qh  g (mod N ) . Значения ФВК (5.60) в соответствии со свойством 2
ФВК (см. раздел 5.1.1), отображаются на соответствующие значения
1k (  m   m ) , а следовательно, полностью известны при анализе ФВК.
Таким образом, соотношения (5.58) и (5.61) вместе представляют собой
особую процедуру быстрого преобразования в полях Галуа для расчета
ДФВК.
Из общего свойства 1 следует также ряд полезных частных свойств.
Свойство 2 ДФВК
Пусть q  2 j , j  1, 2,..., n  1 . Тогда, в соответствии с (5.61)
2
A j
 ( , h 2 )   h 2  1*k ( 2 j , h) ,
 Ah 
*
1k
j
поскольку при таких значениях q изменения структуры пар кодовых последовательностей не происходит. Таким образом, существует взаимная
связь между частотными и временными сечениями ВФН.
227
Свойство 3 ДФВК
Заменяя в (5.58) h на N  h и учитывая, что
 2

 2

cos 
( N  h)m   cos 
hm  , получим
 N

 N

2
A 
1*k ( , N  h)   N h  1*k ( , h) ,
 Ah 
что указывает на симметрию (без учета амплитудных множителей) значений ВФН относительно точки
2 n1
(2  1) на оси частот.
N 0
Свойство 4 ДФВК
Данное свойство является следствием свойства 2 при выполнении условия
N  h  h 2 j (mod N ) или h(2 j  1)  0(mod N ) . При этом выполняется соотношение
2
A j
 ( , h 2 )   h 2  1*k ( , h) .
 Ah 
*
1k
j
5.1.6.2. Верхняя граница ДФВК (ВФН)
Основой для оценки является соотношение (5.58). Грубая верхняя граница
ВФН может быть получена при жестких предположениях о том, что ФВК
1k (  m  m ) при любых значениях  , m имеют максимально возможные
значения  max  max 1k (  m   m )  , причем со знаком, соответствующим
 ,m
 2

знаку cos 
hm  в выражении (5.58). При этих допущениях получим
 N

 ( , h)  A 
*
1k
*
где  max

2
h max
 max
N
N 1
 2
 cos  N
m 0
 1 sin  h / N  *
 max ,
hm  
   h / N 
- максимальное значение нормированной ФВК.
Таким образом, значения ВФН никогда не могут превышать максимальных уровней ФВК.
242
5.2.2.
Методы
быстрого
поиска
М-
последовательностей по задержке
В разделе 1.1 указывалось, что сложные сигналы, построенные на основе
кодовых
последовательностей,
потенциально
обеспечивают
высокие
качественные показатели радиосистем, но реализация всех их возможностей
часто затруднена из-за сложности процедур формирования и обработки.
Кроме того, в системах извлечения информации и асинхронных адресных
информационных системах использование сложных сигналов с большой
базой приводит к большим затратам времени на поиск, обнаружение сигнала
и устранение априорной неопределенности по его частоте и задержке [8].
Данный раздел посвящен применению быстрых преобразований в полях
Галуа,
идея
которых
рассмотрена
в
разделе
4.3,
для
повышения
эффективности решения указанных задач.
5.2.2.1.
Теоретическое
обоснование
метода
ускоренной
обработки кодовых последовательностей с четной степенью
порождающего многочлена
В разделе 4.3 указывалось, что возможность построения быстрых
преобразований в полях Галуа существует при наличии в поле GF (2n )
подполей GF (2nk ) , где nk - один из делителей числа n. В частности,
выполнено
обоснование
разложения
исходной
«длинной»
кодовой
последовательности на совокупность «коротких» последовательностей с
дальнейшей
их
преобразования
совместной
заключается
обработкой.
в
Главная
фазировании
проблема
всех
такого
«коротких»
последовательностей с целью накопления энергии сигнала. Структурная
схема тракта обработки, реализующего описанную идею для четных n  2 p ,
представлена на рис. 5.12.
243
На представленной схеме блок «ЗУ» представляет собой запоминающее
устройство, в котором хранится массив адресов, управляющих блоком
«Демультиплексор». Этот блок осуществляет выборки символов входной
последовательности
s (i   )  S ( i  )
с
заданным
шагом
2p 1
и
распределение одинаковых для выбранной настройки схемы символов по
каналам при наличии синхронизации. В каждом из каналов с помощью
сумматоров-накопителей (блоки «   »)накапливаются символы причем
выходы первых 2 p  1 каналов при наличии синхронизации представляют
собой символы «короткой» последовательности, которые поступают на
«Блок корреляционной обработки». К результату вычислений, выполненных
этим блоком, добавляется результат накопления символов «вырожденной»
последовательности, после чего полученная величина сравнивается с
порогом в пороговом устройстве (блок «ПУ»). Если порог не превышен, то
осуществляется поиск по задержке путем смещения адресов на единицу в ЗУ.
Величина  2 является компонентом полной задержки   (2 p  1) 1   2
исходной М-последовательности. Настройка генератора адресов (структуры
массива в ЗУ) осуществляется так, чтобы при  2  0 в каждом из каналов
происходило
накопление
«одноименных»
символов.
Подстановка
  (2 p  1) 1   2 в соотношение (4.28) в разделе 4.3 дает
T ( (2
p
1)( i 1 )  j  2
)  Tp ( i 1 j  2 ) .
(5.68)
Различные значения компонента  1 приводят просто к циклическому
сдвигу всех символов «короткой» М-последовательности и не влияют на
результат накопления при выборе начальных смещений j * из множества
j * { j0* , j1* , ... , j2*p 1} таких, что выполняется условие
*
s
*
t
 j   j   0  GF (2 p ) ,
(5.69)
где  0 - любой выбранный фиксированный элемент подполя GF (2 p ) . При
этом условии, т.е. при  2  0 , все элементы  j*  одинаковы при всех js* и,
s
244
как это следует из (5.68), приводят к совпадению символов, накапливаемых в
каком-либо (например, первом) канале. Это означает, что в первый канал на
приведенной схеме (рис. 5.12) должны поступать символы с номерами j * из
приведенной совокупности. На второй и следующие каналы должны
поступать символы с номерами, отличающимися от
j * смещением на
2 p  1, 2(2 p  1) и т.д. Осталось рассмотреть два момента:
1) как следует выбирать множество j * ;
2) каким будет отклик блока корреляционной обработки при  2  0 .
Обоснование метода выбора множества j *
Предположим,
что
нам
известен
один
представитель
j0*
из
множества j * { j0* , j1* , ... , j2*p 1} . Найдем все остальные его представители.
Выберем произвольный элемент l  GF (2 p ) , например  l   (2
p
1) l
. Тогда,
следуя соотношению (5.69), имеем
*
l
*
0
 j  l  j .
Однако одно из 2 p полученных значений следует отбросить, поскольку
оно приводит к формированию «вырожденной» последовательности. Это
значение jm является решением сравнения jm    0 (mod 2 p  1) , или, с
учетом представления   (2 p  1) 1   2 , ( 1  0, 2 p  2;  2  0, 2 p ) , сравнения
jm   2  0 (mod 2 p  1) .
Предположим
теперь,
что
синхронизация
по
компоненту  2 достигнута, или, что то же самое  2  0 . Тогда запрещенным
значением является jm  0 (mod 2 p  1) . Но jm в соответствии с (4.26) может
изменяться в пределах от 0 до 2 p , следовательно, запрещенным значением
является jm  0 . Из аддитивных свойств поля Галуа следует, что для любого
*
0
*
l
*
l
 j (например, при j0*  1 ) найдется  j с условием  j   l   . Таким
образом,
метод
определения
совокупности
(точнее,
совокупностей)
245
j * { j0* , j1* , ... , j2*p 1} полностью определен и один из вариантов соответствует
решению уравнений
j0*  1 ;
*
1
 j 1 ;
*
2
 j 2
p
 ;
1
…;

j* p
2 1
  (2
p
1)(2 p  2)
 .
Существует еще одна интересная закономерность в выборе элементов
множества j * { j0* , j1* , ... , j2*p 1} . Представим любой элемент этого множества
в виде jl*  (2 p  1)l  m, l  0,2 p  2; m  1,2 p и поварьируем значениями l и m
так, чтобы получаемые при этом элементы j * принадлежали одному и тому
же множеству. Возможны следующие варианты выбора пар (l, m):
(l1 , m1 ), (l1 , m2 ), (l2 , m1 ), (l2 , m2 ) .
1) Выбор пар (l1 , m1 ), (l2 , m1 ) приводит к условию
 (2
p
1) l1  m1
 m ( (2
1
p
2
1) l1
p
((2 p 1) l1  m1 )
  (2
p
1) l2
  (2
) 2
p
m1
p
1) l2  m1
2
p
(2 p 1) l1
p
(2 p 1) l2
( 2
p
((2 p 1) l2  m1 )
2
p
(2 p 1) l2
, или
).
Соблюдение равенств
 (2
p
1) l1
2
p
(2 p 1) l1
 (2
p
1) l2
2
p
(2 p 1) l2
 (2
p
1) l1
  (2
p
1) l2
;
;
2
p
(2 p 1) l1
2
p
потребовало бы выполнения равенства  m1   m1 2 , что в принятых
условиях невозможно.
2) Выбор пар (l1 , m1 ), (l1 , m2 ) приводит к условию
 (2
p
1) l1
( m1   m2 )   2
p
(2 p 1) l1
p
( m1   m2 ) 2 , или
p
 m   m  ( m   m ) 2 , что вполне возможно.
1
2
1
2
3) Выбор пар (l1 , m1 ), (l2 , m2 ) приводит к условию
246
 (2
p
1) l1
( m1   (2
 m   (2
1
p
p
1)( l2 l1 )  m2
1)( l2 l1 )  m2
) 2
 ( m1   (2
p
p
(2 p 1) l1
( m1   (2
p
1)( l2 l1 )  m2 2 p
) , или
1)( l2 l1 )  m2 2 p
) , что также вполне возможно.
Таким образом, вне зависимости от выбора значений l соответствующие
им значения m не могут быть равны, т.е.
js*  jt* (mod 2 p  1), s  t .
(5.70)
Для схемы на рис. 5.12 это означает, что на выход «0» демультиплексора
должны направляться символы с номерами j * { j0* , j1* , ... , j2*p 1} , на выходы
«1», «2», …, « 2 p 1 » демультиплексора – символы с номерами, сдвинутыми
относительно множества номеров j * { j0* , j1* , ... , j2*p 1} на 2 p  1, 2(2 p  1) , …,
( 2 p  2)(2 p  1) соответственно. На выход « 2 p » должны поступать символы с
номерами 0, 2 p  1, 2(2 p  1) , …, (2 p  2)(2 p  1) .
Рассмотрение случая  2  0 приводит нас к отдельному рассмотрению
отклика блока корреляционной обработки.
Анализ отклика блока корреляционной обработки при  2  0
Найдем
результат
S ( (2
последовательностей
сумматоре
накопления
накопителе
p
1)( i 1 )  j*  2
символов
«невырожденных»
)  S p ( i 1 j*  )
в
2
(кроме
накопителя
с
произвольном
номером
« 2 p »)
при
фиксированном i и j * { j0* , j1* , ... , j2*p 1} , т.е., рассмотрим сумму

M
j*{ j0* , j1* , ... , j* p }
S p ( i 1 j*  ) .
(5.71)
2
2 1
Для нахождения этой суммы достаточно определить условие, при котором
элементы  j*  пробегают все элементы подполя. Предположим обратное,
2
т.е. существование таких js* , jt* ( s  t ) , при которых  j*    j*  , или
s
*
s
 j    2
2
p
( js*  2 )
*
  jt  2   2
p
( jt*  2 )
или
*
s
*
t
  ( j   j )   
2
22
p
*
*
p
( js   jt ) 2 ,
,
2
t
2
247
*
*
*
*
p
или, учитывая, что  js   jt  ( js   jt ) 2  GF (2 p ) ,
  
2
22
p
,
а это возможно лишь при  2  0 , поскольку  2  0,2 p по определению.
Отметим также, что свойство (5.69) обеспечивает при некотором  2  0
значение j *   2  0 (mod 2 p  1) , что приводит к нулевому элементу подполя
 j   0 . Таким образом, доказано, что  j 
*
*
2
2
в (5.71) пробегают все
элементы подполя, включая нулевой элемент, а следовательно, сумма (5.71)
равна 0. В канале с номером « 2 p » происходит суммирование всех символов
«короткой» М-последовательности, что в результате даст значение -1. Таким
образом, полная сумма на входе порогового устройства («ПУ») будет равна 1.
Если поиск по компоненту  1 в блоке корреляционной обработки
осуществляется за время накопления символов в сумматорах-накопителях, то
полное число шагов поиска, достигаемое данной схемой, равно 2 p  1 , т.е.
приблизительно в корень из N раз меньше, чем при использовании обычного
корреляционного приемника. Заметим, что схема на рис. 5.12 не имеет
устройств памяти для хранения принятой реализации, что обычно требуется
при выполнении быстрых преобразований другими методами, например с
использованием быстрого преобразования Уолша [9].
5.2.2.2.
Теоретическое
обоснование
метода
ускоренной
обработки кодовых последовательностей с нечетной степенью
порождающего многочлена
В предыдущем разделе приведены результаты по использованию
структурных
особенностей
М-последовательностей
для
построения
устройств поиска по задержке в случае четной длины формирующего
регистра сдвига (четной степени порождающего многочлена). Применение
разработанных алгоритмов в более общих случаях непосредственно
248
невозможно.
В связи с этим представляет интерес исследование структурных
особенностей М-последовательностей, формируемых с помощью регистра
n  n1n2 . Последнее условие отражает факт
сдвига нечетной длины
существования в поле GF (2n ) подполей GF (2n1 ) , GF (2n2 ) и, возможно,
других, а следовательно, обуславливает принципиальную возможность
построения
«быстрых»
процедур
вхождения
в
связь
по
задержке,
аналогичных рассмотренным выше.
Итак,
считаем,
что
М-последовательность,
рассматриваемая
как
алгебраический код, порождается полем Галуа GF (2n1n2 ) (в частном случае
n1  n2 ), которое может быть представлено как расширение подполя GF (2n1 ) .
В терминах используемых кодов это означает возможность преобразования
М-последовательностей длиной N  2n1n2  1 символов (например, N  29  1 )
в совокупность более коротких М-последовательностей длиной N1  2n1  1
символов (например, N1  7 ). Покажем такую возможность.
Для этого представим символы исходной М-последовательности в виде
s (i, j   )  S ( Li  j  ) , где
 - целочисленный сдвиг;
 - примитивный элемент в GF (2n ) ;
i  0,1,..., N1  1 ;
j  0,1,..., L  1 ;
L  N / N1 ;
По определению двоичного следа имеем
T ( Li  j  )   Li  j    2( Li  j  )  ... 2
n 1
или, учитывая что L 2n1  L(mod N ) ,
( Li  j  )
,
249
 Li ( j    2
n1
(
j  )
  2 Li ( j    2
n1
(
2
j  )
2 n1
( j  )
2
2 n1
 ... 2
( j  )
( n2 1) n1
 ... 2
( j  )
( n2 1) n1
)
( j  ) 2
) 
... 
2
n1 1
Li
( j    2
n1
(
j  )
2
2 n1
( j  )
 ... 2
( n2 1) n1
( j  ) 2n1 1
)
.
Приводя соотношение к более компактному виду, получим
n 1 1
n1 1
T ( Li  j  )   i j    2i 2j   ...   i 2  2j  ,
(5.72)
где
 i   Li  GF (2n ) ;
1
 j    j    2
n1
(
j  )
 ...   2
n  n2
( j  )
 GF (2n1 ) .
Отсюда следует, что выражение (5.72) может быть представлено в виде
T ( Li  j  )  T2n1 ( i j  ) ,
(5.73)
где
T2n1 ( y ) - двоичный след элемента y подполя GF (2n1 ) .
Таким
образом,
выборки
исходной
последовательности
длиной
N  L(2n1  1) символов, взятые с шагом L, представляют собой «короткие»
кодовые М-последовательности длиной N1  2n1  1 символов, порожденные
подполем GF (2n1 ) , имеющие идентичную структуру, но отличающиеся
взаимными сдвигами, зависящими от величины j   .
Совместная обработка такой совокупности без потери энергии сигнала
возможна, если известна закономерность изменения сдвигов «коротких» Мпоследовательностей в зависимости от j   . Оценим возможность такой
обработки.
Предположим
сначала,
что
  0.
Когерентное
накопление
последовательностей (5.73) как функций целочисленной переменной i
возможна, если при любом значении j можно найти  с условием
 j    k  ; j , k  0, L  1 .
j
k
(5.74)
Этот факт непосредственно следует из соотношения (5.73). Осталось
250
доказать
существование
решений
уравнения
(5.74).
Это
уравнение
эквивалентно следующему

j  j
(
  k  k  (
j  j
  k  k ) 2
j  j
n1
  k  k ) 2  (
( n2 1) n1
j  j
  k  k ) 2
2 n1
 ... 
 0.
Решения данного уравнения возможны только при выполнении одного из
двух условий:
1) 
j  j
  k  k - нулевой элемент подполя GF (2n1 ) ;
2) 
j  j
  k  k  GF (2n1 ) , но при условии, что n2 - четно.
Решения вида 
j  j
  k  k  0 , очевидно, не существует, поскольку  -
примитивный элемент поля по определению и j  k .
Рассмотрим сначала решения уравнения первого типа.
Поскольку из (5.68) j  k (mod L) , то  j ,  k должны иметь вид
 j   j L;
 k  k L .
Разобьем все множество значений j   j L на два подмножества J * , J ** . К
первому из них ( J * ) отнесем подмножество j   j L , которое не переводит
элементы 

 jL
j  j L
в нулевые элементы подполя GF (2n1 ) , т.е.
n1
2 n1
( j   j 2   j 2  ...   j 2
В этом подмножестве
n  n2
)  0.
j   j L характеризуются тем, что двоичные
символы «коротких» последовательностей (5.73) одинаковы и при   0
равны
T ( Li  j )  T2n1 ( i j* ) ,
где  j* - некоторый фиксированный элемент подполя GF (2n1 ) .
Во втором подмножестве ( J ** ), таким образом, останутся такие наборы
j   j L , которые переводят элементы 
GF (2n1 ) , т.е.
j  j L
в нулевые элементы подполя
251

 jL
n1
2 n1
( j   j 2   j 2  ...   j 2
n  n2
)  0.
Соответствующие этому подмножеству наборы
j   jL
порождают
нулевые двоичные символы, т.е.
**
T ( Li  j )  0 .
Итак, текущим результатом является преобразование исходной Мпоследовательности в два множества кодовых последовательностей, первое
j J*
из которых характеризуется правилом
и представляет собой
множество «коротких» М-последовательностей длиной N1  2n1 1 символов
и одинаковой начальной фазой, определяемой  j* .
Второе множество характеризуется правилом
j  J ** и состоит из
«вырожденной» последовательности, состоящей из одних нулей, т.е. {00..0} .
Таким образом, посимвольное накопление символов преобразованных
кодовых
последовательностей
возможно,
но
должно
производиться
раздельно по множествам J * , J ** .
Отдельная проблема состоит в нахождении этих множеств.
Множество J * определяется следующим образом. Поскольку после
введения дополнительных сдвигов, кратных значению L, числа j   j L не
находятся в естественном порядке, исходную последовательность удобнее
представить в виде
S ( i i L ) ,
где i пробегает все значения от 0 до N-1.
Предположим, что один (образующий) представитель i* множества J *
найден. Тогда значения i  i L  J * можно найти по правилу
*
n1
 i   i  L   t   t 2 .
i
i
i
(5.75)
Действительно, элементы  ti   ti 2
нулевой
элемент
подполя
n1
GF (2n1 ) ,
при преобразовании (5.73) дают
следовательно,
условие
(5.74)
252
выполняется для любых i  i L  J * .
Отметим, что в совокупности J * не могут присутствовать числа вида
i*  pL , поскольку при этом потребовалось бы выполнение равенства
*
n1
i t t 2 ,
i
i
что отвечает условию формирования множества J ** . Отсюда следует, что
количество
различных
подмножеств
I*
множества
J *  {I * }
равно
N1  2n1 1. Причем, при найденном i* для первого подмножества I *
образующие элементы для остальных I *  J * определены и равны
i*  pL, p  0,2nn1 .
Иными словами, каждое подмножество I * определяется путем выборок
чисел i с шагом L.
Из (5.75) непосредственно следует алгоритм формирования чисел i  i L
при фиксированном i* и вариации ti . Однако, при ti  0, N  1 некоторые
n1
элементы вида  ti   ti 2 будут одинаковыми. Действительно, если задать t0
и сформировать все элементы  ti по закону
 t   t   ,   GF (2n ) ,
i
0
1
n1
то для всех ti элемент  ti   ti 2 будет один и тот же. Из (5.75) видно, что
n1
 t   t 2  0 при ti  iL , или
i
i
i  i L  i * .
Это не что иное, как выражение для образующего элемента, которое
повторяется N1  2n1  1 раз. Таким образом, при изменении ti элементы
t t 2
i
i
n1
повторяются 2n1 раз при ti  iL и 2n1  1 раз при ti  iL .
Для упрощения расчетов введем вместо  ti
элемент
z  GF (2n ) ,
принимающий в том числе и нулевое значение.
Определим сумму символов последовательности, позиции которых
принадлежат одному из подмножеств (например, первой) I * с учетом сдвига
253
.
1
2n1
M 1*   S ( i  ) 
iI *


*
n1
S [ i     ( z  z 2 )] 
zGF (2n )
1

i* 
2n1
S

S

z

z
(
)
[
(
)].

2n1
zGF (2n )
Представим 
в виде    1L   2 . При этом сумма по z в этом
соотношении не равна нулю при условии  2  0 , поэтому имеем
M  S (
*
1
i* 
2nn1 ;  2  0 ;
)
 2  0.
0;
*
То есть M 1* представляет собой символ S ( i  ) , соответствующий
образующему элементу, сдвинутому на целое число L с увеличенной в 2nn1
раз амплитудой или 0 при   0(mod L) . Для всех остальных подмножеств I *
значения M *j определяются аналогично
M  S (
*
j
i*  jL 
2nn1 ;  2  0;
)
0;  2  0.
Нетрудно видеть, что M *j для j  0,2n1  2 представляют собой либо Мпоследовательности длиной 2n1  1 символов при   0(mod L) , либо нулевую
последовательность при   0(mod L) . Корреляционная обработка таких
последовательностей известна, однако в таком виде она использует энергию
не всех, а только (2n1  1)2nn1  2n  2nn1  N  (2n2  1) символов. Такой
результат становится понятным, если учесть, что не рассмотрены символы на
позициях с номерами из подмножества I ** .
Второе подмножество состоит из всех чисел i  i L , удовлетворяющих
условию
n1
 i  L   t   t 2 .
i
i
i
Аналогично предыдущему рассмотрению, при замене  ti на z  GF (2n ) ,
каждое значение z  z 2
n1
повторяется 2n1 раз. Однако ситуации z  
или
254
z  GF (2n1 ) из рассмотрения следует исключить, поскольку при этом
формируется несуществующий нулевой элемент поля. Накопление символов
в пределах указанной совокупности дает результат
M **   S ( i  ) 
iI **
1
2n1


 n1

S z (     2 ) , или
zGF (2n ),
zGF (2n1 )
2nn1  1;   0(mod L);
M 
 2  0.
1;
**
Суммируя результаты корреляционной обработки M *j и M ** , получим
искомый результат когерентной, в смысле накопления энергии всех символов
кодовой последовательности, обработки «коротких» последовательностей.
Таким образом, рассмотренный метод обработки исходной «длинной» Мпоследовательности
позволяет
перейти
к
корреляционной
обработке
совокупности «коротких» М-последовательностей, определенным образом
сформированных из исходной последовательности. Данная обработка
использует всю энергию сигнала и в этом смысле является оптимальной.
Положительный
эффект
при
этом
обусловлен
как
значительным
снижением числа операций, так и возможностью использования на данном
этапе обработки БИС с более низким предельным быстродействием по
сравнению с тактовой частотой исходной М-последовательности.
5.2.2.3. Варианты реализации устройств быстрого поиска
кодовых
М-последовательностей
с
нечетной
степенью
порождающего многочлена
Рассмотрим один из вариантов ( n  n1n2 , n1  n2  3 , N  2n1n2  1  511 ),
такого устройства, получающего корреляционную сумму A(   0 ) за один
период М-последовательности (рис. 5.13).
На этом рисунке:
s (i )  S ( i ) - М-последовательность;
255
 - неизвестная задержка;
 0 - управляемая задержка опорной М-последовательности;
ГМП - генератор М-последовательности;
СТЧ - синтезатор тактовой частоты, управляя которым, изменяют
задержку  0 ;

- накопительный сумматор со сбросом и выдачей результата в
момент сброса.
Для простоты будем считать, что все элементы данного устройства
(цифрового
коррелятора)
работают
на
тактовой
частоте
М-
последовательности, хотя на практике она может быть значительно выше.
Допустим также, что задержка М-последовательности принимает дискретные
значения, равные n s , где n - целое, а  s - длительность символа Мпоследовательности.
Покажем теперь, что использование предложенного выше метода
обработки позволит получить 2n1  1  7 полных корреляционных сумм за
один период М-последовательности при незначительном усложнении
оборудования. Схематическое изображение первого варианта реализации,
простого для понимания принципа работы устройства, но довольно емкого в
оборудовании, представлено на рис. 5.14.
Счетчик по модулю 511 определяет текущий номер последовательности
s (i   ) , который проверяется в ПЗУ на принадлежность одному из множеств
I 0* , I1* , ..., I 6* , I ** . По результату проверки приходящий на вход отсчет s (i   )
сортируется в каналы 0,...6, 7 соответственно. Таким образом, если есть
синхронизация (нулевое состояние счетчика соответствует алгебраическинулевому символу принимаемой М-последовательности), то в каждом канале
от 0-го до 6-го накапливаются по 64 символа принимаемой кодовой
последовательности и результат представляет собой 7 символов «короткой»
М-последовательности,
а
в
8-м
канале
накапливается
вырожденная
последовательность из 63-х единиц принимаемой последовательности
256
s (i   ) , соответствующих двоичному следу нулевого элемента поля GF (23 ) .
Как было показано ранее, выборки исходной кодовой последовательности,
взятые с шагом 73, образуют «короткую» М-последовательность, поэтому
значения автокорреляционной функции (ФАК) этой последовательности с
добавлением суммы из 8-го канала равны значениям ФАК исходной Мпоследовательности в точках, отстоящих друг от друга на 73 позиции.
Следовательно, на обнаружение пика ФАК требуется время в 7 раз меньшее,
чем для схемы на рис.5.13, при условии, что обработка полученных значений
ФАК будет укладываться в период их поступления, т.е. в период Мпоследовательности, как и в первом варианте. Одним из наиболее сложных в
реализации устройств в схеме на рис.5.14 является ПЗУ емкостью 511x3 бит,
однако его можно упростить при использовании алгоритма формирования
множеств I 0* , I1* , ..., I 6* , I ** , по которому достаточно знать элементы этих
множеств, не превышающих 73, а принадлежность элементов, имеющих
индексы с большими величинами, определять, представляя индексы в виде
i  p 73  l ; l  i (mod 73) .
Тогда, если индекс l принадлежит множеству с индексом k ( l  I k* ), то
индекс i будет принадлежать множеству I (*k  p ) mod 7 , за исключением варианта
l  I ** . В этом случае i  I ** вне зависимости от значения р.
С учетом вышесказанного был разработан второй, более простой вариант
реализации схемы управления демультиплексором, представленный на
рис.5.15.
За счет относительно небольшого усложнения схемы объем ПЗУ
уменьшился в 7 раз. Оставшаяся часть схемы остается без изменений, за
исключением введения отдельной линии для управления сортировкой
элементов М-последовательности с индексами из множества I ** , для которых
не требуется операции добавления смещения. Можно заметить, что  0
управляется в пределах от 0 до 73, что достаточно для получения всех точек
ФАК принимаемой М-последовательности, однако при необходимости
257
управление в больших пределах может быть получено записью кода в
счетчик по модулю 7. Объем ПЗУ может быть еще уменьшен в 9 раз при
использовании свойств множеств I * , I ** , но для рассматриваемого примера
М-последовательности длиной 511 символов выигрыша в оборудовании не
будет. Однако для более длинных последовательностей может быть получен
значительный выигрыш, поэтому рассмотрим и этот, 3-й вариант реализации
алгоритма (рис.5.16).
В этом варианте используется следующее свойство множества I * : если
текущий номер символа i принадлежит p-множеству ( i  I *p ), то символы с
номерами i 2l (l=0,1,...,6) будут принадлежать каналу с номером 2l p (mod 7) и
i 2l  I *p так как если i  I *p , то и i 2l  I *p .
Поэтому в ПЗУ могут храниться только коды номеров каналов,
соответствующих минимальным представителям смежных классов номеров
символов:
*
I 00
 {i00 , 2i00 , ..., 2l i00 }mod 511,
*
I 01
 {i01 , 2i01 , ...,2l i01} ,
…
*
I 06
 {i06 , 2i06 , ..., 2l i06 } ,
I 0**  {i0 , 2i0 , ...,2l i0 } ,
где i00 , i01 , ..., i06 - минимальные представители соответствующих классов.
Операцию умножения на 2 по модулю 2n  1 выполняет циклический nразрядный регистр сдвига. Тогда упрощенный алгоритм определения
принадлежности номера символа к соответствующему множеству будет
следующий:
1) текущий номер символа М-последовательности сдвигается влево l раз
по модулю 511, пока в ПЗУ не будет найден минимальный представитель
того класса, к которому принадлежал текущий номер;
2) полученный на выходе ПЗУ в результате предыдущей операции номер
258
канала сдвигается влево такое же количество раз, но уже по модулю 7,
полученное число есть номер канала, в который распределяется текущий
символ кодовой последовательности.
Блок задержки сдвигов выполняет функцию хранения количества
выполненных сдвигов до получения минимального элемента из ПЗУ.
5.2.2.4. Некоторые аспекты сочетания быстрого поиска по
задержке с поиском по частоте
Обычно сигнал, содержащий в своей структуре М-последовательность,
кроме неопределенности по времени (задержке М-последовательности)
имеет неопределенность по частоте несущего колебания.
Принципы совместной обработки кодированных сигналов в частотновременной области хорошо изучены, хотя в силу сложной реализации
соответствующих многоканальных корреляционных устройств практически
не используются. Чаще всего применяются разнообразные квазиоптимальные
устройства,
удачно
сочетающие приемлемые
показатели
качества
с
возможностью практической реализации.
Рассмотренные выше устройства выдают в результате своей работы одну
(схема на рис.5.13) или семь (остальные схемы) корреляционных сумм за
один период М-последовательности Ts  N s . Поэтому АЧХ каждого из
 sin( x) 
каналов есть АЧХ накапливающего сумматора 
 с шириной главного
 x 
лепестка (по нулевому уровню)
2
, и поиск по частоте (обычный
Tm
последовательный или со спектральным анализом, как правило, на основе
быстрого преобразования Фурье (БПФ)) может быть выполнен только в
полосе пропускания этой АЧХ. Если же полоса поиска сигнала по частоте
превышает полосу АЧХ, то при использовании рассмотренных устройств
возникают некоторые трудности, связанные с многоканальностью и
нелинейностью операции сортировки.
259
Рассмотрим варианты интегрирования поиска по частоте в рассмотренные
устройства быстрого поиска по задержке.
Самый простой вариант - выполнить последовательный поиск по частоте
путем гетеродинирования сигнала в нужную полосу частот до его
поступления на устройство быстрого поиска, после чего произвести поиск по
задержке. Если сигнал не найден, то производится анализ следующей полосы
частот шириной
2
. Основными недостатками этого метода являются:
Tm
 увеличение разрядности отсчетов обрабатываемого сигнала, к чему
обычно приводит гетеродинирование, а значит и усложнение
реализации необходимых преобразований;
 сравнительно большое время поиска из-за последовательной
процедуры анализа частотных интервалов.
Ускорения поиска по частоте можно достичь, используя спектральный
анализ сигналов в каждом из семи каналов на выходе устройства быстрого
поиска в пределах полосы его пропускания.
Для реализации параллельного поиска по частоте в большей полосе частот
по сравнению с
2
можно было бы уменьшить время накопления отсчетов
Tm
М-последовательности в устройстве быстрого поиска в N раз, вследствие
чего в N раз расширится и его полоса пропускания. При этом возникает ряд
условий:
 во-первых, в N раз должно возрасти быстродействие коррелятора
7x7 (см. рис. 5.14);
 во-вторых,
отрезок
М-последовательности
имеет
худшие
автокорреляционные свойства, чем полная М-последовательность,
поэтому желательно, чтобы когерентная спектральная обработка
выполнялась на кратных периоду последовательности отрезках
времени, чтобы тем самым обеспечить минимум боковых лепестков
ФАК, присущий М-последовательности.
260
Другой вариант совместной частотно-временной обработки использует
очень
простой
подход:
намеренное
уменьшение
периода
кодовой
последовательности при сохранении энергии сигнала, необходимой для
достижения требуемых характеристик надежности принятия решений по
обнаружению
сложных
сигналов,
обладающих
частотно-временной
расстройкой. Иными словами, полное время накопления сигнала T делится
на L интервалов, т.е. T  LTs , где Ts - период более короткой Мпоследовательности, а L - количество периодов М-последовательности,
участвующих в принятии решения.
Вторым элементом идеи является построение ВФН (см. раздел 5.1.6) на
интервале накопления Ts вместо T , как это было в выражении (5.57):
R1k ( * , , l ) 
1 ( l 1)Ts
s1 (t   * ) sk (t )exp(it )dt ,

2 E1 lTs
где E1 - энергия одного периода М-последовательности;
0l  L
-
текущий
номер
анализируемого
периода
М-
последовательности.
Дискретный вариант ВФН выглядит аналогично (5.58)
1k ( , h, l )  A N  A
2
h
2
h
N 1
 2

 cos  NL hl 
l 1
1k
(  l   l ) .
(5.76)
Если N выбрать так, чтобы на интервале времени N 0 (или в диапазоне
 2 
lN  m  (l  1) N ) изменением значения cos 
hl  можно было пренебречь,
 NL 
то (5.76) преобразуется к виду
 2  N 1
1k ( , h, l )  Ah2 N  Ah2 cos 
hl  1k (  l   l ) .
 NL  l 1
Используя определение функции 1k (  l   l ) , данное при выводе (5.58),
найдем сумму
261
N 1
N 1
N 1
i 0
l 1
1k (  l  l )   S  i   ik   S  l  i   (l i ) k  
l 1


  S  i    ik    S  l  i   (l i ) k   S  i    ik    12k ( )  N ,
i 0
 l 0

N 1
N 1
откуда
 2 
1k ( , h, l )  Ah212k ( )cos 
hl  .
 NL 
Таким образом, в распоряжении обнаружителя имеется L отсчетов
гармонического колебания амплитудой Ah212k ( ) , на основании которых
принимается решение об обнаружении кодированного сигнала с параметрами
 ,h.
5.2.2.5. Дополнительные направления ускорения поиска по
задержке
Описанные в разделе 5.2.2.3 алгоритмы реализуют последовательную
процедуру
обработки
М-последовательности.
Рассмотрим
еще
один
алгоритм, направленный на последовательно-параллельную обработку,
используя при этом те же характеристики М-последовательности. Введем
образец М-последовательности
s0 (i   )  S ( i p ) , где  p  GF (23 ) , или  p   73 p
и
произведем
посимвольное
перемножение
последовательности S ( i  ) c неизвестной задержкой 
исходной
М-
и образца, в
результате которого получим
S ( i  ) S ( i p )  S ( i ( p    ) .
Значение  может принадлежать либо одному из множеств I q* , q  0,1,...,6 ,
либо множеству I ** . Пусть сначала   I *p , т.е.  является любым членом
этого множества. Тогда, учитывая связь множеств I * , I ** , имеем
**
    p     I ** . Произведем разбиение всех целых чисел i на ряд
262
I 0*  {0,73,...73 p}
подмножеств
и
63
подмножества
I q (q  1, 2,...,63) ,
удовлетворяющих условиям
**
1
**
1
**
1
iq**
iq**
iq**
 I  { i ,1   i ,  73   i ,...} ;
1
…
 Iq  { ,1   ,  73   ,...} ,
причем в подмножестве I 0 содержится 7 элементов, а в остальных
подмножествах - по 8 элементов. Произведем накопление символов исходной
М-последовательности по всем i внутри каждой совокупности I 0 , I1 ,..., I 63 :
U 0   S (
i  **
iI
6
)   S ( 73 p  ) .
**
p 0
Из свойств множества I ** следует, что если  ** является одним из его
представителей, то  **  73 p также принадлежит этому множеству. Но все
элементы
данного
множества
соответствуют
вырожденной
последовательности, состоящей из всех +1. Таким образом, имеем U 0  7 .
Остальные результаты накоплений имеют вид

zGF (23 )

i**
**

S  (z   q ) ,
где z - любой элемент подполя GF (23 ) , включая 0.
**
Поскольку с учетом предыдущего замечания S (  z )  1 при любом z, то
i**  **
U q  8S ( q
),
где ** - произвольный, а iq** - фиксированный представитель множества
I ** . Учитывая то, что все 63 подмножества I q в качестве представителей
имеют различные элементы множества I ** , которое также содержит 63
элемента, получим
i
iq**  17  2 q  73 piq ;  **  17  2i  73 p и
i
iq**   **  17(2 q  2i )  73( piq  p ) .
263
Из этой записи следует, что при фиксации iq и изменении piq значения
i**  **
S ( q
) представляют собой для каждого iq «короткие» 7-символьные М-
последовательности, фаза которых зависит от iq . Предположим, что  **
принадлежит не полному множеству I ** , а его подмножеству с условием, что
-
i
константа,
 0**   ** (mod 73) .
т.е.
Фазирование
«коротких»
последовательностей возможно при условии, что значения iq** подчиняются
условию
iq**
**
0
**
0
 i      q ,
(5.77)
где i0** - представитель совокупности {iq**} . Нетрудно убедиться, что при
этом
условии
все
i**  0**
S ( q
символы
одинаковы.
)
i**  0**
рассматривая двоичные следы элементов  q
i**  0**
T23 ( q
i**  0**
)  q

( iq**  0** )23

( iq**  0** ) 26
Действительно,
в подполе GF (23 ) , получим
.
При всех возможных q, включая 0, двоичные следы одинаковы, если
выполняется равенство
**
0
**
0
iq**
  ( i   )   
** 3
0 2
**
i**
3
** 6
**
i**
6
( i0   q ) 2    0 2 ( i0   q )2  0 ,
откуда с учетом (5.77) получим
**
0
4 **
0
7 **
0
 2  q   2   q   2   q  0 .
Из свойств множества I ** , которому принадлежит  0** , следует, что
записанное равенство - тождество. Таким образом, выражение (5.77) дает
правило формирования индексов iq** , при котором значения символов
совпадают,
т.е.
осуществляется
фазирование
«коротких»
последовательностей. Обозначим это образующее подмножество через
I ***  {i0** , i1** ,..., i7**} .
Это подмножество формирует одноименный (один из семи) символов
«короткой» М-последовательности. Остальные символы формируются путем
264
***
***
взятия выборок с шагом 73, т.е. подмножества I ***
.
p имеют вид I p  73 p  I
Определим теперь алгоритм поиска по задержке. Исходя из принципа
построения рассматриваемого алгоритма обработки, для успешного поиска
по задержке необходимо последовательно перебрать 7 образцов исходной Мпоследовательности
для
«попадания»
задержки
перемноженной
последовательности в одно из подмножеств I *p , если исходная задержка не
принадлежит множеству I ** . Для учета возможности «попадания» задержки
 в множество I ** необходимо предусмотреть еще один этап поиска
(восьмой), на котором перемножение исходной последовательности на
образец не производится.
Таким образом, полный перебор возможных значений  для успешного
вхождения
в
связь
осуществляется
за
8
периодов
исходной
М-
последовательности. Дальнейшая обработка после накопления символов в
подмножествах
Iq
может
производиться
следующим
образом.
64
накопленных символа необходимо сгруппировать в 7 подмножеств по 8
символов в соответствии с соотношением (5.77) для формирования
накопленных символов «короткой» М-последовательности.
Отдельную группу, как и ранее, составляют символы «вырожденной»
последовательности. При этом группирование происходит различным
образом в зависимости от перебираемого значения  0**  17  2l . Перебор 9
значений  0** может производиться как последовательно, так и параллельно
во времени.
При
параллельной
организации
обработка
накопленных
символов
производится в 9 каналах, что и обеспечивает выигрыш по времени
установления синхронизации в 73 раза по сравнению с обычной
последовательной обработкой и примерно в 10 раз по сравнению с первым
вариантом.
265
5.2.3. Синтез шумовых сигналов с нормированными
характеристиками
Кодовые последовательности и, прежде всего, М-последовательности
успешно применяются в особой области: формировании детерминированных
шумовых сигналов с заданными свойствами. Такие сигналы требуются, в
частности, для построения моделей устройств и (или) каналов.
Один
из
простейших
вариантов
построения
генератора
(точнее,
формирователя) шумовых сигналов описан в книге [10] и базируется на
базовом свойстве М-последовательностей: каждая ненулевая n-разрядная
комбинация на полном периоде последовательности длиной N  2n  1
символов присутствует в ней ровно один раз. На рис. 5.17 приведена схема
такого формирователя. По сравнению с ранее рассмотренной схемой
генератора М-последовательности
(рис. 5.7) в эту схему
добавлен
аналоговый сумматор, на выходе которого формируется дискретный по
амплитуде аналоговый процесс un (t ) с биномиальным распределением
амплитуд. Главный недостаток такого способа формирования - постоянство
произведения полосы частот Fn шумового процесса на количество n
дискретных уровней процесса, равное количеству разрядов регистра сдвига
RG, т.е. Fn n  const . Отсюда следует, что любая попытка повысить точность
представления шумового процесса приводит к уменьшению его полосы
частот. Фактически это является следствием высокой коррелированности
соседних выборок шумового процесса, формируемых сумматором.
Один из возможных методов разрушения корреляции выборок шумового
процесса - изменение компонентов суммарного процесса по закону символа с
выхода последнего n  1 -го разряда. Пример реализации этого метода
изложен в [11]. Рассмотрим характеристики этого шумового процесса,
имеющего в дискретной форме вид
266

n2

un (i )   S  i  p   n1  ; i  0,1,..., N  1.
p 0
Временной процесс un (t ) запишем в виде

N 1 n  2

un (t )   S  i  p   n1  u0  t  ( p  i ) s  ,
i 0 p 0
(5.77)
где
1, 0  t   s ;
u0 (t )  
0, t  0; t   s
представляет собой прямоугольный импульс длительностью  s .
Найдем ФАК R( ) процесса un (t ) при произвольном сдвиге    1 s   0 ,
где  1  0,1,..., N  1; 0   0   s .
T
1
R( ) 
Ts
s
 u (t )u (t   )dt  R (
n
0
n
0
)  Rn ( 1 ) ,
0
где
R0 ( 0 ) 
1
s

s
 u (t  i
0
s
)u0 (t  (i   ) s   0 )dt -
0
ФАК прямоугольного импульса;


1 N 1 n2 n2  i p
Rn ( 1 )   S     q 1   n1 1   1   
N i 0 p  0 q  0 
ФАК дискретного процесса un (i ) .
Энергетический спектр шумового процесса un (t ) равен
T
Gn ( ) 
s
 R ( )cos  d  S ( ) H ( ) ,
0
n
0
где
2
 sin( s / 2) 
S0 ( )   s 
 
/
2
s


энергетический спектр прямоугольного импульса;
(5.78)
267
N 1
H ( )   Rn ( 1 )cos  s 1 1  0
энергетический спектр дискретного процесса un (i ) .
Как видно, неравномерность энергетического спектра шумового процесса
un (t ) определяется формой стандартной для прямоугольных импульсов
огибающей S0 ( ) и неравномерностью энергетического спектра дискретного
процесса un (i ) . При фиксированной длительности  s импульса (символа)
кодовой последовательности все особенности огибающей энергетического
спектра un (t ) определяются неравномерностью энергетического спектра
H ( ) дискретного процесса un (i ) . Оценим степень этой неравномерности,
используя среднеквадратический критерий различия. Для этого вычислим
относительную дисперсию
H 2 ( )
 1,
  2 
mH
mH2
2
H
 H2
(5.79)
где
1
H ( ) 
2
2

N 1 N 1
R ( ) R ( )  cos(  )cos(  )d (



0 0
n
n
s
s
s
)

N 1
  Rn2 ( )   H2  mH2 ;
 0
mH  Rn (0) 
1
( N  1)(n  1)  (n  1) 2  .
N
Отсюда получим окончательное выражение для относительной дисперсии
в виде
 H2 
1
mH2
N 1
R ( ) .


1
2
n
(5.80)
Из (5.78) непосредственно следует
Rn ( 1 ) 
1
 K ( N  1)  (n  1) 2  ,
N
где K - количество решений уравнения
(5.81)
268
 p   q    n1 1   
1
1

при p, q  0,1,..., n  2 и заданном  1  0 .
Сумма всех значений из (5.78) равна
N 1
 Rn (1 ) 
1  0
N 1
1 N 1 n2 n2  i p
n 1

S



S  i 1  q   n1   







N i 0 p  0 q 0
1  0
2
1 N 1 n2 n2  i p
(
1)
n

n 1
.
   S       
N i 0 p  0 q 0
N
Из полученного соотношения и (5.81) получим сумму всех значений K :
N 1
 K  (n  1)(n  2) .
(5.82)
1 1
Из (5.81) при  1  0 также следует
K 
N  (n  1) 2
,
N 1
или, при больших n ,
K  1 .
Из этого условия следует, что K , будучи целым положительным числом
по определению, может принимать всего два значения: K  0 ( M 0 раз) и
K  1 ( N  1  M 0 раз). Из (5.82) легко находится M 0 :
M 0  N  1  (n  1)(n  2) ,
что позволяет точно определить величину относительной дисперсии (5.80)
1
  2
mH
2
H

N 1
1 
4
2 2
(
1)
(
1
)
1
(
1)







M
n
N
M
N
n

  
0
0
2
2 

HN
R ( ) 

m

1
2
n
1
( N  1) 2 (n  1)(n  2)  ( N  1)(n  1) 4  2( N  1)(n  1)3 (n  2) 
2 
m N
2
H
При больших n имеем
mH2  (n  1) 2 и
 H2  1 
(n  1) 2
,
N
откуда следует, что с ростом n величина относительной дисперсии
269
стремится к 1, что не соответствует требованиям высокого качества
характеристик шумового процесса.
Другой подход к разрушению корреляции выборок шумового процесса
заключается в формировании дискретных значений процесса по следующему
закону [12]
n 1


un (i )   S  p  i   k  ; i  0,1,..., N  1 ,
p 0
где k
- некоторое целое число, определяющее закон изменения
полярности n подряд идущих символов кодовой последовательности. По
аналогии с (5.77) временной процесс имеет вид
N 1 n 1


un (t )   S  p  i   k  u0  t  ( p  i ) s  .
i 0 p  0
Для оценки неравномерности спектра шумового процесса, как и ранее,
рассмотрим ФАК дискретной un (i )
1 N 1 n1 n1
Rn ( 1 )   S  p ( i   k )   q ( i 1   k )  
N i 0 p  0 q 0
N 1
1 n1 n1
k
p
q


  S  (   )   S  i ( p   q 1 ) .
N p 0 q  0
i 0
(5.83)
Последовательность S  i ( p   q 1 )  во внутренней сумме в этом
выражении
представляет
собой
либо
М-последовательность
(при
p  q   1 (mod N ) ), либо последовательность из N подряд идущих символов
+1 (при p  q   1 (mod N ) ), откуда следует, что соответствующая сумма
равна
N 1
 S  (
i
p
i 0
 N,
  q 1 )   
1,
p  q   1 (mod N );
p  q   1 (mod N ).
С учетом этого (5.83) преобразуется к виду
Rn ( 1 ) 
n 11
 S 
q 0
qk
1 n1 n1
(1   )    S  k ( p   q )  , или
N p  0 q 0
1
270
1
n2 2

Rn ( 1 )  n 1   n (k , 1 )  M n (k ) ,
N
 N
(5.84)
где
1 n11
 n (k , 1 )   S  q  k (1   1 ) 
n q 0
-
апериодическая
ФАК
последовательности
0,0,..., S ( k ), S ( k 1 ),..., S ( k  n1 ),0,0,...,0 ;
(5.85)
n 1
M n (k )   S ( p  k ) - среднее значение последовательности (5.85).
p 0
Из (5.84) следует, что форма ФАК последовательности un (i ) полностью
определяется формой апериодической ФАК двоичной последовательности
(5.85), которая в свою очередь определяется выбором числа k . Выбор k
должен осуществляться таким образом, чтобы функция  n (k , 1 ) обладала
наименьшими значениями при  1  0 . Заметим, что при этом обеспечивается
наибольшая ширина спектра шумового процесса. Наилучшими с этой точки
зрения являются последовательности (коды) Баркера, существующие для
n  3, 4, 5, 7,11,13 , для которых

 1,
 1  0;

 n (k , 1 )   0,  1  2l  1;
 1
 1  2l ,
 ,
 n
где k  0,1, ...,
n 1
, что дает следующую оценку введенного показателя
2
 H2 неравномерности спектра H ( ) :
n 1
1
n
   n2 (k , 1 )  0,5 .
2
H
 1
Близки к указанному результаты при выборе в качестве S ( p  k ) Мпоследовательности. Так, например, для М-последовательности длиной
n  31 оценка неравномерности спектра дает  H2  0,07 .
271
Таким образом, существующие кодовые последовательности различных
классов,
обладающие
минимальными
уровнями
ФАК
при
1  0 ,
обеспечивают значительно более равномерный спектр шумового процесса по
сравнению с описанными в [11].
Библиографический список
1. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. – М.: Мир, 1976.
2. Gold R.. IEEE Trans., 1968. V.IT-14, № 1. P.154-156.
3. Михайлов В.Ю. О расчете максимальных значений функции взаимной
корреляции М-последовательностей. - Радиотехника и электроника, 1982.
№6.
4. Михайлов В.Ю. Регулярный метод синтеза квазиортогональных
ансамблей М-последовательностей. - Радиотехника и электроника, 1984. №9.
5. Сидельников В.М. О взаимной корреляции последовательностей//
Проблемы кибернетики. – М.: Наука, 1971. Вып. 24. С. 15–42.
6. Варакин Л.Е. Теория систем сигналов. – М.: Советское радио, 1978.
7. Шумоподобные сигналы в системах передачи информации/ Под ред.
В.Б. Пестрякова. – М.: Советское радио, 1973.
8. Bychenkov S., Mikhaylov V., Sakaniva K. Fast Acquisition of PN Sequences
in DS/CDMA Systems. IEICE TRANS. FUNDAMENTALS, VOLE85-A, NO.11
NOVEMBER 2002.
9. Лосев В.В., Бродская Е.Б., Коржик В.И. Поиск и декодирование
сложных дискретных сигналов. – М.: Радио и связь, 1988.
10. Хоровиц П., Хилл У. Искусство схемотехники. – М.: Мир, 1983. Т.2.
11. А.С. СССР №512554. МКИ H 03B 29/00, 1973.
12. Куприянов А.И., Михайлов В.Ю. О формировании широкополосных
псевдогауссовых
шумовых
сигналов//
Вопросы
повышения
помехоустойчивости и эффективности радиотехнических систем. – М.:
МИРЭА, 1991.
229
5.2.
Синтез
формирования
эффективных
и
обработки
устройств
кодированных
сигналов
5.2.1. Методы быстрого изменения задержки кодовой
М-последовательности
Данный раздел использует результаты, полученные в разделах 3, 4 (в
особенности в разделе 4.2).
5.2.1.1.
Обоснование
метода
быстрого
определения
начального вектора состояния регистра сдвига
Цель дальнейших выкладок - получение закона преобразования nразрядного двоичного вектора

A 2q0 -1  a 2q0 -1 , a 2q0 -1 1 ,..., a 2q0 -1  n1

в любую его компоненту a 2q0  для произвольного порождающего
многочлена f ( x) , где
 - произвольное целое число;
 - целое число в диапазоне от 0 до n  1 .
При этом предполагается, что номер символа (текущая задержка)
отсчитывается от «алгебраического нуля» A 0 (см. раздел 4.2.3), который
должен быть задан или рассчитан. Тогда при четных значениях 
выполняется соотношение
a 2q0   a 2q0 1  /2 ,
 n  1
компонент вектора A 2q0 -1 занимают
откуда следует, что первые 
 2 
четные позиции искомого вектора
A 2q0 . При нечетных значениях
230
 n  1
требуется найти специальное преобразование G (l ) . Для

2


  2l  1, l  
этого
представим
соответствующие
компоненты
вектора
A 2q0 -1
в
алгебраической форме

a 2q0  2l 1  T   2
q0
n

2 ,
2l
где учтено, что    2
n
в поле GF (2n ) . Теперь, поскольку степень
элемента  в правой части соотношения – четная, извлечем квадратный
корень из этого элемента, в результате чего получим
a 2q0 
  2q0 1 21 2n 1 
 .
 T 


Далее, задача состоит в том, чтобы представить элемент  2
n 1
Gn1 ( x)   gi x i
многочлена
по
модулю
порождающего
n1
в виде
многочлена
i 0
n
f ( x)   f i xi , т.е.
i 0
n 1
 2  Gn1 ( x)  H ( x) f ( x) .
Для каждого конкретного многочлена
многочлен
Gn1 ( x) .
Имея
в
виду,
что
f ( x)
можно определить и
при
построении
устройств
формирования М-последовательностей структура порождающего многочлена
фиксирована, фиксированным оказывается также и многочлен Gn1 ( x) , в
результате чего получим
a 2q0 
  2q0 1 21
 n1
  2q0 1 21i 
Gn1 ( )    giT  
 T 
 , или
i

0




n 1
a 2q0    gi a
i 0
 1
 2q0 1 
i
.
2
Таким образом, при произвольном  получим
231
a 2q0 
a q0 1  1 ;   2l ;
  2  2
  n1
 gi a q0 1  1 ;   2l  1.
 i 0  2  2 i
(5.61)
Из (5.61) следует, что в общем случае для выполнения преобразования
(назовем его извлечением квадратного корня) требуется не n-разрядный, а
 n  1
n
-разрядный двоичный вектор. При задании исходного n-разрядного
 2 
 n  1
вектора это потребует дополнительного формирования недостающих 
 2 
 n  1
символов путем выполнения 
операций сдвига регистра RG в схеме
 2 
генератора М-последовательности, изображенной на рис. 5.7 и аналогичной
схеме на рис. 4.1 в разделе 4.2.1. На этом рисунке использованы следующие
обозначения:
 CL - генератор тактовых импульсов, определяющий длительность
символа М-последовательности  s  1 / FT ;
 RG - регистр сдвига, номера разрядов которого пронумерованы в
естественном порядке от 0 до n-1 так, чтобы последовательность
начиналась с 0-го символа при сдвиге содержимого RG вправо;
 BF - блок ключей (блок выбора коэффициентов многочлена fi ),
определяющий номера разрядов регистра сдвига RG, которые будут
подключены к блоку сумматоров BS по модулю 2;
 BS - блок сумматоров по модулю два, формирующий символ an ,
который будет записан в следующем такте в разряд с номером n-1
по правилу an  a0  a1 f1  a2 f 2  ...  an1 f n1 .
Итак,
алгоритм
соответствующего
превышающим
определения
последовательности
фазовый
сдвиг
n-разрядного
с
фазовым
исходной
вектора
A 2q0 ,
сдвигом,
вдвое
последовательности,
232
соответствующей вектору A 2q0 , состоит из следующих шагов:
1) определение вида преобразующего многочлена Gn1 ( x) (операция
выполняется один раз при заданном порождающем многочлене f ( x) ;
 n  1
 n  1
2) генерирование дополнительных 
символов путем 
сдвигов

 2 
 2 
исходной n-разрядной комбинации в регистре сдвига;
3) определение искомого вектора путем выполнения преобразования
(5.61).
Нетрудно видеть, что повторение приведенной последовательности
операций q0 раз, используя в каждом такте текущую комбинацию в качестве
исходной n-разрядной комбинации, позволяет за q0 шагов алгоритма
преобразовать исходный вектор A в комбинацию A 2q0 , для чего обычный
алгоритм,
использующий
последовательный
последовательности, требует  (2
q0
сдвиг
символов
 1) операций. Полученный частный
алгоритм является основой для построения общего алгоритма определения
вектора начального состояния A L при произвольном L. Для этого представим
число L в двоичной форме
q
L  2q1  2q2  ...  2 tL , или
L
 2
откуда
q1  q2


 1 2q2 q3  1 2q3 q4  ... 2 tL ,
следует,
что
q
указанные
(5.62)
выше
операции,
выполняемые
последовательно над текущим вектором qi  qi 1 раз в сочетании со сдвигом
на один символ для каждого i  1,2,..., t L , обеспечат получение вектора,
соответствующего сдвигу L  2 tL L относительно начального вектора A1 .
Последнее является следствием того, что разработанный алгоритм в целом
формирует вектор, фазовый сдвиг которого есть результат умножения
исходного начала отсчета на L. Так, если в качестве исходной начальной
комбинации взять
A 0 , то преобразование отсутствует. Завершающая
233
операция, производящая умножение текущей фазы на
2tL , является
несимметричной и выполняется отдельно. Таким образом, для реализации
рассмотренного метода следует задать начальный вектор A1 и выполнить
следующие операции:
1) найти разложение L в виде (5.62);
2) для каждого i  1,2,..., t L  1 последовательно qi  qi 1 раз выполнить
операции, необходимые для преобразования (5.62) и операцию сдвига на
один символ, принимая на каждом i-м шаге текущий вектор в качестве
нового значения начального вектора;
3) выполнить t L раз при i  t L операции, необходимые для преобразования
(5.62).
Описанный выше алгоритм предполагает известность начального вектора
A1 для произвольного многочлена. Для определения вектора A1 можно
всегда воспользоваться таблицей, приведенной в [1] на с. 513-532. Этот
метод можно рекомендовать для аппаратурной реализации алгоритма.
Использование его в математической модели неэффективно ввиду сложности
автоматизации выбора A1 для произвольно выбранного порождающего
многочлена. Алгоритмический путь расчета A1 основан на следующих
алгебраических преобразованиях. Будем считать, что для любого n известны
первый (образующий) порождающий многочлен f1 ( x) и соответствующий
ему начальный вектор
A1  {a11 , a12 , ..., a1n } .
Сформированная М-последовательность данной структуры позволяет
найти значения всех ее символов, в том числе символы a1k , a2k , ..., ank , где
a kj  a1jk . То есть, a kj
представляют собой выборки символов первой
последовательности, взятые с шагом k ; (k , n)  1 . Из свойства изоморфизма
полей Галуа (см. раздел 4.1.1) следует, что эти символы совпадают с подряд
идущими символами последовательности, порождаемой многочленом f k ( x) .
234
Это означает, что структуру М-последовательностей можно задавать не
порождающим многочленом, а целым числом k - k-й степенью примитивного
элемента  . При большой длине М-последовательности определение
символов
a kj
путем ее генерирования становится малоэффективным.
Альтернативой
определения
является
AL
при
использование
вышеприведенного
алгоритма
L  k , 2k ,..., nk . Достоинство такого подход -
минимизация требуемого объема исходных данных.
Одна из сложнейших проблем в реализации рассмотренного алгоритма алгоритмический расчет преобразующего многочлена Gn1 ( x) . Простейшее
решение данной проблемы состоит в использовании схемы на рис. 5.8,
аналогичной схеме на рис. 4.2 в разделе 4.2.2. Поскольку в рассмотренном
алгоритме i  2n1 , то использование данного подхода потребует 2n1 сдвигов,
что может привести к неоправданно большим затратам времени. В
следующем разделе предлагается оригинальный альтернативный подход,
позволяющий значительно ускорить вычисления.
5.2.1.2. Метод быстрого определения начального вектора
состояния регистра сдвига
Пусть известно представление  2
выше n-1. Тогда  2
n 1
n2
в виде многочлена Gn2 ( ) степени не
можно представить в виде
n 1
 2  Gn22 ( )  Gn2 ( 2 ) ,
т.е. в виде многочлена степени не выше 2(n-1). Вычисление Gn2 ( 2 ) по
модулю порождающего многочлена дает искомое выражение  2
n 1
 Gn1 ( ) и
может быть выполнено с помощью схемы деления многочленов ([1], с. 200)
или варианта схемы на рис.5.8, изображенного на рис. 5.9.
Для
примера
рассмотрим
процесс
вычисления
Gn2 ( 2 )  (1   2   3 ) 2  1   4   6 по модулю порождающего многочлена
1  x 2  x5 (n=5, N=31) с помощью приведенного метода (рис. 5.10). В табл.
235
5.1 представлены этапы вычисления многочлена Gn1 ( ) .
Таким образом, после завершения этапа 7 работы схемы содержимое
регистра
сдвига
равно
искомому
результату
G n1  {11011} ,
или
n 1
 2  Gn1 ( )  1     3   4 . Тот же результат можно получить делением
«в столбик»:
1   4   6   (1   2   5 )  1     3   4
Поскольку первые n шагов деления в схемах на рис. 5.9, 5.10 (до
заполнения предварительно обнуленного содержимого регистра сдвига) не
порождает отклик в цепи обратной связи, то их можно заменить записью n
последних (старших) коэффициентов многочлена Gn2 ( 2 ) в регистр сдвига
за один такт. Тогда для полного деления Gn2 ( 2 ) на F ( x) потребуется не
более n-1 тактов сдвига. Для хранения исходного многочлена и результата
деления потребуется (2n-1)-разрядный регистр сдвига, в котором обратной
связью охвачены лишь последние n разрядов (рис. 5.11):
Таким образом, алгоритм вычисления многочлена Gn1 ( ) может быть
представлен в виде следующих шагов.
1) Записать в (2n-1)-разрядный регистр сдвига символы по следующему
правилу
b21i  bi0 ; b21i 1  0 ,
где верхние индексы (1 или 0) отображают новое и старое состояние
разрядов регистра сдвига соответственно. При этом начальное состояние
соответствует элементу

и равно {010...0} . Операция перезаписи
соответствует возведению данного представления элемента в квадрат.
2) Произвести n-1 сдвигов содержимого (2n-1)-разрядного регистра
сдвига, n последних разрядов которого хранят вычисление текущего
элемента (точнее, многочлена, представляющего этот элемент) по модулю
порождающего многочлена F ( x) . По окончании (n-1)-го сдвига в n
последних разрядах регистра содержится результат вычисления квадрата
236
текущего элемента по модулю F ( x) .
3) Повторить операции п.п. 2 и 3 n-2 раза. Результатом (n-1) циклов сдвига
и
(n-1)
циклов
перезаписи
является
n-разрядная
комбинация,
соответствующая коэффициентам многочлена Gn1 ( ) .
Очевидно, что при больших значениях n полное количество элементарных
операций (n  1) 2  2n1 , что и определяет значительно более высокую
эффективность
указанного
подхода
к
построению
рассматриваемого
алгоритма.
5.2.1.3.
Аналитический
метод
определения
начального
вектора состояния регистра сдвига
Идея данного метода определения вектора состояния регистра сдвига для
генерирования М-последовательности с заданным сдвигом l состоит в
использовании структуры порождающего многочлена F ( x) . В этом случае lй символ кодовой последовательности T ( l ) представляется в виде линейной
комбинации n предыдущих символов в соответствии со структурой
многочлена
f ( x) . Процедура продолжается до тех, пока в линейной
комбинации окажутся только символы с номерами, не превышающими n.
Ценность аналитических результатов в алгебре всегда высока даже при
наличии определенных условий и ограничений в постановке задачи, поэтому
рассмотрим для примера самой простой вид многочлена f ( x)  1  x k  x n .
Ограничимся вычислением первого символа из искомого двоичного вектора.
Первый шаг поиска символа дает в результате
T ( l )  T ( l n )  T ( l ( nk ) ) .
В свою очередь символы T ( l n ) , T ( l ( nk ) )
также могут быть
представлены в виде аналогичных соотношений. Рекуррентная процедура
расчета заканчивается при выполнении условия
0  l  in  j (n  k )  n .
237
Важно определить момент окончания рекуррентной процедуры расчета.
После этого необходимо определить все совокупности чисел i, j и значение
искомого символа. Наиболее просто это делается, если в качестве начального
вектора состояния регистра сдвига задать вектор 100...0 . Приложение 2
содержит
модифицированную
таблицу
примитивных
многочленов,
соответствующих, если это оказалось возможным, указанному начальному
состоянию. Тогда
1, l  in  j (n  k );
T ( l in j ( nk ) )  
0, l  in  j (n  k ),
или
{L} , l  in  j (n  k );
T ( l )   2
l  in  j (n  k ),
0,
(5.63)
где {L}2 - количество решений L диофантова уравнения
l  in  j (n  k ) ,
(5.64)
взятое по модулю 2.
Рассмотрим один из вариантов нахождения решений диофантова
уравнения (5.64).
1) Вначале определим три числа
l 
t1    ;
n
 l  t1n 
t2  
;
 n  k 
t3  l  t 1 n  t 2 ( n  k ) ,
где [ x] – целая часть x.
2) Если t3  0 , то решение есть, в противном случае уравнение
l  t 1 n  t2 (n  k )  t3 необходимо привести к стандартному виду
l  t 1 n  t2 ( n  k )
путем подбора другого сочетания коэффициентов t1 , t2 . Если n и n-k –
238
взаимно простые числа (а это так, иначе многочлен
f ( x) был бы
приводимым), то модификация дает результат t1  t1  i ; t2  t2  j , где i, j
удовлетворяют соотношению
t3  in  j (n  k ) .
Остальные решения диофантова уравнения определяются следующим
образом:
t1m  t1  m(n  k ) ;
t2 m  t2  mn ,
 t 
где m  0,1, ..., M ; M   1  .
n  k 
Полное количество решений диофантова уравнения равно
M
L   Ctt12t2mn mk
m 0
и соотношение (5.63) приобретает вид
M

T ( ) 
l
m  0, mod 2
{Ctt12t2mn
  mk }2 .
(5.65)
Основная вычислительная сложность связана с расчетом числа сочетаний
и определения его значения по модулю 2. Дальнейшие выкладки направлены
на анализ свойств Cab , позволяющих упростить расчеты по формуле (5.65).
По определению Cab 
a!
. Выделим в a !, b!, (a  b)! отдельно четные
b!(a  b)!
и нечетные сомножители и рассмотрим все возможные варианты сочетаний
a, b , от которых зависит результат.
1) a, b – оба четны.
Cab 
2
b
2
a
2
2 2
a b
2
a
!
b
(a  1)!!
(a  1)!!
2
,


 C a2
b
a

b
(
1)!!(
1)!!
 b   a  b  (b  1)!!(a  b  1)!!


2
 !
!
2  2 
где ( x)!! означает произведение всех нечетных чисел до x включительно.
Очевидно, что второй сомножитель – нечетный, а следовательно,
239
C 
b
a 2
 b2 
 C a  .
 2 2
2) a – четно, b – нечетно.
a
!
2
(a  1)!!
b
2
Ca  b1 a b1 


b
a
b
1
1



b
a
b
(
)!!(
)!!





2 2 2 2

!
!
2
 2 

a
2
 2C
b 1
2
a
2
(a  1)!!
,
(b  1)!!(a  b  1)!!
откуда следует
C 
b
a 2
 0.
3) a – нечетно, b – четно.
 a 1

!
2
a !!
2 
b



Ca  b

a b 1


b
a
b
1







(
b
1)!!(
a
b
1)!!
22  2 2
 !
!
2
2 

a 1
2
b
 C a21
2
a !!
,
(b  1)!!(a  b  1)!!
откуда следует C

b
a 2
 b2 
 C a 1  .
 2 2
4) a, b – оба нечетны.
2
Cab 
2
C
b 1
2
a 1
2
b 1
2
a 1
2
2
a b
2
 a 1

!
a !!
2 




 b  1   a  b  b!!(a  b  1)!!

!
!
2
2



a !!
,
b!!(a  b  1)!!
откуда следует C

b
a 2
 b21 
 C a 1  .
 2 2
Обобщение всех вариантов дает результат
240
C 
b
a 2
0, {a}2  0;{b}2  1;

   b2  
C a   , {a}2  0;{b}2  1.
  2  2
Таким
образом,
расчет
(5.66)
C 
b
a 2
представляет
собой
рекуррентную
процедуру с максимальным числом шагов  log 2 N  . Учитывая, что Cab  Caa b ,
получим уточненную верхнюю границу сложности вычислений в виде
N

log 2 2  . Процедура расчета по формуле (5.66) завершается при выполнении
одного из условий:
1) {a}2  0;{b}2  1 , что дает в результате Cab   0 ;
2
2) bi  0 , что дает в результате Cab   1 .
2
При использовании аппаратной или низкоуровневой программной (с
использованием регистрового программирования на Ассемблере или C)
реализации приведенная выше верхняя граница числа шагов оказывается
сильно завышенной. Четкий анализ показывает, что результат вычисления
C 
b
a 2
можно получить всего лишь за несколько элементарных шагов, если
производить побитовое сравнение исходных чисел a, b . Действительно,
операция целочисленного деления какого-либо числа на 2 эквивалентна
сдвигу его двоичного представления вправо (в сторону младших разрядов).
Приведенный выше алгоритм по существу контролировал результат
младшего разряда a, b в процессе целочисленного деления на 2. Однако для
определения
C 
b
a 2
достаточно определить наличие хотя бы на одной
позиции j двоичных представлений сочетания ( a j  0, b j  1 ). Такое сочетание
обнаруживается элементарной операцией a  b . Отсюда следует, что
C 
b
a 2
 a  b.
(5.67)
Таким образом, с учетом (5.67) верхняя граница количества шагов
вычислений по формуле (5.65) может быть оценена как
241
N 
 n   N 
M    
 в предположении, что l  N .


n
k
n
(
n
k
)

 



Нетрудно видеть, что выигрыш в количестве операций описанного метода
определения символа вектора состояния регистра сдвига по сравнению с
традиционным (генерацией с помощью схемы на рис. 5.7) составляет
приблизительно n(n  k ) .
Рис.5.1. Генератор двухкомпонентных кодов
Рис.5.2. Генератор трехкомпонентных кодов
Рис.5.3. Пояснение соотношения (5.38)
Рис. 5.4. Схема вариантов решений уравнения (5.41)
Рис.5.5. Оценка количества решений M
Рис. 5.6. Фрагменты ФВК
Рис. 5.7. Генератор М-последовательности
Рис. 5.8. Схема вычисления степеней α
Рис. 5.9. Схема вычисления Gn1 ( )
Рис. 5.10. Пример вычисления Gn1 ( ) .
i
Вектор
сдвига Gi
0
00000
Вектор обратной
Результирующий
связи Gi
( Gi  Gi )
00000
00000
+ 00000
=00000
1
10000
00000
10000
+ 00000
=10000
2
01000
00000
01000
+ 00000
=01000
3
10100
00000
10100
+ 00000
=101000
4
01010
00000
01010
+ 00000
=01010
5
00101
00000
00101
+ 00000
=00101
6
00010
10100
00010
+ 10100
=10110
7
11011
00000
11011
+ 00000
=11011
Табл 5.1. Этапы вычисления Gn1 ( ) .
вектор
Рис. 5.11. Оптимизированная схема вычисления Gn1 ( ) .
Рис. 5.12. Схема ускоренной обработки кодовых последовательностей с
четной степенью порождающего многочлена.
Рис. 5.13. Корреляционное устройство.
Рис. 5.14. Схема параллельной обработки.
Рис. 5.15. Схема управления демультиплексором
Рис.
5.16.
Усовершенствованный
демультиплексором.
вариант
схемы
управления
Рис. 5.17. Простейший генератор шумовых сигналов.
272
Приложение 1. Статистика многочленов
в полях Галуа до GF(263) включительно
Поле
2
GF(2 )
GF(23)
GF(24)
GF(25)
GF(26)
GF(27)
GF(28)
GF(29)
Многочлены
Количество
Тип
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 3
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 4
Всего
Примитивные
Непримитивные
Степени 3
1
1
0
2
2
0
4
2
1
1
6
6
0
12
6
3
1
2
18
18
0
34
16
14
1
3
58
48
8
2
273
Поле
GF(210)
GF(211)
GF(212)
GF(213)
GF(214)
GF(215)
GF(216)
GF(217)
Многочлены
Количество
Тип
Всего
Примитивные
Непримитивные
Степени 2
Степени 5
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 3
Степени 4
Степени 6
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 7
Всего
Примитивные
Непримитивные
Степени 3
Степени 5
Всего
Примитивные
Непримитивные
Степени 2
Степени 4
Степени 8
Всего
Примитивные
Непримитивные
106
60
39
1
6
186
176
10
350
144
191
1
2
3
9
630
630
0
1180
756
405
1
18
2190
1800
382
2
6
4114
2048
2032
1
3
30
7710
7710
0
274
Поле
GF(218)
GF(219)
GF(220)
GF(221)
GF(222)
GF(223)
GF(224)
Многочлены
Количество
Тип
Всего
Примитивные
Непримитивные
Степени 2
Степени 3
Степени 6
Степени 9
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 4
Степени 5
Степени 10
Всего
Примитивные
Непримитивные
Степени 3
Степени 7
Всего
Примитивные
Непримитивные
Степени 2
Степени 11
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 3
Степени 4
Степени 6
Степени 8
Степени 12
14600
7776
6756
1
2
9
56
27594
27594
0
52486
24000
28377
1
3
6
99
99878
84672
15186
2
18
190744
120032
70525
1
186
364722
356960
7762
699250
276480
422390
1
2
3
9
30
335
275
Поле
GF(225)
GF(226)
GF(227)
GF(228)
GF(229)
GF(230)
GF(231)
Многочлены
Количество
Тип
Всего
Примитивные
Непримитивные
Степени 5
Всего
Примитивные
Непримитивные
Степени 2
Степени 13
Всего
Примитивные
Непримитивные
Степени 3
Степени 9
Всего
Примитивные
Непримитивные
Степени 2
Степени 4
Степени 7
Степени 14
Всего
Примитивные
Непримитивные
Всего
Примитивные
Непримитивные
Степени 2
Степени 3
Степени 5
Степени 6
Степени 10
Степени 15
Всего
Примитивные
Непримитивные
1342182
1296000
46176
6
2581426
1719900
860895
1
630
4971066
4202496
768512
2
56
9587578
4741632
4844763
1
3
18
1161
18512790
18407808
104982
35792566
17820000
17970267
1
2
6
9
99
2182
69273666
69273666
0
276
Поле
GF(232)
GF(233)
GF(234)
GF(235)
GF(236)
GF(237)
Многочлены
Тип
Количество
Всего
134219794
Примитивные
67108864
Непримитивные
67106816
Степени 2
1
Степени 4
3
Степени 8
30
Степени 16
4080
Всего
260301174
Примитивные
211016256
Непримитивные
49284730
Степени 3
2
Степени 11
186
Всего
505294126
Примитивные
336849900
Непримитивные
168436515
Степени 2
1
Степени 17
7710
Всего
981706830
Примитивные
929275200
Непримитивные
52431606
Степени 5
6
Степени 7
18
Всего
1908881898
Примитивные
725594112
Непримитивные
1183272848
Степени 2
1
Степени 3
2
Степени 4
3
Степени 6
9
Степени 9
56
Степени 12
335
Степени 18
14532
Всего
3714566310
Примитивные
3697909056
Непримитивные
16657254
277
Поле
GF(238)
GF(239)
GF(240)
GF(241)
GF(242)
GF(243)
Многочлены
Тип
Количество
Всего
7233642928
Примитивные
4822382628
Непримитивные
2411232705
Степени 2
1
Степени 19
27594
Всего
14096303342
Примитивные
11928047040
Непримитивные
2168255670
Степени 3
2
Степени 13
630
Всего
27487816990
Примитивные
11842560000
Непримитивные
15645204474
Степени 2
1
Степени 4
3
Степени 5
6
Степени 8
30
Степени 10
99
Степени 20
52377
Всего
53634713550
Примитивные
53630700752
Непримитивные
4012798
Всего
104715443850
Примитивные
57802864896
Непримитивные
46912477905
Степени 2
1
Степени 3
2
Степени 6
9
Степени 7
18
Степени 14
1161
Степени 21
99858
Всего
204560302842
Примитивные
204064589160
Непримитивные
495713682
278
Поле
GF(244)
GF(245)
GF(246)
GF(247)
GF(248)
GF(249)
Многочлены
Тип
Количество
Всего
399822505522
Примитивные
200778006528
Непримитивные
199044308247
Степени 2
1
Степени 4
3
Степени 11
186
Степени 22
190557
Всего
781874936814
Примитивные
634404960000
Непримитивные
147469974568
Степени 3
2
Степени 5
6
Степени 9
56
Степени 15
2182
Всего
1529755490572
Примитивные
998132265920
Непримитивные
531622859929
Степени 2
1
Степени 23
364722
Всего
2994414645858
Примитивные
2992477516800
Непримитивные
1937129058
Всего
5864062367250
Примитивные
2283043553280
Непримитивные
3581018110640
Степени 2
1
Степени 3
2
Степени 4
3
Степени 6
9
Степени 8
30
Степени 12
335
Степени 16
4080
Степени 24
698870
Всего
11488774559634
Примитивные
11398311767808
Непримитивные
90462791808
Степени 7
18
279
Поле
GF(250)
GF(251)
GF(252)
GF(253)
GF(254)
GF(255)
Многочлены
Тип
Количество
Всего
22517998808026
Примитивные
13122000000000
Непримитивные
9395997465744
Степени 2
1
Степени 5
6
Степени 10
99
Степени 25
1342176
Всего
44152937528382
Примитивные
37456800827040
Непримитивные
6696136693630
Степени 3
2
Степени 17
7710
Всего
86607686432614
Примитивные
44980696051200
Непримитивные
41626987799985
Степени 2
1
Степени 4
3
Степени 13
630
Степени 26
2580795
Всего
169947155749830
Примитивные
169917983040000
Непримитивные
29172709830
Всего
333599974893064
Примитивные
178118842613760
Непримитивные
155481127293696
Степени 2
1
Степени 3
2
Степени 6
9
Степени 9
56
Степени 18
14532
Степени 27
4971008
Всего
655069036708590
Примитивные
598690870272000
Непримитивные
56378166436398
Степени 5
6
Степени 11
186
280
Поле
GF(256)
GF(257)
GF(258)
GF(259)
GF(260)
GF(261)
Многочлены
Тип
Количество
Всего
1286742755471390
Примитивные
598975092817920
Непримитивные
687767653065870
Степени 2
1
Степени 4
3
Степени 7
18
Степени 8
30
Степени 14
1161
Степени 28
9586395
Всего
2528336632928150
Примитивные
2167072830474040
Непримитивные
361263802426506
Степени 3
2
Степени 19
27594
Всего
4969489253251420
Примитивные
3238370502193150
Непримитивные
1731118732545480
Степени 2
1
Степени 29
18512790
Всего
9770521225481750
Примитивные
9770466930024800
Непримитивные
54295456954
Всего
19215358428046100
Примитивные
6774451200000000
Непримитивные 12440907192200800
Степени 2
1
Степени 3
2
Степени 4
3
Степени 5
6
Степени 6
9
Степени 10
99
Степени 12
335
Степени 15
2182
Степени 20
52377
Степени 30
35790267
Всего
37800705069076900
Примитивные
37800705069076900
Непримитивные
0
281
Многочлены
Тип
Количество
Всего
74382032589917200
Примитивные
49588021611155400
62
GF(2 ) Непримитивные 24794010909488200
Степени 2
1
Степени 31
69273666
Всего
146402730743793000
Примитивные
122428597145960000
Непримитивные 23974133597732800
63
GF(2 ) Степени 3
2
Степени 7
18
Степени 9
56
Степени 21
99858
Поле
281
Приложение 2. Таблица опорных
многочленов вместе с вектором
начальных состояний A0 в 16-ной форме
Поле
GF(22)
GF(23)
GF(24)
GF(25)
GF(26)
GF(27)
GF(28)
GF(29)
GF(210)
GF(211)
GF(212)
GF(213)
GF(214)
GF(215)
GF(216)
GF(217)
GF(218)
GF(219)
GF(220)
GF(221)
GF(222)
GF(223)
GF(224)
GF(225)
GF(226)
GF(227)
GF(228)
GF(229)
GF(230)
GF(231)
GF(232)
GF(233)
GF(234)
Опорный многочлен A0
7
B
13
29
43
89
11D
221
409
A01
1053
208B
4443
8003
1144D
20009
40081
80283
100009
2220A9
400003
800021
100001B
2000009
4000047
880022B
10000009
28000001
40000053
80000009
100400007
200002001
4000000E7
2
1
8
1
20
1
20
1
80
1
800
1
2000
1
2000
1
800
1
20000
1
200000
1
A00000
1
2000000
1
1000000
1
20000000
1
80000000
1
228000000
282
Поле
GF(235)
GF(236)
GF(237)
GF(238)
GF(239)
GF(240)
GF(241)
GF(242)
GF(243)
GF(244)
GF(245)
GF(246)
GF(247)
GF(248)
GF(249)
GF(250)
GF(251)
GF(252)
GF(253)
GF(254)
GF(255)
GF(256)
GF(257)
GF(258)
GF(259)
GF(260)
GF(261)
GF(262)
GF(263)
Опорный многочлен A0
A00000001
1
1000000801
2000000
208A282081
1
4000000063
2200000000
8800000001
1
10000000039
2800000000
20000000009
1
4000000003F
2A000000000
A0822802283
1
100000000065
8000000000
20A208A82823
1
40000000012F
2A0000000000
800000000021
1
10000000000B7
8A0000000000
2000000000201
1
400000000001D
800000000000
AA0002A88A283
1
10000000000009
2000000000000
20000000000047
8800000000001
4000000000007D
A000000000000
80000080000001
1
100000000000095
2000000000000
200000000000081
1
400000000080001
8000000000
80000000000007B
A0000000000001
1000000000000003
800000000000000
2000000000000020
800000000000001
4000000000000060
A00000000000000
8000000000000003
1
Скачать