Text
                    ALGEBRAIC
CODING THEORY
ELWYN R. BERLEKAMP
Member of Technical Staff
Mathematics Research Center
Bell Telephone Laboratories
McGraw-Hill book company
New York, St. Louis, San Francisco
Toronto, London, Sydney
1968

Э. Берлекэмп АЛГЕБРАИЧЕСКАЯ ТЕОРИЯ КОДИРОВАНИЯ Перевод с английского И. И. Грушко Под редакцией С. Д. Бермана ИЗДАТЕЛЬСТВО «МИР» Москва 1971
УДК 519.95 Книга американского ученого освещает основные вопросы общей теории линейных кодов, исследования циклических (двоич- ных и недвоичных) кодов для метрик Хэмминга и Ли, вычисление параметров оптимальных кодов, а также вопросы построения коди- рующих и декодирующих устройств. Теоретические исследования сопровождаются большим числом примеров и задач, что делает книгу интересной и доступной не только для математиков, но и для широкого круга специалистов, связанных с разработкой систем передачи цифровой информации, а также для аспирантов и студен- тов соответствующих специальностей. Редакция литературы по математическим наукам Инд. 2-2-3 3-71
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Перевод книги Берлекэмпа позволит советскому читателю озна- комиться с современным состоянием алгебраической теории коди- рования. Ее автор широко известен как один из наиболее крупных специалистов в этой области. Для понимания книги требуется владение основами линейной алгебры и элементарной теорией чисел. Отметим, однако, что различ- ные главы книги написаны на разном математическом уровне. В ней много подробных инженерных алгоритмов, а с другой сторо- ны, есть немало беглых рассуждений, посвященных тонким теоре- тико-числовым и аналитическим вопросам теории кодов. Возникающие в теории кодов алгебраические задачи далеки от классических, но это не лишает их глубины и часто придает им особую свежесть. Объектом изучения, в основном, являются линей- ные коды — подпространства w-мерного линейного пространства над конечным полем с фиксированным базисом L. Основные харак- теристики кода связаны с этим базисом, а его корректирующие возможности определяет наименьшая длина ненулевых элементов кода в записи через базис L. Наиболее развита теория кодов, инвариантных относительно некоторой группы G подстановок базисных векторов. Если G — циклическая группа, порожденная n-членным циклом, то код назы- вается циклическим. Циклические коды получили значительные приложения, главным образом благодаря простоте технической реализации с помощью так называемых регистров сдвига. Основная часть книги посвящена теории таких кодов. В частности, подробно рассмотрены принадлежащие автору методы декодирования цикли- ческих кодов Боуза — Чоудхури, основанные на решении систем нелинейных уравнений в конечном поле. Хотя конечная циклическая группа имеет очень простую абстрактную структуру, нетривиальные и глубокие задачи относительно этой группы практически неисчерпа- емы. Это вновь подтверждает теория циклических кодов. Отметим, например, следующую нерешенную задачу, которая может привлечь специалистов по теории групп. Требуется описать группу всех подстановок базисных векторов, относительно которой инвариантен заданный циклический код. Результаты, приведенные в книге Берлекэмпа, показывают, что на этом пути возникают
6 Предисловие редактора перевода такие важные группы, как проективная унимодулярная группа и группа Матье. Дальнейшие исследования в этой области представ- ляются чрезвычайно заманчивыми как для теории циклических кодов, так и для теории групп подстановок. Укажем также на другой важный и интересный аспект алгебраи- ческой теории кодирования — изучение конечных абелевых групп на уровне подмножеств. Теория конечных абелевых групп на уровне подгрупп является вполне классической. Для многих прикладных вопросов (например, для теории распознавания образов) существенно изучение подмножеств конечной абелевой группы, не являющихся смежными классами по подгруппам, но полученных' из таких смежных классов путем некоторых регулярных операций. Теория кодирова- ния дает естественные классы таких подмножеств. Мы не будем здесь останавливаться на красивых связях порого- вого декодирования с конечной проективной геометрией и на теоре- тико-числовых и комбинаторных вопросах теории кодирования. Мы хотели только привести несколько примеров важных математи- ческих задач, связывающих алгебраическую теорию кодирования с традиционными разделами алгебры. Книга, бесспорно, будет весьма полезной для инженеров, работающих в области передачи информации, но мы надеемся, что ее выход в свет привлечет внимание и математиков (в частности, алгебраистов) к новой области прикладной математики, которая находится на стыке теории информации, комбинаторного анализа, теории чисел и конечной проективной геометрии. В заключение хочется поблагодарить автора книги, который помог переводчику устранить ряд недочетов, замеченных в англий- ском издании. С. Берман
ПРЕДИСЛОВИЕ АВТОРА Появление в 1948 и 1949 гг. классических работ Шеннона вызвало большой поток исследований, посвященных построению эффектив- ных схем кодирования информации для передачи по реальным кана- лам с шумами. С практической точки зрения существенные ограни- чения на все схемы кодирования и декодирования дискретных данных накладываются не шенноновской пропускной способностью, а слож- ностью (и стоимостью) декодера. В силу этого основные усилия направлялись на построение легко реализуемых схем кодирования и декодирования. Новый подход к решению этой проблемы был найден в важных работах Рида и Соломона [1960], Хоквингема [1959], Боуза и Чоуд- хури [1960], Горенстейна и Цирлера [1961] и Питерсона [1961]. Выбрав в качестве алфавита кода поле Галуа, удалось свести задачу к решению алгебраического уравнения, корни которого определяют местоположение ошибок. При этом задача декодирования сводится к вычислительной задаче получения этого уравнения и определения его корней. Вычислительная сложность реализации такой процедуры примерно на порядок меньше вычислительной сложности непосред- ственного декодирования с помощью исчерпывающего перебора. В данной книге предлагается новая методика декодирования, позво- ляющая строить алгебраические декодеры, сложность которых на порядок меньше сложности тех, которые рассматривались до сих пор. Читателя, интересующегося «простым» или «элементарным» дока- зательством теоремы Боуза — Чоудхури — Хоквингема, мы должны предупредить, что в данной книге такая попытка не предприни- мается. Истинное достоинство конструкции Боуза — Чоудхури — Хоквингема (БЧХ-конструкции) состоит не в теореме о том, что для любого данного t можно построить коды с исправлением t оши- бок. Как будет показано в гл. 13, минимальное расстояние БЧХ- кодов асимптотически стремится к нулю. Даже при умеренных блоковых длинах квадратично-вычетные коды либо столь же хороши, либо лучше. Важнейшее свойство БЧХ-кодов состоит в томл что они позволяют исправлять до t ошибок (и многие ошибки более высокой кратности) с помощью простого легко реализуемого алгорит- ма. Часто наблюдается противоречие между так называемыми «про- стыми» доказательствами и доказательствами, приводящими к простой
8 Предисловие автора реализации. В данной книге мы пытаемся давать доказательства, приводящие к наиболее простым реализациям. Математиков не должен смущать такой практический подход, ибо решения практи- ческих задач часто приводят к глубокому исследованию «абстракт- ных» математических объектов (например, многочлены Оре или теорема Штикельбергера). В книге делается попытка изучить два круга вопросов: 1. Всестороннее рассмотрение алгебраической теории кодирова- ния, включая БЧХ-коды (которые содержат коды Рида — Соломона), коды Сривэставы, новый класс негациклических кодов для метрики Ли, некоторые другие классы кодов и наилучшие из известных методов их декодирования. 2. Введение в изучение взаимосвязей между алгебраической теорией кодирования и смежными областями. Задачам, близким к алгебраической теории кодирования, например, неалгебраическим конструктивным алгоритмам декодирования типа порогового, уде- ляется значительно больше внимания, чем другим задачам, лежа- щим далеко от алгебраических аспектов теории (например, теории модуляции). Совсем не изучаются вопросы, не пересекающиеся существенно с алгебраической теорией. Не рассмотрены, например, коды, исправляющие ошибки синхронизации х). Распределение материала по главам книги примерно показано на рис. 0.1. Например, вопросы, рассмотренные в гл. 6, лежат на стыке алгебраической теории кодов, современной алгебры, элемен- тарной теории чисел, теории последовательностей, порождаемых регистрами сдвига. Инженерные направления соответствуют разде- лам, выписанным на рис. 0.1 справа, а математические — слева. Мы надеемся, что книга будет полезна для читателей с различными интересами. Книга предназначена для студентов старших курсов и аспиран- тов. Для чтения не требуется ничего, кроме поверхностного знаком- ства с векторами, матрицами и понятиями размерности, ранга и нуль-подпространства. Конечно, любое дополнительное знакомство с современной алгеброй, теорией информации или теорией связи окажется полезным, однако не следует переоценивать связи алгебра- ической теории кодирования с этими смежными областями. Книга имеет неожиданно мало пересечений с обычными стандартными курсами алгебры, например, Биркгофа и Маклейна [1965] или Ван-дер-Вардена [1931]. Большинство алгебраических вопросов, включенных в книгу, относится не к вопросам существования или единственности, а к практическим алгоритмам решения уравнений над конечными полями. В таком качестве ее лучше отнести к новой ветви дискретного численного анализа. Хорошее исследование синхронизирующих кодов дал Стиффлер [1969].
Последователь- ности, поро- ждаемые ре- гистрами сдви- га (Голомб [1967]). Логические устройства вы- числительных машин. 2 8 Теории моду- ляции (Возен- Элементарная крафт и Дже- кобс [1965]). Шенноновская теория чисел (Нэделл [1951], 6 Маккой [1965]). теория инфор- мации. 10 Современная 4 Алгебраическая 9 алгебра (Вирк- гофф и Мак- лейн [1965], Диксон [1901]). 15 11 теория кодиро- вания. 7 5 14 16 1 Теория кодиро- вания (Воль- фовиц [1961], 13 Эш [1965], Джелиник [1968], Галла- герЦ1968]). Конструктив- ная комбинато- рика (Райзер [1963], Холл [1967]). 3 12 Нумераторная комбинаторика (Риордан [1958]). Рис. 0.1. Примерное соотношение между главами книги и смежными науками.
10 Предисловие автора Читатель, опасающийся погрязнуть в деталях, может при первом чтении опустить отмеченные звездочкой параграфы. Хотя при написании книги была предпринята попытка свести к минимуму число ошибок, многие из них, несомненно, остались. Автор будет признателен каждому читателю, который укажет нам ошибки для исправления в последующих изданиях, и обязуется платить доллар каждому, кто первым найдет любую ошибку, будь то ошибочная теорема или просто типографская опечатка1). Это обязательство не относится, естественно, к датам и названиям в ссыл- ках на неопубликованные работы, так как автор, конечно, не может точно предсказать ни дату их опубликования, ни их оконча- тельное название. Наконец, мы сохраняем за собой право считать повторяющуюся ошибку за одну. Обозначения. Во всей книге матрицы обозначаются рукописны- ми буквами, например а$, вектор-строки — полужирными буква- ми, например R. Вектор, транспонированный к вектору R, обозна- чается через R*; так как в книге нигде не используется t-я степень вектора R, то это не приводит к путанице. Последовательность много- членов всегда снабжается верхними индексами, например . ., где fm (х) = 2ДП> х'- Там, где исключена неопределен- 1 г ность, последовательность иногда обозначается через /(1), /(2), . . .. Во всей книге, за исключением рисунков, таблиц и задач, исполь- зуется десятичная система нумерации. Например, уравнение (3.37) находится после теоремы 3.36 и до раздела 3.4. Аналогично, теоре- ма 6.69 следует за определением 6.689 и перед леммой 6.691. В основе книги лежит курс, который был прочитан мной в Кали- форнийском университете в Беркли весной 1966 г. Многое в ней основано на собственных исследованиях автора двух последних лет. За это время я имел много полезных бесед с разными специалистами и среди них с такими видными, как Г. Соломон из Джет Пропалшн Леборатори (в настоящее время работает в Томсон-Рамо-Вулд- ридж) и Р. Боуз и И. Чекреверти из Университета Северной Кароли- ны, который я посетил осенью 1966 г. Дж. Брилхарт и Н. Дж. Слоэн просмотрели первый вариант рукописи и сделали много детальных замечаний и существенных предложений. Л. Д. Бэмерт, Г. Д. Фор- ни, Р. Л. Грэхем, С. В. Голомб, И. Н. Гилберт, госпожа Дж. Мак- Вильямс, Дж. Л. Месси, X. Ф. Мэттсон, X. О. Поллак и Дж. Спен- сер также сделали полезные замечания. Элвин Р. Берлекэмп Речь, конечно, идет об ошибках и опечатках в английском издании.— Прим- ред.
Глава 1 Основные двоичные коды 1.1. Коды с повторением и коды с одной проверкой на четность Предположим, что по каналу с шумом передается последователь- ность двоичных цифр. Иногда воздействие шума в канале приводит к тому, что переданная единица ошибочно интерпретируется как нуль или переданный нуль ошибочно интерпретируется как единица. Хотя мы не можем предотвратить подобные ошибки в канале, исполь- зование кодирования позволяет ограничить их нежелательное воз- действие. Основная идея проста. Выберем множество из к двоичных символов сообщения, подлежащих передаче, припишем к ним г проверочных символов и передадим входной блок из п = к + г канальных символов. Если шум в канале искажает достаточно малую долю из этих п передаваемых канальных символов, то г проверочных символов дают приемнику достаточную информацию, позволяющую ему обнаружить и исправить ошибки, происшедшие в канале. Для произвольно заданной последовательности из к символов сообщения передатчик должен иметь некоторое правило выбора г проверочных символов. Построение такого правила является задачей кодирования. Любая конкретная последовательность, которая может быть передана кодером, называется кодовым словом. Хотя всего существует 2" различных двоичных последовательностей длины п, только 2,! из них являются кодовыми словами, так как г провероч- ных символов любого кодового слова полностью определяются к символами сообщения. Множество, состоящее из 2к кодовых слов длины п, называется кодом. Если канал достаточно зашумлен, то независимо от передавав- шегося кодового слова на выходе может быть получена любая из 2П двоичных последовательностей длины п. По полученным п симво- лам декодер должен попытаться решить, какое из 2fe возможных кодовых слов передавалось. Одним из простейших примеров двоичных кодов являются коды с повторением с k = 1, произвольным гив = 4 + г = г + 1. Код содержит два кодовых слова: последовательность из п нулей и после- довательность из п единиц. Первый символ слова можно назвать информационным, а остальные г — проверочными. Значение каждого проверочного символа (0 или 1) в коде с повторением совпадает со значением информационного символа. Декодер может использовать
12 Гл. 1. Основные двоичные коды следующее правило. Подсчитывается число нулей и число единиц в полученной последовательности. Если нулей получено больше, чем единиц, то выносится решение, что передаваемое кодовое слово состояло из нулей; если единиц получено, больше, чем нулей, то выносится решение, что передаваемое кодовое слово состояло из единиц. Если число нулей оказывается равным числу единиц, то решение не принимается. Ясно, что это правило декодирования позволяет декодировать правильно во всех случаях, когда шум в канале искажает меньше половины символов в каждом блоке. Если шум канала искажает точно половину символов некоторого блока, то декодер фиксирует отказ от декодирования: он не может декодировать полученное слово ни в одно из возможно передававшихся сообщений х). Если шум в канале искажает более половины символов некоторого блока, то в декодере произойдет ошибка декодирования: он неверно декодиру- ет полученное слово. При редких ошибках в канале вероятность отказа или ошибки декодирования для кода с повторением с большой блоковой длиной, очевидно, очень мала. В наших рассмотрениях отказ от декодирования предпочтитель- нее ошибки декодирования, а правильное декодирование пред- почтительнее обеих этих возможностей. Конечно, модифицируя алгоритм декодирования, часто можно изменить соотношения между отказами и ошибками декодирования. Например, рассмотрим код с повторением с блоковой длиной п — 5. Сначала предположим, что если полученная последовательность содержит не более двух единиц, то она декодируется как нулевое кодовое слово. В противном случае она декодируется как единичное кодовое слово. Этот алгоритм декодирует каждое возможное полученное слово в одно из возмож- ных кодовых слов; такое декодирование называется полным. В пол- ных алгоритмах декодирования отказ от декодирования невозмо- жен. Однако для того же кода с повторением с блоковой длиной п = 5 можно использовать и альтернативный алгоритм неполного декодирования. Например, можно декодировать все полученные последовательности, содержащие 0 или 1 единиц как нулевое кодо- вое слово, а все полученные последовательности, содержащие 4 или 5 единиц, как единичное кодовое слово. Этот алгоритм декодирова- ния не действует при декодировании последовательностей, содержа- щих 2 или 3 единицы. Хотя этот алгоритм неполного декодирования имеет положительную вероятность отказа от декодирования, он имеет значительно меньшую вероятность ошибки декодирования, чем полный алгоритм. В некоторых приложениях ошибка декодирования равносильна катастрофе, например при получении неправильной команды на ') То есть декодер оказывается в классической ситуации буриданова осла.— Прим. ред.
1.1. Коды с повторением и коды с одной проверкой на четность 13 ракете или межпланетном корабле. Отказ от декодирования, напро- тив, может привести лишь к игнорированию команды. Эту небольшую неприятность можно ликвидировать простым повторением команды. В такого рода приложениях предпочтительным является алгоритм со значительной неполнотой декодирования, который умышленно отказывается от декодирования любого достаточно сомнительного полученного слова. Однако существуют другие приложения, в которых нет возмож- ности повторять недекодированные сообщения. В таких случаях отказ от декодирования столь же катастрофичен, как и ошибка декодирования. В приложениях подобного типа желательна макси- мальная вероятность правильного декодирования. Алгоритм полного декодирования не допускает отказа от декодирования принятого слова, даже если оно весьма сомнительно. Независимо от того, какая последовательность получена, принимается некоторое решение о пе- реданном кодовом слове, Даже если это решение — всего лишь тонкая догадка. Для многих кодов очень трудно продолжить известные алгоритмы неполного декодирования до алгоритмов полного декодирования. Наоборот, обычно бывает очень легко получить хорошие алгоритмы неполного декодирования из алгоритмов полного декодирования. Мы видели, что формулировка алгоритма полного декодирования для кодов с повторением не вызывает трудностей. Если блоковая длина достаточно велика, то вероятность ошибки декодирования при этом очень мала. Однако эти коды имеют очень низкую скорость передачи информации, R = kin, так как все позиции, кроме одной, являются проверочными. Мы же обычно заинтересованы в кодах, обеспечивающих большие скорости передачи информации. Замечательным примером таких высокоскоростных кодов явля- ются коды с одной проверкой на четность, содержащие только один проверочный символ. Этот проверочный символ является суммой по модулю два п — 1 информационных символов. Информационные символы складываются в соответствии с двоичными правилами: 0 4-0 = 0, 0 + 1 = 1, 1+0 = 1, 1 + 1=0. Двоичная сумма некоторого числа двоичных цифр равна 0 или 1 в соответствии с чет- ностью или нечетностью числа единиц среди складываемых двоичных цифр. Поэтому общее число единиц (включая проверочный символ) в каждом кодовом слове кода с одной проверкой на четность всегда четно. Если полученное слово содержит четное число единиц, то декодер должен декодировать его без изменений, а в противном слу- чае слово не декодируется. Это правило неполного декодирования позволяет правильно декодировать только тогда, когда канал не исказил ни одного символа передаваемого блока. Одиночные ошибки (или любое нечетное число ошибок) приводят к отказу от декодиро- вания и тем самым обнаруживаются. Любое ненулевое четное число ошибок приводит к ошибке декодирования.
14 Гл. 1. Основные двоичные коды Два рассмотренных примера, коды с повторением и коды с про- веркой на -четность, представляют собой предельные относительно простые случаи двоичных кодов. Коды с повторением имеют огром- ную корректирующую способность, но на каждый блок приходится только один информационный символ. Коды с одной проверкой на четность обладают очень высокой скоростью передачи, но так как в каждый блок входит только один проверочный символ, то они не обеспечивают ничего, кроме обнаружения нечетного числа ошибок. Для того чтобы построить коды с приемлемыми скоростями и прием- лемыми корректирующими возможностями, лежащие между этими двумя предельными классами кодов, рассмотрим более общий класс линейных кодов, к которому эти коды принадлежат. 1.2. Линейные коды В кодах, содержащих несколько информационных и несколько проверочных символов, каждый проверочный символ является некоторой функцией от информационных символов. В простейшем случае кода с одной проверкой на четность единственный провероч- ный символ является-двоичной суммой всех информационных симво- лов. Если имеется несколько проверочных символов, то для задания кода представляется целесообразным каждый из них определить как двоичную сумму соответствующего подмножества информацион- ных символов. Построим, например, двоичный код с блоковой длиной п — 6, имеющий к = 3 информационных символов и г = 3 провероч- ных символов. Обозначим через Сг, С2 и С3 информационные симво- лы, а через С4, СБ и Се — проверочные символы, где С4 — С± С2, св = G 4- Сз, С6 = С2 + С3, или в матричных обозначениях "сг -С6_ 0- 1 1 ~сг с2 Полное кодовое слово содержит символы Сп С2, С3, ^5» ^«7 удовлетворяющие проверочным уравнениям Cf С2 4- G — 0» Ct 4- С3 4- С5 = 0, Сг 4- С3 4- С0 = 0, или в матричной записи Ж-О,
1.2. Линейные коды 51 где С' — вектор-столбец, транспонированный к вектор-строке С = [С,, С2, С3, С4, С5, С6], О — нулевой вектор-столбец длины три, a — проверочная матрица -110 10 0- 10 10 10 . .0 11001. 23 = 8 кодовых слов, очевидно, исчерпываются последовательностями 000000, 001011, 010101, 011110, 100110, 101101, 110011, 111000. После того как информационная последовательность закодиро- вана в полное кодовое слово, оно передается по зашумленному каналу. Канал прибавляет к кодовому слову шумовое словох) Е = Е2, Е3, Et, Е6, Е6], где ( 0, если канал не изменяет i-ro символа, Ei = / I 1, если канал изменяет г-и символ. Полученное слово описывается последовательностью R = [7?х, Т?2, 7?з, Т?4, Яв, 7?в], где Ri = Ct + Et, или в векторной записи R = С + Е. Декодер начи- нает с вычисления символов синдрома, определяемого уравнением s' = М'. Для данного примера это уравнение имеет вид "Si- -110 10 0- • 82 = 10 10 10 R'. -S3_ .0 1100 1. Так как символы синдрома также определяются проверочными уравнениями, то они выявляют картину искажений в переданном кодовом слове. Для того чтобы декодировать, декодер должен в конце концов ответить на вопрос: «Какое слово С передавалось?» Легче, однако, оказывается, ответить сначала на промежуточный вопрос: «Каков вектор Е ошибок, происшедших в канале?» Если декодер сможет правильно определить вектор ошибок Е, то С может быть найдено по формуле С = R — Е. (В двоичном случае, конечно, -)- = —, разность равна сумме и С = R —Е означает, что С = R + Е.) Если R — полученное слово, то множество возможных векторов ошибок в точности совпадает с множеством векторов, имеющих тот 1) Мы используем термины «слово» и «вектор» в одном и том же смысле.
16 Гл. 1. Основные двоичные коды же синдром, что и R. Действительно, если о%?К( =/= о%?Е', то (R — Е)( =£ 0, так что R — Е не является переданным кодовым словом. Наоборот, если q^R' = <Й?Е(, то Si (R — Е)‘ = 0, и вектор ошибок может совпадать с Е, если передавалось слово С = R — Е. Предположим, например, что принятое слово является кодовым. Тогда S6B? = 0 и = 0, так что вектор ошибок также должен быть кодовым словом. Множество и-мерных двоичных векторов с нулевым синдромом в точности совпадает с множеством кодовых слов. Если х и у — два кодовых слова, то Si^ = Si^ = 0, так что Si^ — Siy* = О и — у — также кодовое слово. Таким образом, разность любой пары кодовых слов является кодовым словом. Поэтому говорят, что множество кодовых слов образует линейный код, или групповой кодJ). В общем случае, если х и у имеют один и тот же синдром (не обяза- тельно нулевой), то Si^ = Siy1, (х — у)1 =0, их — у является кодовым словом. Множество всех векторов, имеющих один и тот же синдром, называется смежным классом по подгруппе кодовых слов. Как только что показано,-разность между любыми двумя векторами из одного и того же смежного класса является кодовым словом. Обратно, сумма некоторого вектора х и любого кодового слова лежит в том же смежном классе, что и х. Следовательно, число векторов в любом смежном классе равно числу 2ft кодовых слов. Возможными векторами ошибок являются слова из того смежного класса, которому принадлежит полученное слово. Таким образом, декодер может сразу исключить из рассмотрения все векторы ошибок, которые не лежат в одном смежном классе с принятым словом, т. е. векторы, которые имеют -другие синдромы. Однако все векторы ошибок, лежащие в одном смежном классе с принятым словом, возможны. Ни одна из этих возможностей не может быть с полной определенностью исключена из рассмотрения. Но так как ошибки в канале относительно редки, то некоторые из векторов ошибок в пределах данного смежного класса гораздо менее вероятны, чем другие. Обычно более вероятно, что вектором ошибок будет вектор с малым числом единиц, чем вектор с большим числом единиц. Более точно, определим вес некоторого и-мерного двоичного вектора как число единиц в данном векторе. Вектор наименьшего веса в пределах данного смежного класса выберем в каче- стве лидера смежного класса. Найболее вероятный вектор ошибок — это лидер смежного клас- са, содержащего принятое слово. Смежные классы для рассмотренного выше примера выписаны в виде строк таблицы 1.1. Первая строка есть смежный класс с нуле- ]) В недвоичном случае не всякий групповой код является линейным,— Прим, перев.
1.2. Линейные коды 17 Стандартное расположение по Слепяну Таблица 1.1 Синдром Слова ООО 000000 001011 010101 011110 100110 101101 110011 111000 001 000001 001010 010100 011111 100111 101100 110010 111001 010 000010 001001 010111 011100 100100 101111 110001 111010 011 001000 000011 011101 mono 101110 100101 111011 110000 100 000100 001111 010001 011010 100010 101001 110111 111100 101 010000 011011 000101 001110 110110 111101 100011 101000 110 100000 101011 110101 111110 000110 001101 010011 011000 111 001100 000111 011001 010010 101010 100001 111111 110100 вым синдромом, т. е. множество кодовых слов. Лидер каждого из последующих смежных классов выписан в первом столбце. Элемент, расположенный в i-й строке и /-м столбце, равен сумме /-го кодового слова и i-ro лидера. Обычно используется терминология определений 1.21. 1.21. Определения. Код называется линейным или груп- повым х), если он состоит из всех векторов С, удовлетворяющих уравнению Si& — 0. Матрица Si называется проверочной матрицей. Блоковая длина п кода равна числу столбцов матрицы Si- Синдром s любого слова R определяется уравнением s( = SiB1. Смежный класс состоит из всех слов с одним и тем же синдромом. Весом слова называется число его единичных координат. Слово наименьшего чеса в данном смежном классе называется его лидером. Важные свойства линейных кодов дает следующая теорема: 1.22. Теорема. Если R — принятое слово, то множество возможных векторов ошибок совпадает со смежным классом, содер- жащим R. Наиболее вероятным вектором ошибок является лидер этого смежного класса. Линейный код может быть декодирован следующим образом: вычисляем синдром, находим лидер смежного класса, которому соответствует этот синдром, и, вычитая найденный лидер из принятого слова, получаем наиболее вероятное кодовое слово. Сразу возникают две основные задачи: (1) как надо выбирать матрицу Si и (2) как по заданному синдрому находить лидер смеж- ного класса? Для малых значений п эти вопросы могут быть исследованы с помощью полного перебора. Для больших п, к и г обе эти пробле- ’) См. примечание на стр. 16.—Прим, ред. 2—658
18 Гл. 1. Основные двоичные коды мы в общем случае не решены. Однако известно много «хороших» методов построения проверочных матриц и выбора лидеров смежных классов по заданному синдрому. В последующих главах книги мы приведем наиболее перспективные из этих методов. Самыми простыми примерами линейных кодов являются коды с повторением и коды с одной проверкой на четность, описанные в разд. 1.1. Проверочная матрица кода с одной проверкой имеет вид Ж = [1 1 1 , , , 1], а проверочная матрица кода с повторением — rl 1 0 0 Од 10 10 0 10 0 10 .1 0 0 0 1. 1.3. Коды Хэмминга ’) При очень малых или очень больших скоростях хорошие линей- ные коды строятся сравнительно легко. Интерполяцию между этими крайними случаями можно проводить одним из двух способов: (1) отталкиваясь от кодов с низкой скоростью передачи, постепенно увеличивать к, добавляя все новые и новые кодовые слова и пытаясь сохранить большие корректирующие возможности кода; (2) оттал- киваясь от хороших кодов с большой скоростью передачи, постепенно увеличивать корректирующие возможности кода, пытаясь добавлять лишь малое число дополнительных проверочных ограничений. Исто- рически второй метод оказался более успешным. Мы также пойдем по этому пути. Начнем с построения одного специального класса кодов, исправляющих одиночные ошибки,— кодов Хэмминга. Синдром линейного кода связан с вектором ошибок уравнением s' — Правая часть этого уравнения может быть записана в виде суммы, содержащей Е± раз первый столбец матрицы Е2 раз второй столбец матрицы Зв, Е3 раз третий столбец матрицы ... . Например, если х) Все совершенные двоичные коды с исправлением одиночных ошибок были построены Хэммингом. Код Хэмминга с длиной 7 был впервые опубликован в качестве примера в статье Шеннона [1948]. Еще до появления работы Хэммин- га [1950] этот пример был обобщен Голеем [1949]. Коды Хэмминга в ином кон- тексте содержатся в работе Фишера [1942].
1.3. Коды Хэмминга 19 ГО -\-Е5 _Q_ 1 О Еъ -0“ 0 1 Таким образом, синдром является суммой тех столбцов матри- цы 38, которым соответствуют ошибки в канале связи. Если некото- рый столбец матрицы 38 нулевой, то ошибка в этой позиции не окажет на синдром никакого влияния. Код не позволяет даже обна- ружить ошибку в такой позиции. Если два столбца матрицы 38 совпадают, то одиночные ошибки в каждой из этих позиций дают один и тот же синдром, т. е. векторы этих одиночных ошибок лежат в одном смежном классе. Так как только один из них можно выбрать в качестве лидера смежного класса, то только одна из ошибок может быть исправлена. Другая одиночная ошибка будет декоди- рована неправильно. Таким образом, если 38 содержит нулевые или совпадающие между собой столбцы, то соответствующий линейный код не позволяет исправлять все одиночные искажения в канале. Наоборот, предположим, что все столбцы матрицы 38 отличны от нулевого и друг от друга. Тогда одиночная ошибка в одной произволь- ной позиции приводит к синдрому, отличному от синдрома для ошибки в любой другой позиции. Каждый вектор одиночной ошибки является лидером смежного класса, и код позволяет исправлять все одиночные ошибки. 1.31. Теорема. Линейный код позволяет исправлять все одиночные ошибки тогда и только тогда, когда все столбцы его матри- цы 38 отличны от нуля и друг от друга. Для декодирования одиночных ошибок декодер вычисляет син- дром полученного слова. Если синдром равен нулю, то декодер полагает, что ошибок не произошло. Если синдром отличен от нуля и равен некоторому столбцу матрицы 38, то декодер полагает, что произошла ошибка в соответствующей позиции. Если синдром ока- зывается ненулевым и отличным от любого столбца матрицы 38, то фиксируется отказ от декодирования. Отказ или ошибка декодиро- вания происходят только в том случае, когда в канале искажаются два или более символов. Например, предположим, что гО 0 0 1 1 1 1 1 О'! 0 0 1110 10 1 0 1110 0 110 .1 1 1 0 0 0 1 0 1 2*
20 Гл. 1. Основные двоичные коды Если принятое слово R = [101000101], то синдром равен s = [1100]. Так как s' равен пятому столбцу матрицы Si, то заклю- чаем, что Е = [000010000] и С = [101010101]. Если же принятым словом является R == [111001111], то s = = [1101]. Так как s' не совпадает ни с одним из столбцов матрицы Si, то происходит отказ от декодирования, обнаруживающий две или более ошибок в канале. Зададимся теперь вопросом о наибольшей возможной блоковой длине кода, исправляющего одиночные ошибки и имеющего не более г проверочных позиций. Так как число проверочных позиций равно числу линейно независимых х) строк матрицы Si, то этот вопрос равносилен вопросу о максимальном числе различных нену- левых столбцов двоичной матрицы, содержащей не более г строк. Ответ очевиден: 2Г — 1. Столбцы матрицы Si совпадают с 2Г—1 нену- левыми двоичными r-мернымивекторами, упорядоченными произволь- ным образом. Линейный код, определяемый такой матрицей, назы- вается кодом Хэмминга. Для любого г существует двоичный код Хэмминга, содержащий г проверочных позиций. Блоковая длина такого кода равна п = = 2Г—1, а число информационных позиций определяется равенством к = п — г — 2Г—1 — г. Код позволяет исправлять одиночную ошиб- ку в любой позиции. Более того, так как каждый возможный ненуле- вой синдром равен некоторому столбцу матрицы Si, то никогда не происходит отказа от декодирования. Процедура декодирования одиночных ошибок является полной. Вес лидера каждого смежного класса равен нулю или единице. Ни один вектор ошибок веса ^s2 не может быть обнаружен или исправлен. Для выявления конфигураций ошибок веса 2 к коду Хэмминга иногда добавляется еще одна общая проверка на четность. Результи- рующий код имеет блоковую длину п = 2т и содержит г = т + 1 проверочных и к = 2т — 1 — т информационных символов. Напри- мер, код Хэмминга с блоковой длиной 15 описывается проверочной матрицей гО 0 0 0 0 0 0 0 0 0 1 1 1 1 0 110 0 11 -1010101 11111111-1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0101010 1- х) Векторы а, р, . . ., у называются линейно независимыми, если равенство аа + bp + . . . + су = 0 возможно только при а = 6 = . . . = с = 0.—-Прим, перво.
1.3. Коды Хэмминга 21 Присоединяя общую проверку на четность, получаем расширенный код Хэмминга с блоковой длиной 16, проверочная матрица которого имеет вид Г1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1п 0'0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 S£ = ООО 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 В первой строке проверочной матрицы расширенного кода Хэм- минга стоят одни единицы, так что первая координата суммы любых двух столбцов всегда равна нулю. Поэтому синдром любого вектора ошибок веса 2 отличен от нуля и любого столбца матрицы SS- Любая конфигурация двух ошибок в канале должна привести к отказу от декодирования. Таким образом, расширенный код Хэмминга исправ- ляет все одиночные ошибки и обнаруживает все двойные ошибки. Хотя столбцы проверочной матрицы кода Хэмминга могут быть упорядочены произвольным образом, некоторые способы упорядочи- вания приводят к значительно более простой реализации, чем другие. Поэтому все вопросы, связанные с реализацией кодов Хэмминга, мы откладываем до разд. 5.1. Код Хэмминга с блоковой длиной п = 2т—1 обеспечивает ско- рость передачи, равную R к _ 2т — 1 — т t т 2т —1 = 1 — 2”» — 1 ‘ Можно строить коды Хэмминга все с большей и большей длиной; достаточно длинные коды обеспечивают скорость, близкую к 1. Таким образом, хотя коды Хэмминга существенно отличаются от кодов с одной проверкой на четность, они все еще образуют класс высокоскоростных кодов. Коды Хэмминга не позволяют исправлять ни одной конфигурации из двух или большего числа ошибок. Для того чтобы исправлять такие конфигурации ошибок, необходимо построить коды с большим числом проверочных позиций. Простота кодов Хэмминга резко контрастирует с относительной сложностью наиболее простых известных двоичных кодов, исправ- ляющих двойные ошибки. Вслед за первой работой Хэмминга [1950] появилось большое число работ по-конструктивной теории кодиро- вания. Было предложено много новых кодов. Однако, за исключением нескольких важных случаев, предлагаемые конструкции носили узко специальный характер. Нерешенной оставалась даже следую- щая простейшая задача — построение двоичных кодов с приемлемой скоростью передачи, позволяющих исправлять любые двойные ошибки. Когда же, наконец, Боуз и Чоудхури в 1959 г. и Хоквингем в 1960 г. построили такие коды, то сразу же было предложено и их обобщение — коды с исправлением t ошибок для любого натураль- ного t.
22 Гл. 1. Основные двоичные коды На самом деле интервал между открытием кодов Хэмминга в 1950 г. и БЧХ-кодов в 1960 г. составляет даже больше, чем десяти- летие научных исследований, поскольку большинство результатов Хэмминга было опубликовано в несколько ином контексте еще в 1942 г. в работе Фишера, хорошо известной Боузу! Как бы то ни было, столь существенный интервал между открыти- ем кодов Хэмминга и БЧХ-кодов с исправлением двойных ошибок является весьма примечательным. Поэтому мы рекомендуем начина- ющему читателю с особой тщательностью изучить следующий раздел, который, по нашему мнению, является весьма важным. 1.4. Конструктивное введение в теорию БЧХ-кодов, исправляющих двойные ошибки Мы видели, что линейный код характеризуется своей проверочной матрицей Ранее было показано, что синдром принятого слова равен сумме столбцов матрицы соответствующих искаженным позициям переданного вектора. Следовательно, линейный код позво- ляет исправлять все одиночные ошибки тогда и только тогда, когда все столбцы матрицы Si различны и отличны от нуля. Если Si имеет т строк и позволяет исправлять все одиночные ошибки, то 2т—1. Коды Хэмминга достигают этой границы. Каждая позиция кода Хэмминга может быть занумерована m-мерным двоичным вектором, совпадающим с соответствующим столбцом матрицы Si- При этом синдром будет совпадать непосред- ственно с номером позиции, в которой произошла ошибка (если она только одна), цли с двоичной векторной суммой номеров (если ошибок несколько) 1). Эта идея векторной нумерации оказывается очень плодотворной, и в дальнейшем мы предположим, что п —2'” — 1 и что столбцы матрицы Si занумерованы так, что i-й столбец дает двоичное представление числа г. Предположим теперь, что требуется исправлять все конфигурации из двух или меньшего числа ошибок. Очевидно, что для этого нужна большая избыточность, так что матри- ца Si должна иметь больше строк. На первый взгляд, естественно предположить, что для исправления двух ошибок требуется вдвое большее число проверок, чем для исправления одной, и поэтому мы будем искать проверочную матрицу из 2"1—1 столбцов и 2'" строк. Разумно выбирать столбцы матрицы Si по возможности различ- ными. Выберем в качестве первых т строк проверочную матрицу *) Запись номера позиции в выбранной форме (в данном случае в виде «-мерного двоичного вектора) называется локатором позиции.— Прим, перев.
1.4. Конструктивное введение в теорию БЧХ-кодов 23 кода Хэмминга. (Почему бы и нет? Мы действуем в духе Хэмминга.) Например, при пг = 5 и п = 31 хотелось бы получить исправляющий двойные ошибки код с матрицей (1.41) 'О 0 0 000000000000...1 1’ 0 0 0 000011111111...11 О 0 0 111100001111...11 О 1 1 001100110011...11 1 О 1 010101010101...01 /1(1) /1(2) /1(3)............ /2(1) /2(2) /2(3)............ /з(1) /з(2) /з(3)............ /4(1) /4 (2) /4 (3).......... Л(!) М2) W).................- На этом пути нам надо отыскать функцию / (£), отображающую 5-мерные векторы в 5-мерные векторы. Последние пять строк матрицы будут задавать код Хэмминга тогда и только тогда, когда функция / является перестановкой. Эвристически такая возможность кажется обнадеживающей. Если первые т строк и последние пг строк в отдельности позволяют испра- влять одиночные ошибки, то возможно, что совместно они позволят исправлять двойные ошибки. Для исследования возможных выборов функции / нам необходимо разработать некоторый аппарат для операций над двоичными 5-мер- ными векторами. Мы должны уметь в каком-то смысле складывать, вычитать, умножать и делить 5-мерные векторы. Для этого удобно интерпретировать каждый двоичный 5-мерный вектор как некоторый двоичный многочлен степени 4. Например, 0 0 0 0 0*-* 0, 0 0 0 0 1*-* 1, 0 0 0 1 0*-* х 0 10 11 *-* х? J- х 4-1, 110 11 *-* ж4 + ж3 J- ж J-1. Г ' Как мы и хотели, сложение двух таких двоичных многочленов соответствует сложению векторов. Однако умножение в общем случае приводит к многочленам степени, большей 4. Например, (ж3 + ж + 1) (ж4 + ж3 + ж + 1) = = ж7 + ж6 + ж5 + Зж4 + 2Ж3 + ж2 + 2ж + 1 = = ж7 + ж6 + ж6 ж4 + ж2 + 1,
24 Гл. 1. Основные двоичные коды так как при двоичном сложении 2 = 0 и 3 = 1. Поэтому нам необ- ходим некоторый метод понижения степеней > 4 до степеней ^4. Одним известным методом такой редукции является построение вычетов по модулю двоичного многочлена М (х) степени 5; а именно переход от многочленов к их остаткам от деления на М (х). Напри- мер, пусть М (ж) = х5 4- ж2 + 1. Тогда (двоичное) деление дает ж7 + хв + ж5 + ж4 + х2 4-1 | ж5 4~ ж2 4~ 1 ж7 4- ж4 4- ж2 ж2 4- ж 4-1 ж6 4-ж6 -h 1 ж6 4- z3 4- ® ж8 4 х? 4-®4-1 ж5 4- ж2 4-1 ж3 4- х2 4- х ' так что ж7 4- хв 4- ж8 + г4 + ж2 +1 (ж2 4- ж 4-1) (ж5 4- х2 4- 1) 4- 3:3 4- ж2 4 х, ИЛИ ж7 + ж6 + ж8 4- ж4 4- ж2 + 1 = =(ж3 4- х2 4- х) mod (ж5 4- х2 4- !)• Символ = читается «сравнимо с». В общем случае говорят, что А (ж) = а (ж) mod М (ж) тогда и только] тогда, когда существует такой многочлен с(ж), что А (ж) = с (ж) М (ж) 4- о, (х). Напомним, что операции умножения и сложения многочленов выпол- няются по модулю дваг Некоторые авторы отмечают этот факт, используя запись А (ж) = а (ж) mod (2, М (ж)). Заметим, что редук- ции по модулю 2 и по модулю М (х) перестановочны. Следующие свойства показывают, насколько плодотворно понятие сравнения многочленов. 1.42. Свойства сравнений. Если а (х) = А (ж) mod М (ж) и b (ж) = В (х) mod М (ж), то а (ж) ± Ь (ж) == А (ж) ± В (х) mod М (ж) и а (ж) b (ж) == А (ж) В (ж) mod М (ж).
1.4. Конструктивное введение в теорию БЧХ-кодое 25 Доказательства. а (х) = с (х) М (х) + А (х), Ъ (х) = d (х) М (х) + В (х), а (х) ± b (х) = [с (х) ± d (ж)] М (х) + А (х) ± В (х), а (х) Ъ (х) = [с (х) d (х) М (х) + с (ж) В (х) + + d (х) А (ж)] М (х) + А (х) В (х). я Более того, если степени многочленов а (х) и А (х) меньше степе- ни М (х), то из формулы а (х) = А (х) mod М (х) следует, что а (х) = А (х). [Доказательство: а (х) — А (х) = с (х) М (х), и если с (х) =/= 0, то степень правой части больше степени левой.] Следовательно, различные многочлены, степени которых меньше степени М (х), лежат в различных классах вычетов по модулю М (х). Это определяет 2de®M различных классов вычетов. Имеются ли еще какие-нибудь классы вычетов? Нет, как вытекает из следующего алгоритма. 4 1.43. Алгоритм де л е н и я. Для чисел !) Для многочленов с коэффициентами из не- которого данного поля 2) Для данных а и М 3 одно- значно определенные числа g и А, такие, что Для данных а (х) и М (х) 3 однозначно определенные многочлены q{x) и А (х), такие, что a = qM-]-A, a(x) = q (х) М (я) + А (х), deg А (х) < deg М (х) Рассмотрев сложение, вычитание и умножение по модулю М (х), естественно исследовать возможность деления. Ответ на этот вопрос дает алгоритм Евклида. 1.44. Алгоритм Ев к л и д а. Для чисел Для многочленов с коэффициентами из не- которого данного поля Для заданных а и Ь 3 такие числа АиВ, что Для заданных а (я) и Ь (х) 3 такие много- члены А (х) и В (х), что аА + ЬВ = (а, Ь)' а (х) А (х) -J- Ь (х) В (х) = (а (х), Ь (х)), где (а, Ь) — наибольший общий делитель а и Ъ. где (а(х), Ь(х))—нормированный3) общий делитель а (х) и Ъ (х) наибольшей сте- пени. 4 Символ 3 означает «существует». 2) Полем называется содержащее 0 и 1 множество элементов, в котором определены операции сложения, вычитания, умножения и деления, удовлетво- ряющие обычным правилам арифметики. Более детально поля изучаются в гл. 4. 3) Нормированным называется многочлен с коэффициентом 1 при старшем члене.— Прим, перев.
26 Гл. 1. Основные двоичные коды Детальное доказательство методом последовательного применения алгоритма деления приводится в разд. 2.1. Покажем, что если а (х) и М (х) имеют общий делитель d{x), то деление на а (х) по модулю М (х) не всегда возможно. Действительно, если а (х) = г (х) d (х) и М (х) = s (ж) d (х), то а (х) s (х) = г (ж) М (ж) =з 0 mod М (ж). Если бы всегда было выпол- нимо деление на а (ж), то мы пришли бы к неправильному выводу, что s (ж) = 0 mod М (ж). Однако, если (а (ж), b (ж)) = 1, то, согласно алгоритму Евклида, существуют такие А (ж) и В (ж), что а (ж) А (ж) + b (ж) В (х) — 1, так что а (ж) А (ж) = 1 mod b (х). Очевидно, что деление на а (ж) эквивалентно умножению на А (х). Если, в частности, М (ж) является неприводимым многочленом, т. е. не имеет делителей, отличных от скаляров и скалярных крат- ных самого себя, то для каждого а (ж) =/= 0 возможно деление на а (ж) mod М (ж). Как будет показано в разд. 2.1, многочлены с коэф- фициентами из поля однозначно разлагаются в произведение непри- водимых многочленов, подобно однозначному разложению чисел в произведение простых сомножителей. Покажем теперь, что двоичный многочлен М (ж) = ж5 + ж2 + 1 неприводим. Ясно, что ж не является его делителем. Проверим, будет ли делителем ж + 1: Ж5 -J- Ж2 + 1 | Ж -L 1___ ж5 + Ж4 Ж4 Ж3 л- Ж2 х^ ж4 + ж3 Ж3 Т-Ж2 ж3-(-ж2 1 Так как остаток равен 1, то не будет. Исчерпав все линейные делители, проверим квадратные. Ясно, что ж2 не подходит, так же как и ж2 ж = (ж + 1) ж и ж2 + 1 = ж2 + 2ж + 1 = (ж + I)2. Остается проверить еще один делитель: ж6 -J- ж2 4- 1 | ж2 + ж +1 ж5 ж4 4- ж3 ж3 4- ж2 Ж4 -1- Ж3 4- ж2 ж4 4- ж3 4- ж2 р
1.4. Конструктивное введение в теорию БЧХ-коЗов 27 Следовательно, возможные делители М (х) должны иметь сте- пень 3. Но все произведения таких делителей имеют степень 6, Значит, многочлен М (х) неприводим. Таким образом, многочлены можно складывать, умножать и де- лить (не на нуль) по модулю ж6 + х2 + 1. Интерпретируя все двоич- ные 5-мерные векторы как классы вычетов по модулю М (х), мы получаем значительно более удобный аппарат для выбора функции /, определяющей вторую пятерку строк искомой проверочной матрицы, задающей код с исправлением двойных ошибок с блоковой длиной 31 и скоростью 21/31. Предположим, что и р2 — номера искаженных символов. Используя двоичную запись чисел и р2, можно представить эти номера в виде классов вычетов по модулю М (ж), т. е. установить соответствие Р, *-* Р(г> (ж), где р<г> (ж) — двоичные многочлены сте- пени < 5. Первые пять проверочных уравнений определяют рг + р2; второе множество проверочных уравнений должно определить / (РД + / (Р2). Декодер должен определить и р2 по заданным Р1 + Р2 = Ъ И / (Р1) + / (Р2) = ?2- Рассмотрим теперь несколько возможных выборов функции /. Простейшей возможностью является умножение на константу: / (Р) == а Р (ж) mod М (ж). Ясно, что эта идея себя не оправдывает, так как в этом случае £2 = и, следовательно, два уравнения зависимы. Вторые пять проверок (определяющих £2) не дают декодеру ничего нового. Ничего не дает также функция / (Р) = Р + а при любом а. В этом случае £2 = Испытаем теперь степенные функции. Сначала положим / (Р) = Р2- Двумя уравнениями для декодера при этом являются ₽1 + ₽2 = Pl + Pl = S2- Читателю, не знакомому с полями характеристики 2 (которые мы изучаем в гл. 4), эти уравнения могут показаться независимыми. Но это не так, ибо % = (Pi + р2)2 = Р1 + 2р4р2 + Р1 = Р1+ Р1 = ?2. Таким образом, второе уравнение является квадратом первого, и дополнительные пять проверочных уравнении не дают нам ничего нового.
28 Гл. 1. Основные двоичные коды Не отчаиваясь, попробуем, однако, / (Р) = Р3- Уравнения для декодера имеют вид Pi + Р2 = Ci, Р? + PI = откуда £2=P!+PI-(Pi+P2)(PI—Р1Р2 4-Р|)= = Ш4 Р1М Р1) = = ШР2-Й), так что при Pi + Рг = Си Р^С!^. Значит, Р4 и р2 удовлетворяют уравнению P(Ci + PWN -g- или, иначе, Р2 + С1Р + (£+|г)-0’ или (1.45) 1+^ + (С? + Р-2 = О. ‘ Таким образом, если произошли точно две ошибки, то их локато- ры удовлетворяют этому уравнению. Так как в поле двоичных много- членов по модулю М (ж) данное уравнение имеет точно два корня, то декодер всегда сможет найти два нужных локатора. Если произошла только одна ошибка, то Pl = С1, Р? = С2- Следовательно, в этом случае единственная ошибка удовлетворяет уравнению Р + £1 = 0 или 1 + CiP 1 = 0- Наконец, декодер всегда декодирует, если ошибок не произош- ло, так как в этом случае Ci = С2 = 0. По причинам, которые станут ясными позже (разд. 7.2), более , удобно оперировать не непосредственно с многочленом, корнями V которого являются локаторы ошибок, а с многочленом, корни кото- рого взаимны к локаторам, т. е. являются к ним мультипликативными
1.4. Конструктивное введение в теорию БЧХ-коЭое 29 обратными. Это так называемый многочлен локаторов ошибок, который обозначается через о (z) и определяется равенством (1.46) o(z)= П (1-Pz). ₽—локаторы ошибок Удобно также использовать символ Sk для обозначения сумм k-х степеней локаторов ошибок. В рассматриваемом примере -51 = Зр = Si, -53 = ЗР3 = Выражения для многочлена локаторов ошибок в этих обозначениях принимают вид: (1.47) 1, если ошибок не произошло; при этом 51 = 53 = 0. 1 +51Z, если произошла одна ошибка; при этом S3 = S[. (S \ SI +~?А) z2, если произошли две ошибки; 1 при этом S3=^Sf. Так как эти случаи отличаются друг от друга равенствами = О или S3 — S[, то ясно, что при не более чем двух ошибках декодер может определить номера ошибок. Если же искажаются три или более символов, то произойдет ошибка декодирования или отказ от декодирования. В гл. 16 на этом принципе будет построен алго- ритм декодирования 16.481. Таким образом, функция / (ж) = х3 подходит для построения нижних пяти строк проверочной матрицы двоичного кода с бло- ковой длиной 31 и 10 проверочными символами, исправляющего все двойные ошибки. Первые пять проверок задают сумму номеров ошибок; вторые пять проверок задают сумму кубов номеров ошибок. Процедура декодирования состоит из трех основных шагов: (1) про- изводится проверка и вычисляются и 53; (2) находится многочлен локаторов ошибок a (z); (3) вычисляются взаимные величины для корней a (z) и изменяются символы в соответствующих позициях полученного слова. Для первого шага процедуры декодирования требуется 10 отдель- ных множеств сумматоров по модулю 2. Входами каждого из них являются соответствующие подмножества из 31 полученных симво- лов. Так как этот шаг является сравнительно простым, то мы откла- дываем рассмотрение нескольких известных способов вычисления проверок до разд. 5.2. Второй шаг декодирования связан с операциями сложения, умно- жения, деления и возведения в квадрат в поле классов вычетов по модулю М (х). Более детальное исследование и реализация этих операций дается в гл. 2.
30 Гл. 1. Основные двоичные коды Третий шаг требует, чтобы декодер определил взаимные к корням алгебраического уравнения х) над полем классов вычетов по модулю двоичного многочлена М (х). Этот шаг рассматривается подробно в разд. 5.4. Задачи 1.1. Рассмотрим три кода Хэмминга, определяемые следующими провероч- ными матрицами: -о 0 0 1 1 1 1 I. 0 1 1 0 0 1 1 .1 0 1 0 1 0 1 о 1 1 1 1 0 0- II. зе = 1 0 1 1 0 1 0 1 .1 1 0 1 0 0 1. -1 1 1 1 0 0 0- III. &е = 1 1 0 0 1 1 0 .1 0 1 0 1 0 1. (а) Для каждого из трех кодов декодировать следующие два принятых слова: R = [1 1 1 0 0 0 0], R [1 1 1 1 0 0 0]. (Ь) Показать, что две из трех выписанных выше матриц задают одинаковые коды. Указание. Показать, что строки любой из этих матриц являются линейными комбинациями строк другой. t определяемые каждой 1.2. Сколько слов содержат коды, проверочных матриц? "010101 110 0 11 I. 10 10 0 0 .001110 -0 0 0 1 1 0 110 110 II. 0 110 11 0 0 0 0 1 1 из следующих 0 10 1- 0 0 11 1 0 0 0 • 1110. 1 1 О’ 0 0 0 0 0 0 • 0 1 1 1.3. Для кода, задаваемого проверочной матрицей II задачи 1.2, найти лидеры смежных классов, содержащих следующие слова: (a) R = [1 1 1 1 0 1 0 0 0], (Ь) К = [1 1 0 1 0 1 0 1 1], !) Иногда мы будем их называть взаимными корнями уравнения.'— Прим перев.
Задачи 31 (с) R = [1 О О О 1 О О О 1], (d) R = [О 1 О О 1 О О 1 О]. 1,4. Заполнить последние пять строк в матрице (1.41). 1.5. Используя код предыдущей задачи, определить Sj и S3 для следующего принятого слова: [0 1101011101101011100010110111 11]. Какой вид имеет многочлен локаторов ошибок, если произошло не более двух ошибок? 1.6. (а) Проверить неприводимость многочлена г4 + х3 + х2 + х + 1 по модулю 2. (Ь) Используя этот многочлен, построить проверочную матрицу БЧХ-кода с блоковой длиной п = 15, г = 8 проверочными символами и к = 7 инфор- мационными символами, исправляющего две ошибки.
Глава 2 Арифметические операции по модулю неприводимого двоичного многочлена 2.1. Более подробно об алгоритме Евклида В предыдущем разделе было показано, что для декодирования двоичных БЧХ-кодов необходимо уметь выполнять арифметические операции в поле классов вычетов по модулю неприводимого двоич- ного многочлена М (х). Ключевую роль в решении этой задачи и с теоретической, и прикладной точек зрения играет алгоритм Евклида. С теоретической точки зрения алгоритм Евклида позволяет доказать однозначность (с точностью до скалярных множителей) разложения многочлена над любым полем в произведение неприво- димых множителей. Отсюда вытекает, что многочлен степени d ни в одном поле не может иметь более чем d корней. Последний резуль- тат важен в применении к многочлену локаторов ошибок о (z). Если бы этот многочлен имел больше корней, чем его степень, то описан- ная в примере в разд. 1.4 процедура декодирования была бы несо- стоятельной, поскольку нарушилось бы соответствие между корня- ми o' (z) и локаторами ошибок. С прикладной точки зрения алгоритм Евклида важен потому, что его модификация — метод непрерывных дробей — приводит к одной \ из наиболее эффективных реализаций деления в конечных полях. Этот сравнительно новый метод будет детально разобран в этом и следующем разделах. Алгоритм Евклида основан на том факте, что любой делитель элементов R и г должен делить также их сумму и разность. Более того, так как любой делитель г делит также и любое его кратное, скажем аг, то любой общий делитель R и г должен делить также R ± аг. Наоборот, любой делитель г и R 4- аг делит (R ± аг) + ar — R. Следовательно, если через (7?, г) обозначить наибольший общий делитель элементов/? и г (ниженазываемый*н. о. д.), то (7?, г) = = (г, R ± аг). Значит, отправляясь от начальной пары элементов 7? и г, можно найти новую пару элементов с тем же н. о. д. Если выбрать соответствующим образом множитель а, то задача отыскания н.о.д. новой пары элементов может быть упрощена по сравнению с исходной задачей. Заметим, что предыдущая аргументация относится в равной мере как к целым числам, так и к многочленам с коэффициентами из любого данного поля. В первом случае под н. о. д. подразумевается наибольший по абсолютной величине общий делитель; во втором
2.1. Более подробно об алгоритме Евклида 33 случае — общий делитель наибольшей степени. Единственность н. о. д. для многочленов (с точностью до постоянного множителя) будет установлена позже как следствие алгоритма деления. В обоих случаях н. о. д. обладает следующими важнейшими свойствами: (7?, г) = (г, R), (R, г) = (г, R± аг), (г, 0) = г. Если R, г — натуральные числа и г < R, то обычно полагают а = [Z?/r] х). Тогда 0 R — аг < г. Таким образом, если уже получены числа гп_х и гп_2, где rn_x гп_2, то можно так опреде- лить числа ап и гп, что Гд-2 = ®пГп-1 4“ Гп, О -4: Гп Гп-1’ Здесь ап = Г—-1 » rn = r„_2 — anrn-i. L rn-i j Исходя из начальной пары чисел Z? = r_2 и г = г_15 получаем, что 0<г_1<г_2, Г-2 — аОг-1~|-Го, Г-1 = лл + гц г0 = а2Г1 + г2, О < г0 < г-1, О < Г1 < г0, О < г2 < г1э Tfe — ak+2rk+1 4“Гй+2, 0<Tfe+2<rft+i, Гп-2 — On^n-l 4“ О, О = ГП<ГП_1. Так как {гг} — убывающая последовательность неотрицательных чисел, то существует такое натуральное п, что гп = 0. Очевидно, (г_2, г_х) = (г_1; ГО) = . . . = (rn_x, 0) = гп^. Найдем теперь последовательности {6Й} и {Вй}, такие, что для всех к rn-i — Ькгк + где Rk = гк_х. Так как rk = rfe_2 — акгк_х, то rk = Rk_x — акгк^, так что bkrk + Rk Rk = bk (Rk-X — ahrk^ + Bkrk_r = = (Bk — akbk) rh_± -j- bk Rk-x- Следовательно, можно взять 5n_x = 0, 6n-i = 1 и затем двигаться в обратном направлении, полагая Bk-i = Ьк и Ьк.х = Вк — акЬк. Проделав эти выкладки, получим для Ь_г и В_х равенство В-1Г-2 + b^r.i = Гп-! = (г_2, Г_х). *) [i] означает наибольшее целое число, не превосходящее х. 3-658
34 Гл. 2. Арифметические операции по модулю многочлена При такой форме алгоритма сначала вычисляются а0, г0, аг, Гу, . . йп-11 fn-11 ^п> гп = 0> а затем Ьп — 0, ^n-i = 1? ^п-2> бп_3, . . ., Ьх, Ъо, Ь_у (В_у = Ьо). Слабым местом этого метода являет- ся то, что для вычисления необходимых чисел bQ и приходится запоминать все промежуточные результаты а0, r0, alt rlt . . an_15 rn_x. Если числа начальной пары алгоритма велики, то список этих промежуточных результатов достигает существенных размеров. Иную процедуру, избавляющую от запоминания промежуточных результатов, дает алгоритм 2.11. 2.11. Другой вариант алгоритма Евклида. Пусть заданы числа г_2 и г_х. Положил! Р-2 = 0, р_у = 1, ?-2 = 1> Я-1 = О, и будем далее вычислять ah, rh, ph и qh согласно формулам rfe-2 = «Л-i + rh, 0 < rh < rft_i, Pk — akPk-l + Pfe-2> qk = akQk-1 + Qk-2- При rn = 0 вычисления прекращаются. Легко проверить, что Qkrk+i + Qk+irk = Qk (—ak+i^k + rk-i) + + (ak+iQk + Qk-i) rk = Qk-irk + Qkrk-u Pk^k+l + Pk+lrk = Pk (—ak+lrk + rk-l) + + (ak+lPk + Pk-1) rk — Pk-lrk + PkFk-l и что Qk+iPk — Pk+iQk — (ak+i<lk + Qk-i) Pk — — (ak+iPk + Pk-i)Qk = — (^kPk-i — PkQk-i)- Начиная с к = —1 и проводя вычисления по индукции в соответствии с этими тремя формулами, получим, что для всех к —1 Чк-Л + qhrk-i = r-ь Pk-lrk + Pkrk-1 — Г-2, QkPk-i - PkQk-i = (-I)'1- При к = n эта формула дает rn — 0 и потому qnrn-i = г_у, Рп^п-1 ” ^*-2’ гп-1 (qnpn-i — pnqn-i) = (—l)nrn-lf (2.12) r-iPn-i Г-2^П~1 = ( — 1)ПГп-1 —( — 1)"(г-2» Г-1)-
2.1. Более подробно об алгоритме Евклида 35 Более того, можно сделать некоторые выводы о величинах рп-\ и qn-i- Так как ап >• 0, то, очевидно, Т-1 ' Г_1 Рп-1 < Рп — ~ , Яп-1 < = — • 'П-1 ' п-1 Отметим, что в рассматриваемой процедуре на каждом шаге необходимо запоминать не более семи чисел: два г, два р, два q и одно а. В остальных промежуточных результатах нет никакой необходимости. В конце алгоритма, при гп = 0, необходимые множи- тели и gn_1; так же как и их н.о.д., уже вычислены. Эта вариация алгоритма Евклида называется вариантом непре- рывных дробей. Название это объясняется тем, что а2 ------- а3 А Можно также показать, что частные p^lqk представляют собой соот- ветствующие части этой непрерывной дроби, а именно ai -]----------------------- . 1 а2 -|------------------ 1 Читатель, заинтересованный в более глубоком изучении непре- рывных дробей, может найти превосходное введение в эту теорию в гл. 5 книги Маккоя [1965] х). Алгоритм Евклида для многочленов над полем аналогичен алгоритму Евклида для чисел. Пусть даны многочлены г< 2) и г' ъ, где г-2(х)=2гГ2)?, = г г х) См. также А. Я. X и н ч и н, Цепные дроби, Физматгиз, М., 1961.— Прим, перев. 3*
36 Гл. 2. Арифметические операции по модулю многочлена a а)‘2> и г)'1’ — элементы поля F. Как и ранее, мы будем обозна- чать через deg r'fe> степень многочлена rd1) (наибольшее I, для которого r(fe> _^о). Если deg r1'1-1’ < degr^-2), то, используя алгоритм деления многочленов, находим такие многочлены a{k) и г(/!), что r(fe-2) _a(fe)r(fe-i) degr^-c^degr^-1'. Операция алгоритма деления (с остатком) для многочленов несколь- ко сложнее, чем для чисел. В любом случае имеются делимое D и делитель d и требуется найти частное Q и остаток R. (В алгоритме Евклида D = г^~2\ d = г1’1'1', Q = R = гЧ) При этом долж- но выполняться условие deg R <Z deg d. Для построения много- членов R и d применяем итерацию. Начинаем с Я(0) = D и <2‘0> — О- Если deg Я(Я) > deg d, то полагаем д(п) = старший коэффициент в H(n) H(«)_degJ старший коэффициент в d (2.13) д(п-+1)_д(п>_______ Q(n+1) ____ Q(n) _ д(п) Ясно, что deg Я‘п+1> < deg Я‘я> и d(? ’l+1>+ Я‘я+1> = dQ™ + Я‘п>. Процедура заканчивается, когда deg Я(П> < deg d. Далее полагаем <2 = (j(n), Я = Я(я) Так как многочлен dQ'r"' Д- Я(Я> не зависит от п, то он равен dQw + 4- Я(0> = Я10’ = D, как и требуется. Таким образом, алгоритм Евклида для многочленов состоит из нескольких шагов итераций, в каждом из которых вычисляются новое частное а(/1> и новый остаток r<h>, что в свою очередь осущест- вляется путем итераций. В следующем разделе мы, однако, увидим, что эти итерации и подитерации могут быть сведены в одну общую универсально реализуемую процедуру. В алгоритме Евклида для многочленов возникает последователь- ность остатков, степени которых строго убывают. Значит, г(П-1> (х)=^ =И= 0 и г(Я) (х) = 0 для некоторого п. Далее (г(-2), г<_1>) г(°>)= ... — (Н'1-1», 0) = r'n-1\ Как и в случае чисел, последовательно вычисляются многочлены б(Я~2’, б(Я-1>, . . ., &(0) и &(-1>, удовлетворяющие уравнению Z,(0)r(-2) + b(-1)r(-1) = r(n-1)i Этот метод обладает тем же серьезным недостатком — он требует чрезвычайно большого объема памяти для запоминания промежуточ-
2.1. Более подробно об алгоритме Евклида 37 пых значений {а<й)} и {r(fe)}. По этой причине в качестве более привлекательной альтернативы возникает вариант непрерывных дро- бей. Полагаем р(-2)=0, = q(-2) = 1, q(-^=zQ и p(fe) = fl(k)p(k—1) p(k~2), q№ ~= q(k—V) 2). Как и в случае чисел, многочлены и {q(h)} определяются наряду с {a<fe’} и {&<fe)} и, таким образом, сокращается большая промежуточная память. Так же, как и для чисел, получаем г<") = О, р(п)].(п— 1) —2), ^(п)г(п-1) _ /-(-I), r(-Dp(n-i)_ r(-2)q(.n-i) = ( —l)nr(n-D. Так как dega<n^>0, то, очевидно, г(-2) г(-1) deg < deg ^(n-L1)- и deg^”-1) <deg-^--y. Из алгоритма Евклида вытекает несколько следствий. Во-первых, ясно, что любой общий делитель многочленов г1-2’ и г(“1) должен также делить и и, следовательно, любой общий делитель г1-2’ и г1-1’ делит г1”-1’. Это доказывает, что г'”'1’ — наибольший общий делитель многочленов г1-2’ и г1-1’. Во-вторых, ясно, что два н. о. д. этих многочленов должны делить друг друга. В числовой области отсюда сразу следует единственность н. о.д. с точностью до знака. Для многочленов над полем F отсюда вытекает, что н. о. д. двух многочленов определяется с точностью до скалярных множителей — элементов поля F. Эту неоднозначность можно устра- нить с помощью задания н. о. д. в виде нормированного многочлена со старшим коэффициентом, равным 1. Тогда можно утверждать, что любые два многочлена над F имеют единственный нормирован- ный н.о.д. (исключается случай двух нулевых многочленов). Много- член (ненулевой степени), не имеющий делителей, кроме скаляров и скалярных кратных самого себя, называется неприводимым. Используя алгоритм Евклида, легко показать, что если неприводи- мый многочлен / делит произведение многочленов g(1> и g(2), то / делит либо g(1\ либо g(2>. Действительно, если / не делит g(1), то (/, g(1>) = 1 и тогда pf + gg(1> = 1. Значит, pfg (2> + ?g(1,g<2> = = g(2>. Так как / делит оба члена в левой части этого равенства, то он
38 Гл. 2. Арифметические операции по модулю многочлена делит и правую. По индукции можно заключить, что если неприводи- мый многочлен / делит произведение нескольких многочленов, то существует такое к, что / делит g(h>. Наконец, если /<г> k и g(k> неприводимы и [р‘г> = то каждый /(г> делит некоторый г k g(h), а каждый g'h> делит некоторый /<*’, так что разложение любого многочлена в произведение неприводимых сомножителей единственно с точностью до порядка сомножителей и выбора скалярных множи- телей. Это эквивалентно следующей теореме: х 2.14. Теорема. Любой нормированный многочлен над полем F однозначно записывается в виде произведения нормированных непри- водимых многочленов над F. Этот результат справедлив для любого поля F. Аналогом теоре- мы 2.14 для целых чисел является утверждение о том, что любое натуральное число, не равное 1, однозначно представимо .в виде произведения простых сомножителей. Так как степень произведения многочленов равна сумме их степеней *), то, очевидно, любой многочлен первой степени не- приводим. Очевидно также, что многочлен степени d не может иметь более чем d линейных делителей. Более того, мы утвер- ждаем, что линейный многочлен х — £ является делителем много- члена / (х) тогда и только тогда, когда / (£) = 0, т. е. тогда и только тогда, когда £ является корнем многочлена / (х). Действительно, равенство / (ж) = (х — £) q (х) + г, где q (х) — частное, аг — остаток от деления / (х) на (х — £), спра- ведливо при всех х. Так как deg г <; deg (х — 5), то г — константа. Полагая х = £, получим, что г = / (£). Тем самым доказана 2.15. Теорема. Многочлен степени d над полем F в любом поле, содержащем F, имеет не более d корней. Заметим, что теорема 2.15 неверна для многочленов с коэффициен- тами из кольца * 2). Например, квадратный многочлен х2 — 1 имеет четыре корня в кольце классов вычетов по модулю 15, а именно 1, 4, 11 и 14. Такая ситуация, как правило, имеет место для составных модулей. Если pi — простые, a et — произвольные положительные числа, то сравнение А = В mod ЦрЭ эквивалентно системе сравнений A = = В mod р’г. х) Для того, чтобы даже при / = 0 выполнялось равенство deg (fg) = = deg / -|- deg g, мы должны принять следующее определение: deg 0 = — <х>. 2) В кольце определены для любых двух элементов сумма, разность и про- изведение, но не всегда возможно деление на ненулевой элемент.— Прим, перев.
2.1. Более подробно об алгоритме Евклида 39 Таким образом, сравнение х2 = 1 mod 15 эквивалентно паре сравнений х2 = 1 mod 5 и х2 = 1 mod 3, каждое из которых имеет точно два решения. Следовательно, в результате имеются четыре решения: х = ± 1 mod 3 и х = ± 1 mod 5 с любой комбинацией знаков. - В общем случае решения сравнений по составному модулю опи- сываются следующими утверждениями: 2.16. Китайская теорема об остатках для чисел. Для заданных простых чисел р2, . . ., рк и произвольных чисел с2, . . ., ск система сравнений А = сг mod рел имеет единствен- ное решение по модулю [| щг. 2.17. Китайская теорема об остатках для многочленов. Для заданных неприводимых многочленов f(1)(x), /<2) (х), . . ., /(Л) (х) и произвольных многочленов g{1>(x), g<2> (х), . . ., g{k) (х) система сравнений h (х) = g{Z'1 (х) mod [/(1> (х)]е< однозначно разрешима] относительно h (х) по модулю i Доказательство (для многочленов). Так как многочлен [/<3> (х)]е^ не имеет с [/‘г> (х)]ег нетривиальных общих делителей, то, используя алгоритм Евклида, можно найти такой многочлен а1’1 (х), что «(г>(х)П [/(3> (я)]^ == 1 mod [/(г> (я)]**. Положим далее /г (х) — 3&<г> (х) а'1> (х) П Очевидно, для всех г при этом г _ - выполняется сравнение h (х) == g(l> (х) mod [/(г> (х)]еС Если Н (х) также является решением этой системы уравнений, то Н (х) — h (х) делится на [/(1> (х)]е< для всех i = 1, 2, ..., к, так что Н (х) = == h (х) modjj [/‘г> (х)]еги. Доказательство китайской теоремы об остатках для чисел полно- стью повторяет приведенное выше рассуждение для многочленов. Следствия из алгоритма Евклида для многочленов в основном аналогичны следствиям из алгоритма Евклида для чисел. Однако в деталях эти следствия существенно различны. Несмотря на это имеется один важный частный случай, в котором возможно построе- ние прямого соответствия. 2.18. Теорема. Если число d — н. о. д. чисел т и п, то над любым полем многочлен xd — 1 является н. о. д. многочленов ж”1 —1 и хп — 1.
40 Гл. 2. Арифметические операции по модулю многочлена Доказательство. Запишем формулу геометрической про- грессии а—1 а а—1 (3 3/— S у1 — уа — 1- г—0 г=1 i=0 Полагая у — и умножая на хТк, получаем, что ай-1 Хк [ 2 (ж’*-1)1] — хТЬ-. г=0 Таким образом, шагу алгоритма деления для чисел rh_2 = a^k-i 4 соответствует равенство ай-1 /й-2 —1 ={аА[ 2 (aA-i)1]} (xrk-i— l) + (zrfe — 1). i=0 Следовательно, хт* — 1 — остаток от деления хГк~г — 1 на хгь~1 — 1 для всех к и алгоритм Евклида для многочленов строится в прямом соответствии с алгоритмом Евклида для чисел. При гп = 0 получаем г<п> = х° — 1=0. Многочлен, полученный на предпослед- нем шаге алгоритма, является н. о. д. исходных многочленов хт—1 и хп - 1. и Теоремы 2.14—2.18 очень важны, однако польза от варианта непрерывных дробей алгоритма Евклида не ограничивается этими теоретическими результатами. Он составляет также основу техниче- ской реализации одной из арифметических операций (деления), необ- ходимых для декодирования БЧХ-кодов. Перейдем к рассмотрению этой реализации. *2.2. Логические цепи ’) В логических устройствах используются три основных элемента «И», «ИЛИ» и инвертор «НЕТ». Они представлены на рис. 2.1. Элемен- ты И и ИЛИ могут иметь несколько входов, на каждый из которых подается двоичный сигнал, принимающий значения 0 или 1. Выход элемента И равен нулю всегда, кроме случая, когда все входы равны единице; в этом случае выход элемента тоже равен единице. Выход элемента ИЛИ равен единице всегда, кроме случая, когда все его входы равны нулю; в последнем случае выход также равен нулю. Инвертор в противоположность элементам И и ИЛИ имеет только один вход, сигнал на его выходе противоположен сигналу на его входе: если входной сигнал имеет значение 0, то сигнал на выходе принимает значение 1; если входной сигнал принимает значение 1, то сигнал на выходе равен 0. х) Разделы, отмеченные звездочкой, можно при первом чтении пропустить.
2.2. Логические цепи 41 Практические схемы, реализующие логические свойства этих трех элементов, могут быть построены из транзисторов, сопротив- лений, диодов, вакуумных ламп и других компонентов; в зависимости от конкретных свойств этих компонентов общее устройство имеет *1*2*3 *4 у - X У = * Рис. 2.1. Элементы «И», «ИЛИ» и «НЕ». определенные ограничения — так называемые конструктивные огра- ничения. Примеры конструктивных ограничений дают максимальное допустимое число входов элементов И и ИЛИ и число элементов, удовлетворительное прохождение сигнала через которые не тре- бует дополнительного усиления. Обычно схема инвертора содержит У = *1©*2 у = (xj Лх2) V (xj Лх2) = *1®*2 Рис. 2.2. Двоичный сумматор с двумя входами. усилитель, а схемы И и ИЛИ — нет. При этом условии конструктив- ные ограничения определяются числом и порядком расположенных между инверторами элементов И и ИЛИ. Так как конструктивные ограничения существенно зависят от свойств компонентов, то мы не будем их больше рассматривать. Если некоторые из нужных нам схем не удовлетворяют конкретным конструктивным ограничениям, то можно по необходимости добавить в соответствующие точки допол- нительные усилители (или пары подходящих инверторов).
42 Гл. 2. Арифметические операции по модулю многочлена Полезной комбинацией элементов И, ИЛИ и НЕ является двоич- ный сумматор с двумя входами, изображенный на рис. 2.2. Этот элемент обозначается символом @. Как показано на рис. 2.3, с по- g + )-----». мощью различных способов каскад- ного соединения двоичных сумма- ( торов с двумя входами можно по- строить двоичный сумматор с N входами. Независимо от способа (Ь) (с) Рис. 2.3. Двоичный сумматор с шестью входами (а) можно реализо- вать либо по схеме (Ь), либо по схеме (с). каскадного соединения всегда тре- буется N — 1 двоичных сумма- торов с двумя входами, так как каждый такой сумматор всего на единицу уменьшает число сумми- руемых сигналов. Однако схема рис. 2.3 (с), вообще говоря, более совершенна, чем схема рис. 2.3 (Ь), так как при таком соединении ни один из сигналов не должен про- ходить более, чем через 1 + log2 N сумматоров с двумя входами. Другой полезной комбинацией элементов И, ИЛИ и НЕ является триггер, схема которого изображе- на на рис. 2.4. Особенностью триг- гера является петля обратной связи, содержащая два инвертора и два злемента ИЛИ. Когда си- гналы на входах элементов ИЛИ вне петли принимают значение О, то на одной стороне петли будет сигнал 1, а на другой — 0. Если команда управления равна нулю, то сигналы во всей петле остаются постоянными независимо от сигна- ла на входе. Однако, если управ- ляющая команда равна единице, то в зависимости от сигнала на входе один или другой из элемен- тов ИЛИ (в соответствии с кон- кретным значением входного си- гнала) добавляет в цепь единицу. При этом выходной сигнал, сни- маемый с правой стороны петли, становится равным входному. После того как команда управления опдть принимает нулевое значе- ние, сигналы петли сохраняют свое новое значение. Таким обра- зом, триггер является устройством памяти. Значение его выхода
2.2. Логические цепи 43 в данный момент совпадает со значением входа в тот момент, когда управляющий сигнал в последний раз принимал единичное зна- чение. Более сложный триггер изображен на рис. 2.5. Его существенной частью опять является петля обратной связи, содержащая два инвертора и два элемента ИЛИ. Однако данный триггер имеет большее число входов, а именно х, у и z. Сигналы с каждого из этих входов пропускаются в схему периодическим тактовым сигналом, который принимает одно из значений 0 или 1 на временных интерва- лах определенной, заранее заданной длины. Таким образом, этот триггер может переключаться только в определенные интервалы времени, когда тактовый сигнал равен 1. Если тактовый сигнал равен единице и сигнал управления для х равен единице, то выход- ной сигнал принимает значение, равное входу х', если сигнал управ- ления для у равен 1, то выходной сигнал принимает значение, равное входу у, если сигнал управления для z равен 1, то выходной сигнал принимает значение, равное входу z. Предполагается, что на триггер никогда не подается одновременно два разных сигнала управления входами. Часто оказывается необходимым посылать идентичные сигналы управления на входы нескольких триггеров. Рассмотрим в качестве примера схему, изображенную на рис. 2.6. Квадраты, обозначенные буквой А, представляют собой первый регистр триггеров, буквой В — второй регистр и буквой С — третий регистр. Каждый триг-
х у z Рис. 2.5. Триггер с тремя входами. левый, сдвиг В Рис. 2.6. Сдвиг регистра или прибавление содержимого регистра к содер- жимому другого регистра.
2.2 Логические цепи 45 гер регистра С имеет три возможных входа, а именно «левый сдвиг содержимого A-регистра», «левый сдвиг содержимого В-регистра» и «покомпонентная сумма содержимого регистров А и В». Заметим, что сигналы управления «перевести С в А © В», «перевести С в левый сдвиг А» и «перевести С в левый сдвиг В» подаются в каждый триг- гер регистра С. Таким образом, соответствующий сигнал команды воздействует сразу на весь регистр С. Цепь, изображенная на рис. 2.6, является двухтактовой, так как тактовые сигналы для регистров А, В и С не совпадают. Регист- ры А и В должны управляться только в течение одного такта, Перевести L в "м И сдвиг М" Рис. 2.7. Регистр для выполнения операций логического умножения «М И левый сдвиг ЛГ» и логического сложения «М ИЛИ левый сдвиг М». а регистр С — в течение другого. Такое использование тактовых часов исключает любые состязания и связанные с этим нарушения функционирования, которые могут возникнуть, если попытаться устанавливать состояние самого регистра и одновременно исполь- зовать его выход для установления еще какой-нибудь команды. Сдвиг регистра А влево осуществляется в два шага. Сначала в регистре С устанавливается команда левого сдвига регистра А, а затем это управляющее воздействие передается на регистр А. Полная операция реализуется за две временные фазы или один полный временной цикл. Подобным же образом осуществляется сложение содержимых регистров А нВ или сдвиг влево регистра В. Каждая из этих операций также занимает один временной цикл. Аналогично, в схеме рис. 2.7 регистр М работает в одной фазе вре- менного цикла, а регистр L — в другой фазе. Эта цепь позволяет реализовать операции типа «М И левый сдвиг М» и «М ИЛИ левый сдвиг М». Каждая из этих операций занимает также один времен- ной цикл. Наконец, на рис. 2.8 изображена схема, выполняющая несколько более сложную операцию, а именно реализующая коман- ду «записать символы В, расположенные слева от наиболее левого
46 Гл. 2. Арифметические операции по модулю многочлена нуля в М, в соответствующие позиции С». Эта команда является второй фазой в полном цикле команд «прибавить к соответствующим Записать символы В, расположенные слева от наиболее левого нуля в М, в соответствующие позиции С Рис. 2.8. Схема для выполнения более сложной команды. символам В те символы А, которые расположены слева от наиболее левого нуля в регистре М». Нетрудно сконструировать аналогичные Сдвиг А влево Прибавить Вк А X И левый сдвиг X Рис. 2.9. Сокращенное обозначение логических схем. схемы, реализующие и другие простые логические операции подоб- ного типа. Так как диаграммы, примеры которых представлены на рис. 2.6— 2.8, употребляются все чаще, то намечается тенденция к использо- ванию для них сокращенных изображений, приведенных на рис. 2.9. В этих изображениях опускаются множество управляющих команд и регистры второго такта временного цикла.
2.3. Мультипликативное обращение 47 *2.3. Мультипликативное обращение Рассмотрим теперь задачу определения мультипликативного обратного для элементов поля классов вычетов по модулю некоторого неприводимого двоичного многочлена М (х) степени т. Для задан- ного класса вычетов, содержащего многочлен г (х) степени < тг необходимо найти такой многочлен р (х) степени < т, чтобы их произведение удовлетворяло сравнению г (х) р (х) = 1 mod М (х), что эквивалентно равенству г (х) р (х) + М (х) q (х) = 1 для неко- торого многочлена q (х). Так как М (х) неприводим, то н. о. д. М и г равен единице. Следовательно, можно применить вариант непре- рывных дробей алгоритма Евклида, описанный в разд. 2.1. Начиная с г<-2) = М, г(_1) = г, р(~2у = 0, р(-1) = 1, <р"2> = 1, 5<_1) = О, используем алгоритм определения ®(fe> и r(k>, таких, что r(k—2) __ a(k)r(k-1) r(k), jog r(k) < deg ].(k— i). Затем полагаем q(k) = О 4. pW = p(k— 1) p(h— 2) _ Итерацию продолжаем до тех пор, пока не получим г(Пу — 0. При этом решение задается равенствами q = q<n~ly, р = р<п~1у при deg q < deg г и deg р <Z deg М = т. Так как нам необходимо найти только р (q практически нам не нужно), то можно обойтись только величинами {р<й)}. Прежде чем переходить к логическим устройствам, рассмотрим пример. Предположим, что г (х) = х4 + х + 1 и М (х) = х5 + + х2 + 1. Один из возможных методов вычисления a<k>, г<к> и р<>1> состоит в следующем: 2.31. Вычисления. г(-г> = lx5 -|-0x4-j- 0х3ф1х2 4- 0x4- 1, т’(-1) Ох5 4- lx4 -j- Ох3 4- Ох2 4- 1х 4-1, г<-2) _ 1^.5 _|_ Од.4 _|_ Од.3 4- 1а;2 Д- Ох 4~ 1, хг<_1) = 1х5 4- Ох4 4- Ох3 4- 1х2 4- 1х, г<"2) 4- хг*'1’ — Ох5 4- Ох4 4- Ох3 4- Ох2 4- 1а> 4-1, хг{~1у -- 1х5 4- Ох4 4- Ох3 4- lx2 -J- 1х, я<0) =х, г™ = Ох4 4- Ох3 4- Ох2 4- 1х 4-1, г<-1) = 1х4 4- Ох3 4- Ох2 -4- 1х 4-1 •
48 Гл. 2. Арифметические операции по модулю многочлена хгы> = Ох4 4 Ох3 + 1х2 4 1х. r(-1) — lxi 4 Ох3 4 Ох2 41x41, х2г<0) = Ох4 4 Iz3 4-Is2, r(-l> __ {дЛ 0хЗ _|_ Qx2 1x41, х3г<0) = 1х4 4Iх®, г<-1> = 1х4 4 Ох3 4- Ох2 41х 41 ’ х3/0'— 1х44l^3, г<-1> 4 х3г<0> = Ох4 41х3 4 Ох2 41x41, х2г(0> = 1х341^2, r(-i> д_ xV0* — lx34- Ox2 4 1x41, X2r(0) = lx3 4 lx2, r(-1> J- (x34x2) r<0> = Ox3-)- lx241x41, xr<0> = lx2 4 lx, r(-1> 4 (z3 4- z2)r<0> = lx2 4 Iх 4-1, xr(0> = lx2 4 Iх, r(-i> (x3 4 x2 4 x)r<0> = Оя2 4 Ox 41, aw = xs 4 x2 4 x, r(0> = lx 41, r(1> = 0x41, r«» = lx41, xr(1> = lx, r(o>4xr(1> = Ox4 1, xr(1> = lx, r(0>4xr(1> = 1, r(1> = 1, r(o>4(x4-l)r(1> = O, r(1’-l, fl(2> = x41, r(2, = 0, rw = l. В данном случае, очевидно, получаем г<-2) = х5 4 х2 4- 1, г<-п = х4 4 х +1, г(о> = X 4 1, г(2> = 0, а(0> — х, аа> =х34х24-х, а(2> = х 4 !•
2.3. Мультипликативное обращение 49 Начиная с р'- 2, = 0 и р( 1) = 1, для величин {р^} имеем р<-2’ .= О, рм, = 1, р(оу = х, рау = 1 4- х2 4- а? 4- а?, р<2) = 1 4-х2 4-ж5. Чтобы избежать запоминания коэффициентов a(hy, целесообразно выполнять эти вычисления одновременно с вычислением r(h). Это позволяет записать 2.32. Вычисления. р< п = р<-2> = а:#'1’ = р‘-2> = хр(~1У — а:р<-1’4- р<-2’ = р(-п = хр{~1У 4- р('2) — хрт = р(-п = х2рт=- 1, О, ix, О 4-Оа:, ix, О 4-1ж, 1 4-Оа:, О 4- 1х, 1 4-Оа: 4-Оа:2, Ох + ix2, 1 4-Оа: 4- Оа:2 -Ь Оа?, Оа:2 -J-1л?, р( u = 1 4- Ох 4- Оа:2 4- Оа? 4- Оа?, а?р(0> = Оа? -j- 1х4, р(~1у 4- з?рт — 1 4- Ох 4- Оа:2 4- Оа? 4- ix4, з?рт — Oar3 -j- 1ж4, р<-о а;3р<«> = 1 Ох 4- Ож2 4- Ох3 4- 1а:4, а;2р«» __ о^г 1д.З Qxi^ р(~1У 4- (х3 4- х2) р<0) = 14“ Ох 4- Ож2 4- ix 4- lz4, ^pd» _ Од.2 |д.З ОдЛ, р<-о 4- (х? х2) р(т = 14- Ож 4- ®х2 4-1^3 4- хр{оу = Оа; 4-1ж2-j-Оа^-j-Оа:4, р("п (а:3 4- х2 4- х) р(оу = 1 4- Оа: 4- is? 4- Iz3 4~ lz4, хр(оу~ Оа: 4-la:2 4~ Оа? 4~ Оа:4, pd> — j 4« Ох 4- 1#г 4-1#3 4-1#4, р(оу = 0 4- ix 4- Оа:2 4- Оа? 4- Ох4, 4—658
50 Гл. 2. Арифметические операции по модулю многочлена Хрш = 1x4- Оа:2 + la:3 -J- la:1 4~ 1а4, у°> Oilдг Оа:2 4- Оа:3 4- О./,14 Оа?5, xpw =. 1а>4 Оа:2-- 1а4 — 1а4 1а:3, pw 4- хрш — О г Ох 4 Оа:2 — lx3 г1а,41х3, р(п = 1 4- Ох т 1а:2 -°- 1х3 4 1а:1 - Ох5, рт ^хр1'1' — 0;0а; 40а:2 -р la:3 - 1а:4 — 1а4, pw = 0 4- Ох 4- 1х2 4" 1а:3 4“ Iх4 4 Ох5, рт = 1 4- Ox -j- 1х2 4 Ох3 ' Ох14- 1х5, р(1) = 1 4-0а:-4 1а:2 4-1а?34~ 1а:44-Оа:5 4 Ох6, хр'г} — 1x4-0х24~ 1х34-Ох44-Ох5-4 1х6. Коэффициенты для г(,'£) и р(й) определяются следующим образом: 2.33. Вычисления. 10 0 10 1, 1 0 10 0 1 1, О начальное положение 10 0 10 1, 1 1 0 0 1 1, О О О 9-9 ? х м’ I 1 вычисление г(0) и р(0) 1 0 0 1 1, 0 1 р О 0 0 1 1, 1 О 1 0J) 1 1, 0 1 О 0 1 1, 1 О О 1 0 0 1 1, 0 1 О 1 1, 1 О О О 10 0 1 1,0 1 1 1, 1 О О О О 1 0 0 1 1,0 1 1 1,1 0 0 0 1 О 1 о 1 1,0 1 11, 10 00 1 । вычисление г(1’ и р(1> 1 0 1 1, 01 0 { р 1 1, 1 0 01 1 0 1 1 1, 01 О 1 1, 1 0 01 1 11 1, 0 10 О 1 1, 1 0 11 1 0 0 1, 0 10 О 11,1 0 11 1 О 1, 0 1 00 о
2.3. Мультипликативное обращение 51 1 1, 1 0 1 1 1 1,0 1 0 0 0 0 0 1, 10 111 1, 0 0 0 1 1 1 1, 1 0 1 1 1 о 1, 0 0 0 1 1 1 1, 1 0 1 1 1 о 1, 1 0 1 0 0 1 ,10 1110 0 1, 1 0 1 О О 1 вычисление г(2> и /?<2) конечное положение (Вычисления 2.33 являются сокращением вычислений 2.31 и 2.32.) Здесь мы используем запись, при которой старшие коэффициен- ты г располагаются в крайнем левом положении, а старшие коэф- фициенты р — в крайнем правом положении. Используя такую запись, можно производить вычисления с помощью всего лишь двух основных регистров, каждый из которых содержит те т 2 ячейки. Правила вычисления сводятся к следующему. 2.34. Алгоритм вычисления мультиплика- тивного обратного. В начальном положении в верхнем реги- стре записаны неприводимый многочлен М (х), запятая и единица, а в нижнем регистре — многочлен г (х), запятая и нуль. Перво- начальное значение к равно —1. Затем поступаем следующим образом. Если крайний левый элемент верхнего регистра равен нулю, то сдвигаем верхний регистр (вместе с его запятой) на одну позицию влево. Если крайний левый элемент нижнего регистра равен нулю, то сдвигаем нижний регистр (вместе с его запятой) на одну позицию влево. Если крайние левые элементы и верхнего и нижнего регистров равны единице и к четно, то прибавляем к верхнему регистру ту часть содержимого нижнего регистра, которая стоит слева от запя- той, а к нижнему регистру ту часть содержимого верхнего регистра, которая стоит справа от запятой. Если крайние левые элементы и нижнего и верхнего регистров равны единице и к нечетно, то прибавляем к нижнему регистру ту часть содержимого верхнего регистра, которая стоит слева от запятой, а к содержимому верхнего регистра ту часть нижнего реги- стра, которая стоит справа от запятой. После установки запятых и осуществления сдвига четность к изменяется. Для четных к нижняя запятая находится слева от (или совпадает с) верхней запятой; для нечетных к нижняя запятая нахо- дится справа от (или совпадает с) верхней запятой. 4*
52 Гл. 2. Арифметические операции по модулю многочлена Вычисление заканчивается, когда обе запятые сдвигаются на левый конец своего регистра. Регистр, запятая в котором выдвинута совсем, содержит р0, рг, . . ., pm_j, 0, 0; другой регистр содержит 1, Мо, Мг, . . Мт. Описанный метод сводит итерацию алгоритма деления (много- членов) и алгоритма Евклида в единую процедуру, каждый шаг которой заключается лишь в сдвиге регистра или в сложении. Общее число сдвигов равно 2т + 1, так как каждый сдвиг передвигает одну из запятых, причем верхняя запятая проходит через (т + 1) положений, а нижняя — через т положений. Так как каждое сло- жение выполняется непосредственно за каждым сдвигом, то ясно, что всего требуется не более 2т операций сложения и предлагаемая процедура в общей сложности требует не более -Т 1 опе- раций. Практически эта процедура может быть реализована с помощью различных логических схем. Одним из возможных методов фикса- ции местоположения запятых является использование специального (маркерного) регистра, в котором всюду содержатся единицы, за исключением одного отрезка нулей, первая и последняя позиции которого соответствуют запятым. При выполнении операций сдвига символы маркерного регистра перемещаются путем выполнения логических операций И и ИЛИ над символом в данной позиции и в соседней справа в соответствии с четностью числа к и положением (верхний, нижний) сдвигаемого регистра. Так как единственный нуль содержится в маркерном регистре тогда и только тогда, когда в нем нет двух смежных нулей, то условие совпадения запятых может быть проверено с помощью операции ИЛИ, примененной к логическому произведению И символов в четных позициях маркер- ного регистра и логическому произведению И символов, стоящих в его нечетных позициях. Для иллюстрации приведем несколько первых шагов вычислений 2.33 с использованием маркерного реги- стра вместо запятых. 2.35. Вычисления. С запятыми С маркерным регистром 10 0 10 1,1 0 1 О 0 1 1,0 1 0 0 1 0 1,1 1 0 О 1 1,0 о 10 0 10 11 1111110 1 0 10 0 110 10 0 10 11 111110 0 1 10 0 110 0
2.3. Мультипликативное обращение 53 0 0 0 0 1 1,1 1 0 0 1 1,0 1 0 0 0 1 1,1 0 1 0 0 1 1,0 1 0 0 1 1,1 0 0 1 0 0 1 1,0 1 0 1 1,1 0 0 0 1 0 0 1 1,0 1 1 1,1 0 0 0 0 1 0 0 1 1,0 1 1 1,1 0 0 0 1 0 1 0 1 1,0 1 1 1,1 0 0 0 1 1 0 1 1,0 1 0 0 0 0 0 1 1 1 111110 0 1 10 0 110 1 0 0 0 1 1 1 0 111110 11 10 0 110 1 0 0 1110 0 11110 0 11 10 0 110 1 0 1110 0 0 1 1 1 0 0 0 1 1 10 0 110 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 10 0 110 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 10 110 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 10 110 10 Заметим, что окончание алгоритма отмечается появлением нуля в крайней левой позиции маркерного регистра. При использовании синхронной логики и двухтактовых часов для наиболее дешевой реализации данной процедуры требуется до 4m + 1 циклов работы. Вычисления могут быть ускорены за счет введения дополнительной аппаратуры. Например, одновременное выполнение последовательных сдвигов и сложений сокращает время вычислений вдвое, а если требуется максимальная скорость, то можно строить отдельную логическую схему для каждого шага процедуры. Такая схема позволит выполнить полное вычисление в один временной цикл (точнее, за время, определяемое прохождени- ем сигналов через т ячеек регистра), но стоимость будет пропорцио- нальна т. При больших т для большинства приложений, по-види- мому, наилучшими являются схемы, для которых и стоимость и время вычислений пропорциональны т. Использование описанных в предыдущем разделе устройств позволяет сравнительно просто строить схемы, выполняющие правила алгоритма 2.34. На рис. 2.10 изображено устройство управления для такой схемы.
54 Гл 2 Арифметические операции по модулю многочлена Крайняя левая позиция верхнего регистра Сдвиг верхнего регистра влево Крайняя левая позиция нижнего регистра Сдвиг нижнего регистра влево Прибавить содержимое нижнего ре- гистра к содержимому верхнего слева от наиболее левого нуля вМ и содержимое верхнего регистра к содержимому ниж- )него справа от наиболее правого нуля^М Прибавить содержимое верхнего регист- ра к содержимому нижнего справа от наиболее правого нуля в М и содержи- мое нижнего регистра к содержимому верх- ~.него слева от наиболее левого нуля в М Четные позиции М Нечетные позиции М "М ИЛИ левый сдвиг М" "М И левый сдвиг М" г-~ Изменить четность к Рис 2 10 Схема управления для вычисления с помощью алгоритма Евклида мультипликативного обратного по модулю неприводимого двоичного многочлена. (Здесь М — маркерный ре1истр, а не многочлен М (х), коэффициенты которого задают начальное состояние верхнего регистра.) *2.4. Умножение Для описания умножения в поле классов вычетов по модулю неприводимого двоичного многочлена М (х) степени т удобно обоз- начить специальным символом а класс вычетов, содержащий х. Тогда а2 будет представлять класс вычетов, содержащий а:2, и вооб- ще для произвольного многочлена г (х) символ г (а) соответствует классу вычетов, содержащему г (х). Так как М (х) == 0 mod М (х), то должно выполняться равенство М (а) = 0. Поэтому элемент а является корнем многочлена М (х). Следовательно, мы имеем очевид- ный изоморфизм между 2т классами вычетов по модулю М (х) и полем, содержащим двоичное поле (поле из двух элементов) и все многочлены от а, где М (а) = 0.
2 4. Умножение 55 Любой элемент Y этого поля может быть однозначно представлен т— 1 в виде многочлена от а степени < т, т. е. в виде Y = 2 Ytal, где 1=0 Уг — числа из двоичного поля. В соответствии с этим элемент Y может быть записан в тп-разрядном регистре, ячейки которого содер- жат двоичные числа y„-H! Ут_2, . . ., Yo. 2.41. Умножение «регистра»1) на фиксиро- ванную константу. Рассмотрим прежде всего умножение элемента Y, записанного в регистре, на постоянный элемент А поля. Элемент А может быть представлен в виде некоторого двоичного т— 1 т— 1 многочлена от а. Так как Y = 2 Ytal, то YA = 2 У, (Ла1). Выражая Аа1 в виде многочлена от а степени < т, т. е. в виде Ла1 = т— 1 = 2 Ai,j а\ получим, что 7=0 т— 1 т— 1 т— 1 т— 1 YA — 2 У> 2 = 2 (2 1=0 7=0 3—1 1=0 Таким образом, умножение элемента Y поля на элемент Л поля эквивалентно умножению тп-мерной двоичной вектор-строки Y = = [Ущ-i, Ут-2’ • •, Уо1 на матрицу размерности т X т, эле- ментами которой являются числа Ati}. Строки этой матрицы пред- ставляют собой произведения Ла"1-1, Ла”1-3, . . ., Л. Пусть, напри- мер, М (х) = х5 -ф я2 + 1 и нужно умножить записанный в реги- стре элемент Y на элемент Л = а3 -|- а. Сначала вычисляем Ла = а4 + а2, Ла3 = а5 4- а3 = а3 + а2 + 1, Ла3 = а4 + а3 + а, Ла4 = а5 + а4 + а2 = а4 + 1- Равенство Z = YA эквивалентно равенству [Z4, Z3, Z2, Zj, Z0] = [K4, Уз, У2, Y1, Уо1 1 0 0 0 1 110 10 0 110 1 10 10 0 0 10 10 Такая операция легко может быть реализована с помощью схемы, изображенной на рис. 2.11. J) Автор для краткости употребляет так}ю терминологию, хотя в виду имеется, конечно, 5множение содержимого регистра на константу.— Прим, перев.
56 Гл. 2. Арифметические операции по модулю многочлена Если требуется умножить записанный в регистре элемент Y на элемент а, то надо построить схему, умножающую на матрицу [<х] = го 1 о о L0 О 1 О О 1 О О 1 о о О 1 о о о о о о 1 OJ Такая схема приведена на рис. 2.12. Рис. 2.11. Схема для умноже- ния на а3 — а. Рис. 2.12. Схема для умноже- ния на а. Рис. 2.13. Схема для умноже- ния на а-1. Аналогично, если произвольный элемент У, записанный в реги- стре, требуется умножить на элемент а-1, то надо построить схему, умножающую на матрицу Г0 1 0 0 0" 0 0 10 0 [а-1] = 0 0 0 1 0 0 0 0 0 1 Li о о 1 о. Такая схема изображена на рис. 2.13. Обозначим через W (М) вес многочлена М (х), т. е. число его ненулевых коэффициентов. Если поле задано с помощью корня а многочлена М (х), то для умножения регистра на элементы а или а-1 требуется в общем случае всего W (М) — 2 сумматоров с двумя входами. Для многих значений т удается построить неприводимые двоичные многочлены степени <тп, вес которых равен 3 *)• В этом В Дальнейшее исследование неприводимых двоичных многочленов с весом 3 можно найти в § 6.3.
2.4. Умножение 57 случае умножение на а или а 1 может быть выполнено с помощью только одного сумматора с двумя входами. 2.42. Умножение двух «регистров». Рассмотрим произведение Z = UV двух элементов поля U и V, записанных в регистрах памяти. Каждая из т компонент этого произведения Рис. 2.15. Схема циклического сдвига V вправо. Рис. 2.14. Схема для умноже- ния U на а. является линейной комбинацией т2 двоичных произведений UhV}. Следовательно, эта операция записывается с помощью (т X т х X тп)-тензора. Такое умножение может быть непосредственно реали- зовано с помощью метода, предложенного Бэрти и Шнейдером [1963]. В зависимости от вида неприводимого многочлена эта реализация Рис. 2.16. Схема для прибавления кратных U к Z. многочлена требует порядка т3 — т сумматоров с двумя входами. Даже при хорошем выборе неприводимого многочлена столь большое число сумматоров с двумя входами делает эту процедуру чрезвычай- но дорогой для больших т. Если нет необходимости в максимальной скорости вычислений (один временной цикл, гарантируемый мето- дом Бэрти — Шнейдера), то предпочтительней более длительные, но менее дорогие способы умножения. Одним из таких способов является следующий метод умножения, очень близкий к методу, предложенному Питерсоном [1961]. Пусть множитель U записан в регистре с обратной связью, позво- ляющей по команде заменять U на aU. Пример такого регистра для корня а многочлена М (х) = х3 + х2 + 1 приведен на рис. 2.14. Множитель V запоминается в регистре, в котором можно осуществить циклический сдвиг вправо, как показано на рис. 2.15. Произведение Z накапливается в регистре, к содержимому которого можно при- бавлять содержимое [7-регистра, как показано на рис. 2.16.
58 Гл. 2. Арифметические операции по модулю многочлена Начальное состояние Z-регистра является нулевым. В зависимо- сти от значения низшего разряда Ео множителя V множитель U прибавляется или не прибавляется к Z. Если Ео = 1, то U прибав- ляется к Z; если Ео = 0, то Z остается без изменений. После этого Е-регистр сдвигается вправо, [7-регистр умножается на а и процесс повторяется. На тг-м шаге умножения вместо U записано anU, вместо п Ео записано Vn и Z-регистр содержит 2 (осг[7). После т таких г—О шагов умножение закончено и Z-регистр содержит произведение исходных U- и Е-регистров. При этом Z-регистр циклически сдвинут в свое исходное положение, а [7-регистр содержит ат~iU. Поэтому если для дальнейших вычислений требуется восстановить первона- чальный вид множителя U, то нужно добавить дополнительную схему. Исходный вид множителя можно восстановить в один шаг с помощью схемы умножения на константу а_<т—1|. Зачастую, одна- ко, эта операция требует так много дополнительных сумматоров, что оказывается дешевле построить специальный регистр для запо- минания первоначального состояния U. Более дешевым методом восстановления исходного состояния регистра множимого является тп-кратное умножение па константу а-1. Если вес М {х) равен 3, то такая процедура, хотя и требует т временных циклов, использует всего один сумматор с двумя входами. Возможны также и вариации этого метода, как, например, умноже- ние на а-2 и сокращение необходимого времени до тп/2 временных циклов. Другим возможным решением является осуществление умножения [7-регистра на а, а2 и а-2 и сдвигов Е-регистра сразу на две позиции вправо и влево и па одну позицию вправо. При этом произведение можно накапливать в Z-регистре согласно пра- вилу Z = Ео[7 Д Е2 ([7«2) - Е4 ([7аД + . • • + Ет_, ([7ат-Д -Г . .. • • • +Е5([7а5) + Е3([7а3)4-Е1([7а). Такой метод умножения позволяет получать произведение за т шагов и восстанавливать исходное состояние регистров множителей за один или два дополнительных шага. Однако он требует несколько более сложной управляющей логики. 2.43. Таблицы логарифмов. В качестве последнего метода выполнения операций умножения, деления, возведения в сте- пень и извлечения корня рассмотрим использование таблиц логариф- мов. Такие таблицы могут быть построены для ненулевых элементов в любом поле. Например, если а — корень неприводимого двоичного многочлена М (х) = х& + х2 + 1, то умножение на а может быть выполнено с помощью регистра сдвига с обратной связью, изобра- женного на рис. 2.17. Отправляясь от начального состояния регистра
2.4. Умножение 59 1 = Oct4 Д- Осс3 + Осс2 + Осс + 1, можно получить все степени а как соответствующие состояния этого регистра сдвига. Первые 31 сте пени будут совпадать со всеми 31 ненулевыми элементами поля (сс31 = = сс° = 1). Следовательно, каждый ненулевой элемент этого поля можно представить как степень сс и построить, таким образом, таблицы логарифмов и антилогарифмов, приведенные в приложении А. Рис. 2Л7. Регистр сдвига с обратной связью для умножения на а. Использование подобных таблиц сильно упрощает ручное вычис- ление произведения, частного, степеней и извлечение корней для элементов поля. Например, рассмотрим произведение 1 сс4 + Оа3 +1 сс2 +1 сс Ц- 0 = 10110 = а28 Осс4 Ц- Осс3 J- 1сс2 4- Осс — 1 = 00101 = сс5 сс33 = сс2 = 00100, частное (10111)« = (сс26)6 = (сс"5)6 = сс'30 = сс = 00010 и корень (11001)1/4 = (сс25)1/4 = (сс25)8 = сс200 = а31 6+14 = сс14 - 11101, так как 4-8=1 mod 31. В общем случае построение таких таблиц возможно тогда и только тогда, когда каждый ненулевой элемент поля является степенью одного, так называемого примитивного элемента. В теореме 4.24 мы докажем, что каждое конечное поле содержит такой элемент. Следовательно, подобные таблицы логарифмов и антилогарифмов могут быть построены для любого конечного поля. Хотя таблицы такого рода являются чрезвычайно полезными при ручных вычислениях, их ценность для машинного счета весьма сомнительна. Действительно, одним очевидным методом реализации машинных вычислений с помощью таких таблиц является исполь- зование двух устройств постоянной памяти, содержащих по 2т — 1 слов из т двоичных цифр: одно устройство памяти должно содержать логарифмы, а другое — антилогарифмы. При этом все операции умножения и деления сводятся к последовательным сложениям и вычитаниям показателей по модулю 2т — 1. К сожалению, для больших значений т число двоичных разрядов в такой памяти растет
60 Гл. 2. Арифметические операции по модулю многочлена как т (2,п — 1), и для многих приложений это оказывается значи- тельно дороже, чем прямой метод, описанный в разд. 2.42. Если известен некоторый метод, позволяющий легко вычислять логарифмы элементов поля (основанный не на просмотре таблиц, а на операциях над координатами двоичных представлений элементов поля в виде многочленов от а), то логарифмический подход может составить основу экономной реализации операций умножения и деле- ния. В общем случае, однако, не известно никаких простых методов непосредственного вычисления логарифмов. Некоторые очень частные результаты в этом направлении содержатся в задачах 4.3 и 4.4. 2.44. Квадраты и квадратные корни. Другим частным случаем умножения, заслуживающим отдельного рассмотре- ния, является умножение элемента поля, записанного в регистре Y, на самого себя, Z = У2. Так как с помощью регистров сдвигов мы умеем выполнять операцию умножения вектор-строки на матрицу, то в принципе мы можем реализовать любую линейную операцию над элементами поля. В частности, это относится и к такой операции, как возведение в квадрат. Для большинства полей возведение в квадрат не является линейной операцией. Однако в полях, содер- жащих двоичное поле, всегда выполняется равенство (Р -(- ?)2 = = р2 4- у2, и, следовательно, в этом случае возведение в квадрат — линейная операция, и квадрат любого элемента поля может быть представлен в виде соответствующей линейной комбинации квадратов базисных элементов. Например, если а — корень многочлена а5 Д- -|- а2 Д- 1, то (а4)2 = а8 = а3а5 = а3 (а2 + 1) = а5 -|- а3 = а3 -|- а2 -|- 1, (а3)2 = а6 = ста5 = а(а2 Д 1) = а3 Д а, (а2)2 = а4, (а1)3 = а2, (а0)3 = 1, так что преобразование Z = Y2 может быть вычислено как Z = гО 1 1 0 1-] 0 10 10 1 0 0 0 0 0 0 10 0 Lo о о о 1J Это матричное умножение может быть выполнено с помощью схемы, приведенной на рис. 2.18. Обратная матрица имеет вид ГО 0 1 0 0~1 10 0 11 = 0 0 0 1 0 110 11 -0 0 0 0 1-
2.5. Решение систем линейных уравнений 61 Очевидно, что извлечение из элементов поля квадратного корня может быть осуществлено путем умножения на эту матрицу. Таким Z=y2 mod (ж6 У х2 У 1). Рис. 2.19. Схема для вычисления 7 = УУ mod (ж6 + х2 + 1). Рис. 2.18. Схема для вычисления образом, преобразование Z = У Y может быть представлено в форме Z = и реализовано с помощью схемы, изображенной на рис. 2.19. *2.5. Решение систем линейных уравнений В последних главах мы видели, что некоторые задачи, возникаю- щие в теории кодирования, могут быть сведены к решению систем линейных уравнений. Часто эти системы рассматриваются над двоич- ным полем. Однако в некоторых случаях приходится рассматривать другие поля, как, например, GF (5), — поле классов вычетов по моду- лю 5. Сложение и умножение в GF (5) задаются таблицами + | 0 1 2 3 4 * 0 12 3 4 О 0 12 3 4 1 2 3 4 1 2 3 4 0 2 3 4 0 1 3 4 0 1 2 4 0 12 3 0 1 2 3 4 0 0 0 0 0 0 12 3 4 0 2 4 1 3 0 3 14 2 0 4 3 2 1 Рассматриваемые системы линейных уравнений могут быть запи- саны в виде ^0, Л -I- <Z\, oZj У ... У Xm-t, O^m-l — о, ^0. iZo У <Z\, jZj У ... У .Zra-I, iZm-1 = 0, #0. m-i 1, У ... У Xm-t, — 0.
62 Гл. 2. Арифметические операции по модулю многочлена где Жг,7 заданы для всех i, j — О, 1, . . т — 1, a Zo, Zv . . . Zm_! должны быть определены. В матричных обозначениях эта система может быть записана в виде ZJ? = 0, где левая часть есть сокращенная запись произведения [Z0, ^1» • • • I Zm-i] ^0, о ^1, о т-1, О ^0,1 £1,1 • • • £fl, т-1 • • • £1, т-1 • • • Xm-i, т-1- Уравнение ZJ? = 0 означает, что скалярное произведение вектора Z и каждого из столбцов матрицы .Z равно 0. Это свойство сохраняет- ся, если поменять местами любую пару столбцов матрицы X, или прибавить некоторый столбец матрицы X к любому другому ее столбцу, или умножить произвольный элемент матрицы X на ненуле- вой скаляр. Так как каждая из этих операций над столбцами обра- тима, то можно выполнять любую комбинацию этих операций над столбцами в любом порядке. Такие операции над столбцами не долж- ны изменять вектор Z, являющийся решением системы. С помощью подходящих операций над столбцами матрица X может быть приведена к одной из известных канонических форм. Для наших целей наиболее подходящей является приведенная тре- угольная идемпотентная форма, обозначаемая через X. Эта форма определяется следующим образом: 2.51. Определение, (иг X иг)-матрица X имеет приведен- ную треугольную идемпотентную форму, если каждый ее элемент, расположенный ниже главной диагонали, равен нулю, каждый эле- мент главной диагонали равен нулю или единице, каждый элемент, в столбце которого имеется нуль главной диагонали или в строке которого имеется единица главной диагонали, равен нулю х). Следующая матрица является тентной матрицы над GF (5): примером треугольной идемпо- Г0 2 4 0 3 Г 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 3 0 0 0 0 1 0 0 0 0 0 0 1. В символической записи это означает, что Хг, j = 0, если i > j; Xt, j = 0 или 1, если i = j, и Xlt j = 0, если Xlt t = 1 или если J) Приведенная треугольная идемпотентная матрица имеет те же столбцы, что и более общая стандартная эпсилон-матрица, но столбцы ее упорядочены другим образом.
2.5. Решение систем линейных уравнений 63 X }, ] = 0, Иначе, Хг, , О, только если XJt 7 = 1, и либо i = /, либо i < / и Х1у г = 0. Термин треугольный вытекает из требования Хг, j = 0 при i > j. Термин идемпотентный объясняется следующей теоремой: 2.52. Теорема. Всякая квадратная матрица в приведенной треугольной идемпотентной форме удовлетворяет уравнению X2 = = £. Доказательство. Элемент j отличен от нуля только тогда, когда X},j = 1; элемент X 3, k отличен от нуля только тогда, когда ] = к или / < к и Х3, 7 = 0. Поэтому произведение Хг, 3 Х3, ь равно нулю во всех случаях, кроме / = к. Следовательно, J Если Хъ, й = 0, то Xt, k = 0; если Xk, h =f= 0, то Хъ, ь = 1. В любом случае Хг, k Xk, k = X, k и з для всех i и к. Это эквивалентно матричному уравнению X2 = X. । Из этого результата следует простая характеристика вектор- строк Z, удовлетворяющих уравнению ЪХ = 0. В дальнейшем нам также понадобится характеристика вектор-строк U, удовлетво- ряющих уравнению UX = U. Теорема формулируется следующим образом: 2.53. Теорема. Если Х — приведенная треугольная идемпотент- ная матрица, то Z является решением уравнения ЪХ — 0 тогда и только тогда, когда Z есть линейная комбинация строк матрицы X — 3, где 3 — единичная матрица. Аналогично U (X — J) = 0 тогда и только тогда, когда вектор U есть линейная комбинация строк матрицы X. Вектор U является такой линейной комбинацией тогда и только тогда, когда произведение каждой координаты U и соответствующего диагонального элемента матрицы X — 3 рав- но нулю. Доказательство. Если X2 = X, то X2 — X = 0 и (X — — 3) X = 0. Следовательно, если Z — произвольная линейная ком- бинация строк матрицы X —3, то XX = 0. Аналогично, если X2 = = X, то X2 — X = 0 и ~Х (X — 3} = 0. Следовательно, если U —
64 Гл. 2. Арифметические операции по модулю многочлена линейная комбинация строк матрицы X, то U удовлетворяет урав- нению U (X — .7) = 0. Так как только ненулевые столбцы матрицы X — .7 имеют на главной диагонали —1, то ранг матрицы X — .7 равен дефекту X. Следовательно, линейные комбинации строк матрицы X — У исчер- пывают все решения уравнения 7.Х = 0. Так как все ненулевые столб- цы матрицы X имеют на главной диагонали 1, то ранг матрицы X равен дефекту матрицы X — .7• Следовательно, линейные комби- нации строк X исчерпывают все решения уравнения U {X — .7) = 0. Произведение каждой координаты вектора U на соответствующий диагональный элемент матрицы X — .7 равно нулю тогда и только тогда, когда нулевой координате U соответствует нулевой столбец матрицы X- Так как каждый ненулевой столбец треугольной мат- рицы X имеет на главной диагонали единицу, то U является линейной комбинацией строк матрицы X тогда и только тогда, когда каждому нулевому столбцу из X соответствует нулевая координата U. g Наконец, докажем теорему 2.54. 2.54. Теорема. Любая квадратная матрица с помощью опе- раций над столбцами может быть приведена к треугольной идем- потентной форме. Хотя существует несколько способов такого приведения, мы остановимся не на самом простом, а на наиболее просто реализуемом. Рис. 2.20. Циклический сдвиг столбцов влево. Рис. 2.21. Циклический сдвиг строк вверх. Так как допустима перемена мест для любой пары столбцов, то столбцы можно переставлять в любом необходимом порядке. Соот-
2.5. Решение систем линейных уравнений 65 ветственно определим операцию «циклического сдвига столбцов влево» с помощью диаграммы, приведенной на рис. 2.20. Аналогично с помощью диаграммы на рис. 2.21 определим операцию «цикли- ческого сдвига строк вверх». Бдительный читатель в этом месте должен насторожиться: допу- стимой является операция перестановки столбцов, а не строк. Однако рассматриваемая процедура использует операцию сдвига строк тгараз, так что в итоге строки располагаются в первоначальном порядке. А так как операция сдвига строк перестановочна со всеми операциями над столбцами, то т циклических сдвигов строк вообще не оказыва- ют никакого влияния. Зачем же тогда вообще нужны сдвиги строк? Затем, что некоторые решающие правила процедуры зависят от значений элементов в определенных строках и технически осуществ- лять эти правила с помощью сдвигов строк оказывается намного легче, чем с помощью специальной, достаточно тонкой аппаратуры, анализирующей каждую строку матрицы. 2.55. Алгоритм приведения матрицы (к тре- угольной идемпотентной форме). Процедура со- стоит из следующего базисного множества шагов, повторяющегося т раз: 1. Не делать ничего, если верхний член первого столбца матрицы отличен от нуля. Если верхний член первого столбца равен нулю, то поменять местами первый столбец с самым левым столбцом, в котором верхний элемент отличен от нуля, а элемент главной диа- гонали равен нулю. Если такого столбца нет, то поменять местами первый столбец с самым левым столбцом, в котором верхний элемент и элемент главной диагонали отличны от нуля. Если и такого столб- ца нет (в этом случае верхняя строка является нулевой), то не делать ничего. 2. Разделить все члены первого стобца на верхний элемент. (Если этот элемент равен нулю, не делать ничего.) 3. Аннулировать верхние элементы всех столбцов, кроме пер- вого, с помощью вычитания подходящего кратного первого столбца. 4. Сдвинуть циклически строки вверх, а столбцы влево. В двоичном случае шаг 2 можно опустить. Каждый из остальных шагов выполняется в один временной цикл. Блок-схема для выпол- нения операции 1 объяснена на рис. 2.22 и 2.23, а для операции 3 — на рис. 2.24. В общем случае после А-кратного выполнения множества базис- ных шагов первые т — к столбцов матрицы содержат нули в нижних строках и нижняя правая (к X &)-подматрица является треугольной идемпотентной. Читателю предлагается проверить это утверждение, используя индукцию по к. Пусть, например, (7 X 7)-матрица над GF (5) после четырехкратного выполнения базисных операций 5—658
66 Гл. 2. Арифметические операции по модулю многочлена имеет вид 0 0 3 1 4 0 2' 1 2 2 3 4 0 0 4 3 2 4 3 4 1 0001000 0000032 0 0 0 0 0 1 0 0 0 0 0 0 0 1 символ Рис. 2.22. Подробная блок-схема одной ячейки из рис. 2.23. Вход Авх равен 0 тогда^и только тогда, когда верхняя координата наиболее левого столбца равна 1, а его диагональный элемент равен 0. Если в данном столбце в верхней позиции стоит 1, а на диагонали стоит 0, то выход А вых полагается равным 1, в противном случае Авых равно Авх- Вход Вех равен 0 тогда и только тогда, когда все А рав- ны 0 и ни один из более левых столбцов не имеет нулевой верхней координаты. Если любой из сигналов А или В изменяет свое значение с 0 на 1, то в точ- ках D или С появляется соответственно сигнал 1 и выход Е принимает значе- ние 1, указывающее на то, что данный столбец надо поменять местами с крайним левым столбцом. Связи между столбцами показаны на рис. 2.23. Заметим, что распростране- ние сигнала вдоль линий А и В и изменение его с 0 на 1 затрагивает только столбец, который должен переставляться. Если элемент в верхнем левом углу равен 1, то этот сигнал всюду равен 1; если каждый элемент верхней строки равен 0, то и сигнал всюду равен 0. Обоим этим случаям соответствует отсут- ствие каких-либо перемен, и анализируемый столбец не надо переставлять с крайним левым столбцом. Реализация перестановки столбцов требует многих элементов, не показан- ных на схеме. Ее можно осуществить хотя и громоздким, но прямым способом, использующим сигналы Е в качестве управляющих сигналов для перестановки столбцов.
Рис. 2.23. Схема для выбора столбца двоичной матрицы, переставляемого с первым столбцом. Рис. 2.24. Схема для выполнения над двоичной матрицей операции «превра- тить в нуль верхний элемент каждого столбца (за исключением крайнего слева) путем вычитания подходящего кратного крайнего левого столбца». 5»
68 Гл. 2. Арифметические операции по модулю многочлена Проведем теперь следующий цикл основных преобразований. Во-первых, переставим первый и пятый столбцы: Г4 0 3 10 0 2 4 2 2 3 1 0 0 3 3 2 4 4 4 1 0 0 0 10 0 0 0 0 0 0 0 3 2 0 0 0 0 0 1 0 .0 0 0 0 0 0 lj Во-вторых, пронормируем первый столбец: 1 0 3 10 0 2‘ 1 2 2 3 1 0 0 - 2 3 2 4 4 4 1 0 0 0 10 0 0 0 0 0 0 0 3 2 0 0 0 0 0 1 0 0 0 0 0 0 0 1 В-третьих, вычтем соответствующее кратное первого столбца из остальных столбцов: '1 0 0 0 0 0 О’ 1 2 4 2 1 0 3 2 3 12 4 4 2 0 0 0 10 0 0 0 0 0 0 0 3 2 0 0 0 0 0 1 0 0 0 0 0 0 0 1 Наконец, сдвинем строки вверх, а столбцы влево: Г2 4 2 1 0 3 Г 3 12 4 4 2 2 0 0 10 0 0 0 0 0 0 0 3 2 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 В рассмотренном примере первые три шага процедуры не затронули к нижних строк. В общем случае это не так. Проиллюстрируем это другим примером. Начнем с матрицы ГО 0 0 0 0 3 4] 1 2 2 3 4 0 0 4 3 2 4 3 4 1 0 0 0 1 0 0 0 0 0 0 0 0 3 2 0000010 Lo 0 0 0 0 0 1
2.5. Решение систем линейных уравнений 69 Переставим первый и шестой столбцы и пронормируем затем первый столбец: 1 0 0 0 0 0 4' 0 2 2 3 4 1 0 3 3 2 4 3 4 1 0001000 . 1000002 2000000 0 0 0 0 0 0 1. Прибавляя затем первый столбец к седьмому и сдвигая строки и столбцы/получаем '2 2 3 4 1 0 О’ 3 2 4 3 4 4 3 0010000 0000031 . 0000022 0000010 0 0 0 0 0 0 1 Таким образом, любая квадратная матрица может быть приведена к треугольной идемпотентной форме с помощью подходящих опера- ций над столбцами, которые можно легко реализовать. Для двоичных (т X т)-матриц эти операции над столбцами могут быть выполне- ны за Зт временных циклов посредством схем, приведенных на рис. 2.20-2.24. Во многих интересных случаях приходится рассматривать систе- му т линейных уравнений с т неизвестными, имеющую вид ZX = = U, а не ZX = 0, где U — заданный m-мерный вектор-строка, а X — заданная (т х т)-матрица. Для определения Z построим прежде всего расширенное матричное уравнение Применяя соответствующие операции над столбцами, приведем расширенную матрицу к треугольному идемпотентному виду. Каж- дая операция над столбцами матрицы X затрагивает, конечно, и присоединенную строку. (При использовании описанной выше
70 Гл 2 Арифметические операции по модулю многочлена процедуры приведения циклический сдвиг строк относится лишь только к строкам матрицы X.) Таким образом, при приведении квадратной матрицы X к треугольной идемпотентной форме X присоединенная строка U преобразуется в строку U, которая, конеч- но, не имеет какого-либо специального вида, и все ее координаты могут быть ненулевыми. Если строка U содержит ненулевой элемент £, которому соот- ветствует нулевой столбец приведенной матрицы X, то покомпо- нентное произведение этого столбца матрицы X и расширенного вектора Z равно zoo + z,o + z2o + ... + Z^O - IB = - 0. Это уравнение противоречиво. Ясно, что в этом случае исход- ная система уравнений [Z, — 1] — 0 и приведенная система [Z, —1] = 0 не совместны. 1 О J Однако, если приведенная присоединенная строка U содержит нуль в каждой координате, которой в матрице X — .7 соответствует столбец с ненулевым диагональным числом, то всем нулевым столб- цам матрицы X соответствуют нулевые координаты строки U. В этом случае U является линейной комбинацией строк матрицы X и удов- летворяет уравнению UX = U. Следовательно, решение уравнения [Z, —1] = 0 задается равенством Z = U. Подытожим этот результат в виде теоремы 2.56. 2.56. Теорема. Пусть X — некоторая (т X т)-матрица, a U — т-мерный вектор-строка. Тогда уравнение XX — U эквивалент- но расширенному матричному уравнению [Z, —1] = 0. Все решения этих уравнений могут быть получены следующим образом: 1) С помощью подходящих операций над столбцами расширенной матрицы X приводим ее к треугольному идемпотентному виду X. При этом присоединенная строка U преобразуется в некоторую строку U. 2) Образуем матрицу X — ,7, вычитая единицы из элементов главной диагонали X- 3) Каждую координату U умножаем на соответствующий диаго- нальный элемент X — %. Если какое-либо из этих т произведений отлично от нуля, то уравнение XX = U не имеет решений. Если все т произведений равны нулю, то Z = U — одно из решений урав- нения XX = U и все другие решения получаются путем прибавления к U произвольной линейной комбинации ненулевых строк матрицы X - J.
2.5. Решены систем линейных уравнений 71 2.57. Пример. Рассмотрим систему пяти двоичных уравнений сТпятью неизвестными [Z0, ^1» ^21 Z3, Z4] го 1 1 1 Li о 1 1 1 1 о о 1 1 1 1 1 1 1 1 01 1 1 о oJ = [00001]. Расширенная матрица равна ГО 0 0 0 01 11111 11111 11110 11110 0 0 0 0 1 Для приведения этой матрицы к треугольной идемпотентной форме прибавим третий столбец ко всем остальным столбцам, а затем пятый столбец к третьему: го о о о о о X U О О О 01 0 10 0 0 10 0 0 0 0 1 0 0 0 1 0 10 1 Интересно проиллюстрировать такой способ приведения с помощью схем, изображенных на рис. 2.22—2.24. Проведем более детальное вычисление: Перестановка столбцов Уточнение верхней строки Циклические сдвиги строк и столбцов 00000 00000 00000 11111 11111 11111 11111 —> 11111 —» 11111 11110 НПО 11110 11110 11110 11110 00001 00001 00001 11111 11111 10000 11111 11111 10000 11101 11101 10010 11101 11101 10010 00000 00000 00000 00010 00010 00010 00001 10000 10000 00101 10100 10100 00101 10100 10100 00000 00000 00000 00001 10000 10000 00100 00100 00100 01001 10001 10000 01001 10001 10000
72 Гл. 2. Арифметические операции по модулю многочлена 00000 00000 00000 00001 00001 00001 00001 00001 00001 01000 10000 10001 00001 10000 10000 00000 00000 00000 00010 00010 00010 00010 00010 00010 00001 10000 10000 00011 10010 10010 00000 Прибавление единицы 10000 00100 > 01100 00100 00000 00001 00011 00001 00000 00101 00101 Ясно, что одним решением этой системы является 00101, а остальные семь реше- ний получаются путем прибавления к нему любой линейной комбинации строк 10000, 01100, 00011. *2.6. Специальный метод решения систем уравнений, матрицы которых состоят почти сплошь из нулей Если большинство из т2 элементов (гп X т)-матрицы X равно нулю, то для решения уравнения ZX — 0 более целесообразно использовать специальные прямые методы. В качестве примера рассмотрим систему 10 двоичных уравнений с 10 неизвестными: 1 0 1 0 0 0 0 0 0 г 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 о [Zo, Zj, z2, . • •, Z9] 0 0 0 0 1 1 0 0 0 1 = [0. 0, 0, . ..,0] 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 Ненулевые элементы каждого столбца матрицы X выделяют под- множество координат вектора Z, сумма которых должна равняться
2.6. Специальный метод решения систем уравнений 73 нулю. В данном случае этими координатами являются Номер уравнения Переменные 0 0 4 9 1 1 4 7 2 0 4 8 3 8 9 4 1 3 5 5 2 5 7 6 2 3 6 7 2 7 8 6 7 8 9 0 5 Рассмотрим сначала уравнения, содержащие не более двух неиз- вестных. Например, согласно уравнению с номером 3, Z8 4- Z9 = О, так что Z9 = Z8. Будем теперь координаты с большими значениями индексов заменять их выражением через координаты с меньшими значениями индексов и исключать координаты с большими значения- ми индексов из всех остальных уравнений. В данном случае, начиная с подстановки индекса 8 вместо индекса 9, получаем Переменные Помер уравнения 0 0 4 Ж 8 1 1 4 7 2 0 4 8 3 8 © 4 1 3 5 5 3 5 7 6 2 3 6 7 2 7 8 6 7 8 9 0 5 Отметка кружком координаты 9 в уравнении 3 указывает на то, что неизвестное Z9 определяется теперь именно этим уравнением.
74 Гл. 2. Арифметические операции по модулю многочлена Продолжая этот процесс, находим следующее уравнение, содер- жащее только два неизвестных, а именно уравнение с номером 7: Z2 + Z7 = 0. Соответственно отмечаем в уравнении 7 координату 7 кружком и подставляем 2 вместо 7 в уравнения 1, 5 и 8. При этом в уравнении 5 координата 2 взаимно уничтожается с ранее уже имевшейся координатой 2. Номер уравнения Переменные 0 1 2 3 4 5 6 7 8 9 0 4 Ж 8 14X2 0 4 8 8 © 1 3 5 X 5 X 2 3 6 2 © 6X82 0 5 Следующим уравнением, содержащим только две координаты, является уравнение 9. Отметим в нем кружком координату 5 и заме- ним ее координатой 0 во всех остальных уравнениях. ^уравнения ПеРете 0 0 4 X8 1 14X2 2 0 4 8 3 8 © 4 1 3 Ж 0 5 X Ж X 0 6 2 3 6 7 2 © 8 6X82 9 0 ©
2.6. Специальный метод решения систем уравнений 75 Рассмотрим теперь систему сначала, отыскивая уравнения, свя- зывающие не более двух переменных и не содержащие отмеченных кружком неизвестных. Единственным таким уравнением является пятое уравнение, содержащее только координату 0. Отметим ее кружком и вычеркнем из всех остальных уравнений. Номер уравнения Переменные 0 Ж 4 X 8 1 14X2 2 Ж 4 8 3 8 © 4 1 3 Ж Ж 5 XXX© 6 2 3 6 7 2 @ 8 6X82 9 Ж ® Еще раз просмотрим систему и отметим кружками (с соответ- ствующими заменами) координату 8 в уравнении номер 0 и коорди- нату 3 в уравнении номер 4. нитей „ уравнения 0 Ж 4 Ж ® 1 1 4 X 2 2 X Ж ж 3 8 © 4 1 3 ж ж 5 X Ж X © 6 2 3 6 7 2 8 6 X ж 2 4 9 Ж ® Номер уравнения Переменные 0 Ж 4 Ж ® 1 14X2 2 Ж X Ж 3 8 ® 4 1 ® Ж ж 5 XXX© 6 2X61 7 2 ® 8 6 X X 2 4 9 ж ®
76 Гл. 2. Арифметические операции по модулю многочлена Теперь мы пришли к системе только из трех уравнений: Уравнение 1: Z4 + Z4 + Z2 = О, Уравнение 6: Z2 + Z6 + Z4 = О, Уравнение 8: Z6 + Z2 + Z4 = 0. Каждое из этих уравнений содержит три неизвестных, и так как каждая пара уравнений содержит только два общих неизвестных, то дальнейшее уменьшение числа переменных можно осуществлять разными способами. Одним из возможных путей является определе- ние Z4 из уравнения 1 в виде Z4 = Zx + Z2 и подстановка этого выражения в уравнение 8: Номер уравнения Переменные о Ж < Ж ® 1 1 © X 2 2 Ж Ж X 3 8 (9) 4 1 ® Ж Ж 5 XXX© 6 2X61 7 2 ® 8 6 X X X Ж 1 э Ж ® Тогда Z6 будет определяться уравнением 8, a Z2 — уравнением 6: Номер уравнения Переменные Номер уравнения Переменные 0 X 4 X ® 0 X 4 X ® 1 1 © X 2 1 1 © X 2 2 X X X 2 XXX 3 8 © 3 8 ® 4 I @ Ж X 4 1 @ X Ж 5 XXX© 5 ххх® 6 2 X X X 6 ® X-X X 7 2 ® 7 2 (1) 8 ® X X X X 1 8 ® X X X X 1 9 Ж ® 9 Ж ®
2.6. Специальный метод решения систем уравнений 77 На этом приведение матрицы заканчивается. Каждое Zh, за исклю- чением Zlf определяется через координаты с меньшими индексами. Значение Zx может быть, очевидно, произвольным. Если выбрать Zx = 0, то получим тривиальное решение Z = 0. Выбор Zx = 1 приводит к нетривиальному решению. Из уравнения 5 определяем, что Zo = 0. Решение Z2 = 0 получается из уравнения 6. В силу уравнения 4 выполняется равенство Z3 = Z1; и так как Zr = 1, то и Z3 = 1. Аналогичным образом находятся и все остальные коор- динаты к, для которых Zk = 0 для которых Zk = 1 0 1 2 3 5 4 7 6 8 9 Можно проверить, что Z = [0 101101011] действительно является решением рассматриваемой системы. После небольшой практики читатель сможет быстро решать примеры следующего типа. 2.61. Пример. Решить уравнение = 0, где гоооооооооооооооот 01 10000000000000 0010100000000000 0001001000000000 0000100010000000 0000010000100000 0000001000001000 0000000100000010 1100000010000000 0011000001000000 0000110000100000 0000001 100010000 0000000011001000 0000000000110100 0000000000001110 .0 000000000000010
78 Гл. 2. Арифметические операции по модулю многочлена Решение 8 1 8 © X 2 1 9 2 X © 3 9 ® X 2 4 2 10 X X X © 5 10 5 (10) 6 3 11 © X X 2 X 7 11 -» 7 8 4 12 X 4 © 9 12 X X 2 © 10 5 13 х X 11 13 X X ® 12 6 14 X ж X Ж X 13 14 X (14) 14 7 15 X X ЕСЛИ Z2 — 1, ТО Z, — Z5 — Zy — Z& — Z\q — ~~~ ^13 — Zj4 — Z,5 — 0 и Z2 — Z3 — Z4 — Zq “ Zg = Z12 ~ !• Если Z2 —— to Zi Z% = Z3 = • • • . . . = Z15 = 0. В любом случае Zo произвольно. Если т очень велико, то оказывается целесообразным составлять дополнительные таблицы с перечислением номеров уравнений, в которые входит каждое данное неизвестное. Это значительно уско- ряет операцию подстановки Zj вместо Zk, так как для поиска уравне- ний, содержащих Zk, не надо просматривать всю систему, а достаточ- но просмотреть дополнительную таблицу. Задачи 2.1. Испбльзуя вариант непрерывных дробей алгоритма Евклида, найти такие двоичные многочлены А и В, что А (х) (z5 4* х3 + 1) + В (х) (г6 х6 xi + х2 -f- 1) = 1. 2.2. Найти все решения (если таковые существуют) уравнения ZJf = U, где X есть 4 х 4-матрица над полем классов вычетов по модулю 7: Г1 3 3 6Д 0 4 0 2 5 12 6 12 0 4 5J и U = [0014].
Задачи 79 2.3. Найти все решения двоичного уравнения ZJ? = 0, где X = ’0 0000000 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 00000010 0 0 0 0 0 0 0 1 00000000 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 00000000 0-1 000000000 000000000 000000000 100000000 001000000 000010000 000000100 1 0 0 0 0 0 0 0 1 000000000 0 0 1 1 0 0 0 0 0 000101000 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1
Глава 3 Число неприводимых g-ичпых многочленов заданной степени Мы видели, что можно построить БЧХ-код с блоковой длиной 2т — 1 и исправлением двух ошибок, если известен неприводимый двоичный многочлен степени т. Априори нет никаких гарантий существования неприводимых двоичных многочленов произвольной заданной степени. Возможным методом доказательства существования неприводимых двоичных мно- гочленов любой степени т является вывод точной формулы для числа 1т таких многочленов, которая покажет, что 1т > 0 для любого натурального числа т. Хотя такое решение может показаться неоправданно сложным, результаты искупают все усилия, тем более, что методы рассуждений оказываются также полезными в следующих параграфах. 3.1. Грубый подход к решению Рассмотрим сначала грубые методы перечисления неприводимых двоичных многочленов заданной степени. Очевидно, существуют два неприводимых многочлена степени 1: х и х + 1. Существуют четыре двоичных многочлена степени 2, три из которых разлагаются на множители. Полный их список имеет вид х2 == х2, х2 + 1 = (х + I)2, х2 + х = х (х + 1), х2 + х + 1 неприводим. Имеются восемь двоичных многочленов степени 3 и в общем случае 2d двоичных многочленов степени d, соответствующих двум возможным выборам значений каждого из коэффициентов /0, /х, d—1 /2, . . ., /d-i в выражении / (х) = + Г. Восемь много- i=0 7 членов третьей степени разлагаются на множители следующим образом: х3 +1 = (х -р 1) (я2 х +1),
3.1. Грубый подход к решению 81 я3 -}-х — х (я 4-1)2, х3 + х +1 неприводим, я3+я2 = х3 (я 4- 1), х3 + х2 +1 неприводим, ГГ3 + гга-|-ГГ = X (х3 + X 4-1), я3 4-£2 + £ +1 = (я~|-1)3< Среди восьми многочленов третьей степени два распадаются в произведение квадратного и линейного множителей, четыре — в произведение трех линейных множителей, а остальные два являют- ся неприводимыми. В общем случае, полагая к = 0, 1, 2, . . ., п в выражении (З.И) / (£) = ;? (я 41 )ПЛ получаем (п + 1) двоичных многочленов степени п, распадающихся в произведение п линейных множителей. Обозначим через 1т число неприводимых двоичных многочленов степени т. Тогда = 2, I2 = 1, Is = 2. Подсчитаем теперь /4, не выписывая все 16 двоичных многочленов степени 4. Многочлен четвертой степени может быть представлен в виде произведения многочленов третьей и первой степени 73/4 = 4 различными спосо- бами, а в виде произведения двух неприводимых квадратных много- членов I3 = 1 способами. Он может распадаться в произведение квадратного и двух линейных множителей; разложение осуществляет- ся однозначно при различных линейных множителях и 7271 = 2 способами при повторении одного и того же линейного множителя — всего 3 способами. Наконец, возможны пять способов разложения в произведение четырех линейных сомножителей. Подытожим эти возможности в следующем виде: Разложение Число способов 3+1 4 2+2 4~] 2+1+1 1 3 1+1+1+1 5 13 14 = 24 - 13 = 3. в—658
82 Гл. 3. Число неприводимых q-ичных многочленов заданной степени Зная /4, можно вычислить 76: Раз южение Число способов ' 4+1 6 3+2 2 . 3+1 -1-1 6 5"1 2+2+1 2 2+1+1+1 4 ч 1+1+1+1+1 6 26 Ц = 25 - 26 = 6. Вычисление 1е: Разложение Число способов ( 5+1 4+2 4-J-1+1 з+з с 3+2+1 12 3 9 3 4 6~' з-м+1+1 2-L2+2 2+2+1+1 2+1 + 1 + 1+1 . 1+1_|_1_|_1+1+1 8 1 3 5 7 55 Ц = 26 - 55 = 9. Если проявить достаточную настойчивость и внимание, то можно подсчитать /7, Is, . . . .К счастью, большинства из этих вычислений можно избежать, если использовать более тонкую схему счета, известную под названием метода производящих функций. 3.2. Производящие функции Если имеется последовательность Ао, Аг, А2, • . то произво- дящую функцию, соответствующую этой последовательности, можно определить как формальный степенной ряд оо A(z)=%A,zl. г=0
3 2 Производящие функции 83 At могут быть рациональными числами или элементами любого поля. со оо Две производящие функции A (z) = 2 Az1 и В (z) = 2 Btzl назы- 1=о г=0 ваются равными, если Лг = Вг для всех i. При более слабом допу- щении, что Аг = Вг для г = 0, 1, . . ., к — 1, мы говорим, что А (г) = В (z) mod zh. Сумма или разность двух производящих функций определяется равенством оо 2(Д±5г)2\ г=0 а произведение задается формулой с© г Л(2)5(2)= 2 2(AA-,)z\ i=0 ;=0 Будем говорить, что С (z) = A (z)/B (z) тогда и только тогда, когда С (z) В (z) = А (z). Отношение двух производящих функций, если оно существует, всегда единственно, так как если D (z) В (z) = = С (z) В (z), то 0 = D (z) В (z) — С (z) В (г) = [О (г) — С (г)] В (z) и, как мы предлагаем проверить читателю, либо В (г) = 0, либо D (г) = С (z). Если Ло =0, то В (z) А (г) = 0 mod z при любом В (г) и уравнение В (z) A (z) = 1 не разрешимо относительно В (z). Однако если Ап 0, то оо и Ар А (А Следовательно, п=0 1=1 Таким образом, производящая функция А (г) имеет мулыипликатив- ную обратную тогда и только тогда, когда Ао 0. Назовем A (z) четной производящей функцией, если Аг = О для всех нечетных г, и нечетной производящей функцией, если Аг = 0 для всех четных г. Сумма или разность двух четных произво- дящих функций дают четную функцию, а сумма или разность двух нечетных производящих функций — нечетную функцию. Произве-
84 Гл. 3. Число неприводимых q-ичных многочленов заданной степени дение двух четных или двух нечетных производящих функций — четная функция, произведение четной функции на нечетную — нечет- ная функция. Мультипликативно обратная к четной производящей функции (если она существует) — четная функция. Произвольная производящая функция может быть записана как сумма четной и нечетной производящих функций: A (z) = А (z) A (z). Мы используем значки - и для обозначения соответственно четной и нечетной функций. Отметим графическое сходство этих знаков с четной косинусоидальной и нечетной синусоидальной функция- ми г). Важно подчеркнуть, что перечисленные свойства производящих функций никак не зависят от сходимости или расходимости ряда <х> при некоторых значениях z. Например, при Лг = i! этот ряд 1=0 расходится для всех ненулевых комплексных значений z. Далее, коэффициенты А( не обязательно должны быть действительными или комплексными числами. Производящие функции можно строить над любым полем. Для заданной производящей функции оо M(z)= 2 Anzn n=0 можно определить ее формальную производную оо Л' (z) = 2 «Лгп-1. n—i Если ОО П С (z) = А (z) В (z) = 2 ( 2 AhBn_h) zn, n=0 fe=0 TO оо П оо П C (z) = S n ( 3 AhBn_h) zn^= 2 [ 2 (k + n-k) z"-1 = n=l fe=0 n=l fe=0 оо П n •= 3 [ 3 &Лй>-1-<ц) + 3 (« -k)AhBn_h] zn-1 = 71—1 k=0 k— 0 — A' (z) В (z) + M (z) B' (z). С помощью индукции этот результат может быть распространен до известной формулы производной произведения нескольких про- изводящих функций. 1) Во избежание недоразумений читатель не должен путать f (z), нечетную часть f (z), с / (z), взаимным многочленом для f (z).
3.2. Производящие функции 85 3.21. Теорема. h k [ [J A(i> (z)]' = 2 M<’’(z)]' ПЛ“’(2)- i=l i—l 3.22. Следствие. k [ П A(iy (z)] 1=1 k ПA(i} w 1=1 k у « Л<Л (z) Таким образом, для формальной производной выполняются свой- ства обычной производной. Единственное отличие состоит в том, что формальная производная не связана с операцией предельного перехода. Формальная производная применима также к производящим функциям, которые являются обычными многочленами. Это позволяет сформулировать следующий результат. 3.23. Теорема. Неприводимый многочлен g (z) с ненулевой производной g' (z) J) является делителем многочлена / (z) кратности >1 тогда и только тогда, когда g (z) делит (J (z), /' (z)), н. о. д. 1 (z) и Г (z). Доказательство. Пусть g (z) — неприводимый делитель / (z), так что / (z) = g (z) k (z). Тогда /' (z) = g' (z) h (z) + g (z) h' (z). Если многочлен g (z) делит /' (z), то oh также делит g' (z) h (z). Ho deg g’ (z) < deg g (z) и поэтому g (z) не может делить g' (z). Значит, g (z) делит h(z). Таким образом, g (z) является делителем / (z) кратности >1 тогда и только тогда, когда он делит / (z) и /' (z), т. е. тогда и только тогда, когда g (z) делит н. о. д. / (z) и /' (z). в Эта теорема справедлива для всех полей. Пусть, например, / (х) — двоичный многочлен хъ -f- xi -f- х2 -f- х. Тогда / (х) = а? + а:4 4- х2 + х, f (a:) = 5а:4 + + 2а: -ф 1 = х^ + 1, (/ (х), f (а:)) = х2 + 1 = (х + I)2. При этом разложение / (а:) на неприводимые множители имеет вид / (а:) = х (х + I)2 (х2 -ф х + 1). *) Можно показать, что каждый неприводимый многочлен над конечным полем имеет ненулевую произвсдв^ю, в то время как над некоторыми беско- нечными полями с конечной характеристикой существуют неприводимые много- члены, производная которых тождественно равна 0.
Гл 3 Число неприводимых q-ичных многочленов заданной степени 3.3. Число неприводимых нормированных g-ичных многочленов заданной степени Обозначим через Ah число двоичных многочленов степени к вида /“ (х), где / (х) — неприводимый двоичный многочлен степени т. Так как степень f (х) равна jm, то ( 1, если т | к, Ак lit l } [ 0, если т | к. Если ввести в рассмотрение многочлен /° (z) = 1 нулевой степени, то получим, что 4 о = 1. Производящую функцию 4(z) = U z’” -z2m rz3m- L_ для последовательности {4fe} назовем нумератором множества {Г (z), I = 0, 1, 2, . . .}. 1 Пусть В (z) = ---нумератор множества {g (z)}, где g (х) — произвольный неприводимый многочлен степени п. Запи- шем множество многочленов N — {f‘ (z) g} (z)}, где i, 7 = 0, 1, 2 . . . . Нумератором этого множества назовем производящую оо функцию С (z) = 2 Здесь Ck — число многочленов степени к /г - О в множестве N. Ясно, что если произведение jl (х) g2 3 (х) имеет сте- пень к, то / = к — i и поэтому Ch — 2 Л а С (z) = A (z) В (z). г В общем случае, если A (z) — нумератор множества многочленов /1 /2 (-г), • • • 1), а В (z) — нумератор множества многочленов Si (%), §2 (#), • • • , причем любые два многочлена (х) и g} (z) взаим- но просты, то С (z) = А (z) В (г) является нумератором множества всех произведений вида /г (z) g} (х), причем, как и раньше, Ch = = 2 ВгА^. г С помощью индукции этот результат может быть распространен на произвольное число множеств: 3.31. Теорема. Пусть 51; 52, . . ., Sn — множества много- членов, обладающие тем свойством, что любые два многочлена из различных множеств взаимно просты. Пусть S1*S2*. —множе- ство всех многочленов вида /г2, . . ., fln, где многочлены (х) при- надлежат различным 8г . Тогда нумератор множества S1*S2*- • • имеет вид (z), где A'-1') (г) — нумератор множества St. 2) к-п коэффициент нумератора —число многочленов степени к в множе- стве /1 (г), / (z), —Прим рев
3.3. Число неприводимых многочленов заданной степени 87 Пусть, например, S± — множество степеней многочлена х, a S2 — множество степеней многочлена х + 1- Тогда 8У*82 — множество двоичных многочленов, распадающихся только на линейные непри- водимые множители. В соответствии с теоремой 3.31 нумератором этого множества является [1/(1 — z)]2. Далее оо оо оо 0^- £- Дт-4 (2 И = 3 3 <"+ n=0 п= 1 fe=0 Следовательно, существует точно к + 1 двоичных многочленов сте- пени к, разлагающихся в произведение линейных множителей. Это согласуется с рассуждениями, предшествующими уравнению (3.11). Аналогично, нумератором множества двоичных многочленов, не- приводимые делители которых содержатся среди многочленов х, х + 1, х2 4- х + 1, является функция (JLV-L. Более того, нумератор множества двоичных многочленов, среди неприводимых множителей которых содержится Ц неприводимых многочленов степени 1, 12 неприводимых многочленов степени 2, 13 неприводимых многочленов степени 3, . . ., равен оо П (-гУ"- т=1 Но множество двоичных многочленов, являющихся произведениями степеней неприводимых двоичных многочленов, является в точности множеством всех двоичных многочленов. Ясно, что существует 2fe двоичных многочленов степени к, так что нумератор множества всех двоичных многочленов имеет вид оо А=0 Мы получаем, таким образом, двоичный вариант следующей общей теоремы: 3.32. Теорема. Пусть 1т обозначает число различных непри- водимых нормированных многочленов степени т над конечным полем из q элементов. Тогда оо —1 = п ( - Vm. 1— qz 11 \ 1 — zm ) т— 1
88 Гл. 3. Число неприводимых q-ичных многочленов заданной степени Доказательство. г Множество произведений степеней > г Множество всех норми-^ 1 I 4 r J- = < неприводимых нормированных >. 1 рованных многочленов I г г < k I многочленов J Ясно, что теорема 3.32 является количественным уточнением теоремы о единственности разложения нормированных многочленов над конечным полем из q элементов. Если приравнять коэффициенты в обоих частях равенства, то мы получим аналог вычислений при грубом методе подсчета чисел 1т. Например, в двоичном случае мы знаем, что 1± = 2, I2 = 1, 13 = 2. Можно теперь найти 14, приравнивая коэффициенты при z4 в правой и левой частях равенства 1 + 2z + 4z2 + 8z3 + 16z4 + . . . = = (1 + z + z2 + z3 + z4 + . . ,)2 (1 + z2 + z4 + . . .) (1 + z3 + z6 + . . .)2 (1 + z4 + . . .)4 Вычисление коэффициента при z4 в правой части этого соотноше- ния требует такой же вычислительной работы, как и грубый метод, описанный в разд. 3.1. В этом смысле переход к языку производящих функций не дает нам ничего нового, кроме корректных обозначений для сложных выкладок грубого метода. Однако в другом направлении производящие функции дают нам нечто новое, поскольку над ними можно производить алгебраические операции. Например, обращая равенство (3.32), получаем 00 (3.33) 1-?2= П (l-zm)'m. 7П=1 Уравнение (3.33) имеет интересную интерпретацию. Так как оо П (1 + zm)7m — нумератор множества многочленов, разлагающих- т=1 ся в произведение различных неприводимых множителей, то 00 [J (1 — zm)Im есть разность между нумератором множества много- т—1 членов, являющихся произведениями четного числа различных неприводимых множителей и нумератором множества многочленов, являющихся произведением нечетного числа различных неприводи- мых множителей. Нормированный многочлен степени 0 не является произведением неприводимых множителей, а каждый нормирован- ный неприводимый (/-многочлен степени 1 имеет один неприводимый множитель. Таким образом, уравнение (3.33) эквивалентно следую- щей теореме: 3.34. Теорема. Если лг>2, то число нормированных много- членов степени т, являющихся произведением четного числа различных
3.3. Число неприводимых многочленов заданной степени 89 неприводимых множителей, равно числу нормированных многочленов степени т, являющихся произведением нечетного числа различных неприводимых множителей. Теорема 3.34 справедлива для любого конечного поля. Для выяснения других свойств чисел 1т произведем дальнейшие преобразования уравнения (3.33). Применяя следствие 3.22, полу- чаем, что __ 9 _ XI _ 1—qz .2-1 1 — zm m=i Умножение на —z дает равенства 9Z XI „ г zm i — qz ~ 23 т=1 оо оо оо 2 qhzk = 2 mIrn 2 z'1 = 2 S mlmzk. А=1 тп=1 А, А=1 тп, т 1 k т j k Таким образом, имеет место 3.35. Теорема qk 2 т1т- ггщ т | k Сумма берется по всем т, делящим к, включая 1 и к. Некоторые свойства величин 1т могут быть выведены непосредственно из этого уравнения. Прежде всего видно, что Ц ~ q. Далее, так как 1т О для всех т, то Ih (qk — q)/k, причем равенство достигается тогда и только тогда, когда к простое. В частности, /2 = (q2 — ч№ > 0; I3 = (q3 — q)/3 > 0. Можно также получить грубую нижнюю гра' ницу для Ih, замечая, что qh= 2 mlm^klk + ^ql <klk+qk'2+1, т, i=0 т | k так что ak_д^/2+1 „ (i-<rfe/2+1)- Отсюда следует, что /к > 0 для всех к > 2. Так как мы видели, что 1Х > 0 и 12 > 0, то, следовательно, над каждым конечным полем существуют неприводимые многочлены произвольной степени. Если / (х) — неприводимый многочлен степени т над полем классов выче- тов mod р, то множество рт классов вычетов по модулю многочлена / (х) образует конечное поле из рт элементов. Это доказывает теорему 3.36.
90 Гл. 3. Число неприводимых q-ичных многочленов заданной степени 3.36. Теорема. Если р — простое число и т — произвольное натуральное число, то существует конечное поле, содержащее рт элементов. Хотя приведенные рассуждения и не дали практического метода для определения неприводимых многочленов большей степени, они показывают, как много таких многочленов существует. Для доста- точно большого т над произвольным конечным полем с вероятностью примерно 1/т выбранный многочлен степени т будет неприводимым. Более точно мы показали, что (3.37) |(1-^/2+1)<А <1 (1-^+1). л qn п Для вывода выражения для Ih необходимо воспользоваться фор- мулой обращения Мёбиуса. * 3.4. Формула обращения Мёбиуса Формула qk= 2 т1т т, т | k является частным случаем формулы /(«) = 2 8(d), d, d | п где g (d) — произвольная функция. Нашей задачей является отыска- ние формулы, явно выражающей g через/. Если эта формула (см. 3.41) известна, то ее доказательство можно сделать значительно более коротким по сравнению с рассуждениями, связанными с ее выводом. Мы, однако, получим эту формулу, не предполагая ее заранее изве- стной. Если «= II г=1 где pt — простые числа, то d делит п тогда и только тогда, когда d=[\ph/, г=1 где 0<;Лг<ег. Тогда формула /(«)= 2 g(d) d, d | n
3.4. Формула обращения Мебиуса 91 может быть записана в виде 3 61 62 е3 3 /(1Ы‘) = 3 3 ... 3 g(lb». i—l h1=0 fe2=0 fe,=0 i=l Так как эта формула справедлива для всех значений п, то ее можно использовать для п = J] pei. 1=2 В этом случае получаем, что 3 ei~l 62 ез з /(р?-‘ПХ')= 2 2 ... 2 г(Пл'). г=2 fe1=0fe2=0 feJ=0 г=1 Вычитание дает равенство 61 3 ez ез } 2 =2 ... 2 е(р‘2 ГШ Ь1=б!-1 1 1=2 /12=0 fe =0 1 1=2 Таким образом, мы заменили одну из сумм для g суммой для /. Про- должая этот процесс, получим, что ei 62 з 2 з (- П рег) = hl—ei—1 k2=62—1 1 2 г=3 3 3 = 3 ••• 3 g<P{lPf П Ргг) h3=o kj=0 1 * 1=3 и, окончательно, 61 ег е3 Уб -У/l 3 3 3 3 ... 3 (-Ф ' Н1Ы‘)=г([Ы). /il=6i— 1 /12=62— 1 к3~ез~1 1=1 »=1 Подстановка тг- ег — кг дает 3 11 1 У т з НПРг')= 2 2 ••• 2 (-1)г /(II Рг1"”1'). 1=1 mi=0 m2—0 т^=0 г=1 Эта формула выражает функцию g через функцию /. Она может быть также переписана в виде г(1Ы)= 2 2 2/‘(11р?)/(П/>Г”‘). i=1 mi=0 m2—0 mj=^ г=1 где r г S m i p([h?)=(-i)‘ . i=i
92 Гл. 3. Число неприводимых q-ичных многочленов заданной степени причем rrii — 0 или 1 для всех i. Если положить и(Пр?')-о г—1 для любого Tn, > 2, то верхний предел суммирования можно увеличить до любого желаемого предела. В частности, мы можем записать 3 „ ei ег ej 3 3 3 S ... S н(Па9/(П А* ч. l—i 7П1=0 7П2=0 mj~Q Это эквивалентно теореме 3.41. 3.41. Формула обращения Мёбиуса. Если /(«)= Ш d, d\n то g(n)--= 2 > d, d|n где p (rf)— функция Мёбиуса, p(</) = ' 1, если d = 1, (—1)\ если d — произведение k различных простых чисел, О, если d делится на квадрат. Формула обращения Мёбиуса может быть переписана также в другом виде. Если положить с — nld, то получим = (-г)ис)- с, с|п Наиболее сложной частью доказательства формулы обращения Мёбиуса является определение функции Мёбиуса. Как только эта функция определена, легко проверить, что „ (1, если п = 1, S |х (</) = п , л, 10, если n> 1, d|n Это эквивалентно свойству V (ль.\ -/11 если d="m' \ п / 1 0, если d — собственный делитель. п d|n|m
3.4. Формула обращения Мебиуса 93 Другими словами, как заметил Рота [1964], функция Мёбиуса является обращением дельта-функции в области целых чисел, в кото- рой частичный порядок определяется отношением делимости. Если это установлено, то не составляет труда доказать, что если /(»)= 2 d, din ГО g(w)= 2 я«)и (v) • п, n|m Доказательство проводится в одну строку: n, d, d, n, n|m d|n d|m d|n|m Аналогично можно доказать и другую форму теоремы. 3.42. Мультипликативная теорема обращения Мёбиуса. Если Нп)= П £(<*)> d, d[n то g(m) = Ц/ n, n|m Доказательство. ZJ ц(т/п) П П g = П П ё №т‘п} = П ё (<0 d|n|m = g (т). । n, d, d, n, d, n|7nd|n d\m d|n|m d|m Для перечисления неприводимых многочленов более полезна исходная форма обращения Мёбиуса. Из теорем 3.41 и 3.35 непосред- ственно следует 3.43. Теорема. d, d,h Если 7 = 2, то Л = 2, /2 = 1/2(22-2) = 1, /3 = 1/з(23-2)=2, Л = х/4 (24 —22) = 3, /5 =1/s(25 —2) = 6, ... .
94 Гл 3 Число неприводимых q-ичных многочленов заданной степени Даже для больших значений к эта формула легко поддается обработке Например, /60 = 1/eo (2eo - 230 - 22° - 212 JL 210 + 2е ф 24 - 22) = = 19 215 358 392 200 893 В общем случае формула обращения Мебиуса позволяет выразить Д как сумму 21 членов, где / — число различных простых делите- лей к Задачи 3.1. Пусть задана производящая функция 00 /(*) = ( S ”'гП)2 п=0 Найдя df/dz двумя разными способами, доказать, что для всех п п п+1 2 2 (^ + I)2 /с1 (п — /с)1 = (п + 1) У jl (п + 1 — у)1 Расходимость ряда f (z) k=o з=о не должна смещать читателя Проверьте тождество для п = 3, показав, что обе его части равны 256 3.2. (а) Классы вычетов двоичных многочленов по модулю х5 + т 1 образуют конечное поле из 32 элементов Сколько нормированных неприводимых многочленов второй степени существует над этим почем? (Ъ) Двоичный БЧХ код с исправлением двойных ошибок, описанный в разд 1 4, имеет блоковую длина п — 31, 10 проверочных позиций и 21 инфор- мационных позиции Ему соответствуют 210 возможных синдромов Сколько из них соответствуют смежным классам, лидеры которых соответственно имеют веса 0, 1, 2, )>3? (Четыре вопроса) Какова процедура декодирования, когда полученный вектор лежит в смежном классе с лидером веса )>3? 3.3 Выписать нумератор для каждого из следующих множеств нормиро- ванных многочленов над полем порядка q (а) Многочлены, представимые в виде квадрата „ 1 Ответ --------= . 1 — qz1 (Ъ) Произведения различных неприводимых множителей п ) qz2 Ответ —-------. 1 — qz Отвот Указание Произвольный нормированный многочлен можно разложить в произведение квадрата и свободного от квадратов множителя (с) Произведения четного числа различных неприводимых множителей. 1 — qz + (1 — qz2) (1 — qz) 2 Указание См уравнение (3 33) (d) Произведения нечетного числа различных неприводимых множителей. qz — 1 — (1 — gz2) (1 — qz) 2 ' Ответ
Задачи 95 (е) Произведения нелинейных неприводимых множителей. оо Ответ: (1-д2 = П (ь=М т- т=2 (f) Произведения различных нелинейных неприводимых множителей. 1 — ?z2 Ответ: , —ст . (1-<7Z) (IH-z)a (g) Произведения четного числа различных нелинейных неприводимых множителей. Ответ. (l-qz^Kl-qz) (l + z)9+(l-gz)/(l—z)9 . (h) Произведения нечетного числа различных нелинейных неприводимых множителей. Ответ: (1-gz^i-gz) (1 + —(1 — gz)/(l—z)q 3.4. Выразить каждую из полученных в задаче 3 3 производящих функций в виде явного степенного ряда от z. Можно положить q = 2. Указание. Использовать разложение на простые дроби. 3.5. Сколько различных ожерелий длины т можно составить из бусинок q заданных цветов? Два ожерелья считаются одинаковыми тогда и только тогда, когда они мог\т быть получены др\г из ,тр\га вращением. Например, 001101 совпадает с 101001, но отлично от 001011. Ожерелье 001011 может быть получено из 001101 с помощью замены нулей и единиц, но не может быть получено из него вращением. 3.6. Доказать, что ожидаемое число неприводимых делителей случайно выбранного многочлена достаточно большой степени п над конечным полем порядка q приблизительно равно In п. Указание. Пусть F (у, z) = |J (1 —yzm)Im. Рассматривая F (у, z) как m=l производящую функцию от двух переменных, вычислить dF/dy при у = 1
Глава 4 Структура конечных полей 4.1. Определения Возможны различные эквивалентные определения поля. Мы пред- почтем несколько избыточное, но менее формальное определение. 4.11. Определение поля. Полем называется множество, в котором однозначно определен результат сложения и умножения (обозначения + и * соответственно) любых двух элементов. Поле содержит 0 и 1. Сложение и умножение ассоциативны и коммутатив- ны, а умножение, как обычно, дистрибутивно относительно сложе- ния: и* = u*v -J- u*w. Каждый элемент и имеет единствен- ный противоположный элемент — и, такой, что и + (—и) — 0. Каж- дый ненулевой элемент и имеет единственный обратный элемент Ни, такой, что и* {Ни) = 1. Для каждого элемента и выполняются равен- ства 0 + u = u = и ~ i *и и 0* и = 0. Эти свойства поля не все независимы; некоторые из них могут быть выведены из других. Читатель, интересующийся минимизацией числа аксиом, определяющих поле, может найти дальнейшее обсуж- дение этого вопроса в книгах Биркгофа и Маклейна [1965] или Ван- дер-Вардена [1931]. Для наших целей более удобно постулировать все перечисленные выше свойства. Порядком поля называется число его элементов. Если порядок поля бесконечен, то оно называется бесконечным; если порядок поля конечен, то оно называется конечным. Множества рациональных чисел, действительных чисел и комплексных чисел дают примеры бесконечных полей. Если р — простое число, то классы вычетов по модулю р образуют конечное поле порядка р>. Если / (х) — непри- водимый многочлен степени т с коэффициентами из поля классов вычетов по модулю р, то классы вычетов *) по модулю / {х) образуют конечное поле порядка р’А В разд. НА мы покажем, что все конечные поля по существу являются полями этого типа. х) Читатель, не знакомый с этой терминологией, должен понимать под классам и вычетов по модулю f (х) все многочлены, степени которых не превосхо- дят степень f (х), с арифметическими операциями, определенными по модулю / (х).
4 2 Мультипликативная структура конечных полей 97 4.2. Мультипликативная структура конечных полей Если поле содержит элемент а, то оно должно содержать и все степени а, а2, сс3, . . . . Так как поле содержит мультипликативный обратный каждого ненулевого элемента, то ему принадлежат также а-1, а-2, сс-3, .... Если не все степени сс различны, то существу- ют такие два числа т и п, что тп > п и сст = ссп, или ccm-n = 1. Наименьшее из положительных чисел п, для которых сс11 = 1, назы- вается порядком элемента” «.’“Еслй'порядок «“равен "п, то элементы 1, а, «2, . . ., сс"-1 различны. Действительно, если а”1 = ak, где О m < к < п, то ah~m = 1, хотя 0 < к — m < п, что проти- воречит определению порядка. Таким образом, порядок элемента равен числу различных степеней этого элемента? Если элемент имеет бесконечное число различных-степеней,!:о мы говорим, что его порядок бесконечен. Порядок элемента 0 не определен. Поле одно- временно может содержать элементы конечного и бесконечного порядка, например, поле действительных чисел содержит два эле- мента конечного порядка: +1 (порядка 1) и —1 (порядка 2). Все остальные ненулевые действительные числа имеют бесконечный порядок. В поле комплексных чисел элементы конечного порядка исчерпываются числами e2hni^n, где к и п — целые числа, a i = = У—1. Таким образом, в некоторых полях только особые элементы имеют конечный порядок. В конечном поле, однако, каждый элемент имеет только конечное число различных степеней. Следовательно, каждый ненулевой элемент конечного поля имеет конечный порядок. Если а — элемент порядка п, то легко найти порядок а™. Соглас- но алгоритму деления, т = jn + к, где 0 к < п. Тогда ат — _ aJn+^ = aJr‘ah — 13 ah = Следовательно, ат = ak тогда и только тогда, когда т = к mod п. Это доказывает теорему 4.21. 4.21. Теорема. Если а — элемент порядка п, то а™ = 1 тогда и только тогда, когда т кратно п. Покажем далее, что если два элемента поля имеют взаимно про- стые порядки, то порядок их произведения равен произведению порядков сомножителей. 4.22. Теорема. Если порядок элемента а равен п, а порядок элемента 0 равен т и (т, п) = 1, то порядок «0 равен тп. Доказательство. Если (a0)ft = 1, то ak = 0-ft, amk = = 0-т* = 1 и = ank = 1. Так как amh = 1 и (m, re) = 1, то к кратно re; так как 0_nf’ = 1 и (гег, п) = 1, то к кратно т. Следовательно, (a0)ft = 1 тогда и только тогда, когда к кратно тп. С другой стороны, если к кратно тп, то (a0)ft = aft0ft — 1. а 7—658
98 Гл. 4. Структура конечных полей Найдем теперь порядок элемента ccfe, если а — элемент порядка п. Если (п, к) — наибольший общий делитель п и к, то h} — — (an)ft/'n>= 1, так что порядок aft делит число п = (п, к). С другой стороны, если ahm = 1, то кт кратно п [п/(п, к)] (п, к). Так как число п/(п, к) взаимно просто с к, то оно должно быть делителем т. Это доказывает следующую теорему: 4.23. Теорема. Если порядок элемента а равен п, то порядок элемента ah равен п/(п, к). Будем говорить, что элемент а является примитивным корнем п-й степени из единицы, если порядок а равен п. В поле порядка q элемент а называется примитивным элементом поля, если порядок a равен q — 1. 4.24. Теорема. Конечное поле порядка q содержит примитив- ный элемент (порядка q — 1), степени которого пробегают все нену- левые элементы поля. Доказательство. Пусть п — максимальный порядок ненулевых элементов поля, и пусть а — элемент порядка п. Так как п различных степеней а отличны от нуля, то п q — 1. Пусть Р — некоторый другой ненулевой элемент поля, и пусть d — поря- док р. Если d f п, то p(n-d) имеет порядок d/(n, d), взаимно простой с п, так что ap<n-d) имеет порядок ndl(n, d), превосходящий п. Так как это противоречит выбору п, то заключаем, что d | п. Следова- тельно, каждый ненулевой элемент поля является корнем многочле- на х п— 1. Так как степень этого многочлена равна п, то в соответ- ствии с теоремой 2.15 он имеет в данном поле не более п корней. Следовательно, q — 1 п. Так как мы уже показали, что п q — 1, то п = q — 1. в Эта теорема имеет следствие, обобщающее теорему Ферма: 4.25. Теорема. Каждый элемент поля порядка q удовлетво- ряет уравнению xq — х = 0. Доказательство. Все ненулевые элементы поля удовлет- воряют условию х9-1 — 1=0; нуль поля удовлетворяет уравнению х = 0. Значит, все элементы поля удовлетворяют уравнению х (xq~x — 1) = xq — х = 0. g 4.3. Круговые многочлены Каждое разложение многочлена xq — х задает разбиение элемен- тов конечного поля порядка q. Если xq — х = / (х) g (х), то каждый элемент поля является или корнем многочлена / (х), или корнем
4.3. Круговые многочлены 99 многочлена g (х). Мы уже рассматривали разложение xq — х = = х (я9-1 — 1), отделяющее нулевой элемент от ненулевых. Поста- вим теперь задачу разбиения множества ненулевых элементов поля на подмножества элементов одного и того же порядка с помощью разложения многочлена хч~г — 1. Если поле содержит элемент а порядка п, то элементы 1, а, а2, . . ап-1 являются корнями много- члена хп — 1 степени п. Согласно теореме 2.15, ни в каком поле мно- гочлен степени п не может иметь более, чем п корней. Следовательно, в любом поле, содержащем примитивный корень га-й степени из еди- ницы, справедлива следующая теорема о разложении: 4.31. Теорема. хп — 1= [J (х — аг) = [] (х — а’). г=0 1=1 Аналогично, если п = kd, то ak, a2k, a3ft, . . ., ad/i являются корнями многочлена xd — 1. Этот многочлен имеет степень d и, сле- довательно, не может иметь более d корней ни в одном поле. Значит, если порядок элемента а равен п и d делит га, то среди степеней a содержатся все корни степени d из единицы. Более того, каждый элемент поля, порядок которого делит га, должен быть степенью а, так как элемент порядка d является корнем d-й степени из единицы. Порядок каждой степени элемента а делит га, и каждый элемент поля, порядок которого делит га, является степенью а. Это доказы- вает следующее разбиение степеней элемента а в соответствии с их порядками: *п-1= ПП(^-Р). d, Р, d|n р—элемент порядка d Многочлены, корни которых совпадают со всеми элементами поля порядка d, называются круговыми многочленами и обозначаются через Из этого определения и теоремы 4.31 как следствие сразу вытекает 4.32. Теорема. xn—i = П Q(d)(x). d, d|n Применение мультипликативной формы теоремы обращения Мёбиуса 3.42 дает 4.33. Теорема. <2<п>(х)= у (xd — l)^<n/d) = у (xnld — l)t*(d), d|n d|n
100 Гл. 4. Структура конечных полей Используя свойства функции Мёбиуса, можно с помощью простых операций выяснить многие свойства круговых многочленов. 4.34. Свойства круговых многочленов. 4.341. Если р — простое число, не делящее т, то Q(mph) ф = Qtpm) (xPh 1) . 4.342. Если р — простое число, не делящее т, то Q(mp) С(т) (х) ' 4.343. Если п = Пр»', где pt— простые числа, то deg<2(n> (х) = ф (га), где ф (га)—фи-функция Эйлера, ф(га)=ПА! 1 (А-1)- г 4.344. Если га >2, то с(п) (*) -= П (i— d, d|n 4.345. Если га>3 и п нечетно, то QM(x)=QW(-x). 4.346. Для га>2 X4>WQ(n) = QM (ху 4.347. 0 тогда и только тогда, когда га = 1, р тогда и только тогда, когда п — Q(n) (1) — степень простора числа, 1 тогда и только тогда, когда п имеет „ не менее двух простых делителей. 4.348. ' 0 тогда и только тогда, когда п = 2, — 2 тогда и только тогда, когда га = 1, 2 тогда и только тогда, когда п— сте- QM (— 1) = ] пень 2, n>k, р тогда и только тогда, когда n = 2ph, Л>0, 1 в остальных случаях.
4.3. Круговые многочлены 101 Доказательства. 4.341. QsnVk) (д.) _ Q (;rmpfe/d—l)n(d) = d? <фЛ,п = П i]|1(d) = CvPm4zpft-1). d, d\mp 4.342. Q(?m) = d, d|m d, d]pm dim d, d, d\m d]m 4.343. В силу свойства 4.31 Ф (A*) =/-1Ф (Р™)- Согласно свойству 4.342, (Дт) (гр) Q'Wi (х) ' <p (pm) — /?<p (m) — ф (m) — (p — 1) <p (m). Следовательно, используя индукцию, получаем, что ф(Па‘)=р? 1(л-1)ф( П А‘) = г=1 г—1 = П Рг1 1 (р. - !) ф ( П П 1 (Pi — !)• i=j+1— h i=l »=1 4.344. 2 B(d) гг QW(x)^= [J (xn!d — l)^<d) = ( —1) dln d, d|n П (1 — Xn^)d(d) = d, d|n — П (1 —^/^(d), если ra = l, d, d|n [J (1 — xn^d)^d\ если n>i. d, djn
102 Гл. 4. Структура конечных полей 4.345. Согласно свойствам 4.342 и 4.344, 0<п> (х2} гг i 1— x2n'd \ n(d) <?,2"’м=44г’П(~^) = d4 d|n = Д (1 -i-xn'd)MV =Q^ { — х). d, d|n 4.346. Если порядок а равен п, то и порядок а-1 равен п. Следовательно, (а-1) =0 тогда и только тогда, когда (а) = 0. Таким образом, (х) и л^(п)(Хп) (ж-1) имеют одинаковые корни. Степень обоих многочленов равна ср (п) и если п >2, то оба мно- гочлена нормированы. Следовательно, (?(п) =а;ф(п) Q(n) ^-1) и <р(п) <р(п) 2<П,(^= П <2г(П)^ = ^(П)<2<”>(^1)= S г=0 г=0 Таким образом, — Cq>"n)-i Для всех г. 4.347. Так как условия теоремы друг друга исключают, то надо проверить только достаточность утверждения- (a) <2<i> (1) = 1 — 1 = 0. (Ь) (дЛ (1) = 2<р> (iph-1) = (1), <?<р’(^)=тЕг=2 1=0 (2<р,(1)-= S li =P- 1=0 (с) Согласно свойству 4.342, 4.348. (a) Q^(x) = x + 1; Q™ (-1) = 0, (Ь)^1’(£)=£-1; 2> (с) (х) = z2k-i + 1; (2(2h) ( -1) = 1 + 1 =- 2, (d) (?(2Л (х) = (-х); Q^h) = (е) Если п — рь и п нечетно, то ( — 1) — Q(P) ( — 1) = р-i = S (- 1)г = 1. 1=0
4.3. Круговые многочлены 103 Если п = тр, р нечетно и (р, т) = 1, то (J(mm ( — 1) = <?<тп> [(—1)Р] <?<га>( —1) ’ Непосредственным следствием свойства 4.343 является 4.35. Теорема. Любое конечное поле порядка q содержит точ- но ср (q — 1) примитивных элементов поля. Используя свойство 4.343, можно сразу определить степень любого кругового многочлена. Если порядок а равен п, то порядок элемента ak равен п тогда и только тогда, когда (к, п) = 1. Следо- вательно, если а — элемент порядка п, то (?<"’(*) = J] (г-а*)- Ь (n, h) — i l^fe<n Отсюда видно,- что функция Эйлера ф (п) равна числу чисел, мень- ших п и взаимно простых с п. Перечисленные свойства круговых многочленов оказываются очень полезными для упрощения вычислений. На основании свойст- ва 4.341 вычисления могут быть сведены к случаю, когда п является произведением различных простых множителей. Для п > 1 имеем (4.36) (ФП) (а:) = П(1 — zn/d)M.(d) mod а:<₽(п)/2+1. а, d|n Вычисления по модулю a:'₽<n)/2+1 позволяют с минимальными уси- лиями определить первую половину коэффициентов кругового много- члена. Вторая половина определяется затем согласно свойству 4.346 симметричным образом. Свойства 4.347 и 4.348 полезны для провер- ки результатов. 4.37. Пример. Определим (J(36) и (Д105). <2<36>(а:) — ()(в> (а:6), ф (6) = 2, (?<6> = 1 — х-х1. (>'36> —xi д.12 _ <2<105> (х) -= ? ф (105) = ф (3-5-7) = 2• 4• 6 = 48. М = И-*3) (I-^HI-XTHI-XW) = v 1 ' (1 —г) (1 —®15) (1—z21) (1 —г35) — = (1 -f-1 + ?) (1 — а:5) (1 — а:7) (1 -(-а:15) (1 -фа:21) mod а;25 = = (1 — х-f- а:2) (1 — а:5 — х7 ф а:12 ф- а:15— а:20 + a:21 — a:22) mod а:25. (ф106> _ j — хе — 2а:7 — а:8 — х9 а:12 ф а:13 ф _j_1 ^15 | | _х^____3^^__3^“$_ — а:28 ф х31 ф а:32 -ф х33 -ф а:34 -р а:35 -+- а:36 — х39 —• — х40 — 2Х41 — а:42 — х43 ф х4в ф х47 -ф х48.
104 Гл. 4. Структура конечных полей 4.4. Алгебраическая структура конечных полей Обсуждение алгебраической структуры конечных полей мы нач- нем с изучения аддитивных свойств единицы поля. Наряду с единицей 2 3 поле содержит также элементы 2 1 = 1 + 1, 21=1+1+1 г=1 г=1 п и 2 1 = 1 +1 + ••• +1- Если эти числа, которые мы будем назы- г—1 вать числами поля, не все различны, то существуют такие целые числа т п т—п т и п, что 2 1 — 2 или 2 1 = 0- 1=1 1=1 1=1 4.401. Определение. Наименьшее натуральное число с, С для которого в данном поле 2 1 = 0> называется характеристикой 1=1 ЭТОГО ПОЛЯ. п Если элемент 2 1 отличен от нуля для любого натурального п, 1-1 то говорят, что поле имеет характеристику оо (или, согласно старой терминологии, используемой некоторыми авторами, характеристи- ку 0). Множество чисел поля замкнуто относительно операции умноже- ния, так как п т чпп (2 i)(2 i)= (21)- 1=1 1=1 1=1 тп п п Если 2 1 = 0 и (2 1) =И= 0, то5 умножив на 1/(2 1), получим, что 1=1 1=1 1=1 т тп т п 21=0. Значит, если 21=0, то либо 2 1 = 0, либо 21=0- 1=1 1=1 1=1 1=1 Это приводит к следующему результату: 4.402. Теорема. Характеристика любого поля равна оо или простому числу р. Если характеристика поля равна оо, то оно бесконечно. Если характеристика поля равна р, то его порядок может быть как конеч- ным, так и бесконечным. Например, классы вычетов по модулю р образуют конечное поле характеристики р. Пример бесконечного Э В записях, подобных данной, участвует неявно знак умножения: (т \ / п \ ' 2* 1 * 21 1 = 1 / \1=1 /
4.4. Алгебраическая структура конечных полей 105 поля характеристики р дает множество всех рациональных функций от переменной х, т. е. функций вида / (x)/g (х), где / (х) и g (х) — мно- гочлены от х над полем классов вычетов по модулю р. В любом поле характеристики р множество чисел поля замкнуто не только относительно операций сложения и умножения, но и отно- сительно операций вычитания и деления. Действительно, для любого целого числа к < р, согласно алгоритму Евклида, существуют такие числа j и г, что jk + pr = 1 при 0 < j <С р. Тогда в поле имеем (2 С (2 О = 1, так что 2 1 = (2 I)'1- Это дает i=i i=i i=i i=i 4.403. Теорема. В поле F характеристики р множество чисел поля образует подполе л порядка р, изоморфное Д полю вычетов по модулю р. Следующие выкладки показывают, что свойства поля существен- ным образом определяются свойствами его простого подполя. Пер- вым результатом в этом направлении является 4.404. Теорема. В любом поле характеристики р хр-ар=(х-а)р. Первое доказательство. Пусть / (х) = хр — ар, и предположим, что / (х) = g (х) h (х), где g (х) и h (х) — взаимно простые нормированные многочлены ненулевой степени, так что g' (х) и h' (х) оба отличны от нуля. Тогда /' (х) = 0 = g (х) h' (х) + — g’ (х) h (х). Так как h (х) делит g (х) h' (х) и (g (х), h (х)) — 1, то h (х) делит h' (х). Но это невозможно, так как степень h' (х) мень- ше степени h (х). Следовательно, никакие два делителя f (х) не являются взаимно простыми и / (х) есть степень некоторого неприво- димого многочлена. Так как / (а) = 0, то неприводимый многочлен (х — а) является делителем / (х) и, следовательно, / (х) = (х — а)р, ибо степень / (х) равна р. а Второе доказательство. Согласно формуле бинома Ньютона (х — а)р — 2 {£)(—a)b xp~k, где —биномиальные коэф- фициенты О р(р_1)... (р-Л+1) 1-2-3 ... к При 0 < к < р числитель содержит множитель р, а знаменатель не делится на р, так что (£) = 0 mod р. Это и доказывает теоре- му 4.404. а х) То есть между этими полями можно установить взаимно однозначное соответствие, сохраняющее алгебраические операции; л называется простым подполем поля F.— Прим, перев.
106 Гл. 4. Структура конечных полей Первым следствием этой теоремы является тот факт, что в поле характеристики р не существует элементов, порядок которых кратен р. Действительно, если х/'р = 1, то Ёр — 1 = (xh — 1)р = 0, так что а? — 1=0. Другим следствием этой теоремы является 4.405. Теорема. Если и\, и>2, . . ., wk — элементы поля характеристики р, то k k (2 2 < i=i 1=1 для любого натурального п. Доказательство. Прежде всего докажем теорему индукцией по п для частного случая к = 2. Предположение индукции состоит в равенстве {w1 + w2)vn = w?n 4- wpTl. При n = 0 это утверждение тривиально. В общем случае (Wi + w2y>n+l= l^+w^]^ = (irfn4-u;Pn)p [согласно предположению индукции] = — (х — а)р [при х — юрП и й=—wpn] = = xv — а1' [согласно теореме 4.404] = = (wvy> -l (wvny = wvn+l 4- щрп+1_ Таким образом, при к=2 теорема справедлива для всех п. Индук- цией по к покажем, что для любого п k k (2^)рП=2^п- 1=1 i=l М-1 , h n Действительно, (2 ^i)P -(2 wt'T~wh+i)P = i=l 1=1 k = 0/ + z)p” [при у = 2 wi и z = wk+1] =- 1=1 I — i/p 4~ — k ==( 2 ^i)pn+^h+i = 1=1 h n = ( 2 wpn) + n’h+i [согласно предположению индукции] =
4.4. Алгебраическая структура конечных полей 107 Следствием из этой теоремы является один частный случай теоремы Ферма. 4.406. Следствие. Если к — число поля характеристики р, то крП = к для всех натуральных п. Доказательство. ь k k крП=(^ 1>п= 3 1₽п= 3 ! = &• i=l i=l i= 1 С другой стороны, многочлен хр — х в любом поле имеет не более р корней. Следовательно, 4.407. Теорема. Элемент поля характеристики р является числом поля тогда и только тогда, когда он удовлетворяет уравне- нию хр — х = 0. Таким образом, если w — не число поля J), то wp =/= w. Однако, как указывает теорема 4.408, существует связь между элемен- тами w и wp. 4.408. Теорема. Если / (х) — многочлен над простым под- полем л поля F характеристики р и w — такой элемент F, что / (w) = 0, то / (гррП) = 0 для всех натуральных п. Доказательство. Пусть / (гр) = 2 /г w' — 0- Так как г каждое — число поля, то о = (2 }цЁ)рП - 2 (ДИрП = 3 f?nwipn КПЛ1 г г г г Элементы w, wp, wv2, . . . образуют подмножество степеней эле- мента w, и потому их число зависит только от порядка w. Точный результат дает теорема 4.409. 4.409. Теорема. Если w — элемент порядка п в конечном поле характеристики р, то wv™ — w, где т мультипликативный порядок числа р по модулю п * 2). Все т элементов w, wv, iPp2, . . . . . ., гррт различны. Доказательство. Равенство w?>h = wpl выполняется hi t тогда и только тогда, когда гр? -р = 1, что справедливо в том и только том случае, когда pk — рг кратно п, а это верно тогда и только тогда, когда pk = рг mod п. Последнее равносильно тому, что Не элемент простого подполя л.— Прим, перев. 2) Число т называется мультипликативным порядком числа а по модулю п, если т — наименьшее положительное число, для которого ат = 1 mod п.— Прим, перев.
108 Гл. 4. Структура конечных полей pk-i = 1 mo(j п, а это выполняется тогда и только тогда, когда к — i кратно мультипликативному порядку т числа р по модулю п. в Итак, если w — корень уравнения / (ж) = 0, где / (ж) — много- член над простым полем л, то w, wv, wp2 , . . l — различные корни этого уравнения. Следующая теорема показывает, что над полем л чисел поля существует многочлен степени т, единственными корнями которого являются w, wv, wp2, . . ., u?3’”’-1. 4.410. Т е о р е м а. Пусть w — элемент порядка п в конечном поле характеристики р, и пусть т — мультипликативный порядок т— 1 р по модулю п. Тогда коэффициенты многочлена / (х) = Ц (х — wpl) г=0 степени т являются числами поля и этот многочлен неприводим над подполем чисел поля. Доказательство. Так как ггрт = w = ггр0, то ТП — 1 [/(^)]”= п (* -Ир= г=0 тп— 1 - П (^p-^i+1) = г=0 = ]Д (хР — Wpl) — 1=1 m— 1 = П (x^-wv1). г=0 Иными словами, справедливо тождество [/ (ж)]р — / (хр). Если тп f(x)=^_fiXl, г=0 10 тп тп mip=(2Mi)p= 2/^ip г=0 г=0 И тп 1=0 Сравнивая коэффициенты многочленов [/ (ж)]р и / (жр), получаем, что /(гр> — /г для каждого i, так что /г является числом поля. Пусть / (х) = g (х) k (х), где g (х) и h (х) — нормированные многочлены над полем л. Так как / (и>) = 0, то либо g (w) — 0, либо
4.4. Алгебраическая структура конечных полей 109 h (w) = 0. Если g (w) = 0, то, согласно предыдущему, g (wp) = 0, g (wp2) = 0, g (w?p3) =0, . . ., g (wp”1-1) = 0, так что степень g (x) равна m и g (x) =f (x). Аналогично, если h (w) =0, to h (x) = f (x). a m— 1 Многочлен f (x) = [] (# — wpl) называется минимальным много- i=0 членом элемента w, так как любой многочлен g (х), для которого g (и?) = 0, удовлетворяет также условиям g = 0 и, следова- тельно, делится на / (х). Степень т многочлена / (х) называется степенью элемента w. Так как элементы и?, г№2, . . ., г№т-1 должны иметь тот же самый минимальный многочлен, что и элемент w, то они называются сопряженными с w. По той же причине мнимые числа +г и —г называются сопряженными: они оба являются корнями неприводимого действительного многочлена х2 + 1. Так как минимальный многочлен элемента w является неприво- димым многочленом степени т над простым подполем л, то рт много- членов от w степени < т над л различны. Они образуют поле. Хотя этот факт несколько раз использовался в предыдущих разделах, сама теорема настолько важна, что мы воспользуемся возможностью привести ее доказательство. 4.411. Теорема. Если w — элемент поля степени т, то все многочлены от w над простым полем л, степени которых не превы- шают т — 1, образуют подполе порядка рт. Доказательство. Прежде всего заметим, что разные многочлены g± и g2 от ш дают разные элементы поля, так как в про- тивном случае ш — корень их разности gr — g2 и deg (gj — g2) < m. Сумма или разность многочленов от ш степени < т также являет- ся многочленом от w степени < т. Произведение двух многочленов от w степени < тп после редукции по модулю минимального многочле- на дает некоторый многочлен от w, степень которого < т. Мульти- пликативный обратный любого многочлена от w степени < т может быть найден путем применения к этому многочлену и минимальному многочлену для w алгоритма Евклида. Так как минимальный много- член элемента w неприводим, то их н.о.д. равен 1 и равенство а (x) g (х) + b (х) / (х) = 1 дает соотношение g (ш) a (w) = 1, так что а (ш) — обратный элемент для g (ш). Таким образом, многочлены от w над простым полем л, степень которых < тп, образуют поле порядка рт. Каждый элемент этого поля может быть представлен т—1 в виде и = 2 atwl, где а0, аг, . . ., am_j — числа поля. а i=0 Теперь мы можем показать, что каждое конечное поле может быть получено таким путем.
110 Гл. 4. Структура конечных полей 4.412. Теорема. Порядок конечного поля равен степени его характеристики. Доказательство. Предположим, что поле имеет поря- док q и характеристику р. Согласно теореме 4.24, в поле содержит- ся примитивный элемент а порядка q — 1. Число сопряженных с а элементов равно мультипликативному порядку числа р по модулю q — 1; обозначим это число через т. Так как q — 1 делит рт — 1, то q — 1 рт — 1 и Так как степень а равна т, то все многочлены от а, степени которых меньше т, различны и рт q. Следовательно, q = рт. а Если уже показано, что каждый элемент х поля порядка q удовлетворяет уравнению хЧп 1 = х, то (xqn 1)q = х9 = х, или xqn = х. Следовательно, используя индукцию по п, получаем дру- гое обобщение теоремы Ферма. 4.413. Теорема. Каждый элемент поля порядка q удовлетво- ряет равенству xqn — х при любом п. Множество классов вычетов по модулю заданного неприводимого многочлена / (х) степени d над полем порядка q образует поле поряд- ка qd. Если обозначить через а класс вычетов, содержащий х, то / (а) = 0. Таким образом, хотя / (х) неприводим над полем поряд- ка q, в поле порядка qd он имеет корень. Так как а является элемен- том поля порядка qd, то, согласно теореме 4.413, aqnd — а = 0 для любого п. Кроме того, элемент а удовлетворяет уравнению / (а) = 0. Следовательно, а является общим корнем многочленов ж9™1 — х и f (х). Тогда xqnd — х = g (х) f (х) + г (х), где степень остатка г (х) меньше степени d многочлена / (х). В частности, полагая х = а, получаем, что aqnd — а = g (сс) f (а) + г (а) или 0 = 0 + г (а). Но все многочлены от а, степени которых меньше п, представляют собой различные элементы поля порядка qnd, так что из соотноше- ния г (а) = 0 следует, что г (х) = 0. Это доказывает теорему 4.414. 4.414. Теорема. Если к кратно d, то каждый неприводи- мый многочлен степени d над полем порядка q делит xqk — х. Например, каждый неприводимый двоичный многочлен степени 1 или 3 должен делить ж23 — х. Произведение всех неприводимых двоичных многочленов степеней 1 и 3 равно х (х 1) (х3 + х -|- 1) X X (х3 + х2 + 1). Это произведение также должно делить а? + х. Так как степень этого произведения равна 8, то должно выполнять- ся равенство х (х + 1) {з? + х + 1) (х3 4- х2, + 1) = х2’ + х, кото- рое легко проверить с помощью непосредственных вычислений. В общем случае произвольного поля порядка q произведение всех различных нормированных неприводимых многочленов, степени
Алгебраическая структура конечных полей 111 которых делят к, является делителем многочлена xqh — х. Степень xqh — х равна qk, степень произведения всех различных нормиро- ванных неприводимых многочленов, степени которых делят к, равна сумме степеней всех этих многочленов. Для каждого т, делящего к, имеется 1т различных нормированных неприводимых многочленов степени т. Следовательно, степень произведения всех различных нормированных неприводимых многочленов, степени которых делят к, равна 3 т^т- Согласно теореме 3.35, это число равно qk и, еле- т m|h довательно, получаем 4.415. Теорема. Произведение всех неприводимых нормиро- ванных многочленов над полем порядка q, степени которых делят к, Q k равно хч — х. В частности, над полем вычетов mod р многочлен xv* — х рас- падается в произведение всех нормированных неприводимых много- членов, степени которых делят к. В поле порядка рк многочлен xl>k — х разлагается в произведение pk линейных множителей. Так как поле вычетов mod р — подполе поля порядка рк, то прирав- нивая эти два разложения в поле порядка рк, получаем 4.416. Теорема. Если f (х) — многочлен степени т над полем вычетов по модулю р и т делит к, то поле порядка рк должно содер- жать т корней многочлена / (х). Из этого результата можно вывести единственность конечного поля порядка рк. Для доказательства этого факта рассмотрим неко- торый конкретный неприводимый многочлен / (х) степени к над про- стым полем. Любое конечное поле порядка рк содержит к корней / (х). Если обозначить через а один из этих корней, то каждый эле- мент поля может быть представлен в виде многочлена от а степе- ни < к. Это дает теорему 4.417. 4.417. ' Теорема. Для каждого простого числа р и произволь- ного к существует единственное конечное поле порядка рк. Это поле называется полем Галуа порядка рк и обозначается через GF (рк). С точки зрения прикладника такое подчеркивание факта един- ственности поля GF (рк) вводит в заблуждение, так как это поле, как мы видели в примере разд. 4.5, может иметь много различных представлений. Конструкция и стоимость оборудования, реализую- щего вычисления в GF (рк), существенно зависят от выбора пред- ставления поля. Поэтому некоторые инженеры предпочитают рас- сматривать различные представления GF (рк) как различные поля.
112 Гл. 4. Структура конечных полей Эта точка зрения, в частности, оправдана в ситуациях, при которых переход от одной форумы представления к другой дает большой выигрыш. Нормированные неприводимые многочлены, степени которых делят к, образуют подмножество множества нормированных неприво- димых многочленов, степени которых делят у, тогда и только тогда, когда / кратно к. Следовательно, если q — некоторая степень про- стого числа,' то справедлива 4.418. Теорема. Поле GF (qh) является подполем поля GF (q^) тогда и только тогда, когда j кратно к. Если / (х) — неприводимый многочлен степени т над полем GF (q), то каждый корень / (х) лежит в GF (qm). Если w — один из таких корней, то все корни совпадают с w, wqt . . ., Эти эле- менты называются q-сопряженными с w. Если q — степень простого числа р, то ^-сопряженные элементы составляют подмножество соот- ветствующих р-сопряженных элементов. 4.5. Примеры В качестве непосредственной иллюстрации рассмотренных теорем исследуем разложение двоичного многочлена х1 — х: х1 — х = х (х3 — 1) = xQ<F> (х) ()(3) (х) = х (х — 1) (х2 -ф х 1). Это разложение справедливо над любым полем. Над двоичным полем (полем из двух элементов) + и — взаимозаменяемы и потому х4 — х = х (х ф- 1) (х2 ф- х + 1). Множитель х2 ф- х ф- 1 является неприводимым двоичным многочле- ном второй степени. Для разложения этого неприводимого многочле- на надо расширить поле так, чтобы включить корни многочлена. Если обозначить через £ один из его корней, то ¥ + I + 1 = 0 или £2 = 1- + 1. Другой корень этого квадратного многочлена, а именно S2, является двоично сопряженным с £. Обозначим его через д. В GF (4) имеем полное разложение х4 — х = х (х + 1) (х + £) (х + д). Здесь д = % + 1 = и I = д + 1 = д2. Четыре элемента поля могут быть представлены как четыре двоичных многочлена от £ (или д), степени которых < 2; три ненулевых эле- мента поля могут быть представлены в виде соответствующих сте- пеней £ (или д').
4.5. Примеры 113 В качестве более поучительного примера рассмотрим разложение двоичного многочлена х1 — х и несколько связанных с ним представ- лений поля GF (16). Начнем с разложения на круговые многочлены: х16 — X —х(х15 — 1) — = XQ(1)(X) Q(3)(x) Q(5)(x) Q(15)(X) — x(x— 1) ( A'2 -f- X + 1) (x4 4-x3-f-x2_|_x-|_ 1) (#8 — A 7 x5 — A 4 _{_ дЗ _ X -j- 1) . Это разложение справедливо над любым полем. Читателю предла- гается проверить, что Qi15) (х) = х8 — х7 + х5 * — х4 + х3 — х + 1. В двоичном поле многочлен (А15) распадается на два примитивных неприводимых квадратных многочлена 4>. Одним из методов опреде- ления этих множителей является метод исключения. Об<1 множителя могут быть записаны в виде х4 ф- Лх3 + Вх2 + Сх + 1, где А, В и С — двоичные числа. Так как 1 не является корнем многочлена, то должно выполняться условие А 4~ В -}- С = 1, так что либо вЬе три коэффициента А, В, С, либо только один из них равны 1. Первый случай исключается, так как приводит к (х). Наконец, х4 ф- х2 ф- 1 = (х2 ф- х ф- I)2, так что (Д15) (х) = (х4 ф- х8 ф- 1) (х4 ф- х ф- 1). Более простой метод определения двух неприводимых делителей многочлена (X15) (х) базируется на том факте, что если и g GF (q) и х g GF (qm), то преобразование х -> х ф- и переводит сопряженные элементы в сопряженные и неприводимые многочлены в неприводи- мые. Например, в рассматриваемом случае многочлен (><5) (х) непри- водим, и, значит, неприводим многочлен (?<5) (х ф 1) = (х ф I)4 + ф ( х ф I)3 ф (х ф I)2 ф (х ф 1) ф 1 = (х4 ф 1) ф (j8 ф х2 ф ф- х ф- 1) ф- (х2 ф- 1) ф- (х ф- 1) ф- 1 = х4 4- х8 4- 1. Так как этот неприводимый трехчлен не делит (Д5) (х), то он должен делить (Д15) (х). Другой делитель многочлена (Д15) (х) есть многочлен х4 (х-4 ф- х~3 ф- 1) = х4 ф- х8 + 1, взаимный с этим делителем. Любой из методов дает следующее разложение над GF (2): х16 - х = х (х ф 1) (4 ф I ф1) (х4 ф 4 ф г ф х ф 1) х X (х4 ф х3 Ф 1) (х4 ф х ф 1). Расширяя двоичное поле присоединением £ и д, корней многочлена 4) Следуя Диксону [1901] и Алберту [1956], все кодовики-теоретики опре- деляют сейчас примитивный многочлен степени т как неприводимый делитель многочлена Q над GF (q). Согласно классической терминологии, которой придерживаются многие математики, примитивным называется целочисленный многочлен со взаимно простыми коэффициентами. 8—658
114 Гл. 4. Структура конечных полей 1 Представление в ви- де Степеней а Представление в ви- де отрицательных степеней а Представление в ви- де многочленов от : а степени < 2 над GF (4) Минимальные мно- гочлены над GF (4) Элементы поля GF (16) Минимальные мно- гочлены над GF ^2) Представление в ви- де двоичных много- членов от а степе- ни <" 4 1 2 3 4 5 6 7 00 X 0 X 0000 а° а-13 01 X 4-1 1 a?4~ 1 0001 а1 а-и 10 x2-]-x 4-g a a:4 4- x 4-I 0010 а2 а-13 1g x2 -|- x -|- 9 Ф a:4-J- x 4~1 0100 а3 а-12 a;2 -|- dx 4- 1 У xi 4~ *3 4~ x2 4- x 4-1 1000 а4 а-и 11 a:2 4-3: _|_g JT a:44~ x-^-1 ООН а5 а-ю 0g x +g g a:2-pa::-1 оно а6 а-9 go x2 + ga: +1 6 a:4 4- a:3 a:2 4"1 4~ 1 1100 а7 а- 8 ga a:2 44*44 ₽ a:4 4“ x3 4"1 1011 а3 а"7 id a:2 -j- 37 + d p a:4 x 4-1 0101 а» а-6 gg *2 44* 4-1 H a:4 4-a:3-J-a:2 4“ a: 4~ 1 1010 а10 аг 5 09 x 4-3 9 x2 4- x 4-1 0111 а11 а-* 90 x2 -|- dx 4- d X a:4 4- a:3 4-1 1110 а12 а-3 di a:2 4~ dx -j-1 0 a;4 4-a:3 4-a:2 4~ a: 4~ 1 1111 а13 а-2 gl a:2 44* 44 V a:4 a:3 4" 1 1101 а44 а-1 dd x2 4- 6a: 4" 9 g a:4 -J- a:3 4"1 1001 х2 4- х + 1, получим поле GF (4). Разложение над GF (4) имеет вид х16 — х = х (х + 1) {х 4- S) (х + д) (х2 4-^4-!) X х (X2 + дх + 1) {X2 4-^4-^) {X2 + дх + д){х2 4- * 44) х X (х2 4- х 4- д). Читатель должен отметить, что £ и д появляются в разложении сопряженными парами аналогично тому, как при разложении дей- ствительных многочленов на комплексные множители появляется пара 4~ i и —i. Происходит это по той же причине. Комплексно сопряженные числа -\~i и — i представляют собой корни одного и того же действительного неприводимого многочлена х2 4* 1; £ и д сопряжены, поскольку они являются корнями одного и того же неприводимого двоичного многочлена х2 4~ х 4* 1- Очевидно, что х2* — х распадается над GF (4) на четыре неприво- димых линейных и шесть неприводимых квадратных множителей; читатель может проверить это методом исключения.
4.5. Примеры. 115 Таблица 4J Двоичные loga Представление в ви- де степеней 0 Представление в ви- де двоичных много- членов от 3 степе- ни < 4 над GF (2) Представление в ви- де двоичных линей- ных комбинаций от 08, 04, 02, 0 Попытка представ- ления в виде степе- ней v 1 Представление в смежных классах по степеням ? 1 Представление в смежных классах । по степеням ? Представление в ви- де двоичных мно- гочленов от v сте- пени < 4 над GF (2) Двоичный след След в OF (4) 8 9 10 и 12 13 14 15 16 17 0000 0000 0 0 0 0000 0 О 0000 ₽° 0001 1111 <у0 <у0 <у0 0001 0 О 0001 013 оно ООН ау° Лу4 1010 0 1 0010 ₽П 1101 оно ФУ° Ху2 оно 0 1 ООН 0101 1101 У У У 0010 1 д 0100 ₽7 0111 1100 ay Л 1011 0 1 0101 ₽5 1011 0101 ФУ Ху3 1100 0 О оно ₽3 1000 1011 У2 У2 У2 0100 1 6 0111 Р1 0010 0001 ay2 лу 1001 1 £ 1000 014 1100 1001 ФУ2 Ху4 0111 0 1 1001 012 ООН 1110 <уЗ У3 у3 1000 1 £ 1010 010 1010 1010 ау3 Лу2 1101 0 О 1011 08 1110 1000 фу3 X 1110 1 д 1100 06 1111 0111 У4 у4 У4 1111 1 д 1101 04 1001 0100 ау4 Лу3 0101 1 £ 1110 02 0100 0010 ФУ4 Ху ООП 1 О Для последующего разложения необходимо дальнейшее расши- рение поля до GF (16), дающее те 12 элементов поля GF (16), которые не входят в GF (4). Не ограничивая общности, обозначим эти дополни- тельные 12 элементов различными греческими буквами: л1б— х=х Q(D(x) Q(3)(x) ~х (x-j-1) (x2-j-a4-i) --х (x-f-l) (x2-H*4-i) Q<5)(x) (x44-x34-x24-X-H) (x4-f-x34-x2-f_x4-1) t Q<is>(x)= (х8-|-х7+хб+х4+хЗ+х+1)= (Х44-ХЗ4-1) (x«+x+1)= =x (x-f-1) (x+^)(x+9) (x2+fx+l)(x2+9x+l) (x2+^x+J)(x2+ax+0)(x2+x+J)(x2+x-H)= =x (x-H) (x-H)(x+9) (x+6)(x+u)(x+v)(x+6) (x+P)(x+v)(x+X)(x-|-E)(x+a)(x+n)(x4-<ii)(x-f-p). Так как a — один из восьми корней многочлена <2<15) (х), то он примитивный элемент и каждый из 15 ненулевых элементов поля может быть записан в виде степени а. Эти результаты приведены в столбцах 1 и 2 таблицы 4.1. Так как a — корень неприводимого над GF (4) квадратного многочлена х2 + х + g, то каждый элемент поля GF (16) можно 8*
116 Гл. 4. Структура конечных полей представить в виде многочлена от а над GF (4), степень которого < 2. Соответствующие результаты приведены в столбце 3. Соответствующие строчки столбца 3 могут быть получены с помощью представленного на рис. 4.1 регистра с обратной связью, если позаботиться о том, чтобы правильно выполнялись все арифме- тические операции поля GF (4). Для этого необходимо использовать равенства £2 = £-^1=дид2 = д + 1=!;. Используя столбец 3, можно отождествить остальные элементы Р И с. 4.1. Регистр сдви- га с обратной связью над GF (4). поля GF (16). Ясно, что а2 совпадает с элементом л, сопряженным с а относительно GF (4); а5 равно £ и а10 равно д, а2 и а8 сопряжены с а относительно GF (2), но не относитель- но GF (4). Следовательно, они — корни одного и того же неприводимого двоичного многочлена четвертой степени и разных неприводимых квадратных многочленов над GF (i). Эти элементы обозначены через <р и р (в произвольно выбранном порядке). Так как аил — корни квадратного урав- нения х2 х + £ = 0, то они являются также корнями многочлена дх~2 (х2 4- х -[- £) = = х2 4- Эх-1 4- д и, следовательно, а"1 и л'^а'4— корни квадратного уравнения х? -Т дх 4~ д = 0. Такими элементами являются X и £. Аналогично а-2 и а-8 — корни многочлена х2 4- \х. 4- и они совпадают с 0 и v. Наконец, нам осталось определить, с какими из пар {а3, а12} или {а6, а9} сопряжены корни многочленов х2 4- 4- 1 и х2 4- дх 4- 1 относительно поля GF (4). Так как [(а3)2 + 1]/а3 = д, то заключаем, что а3 и а12 — это у и 0, а а6 и а9 - это 6 и р. Таким образом, полу- чаются 16 элементов, список которых приведен в столбце 5. Они являются корнями соответствующих неприводимых многочленов над GF (4), записанных в столбце 4. Отметим, что, не меняя столбца 4, можно переименовать любую пару сопряженных относи- тельно GF (4) элементов. В столбце 6 для каждого из 16 элементов выписаны минимальные двоичные многочлены. Они получаются непосредственно из разложе- ния неприводимых двоичных многочленов четвертой степени на неприводимые квадратные многочлены над GF (4). Заметим, что произвольный элемент, его квадрат, его четвертая степень и его восьмая степень являются корнями одного и того же неприводимого двоичного многочлена. Так как а является корнем неприводимого двоичного многочлена четвертой степени х4 4- х + 1, то можно пренебречь подполем GF (4) и выразить каждый элемент поля как двоичный многочлен от а степе- ни < 4. Такое представление приведено в столбце 7. Соответствующие степени а найдены как подходящие состояния регистра сдвига с обратной связью для умножения на а; см. рис. 4.2.
4.5. Примеры 117 В большинстве случаев наиболее удобными являются представле- ния, приведенные в столбцах 1 и 7. В машинной обработке исполь- зуется почти исключительно представление, записанное в столбце 7. Однако при ручных вычислениях полезными оказываются оба пред- ставления. Умножение, деление, возведение в степень и извлечение корня более удобно выполнять в терминах представления, заданного в столбце 7. В столбце 8 приведена двоичная запись логарифмов ненулевых элементов по основанию а. Такая запись имеет несколько преиму- ществ. Например, двоичный *) логарифм мультипликативного обрат- ного к элементу поля получается путем поэлементного дополнения двоичного логарифма самого элемента. Единственной особен- ностью является появление по- следовательности единиц в ка- честве дополнения к нулевой последовательности, представ- ляющей двоичный логарифм еди- ницы. Такая единичная после- довательность должна также пониматься как двоичный лога- рифм единицы. Нулевая и еди- а4 = а + 1 Рис 4.2. Регистр сдвига с обратной связью для умножения на а. ничная последовательности являются эквивалентными представле- ниями одного и того же числа, подобно тому как -ТО и —0 являются в действительности одним и тем же числом. По существу арифмети- кой двоичных логарифмов является так называемая арифметика «дополнения до единиц», которая повсеместно используется в опре- деленных типах вычислительных программ и арифметических блоках. Другим более важным преимуществом двоичной записи логариф- мов является то, что двоичный логарифм каждого из двоично сопря- женных элементов может быть получен с помощью циклического сдвига двоичного логарифма самого элемента. Например, двоичные логарифмы сопряженных элементов а11, а22 = а7, а14 и а28 = а13 равны векторам 1011, 0111, 1110, 1101, каждый из которых является левым циклическим сдвигом своего предшественника. Аналогично двоичные логарифмы GF (4) -сопряженных элементов являются дву- кратными циклическими сдвигами друг друга. В полях характеристики р р-ичные 2) логарифмы обладают таки- ми же преимуществами, какими обладают двоичные логарифмы в полях характеристики 2. Выбор примитивного элемента а, через который выражаются все остальные элементы поля, является несколько произвольным. 4) Не путать с логарифмом по основанию два!— Прим, перев. 2) Опять имеется в виду р-ичная запись логарифмов, а не их основание.— Прим перев.
118 Гл. 4. Структура конечных полей В столбце 9 приведена реализация, связанная с выбором другого корня 0 неприводимого примитивного двоичного многочлена X* + ж8 + 1 четвертой степени. В столбце 10 выписано представле- ние элементов поля в виде двоичных многочленов от р степени < 4. В столбце 11 дается иное представление элементов поля в виде линей- ных комбинаций элементов р, р2, 04 и р8. Аналогичным образом все элементы поля могут быть представлены в виде линейных комбина- ций любых четырех линейно независимых элементов поля, т. е. четы- рех элементов, для которых все 16 двоичных комбинаций различны, или, иначе, элементов, для которых ни одна ненулевая линейная комбинация не равна нулю. Некоторые множества из четырех эле- ментов, как, например, {а, а2, а4, а8}, удовлетворяющие уравне- нию а + а2 + + и8 = 0, не являются независимыми. Множество из четырех линейно зависимых элементов поля нельзя выбирать в качестве базиса для представления поля. Четыре элемента поля, используемые в качестве базиса представ- ления, выписанного в столбце 11, а именно X = 08, v = 04, £ = р2 и р, представляют собой полное множество двоично сопряженных элементов. Поэтому, используя этот базис, можно возводить в квад- рат и извлекать квадратные корни из элементов поля, используя только перестановку позиций в представлении. Возведение в квадрат выполняется с помощью левых циклических сдвигов, а извлечение квадратного корня — с помощью правых циклических сдвигов. В отношении этих операций столбец 11 подобен столбцу 8. Однако на этом аналогия кончается. Представление, выписанное в столбце 11, и представления в столбцах 7, 10 и 15, являются линейными: сложе- ние элементов может быть выполнено покомпонентно. Представле- ние, приведенное в столбце 8, этим свойством не обладает; сложение двух элементов поля, заданных только представлением столбца 8, составляет существенную проблему. В терминах представлений столбцов 7, 10, 11 и 15 сложение является тривиальным, однако умножение значительно сложнее. Возведение в квадрат наиболее просто выполнимо в терминах представления, выписанного в столб- це 11, но умножение двух произвольных элементов является более сложным. Поэтому практически наиболее часто используется пред- ставление элементов поля в виде двоичных многочленов от некото- рого корня неприводимого двоичного многочлена. В столбце 12 сделана попытка представления элементов поля в виде степеней непримитивного элемента у, являющегося корнем многочлена <?<5) и не являющегося корнем Представление оши- бочно, так как у5 = 1 и имеется только пять различных степеней у. Однако в столбцах 13 и 14 выписаны допустимые представления ноля через степени у и смежные классы. Различный выбор лидеров смежных классов по подгруппе этих степеней в столбцах 13 и 14 иллю- стрирует тот факт, что два смежных класса либо не пересекаются, либо полностью совпадают.
4.6. Алгебраическое замыкание 119 В столбце 15 выписано представление элементов поля в виде двоичных многочленов от у степени < 4. Так как у — корень непри- водимого двоичного многочлена четвертой степени, то это представ- ление допустимо несмотря на то, что этот многочлен не примитивен. Интересно остановиться на изображенном на рис. 4.3 регистре сдвигов с обратной связью, предназначенном для умножения эле- ментов поля на у в данном представлении. При любом начальном 74=Т3 + у2 + у + 1 Р и с. 4.3. Регистр сдвига с обратной связью для умножения на у. состоянии регистр проходит через каждое из остальных четырех состояний, входящих в смежный класс начального состояния, и затем возвращается в исходное положение. В столбцах 16 и 17 выписаны следы элементов поля GF (16) относительно подполей GF (2) и GF (4). След в GF (qm) относительно GF (q), часто обозначаемый через Тг, Определяется соотношением т— 1 Тг (х) = У х«\ 1=0 Так как [Tr (x)]q = Tr (х3) — Тг (х), то Тг (х) £ GF q). Как будет видно из теоремы 6.69, след дает информацию о реше- нии в данном поле некоторых квадратных и кубических уравнений. 4.6. Алгебраическое замыкание Так как к\ делит j\ при к < j, то GF (р) cz GF (р2') cz GF (р3') с GF (pv) cz . .. . Определим GF следующим образом: "EGGF (р°°') тогда и только тогда, когда £ g GF (рп') для всех достаточно больших п. Каждый элемент поля GF (р°°') имеет конечный порядок, хотя порядок самого поля равен оо. Как показывает теорема 4.61, поле GF (р°°') является алгебраи- чески замкнутым. 4.61. Теорема. Каждый многочлен степени d над GF (р°°') имеет в GF (р°°') точно d корней. Доказательство. Если / (х) — многочлен над GF (р°°'), то найдется такое к, что все коэффициенты / (х) лежат в GF (ph).
120 Гл. 4. Структура конечных полей Если g (х) — неприводимый делитель / (х) над GF (pk) и степень g (х) равна i, то все корни g (х) лежат в поле GF (pkl), являющемся при достаточно большом п подполем поля GF (рп"). Следовательно, корни / (х) лежат в GF (р'х'). а *4.7. Определение минимальных многочленов Если w — корень в GF (qm) неприводимого многочлена степени т над GF (q), то каждый элемент поля GF (qm) может быть представлен в виде многочлена от w степени < т. Каждый элемент из GF (qm) является корнем некоторого минимального многочлена над GF (q), степень которого делит т. Часто бывает необходимо определить этот минимальный многочлен. Например, предположим, что w — корень в GF (2е) кругового многочлена <2(8) (х) = .г6 + х3 + 1. Так как мультипликативный порядок числа 2 по модулю 9 равен 6, то w имеет в поле GF (2е) 6 раз- личных сопряженных элементов й <2<8) (х) неприводим над GF (2). Предположим, что и — w? + w + 1. Каков минимальный много- член элемента и? Наиболее простое решение этой задачи состоит в представлении элементов и, и2, . . ив в виде многочленов от w и нахождении их линейной комбинации, равной 0. Для настоящего примера имеем 1 = 1 и = 1 + w + W3, и2 = н3 = 1 U4 = 1 и5 = н6 = W2 -{- W3, + w2 w3 + wi 4- гл5, 4- w3 4- ш4, w3-'-w4 4- ш3, w -J- w2 -4- w3 -4 иЧ 4- w3. Решая уравнение 1 0 0 0 0 0’ 110 10 0 0 0 110 0 [Л/о, МJ, Mi, Мз, М$, Mg] 10 1111 =[0, 0, 0, 0, 0, 0], 10 0 110 0 0 0 1 1 1 .011111 получаем, что М = [1, 1, 1, 0, 0, 1, 1]. Таким образом, минималь- ный многочлен и равен 1 4- я + ? + ? 4
4.7. Определение минимальных многочленов 121 Преимуществом этого метода является его общность. Он также легко программируется для вычислительных машин и легко реали- зуем даже для больших полей. Однако в определенных частных слу- чаях вычисления вручную могут быть значительно уменьшены за счет использования соответствующих сокращений, которые сейчас будут описаны. Если известно, что М (х) — минимальный многочлен элемента w, то минимальный многочлен элемента w — к, который мы будем обо- значать через G(x), очевидно, задается равенством G (х) = М (х + к). Если к — целое число, то G (х) может быть вычислен по формуле бинома М (х + к) = У Мп (х + к)п = Мп " ) хп~1кг. п п i В поле характеристики р эти вычисления упрощаются, если для биномиальных коэффициентов известны сравнения по модулю р. Эти сравнения впервые были исследованы Лукасом в 1878 г. 4.71. Теорема Лукаса. Если р простое и N^^NiP\ 0<Ni<P, 1=0 K=^KiP\ 0<Ki<P, ' 1=0 TO (к) = П ®mod;’- 1=0 Доказательство. Согласно теореме 4.404, (1 + x)p = 2 ( f ) 2* S= 1 4- Xp mod p. k=0 Продолжая вычисления, получаем (1 -I- x)np+A = (1 -J- xp)n (1 4- z)A mod p, np-j-A n A 2 0’4[3 04mod,. m=0 i=0 j—0 Сравним коэффициенты при xftp+B: О, если О^.А<В <Zp. (np + A\ \&p4-£ /
122 Гл. 4. Структура конечных полей, Полагая I D 1=0 при Л <5, получим, что \ .о / (n/Н-Л\ /п\ / А \ 4f+srWW"a' для любых 0 Л <Zp и 0 В <Zp. На основании этого факта доказательство теоремы легко завер- шается прямым применением индукции по I. Замечание. Теорема не верна для непростых р. Например, ^2) = 1 mod 10, но (J) (2) = 0 mod 10; (2) = 2 mod4, но (J) (2)^ 0 mod 4. 4.72. Следствие. ( j = 0 modp, за исключением того слу- чая, когда К( для всех I. 4.73. Пример. Предположим, что w — элемент из GF (211) с минимальным многочленом М (х) = х11 -Т Xs + я5 + х2 + 1. Каков минимальный многочлен элемента w + 1? Ответ. Работая по модулю два, получаем: 1011 1010 1001 1000 111 110 101 100 И 10 1 0 (z + l)xoll= 1 1 1 1 00001111 (z-t- 1)1000 = 1 1 (2?+1)101= 11 11 (X-L I)10 = 11 1= 1 1 1 1 0 00111001 G (x) — x11 -j- x10 -f- xa -|- x5 xi 4- xl 4 1. Часто встречается такая ситуация, когда известен минимальный многочлен МА) (х) элемента а и надо определить минимальный многочлен Мд1) (х) элемент Для некоторых значений к многочлен МА> (я) определяется сравнительно просто. В частности, если порядок а равен п и к сравнимо со степенью характеристики по моду- лю п, то МА) (х) = МА) (х). Другой простой случай — это когда число —А: сравнимо со степенью характеристики по модулю га; тогда МА) (х) = МАА (z). Если МА) (ж) = ^М^х1, то МАА (х) = г = 2 М™_,хг. Вообще МАА (х) может быть получен с помощью
4.7. Определение минимальных многочленов 123 обращения (выписывания в обратном порядке) коэффициентов М<А> (х). Существуют также методы, позволяющие определить Af(fc> (х) по Ml1) (я) для других значений к. Такие методы были описаны Дэйкином [1965], Голомбом [1967] и другими. В качестве примера таких методов рассмотрим определение АГ(3> (х) в поле характери- стики 2 по заданному (х). Так как корни АВ3) (х) являются кубами корней М1-1'! (я), то Aft1) (х) должен делить Л7<3) (я3). Анало- гично, если д — примитивный кубический корень из единицы (д € GF (4)), то Aft1) (дх) и АЛ1) (д2х) также должны делить Л7(3) (я3). С другой стороны, каждый корень многочлена АВ3) (х3) является корнем либо Aft1) (х), либо Aft1) (дх), либо Aft1) (д2х). Следовательно, 4.74. Теорема. Многочлен М^(х)М^'>(дх)М^'>(д‘2‘х) является степенью многочлена Л7<3) (х3). Зная Aft1) (х), можно вычислить М^1>(х)М,-1^(дх)М^1'1(д2х). Так как д3 = 1, то многочлен Л7Т1) (дх) может быть представлен в виде квадратного многочлена от д, коэффициентами которого являются многочлены от х. Ма> (дх) = А~ Вд-^Сд2, где А = А(;г3), Б = хВ(х3), С = х2С (х3). МЛ} (х) Мш (дх) М(1> (д2х) = = (А + В + С) (А + Вд + С&2) (А + Вд2 + Сд) = = АБС + А3 + Б3 + С3. Например, пусть необходимо определить Л7<3) (х) при ЛГ1’ (х) = = х3 х4 х2 + х 1. Тогда A — l-f-a?6; В — х-)-х4; С = х2. Следуя Голомбу [1967], вычисления будем производить с помощью таб- лицы 4.2, выписывая только показатели степеней ненулевых членов Таблица 4.2 Кубическое преобразование многочлена х8 + х4 -j- as2 + х +1 А В с Дано 0,6 1,4 2 Смешанные члены куба 1 А3 4 2 3 ) В3 3 2 АВС 3 Итог по модулю 2 3 0,6 1,4 4 2
124 Гл. 4. Структура конечных полей многочлена. Начнем с записи в столбце А показателей членов многочлена М(1‘ (х), которые ==0mod3, в столбце В — показателей, которые = lmod3, в столбце С —показателей, которые = 2mod3. Затем найдем члены вида хг+23 (смешанные) в выражении А3. В общем случае А = 2 А{хг и -43= (2 AiX1)3 = (2 А^3)• (2 = г г г з = (2 а^) (2 Ajx23) = 2 4 22 ал^+23- г ; i »=#? Смешанные члены имеют вид х1+2], так как при i =£ j Аг = Aj = 1. В рассматриваемом примере смешанные члены дают: 0-4 2-6 = ~ 12 и 6 + 2-0 = 6. Деля эти кубические смешанные члены на 3, мы получаем 4 и 2, приведенные в таблице. Аналогично мы подсчи- тываем кубические смешанные члены для В3. Это 14-2-4 = 9 и 4 2-1 =6. Деля эти кубические смешанные члены на 3, полу- чаем 3 и 2, приведенные в таблице. Наконец, найдем члены произве- дения АВС. В данном примере таких членов четыре: 0 4-14-2 = = 3,-04-44-2 = 6,•64-1 + 2 = 9и64-44-2 = 12. Их деление на 3 дает числа 1, 2, 3 и 4, приведенные в таблице. Произведя сум- мирование по столбцам и учитывая подобные члены, получаем 0, 4, 6. Значит, М<А*(х) М^\дх) МА)(д2х) = 14- (я3)4 4- (я3)6, так что 1 4- хА + хе — степень многочлена ЛЛ3) (х). Так как М'^Цх) неприводим, то М(3'>(х) = 1 4- х2 4- х3. Практически многочлен М^Цх) М<А)(дх) М^1'>(д2х) обычно ока- зывается равным первой степени М(3>(х3). Это справедливо всегда, если M^fx) имеет четную степень, и обычно получается в других случаях. Однако, как показывает рассмотренный пример, может Таблица 4.3 Кубическое преобразование многочленов 14- х2 4- х5 и 14- х2 4- х3 -J-sc4 4- х5 А в с М>1> (х) 0 2,5 Смешанные члены куба 3 4 АВС 3 Л/<3> (х) 0,3 4 2,5 Смешанные члены куба Л3 1 2 3 J С3 3 4 АВС 3 3,3 4 2 М<») (х) 0 1,4 5,2
Задачи 125 случиться, что М^>(х) М^Цдх) M^fid^x) является квадратом много- члена М<-3\х3). В качестве последнего примера вычислим минимальные много- члены всех элементов поля GF (25), если М^'>{х) = 1 + х- z5. В таблице 4.3 выписаны результаты вычисления М<3) (х). Повторяя преобразование, вычисляем затем М(9> (х). Зная М^(х), М^(х) и ЛЛ9) (х), тривиальным образом вычисляем М'-Щх), М^Цх) и ЛЛ~9) (х). Это дает все неприводимые двоичные многочлены пятой степени, приведенные в таблице 4.4. Аналогичные методы могут Таблица 4 4 Минимальные многочлены элементов поля GF (25) Циклические сдвиги двоичной записи показателей 00001 М11) (х) =М(2) (х) (х) =М(8) (х) =М(1в> (х) — l-f-x2-J-x5 0001 1 М<3) (х) (х) (х) — (х)=М(^ W = 1-}-х24-х34-х44-Ж5 00101 М<5) (х) =М(10) (х)=М(20> (х)=М(9> (х) =М(18) (X) = f-|-X-J-x2-J-x4-[-X5 00111 М<7) (х) (х)=М(28) (xj=M<25) (х)—М(19) (х)=М<-3) (х)= 1-J-x-}-x24-x34-x5 01011 М(11> (х)=М(22> (х) = М<13> (х)=М<2в> (х)=М(21> (х)=М<“5) (х) — 1 +x4-x3-j-x4+x5 01111 м‘15 > (х)=М<30) (х)=М<29) (х)=М(27) (х)=М<23> (х)=М<-1) (х) — 14-х34-х5 00000 м<0> (х) = 1-=х быть использованы для нахождения М^(х) непосредственно по ЛЛ1) (х); отправной точкой при этом служит то, что M<F>(x) является корнем многочлена (х) М{1) (£х) М^> (%?х) ЛВ1’ (£3;г) М(1> (£4х), где £ — примитивный корень из единицы пятой степени. Подобным же образом могут быть найдены М1Г>(х), .... Хотя рассмотрен- ная техника особенно полезна при ручных подсчетах многочленов относительно малой степени, она обычно облегчает и машинное вычисление многочленов большей степени с помощью методов, опи- санных выше. Задачи 4.1. (Лехмер [1936]). Доказать следующие утверждения относительно коэф- фициентов круговых многочленов q>(n) Q(«> (х) = 2 Q("> хг. 1=о (а) Если п равно произведению двух различных простых чисел, то ] равны 0 или 1 при всех i.
126 Гл. 4. Структура конечных полей (Ь) Если п < 105, то | | равны 0 или 1 для всех i. (с) Для произвольного заданного числа А существуют такие п и i, что | Q[n) I > А. t Указание. Пусть п = Ц Pj, где t А + 1 и Pj — различные простые числа, 3=1 п такие, что рг/2 < р4 < р2 < • • < Pt- Показать, что = 1 — t. (d) Для любого заданного числа А существуют такие простые числа р, q и г, что । । д дЛЯ всех Указание. Для данного р > 2А теорема Дирихле гарантирует существова- ние таких q и г, что q = 2 mod р, 2г = — 1 mod pq. Показать, что & (щ+1)/2 = (Р ~ № 4.2. Пусть примитивный элемент а поля GF (22”’) является корнем много- члена МА> (х). Определить минимальный многочлен а над GF (22) и над GF (2т) в каждом из следующих случаев: (а) 2т = 6, ЛИ1» (х) = х3 + х + 1. (Ь) 2т = 8, № (х) = Xs + хА + х3 ж2 + 1. (с) 2т = 10, МА>(Х) = х10 + х3 + 1. 4.3. Так же, как в задаче 4.2, для т = 3, 4, 5 и каждого £ g GF (2”») найти такое число п (£), что а + £ = а”. Найти такие числа i (£) и ] (В), что а + ? = (З’уЛ где р = а2т+4 и у = а2”1-1. 4.4. Показать, что умножение и деление произвольных элементов поля GF (22m) вида А а + В, АВ g GF (2m) может быть сведено к сложению и вычита- нию чисел по модулю 2”» + 1 с помощью четырех таблиц, содержащих не более 2”1 элементэв. Указание. Если А =£ 0, то Аа В = А (а + В!А). 4.5 (Берлекэмп [1968с]). Пусть q — степень простого числа, т — простое т— 1 число, а — примитивный элемент поля GF (qm). Пусть Тг (х) = 2 • Для 1=0 каждого элемента g g GF (?) положим S^={k (gm — 1) и Тг (aft) = £}. Ясно, что [J 5g = {0, 1, 2, . . ., t (qm — 1) — 1}. Показать, что для каждого В множество 55 содержит арифметическую прогрессию не более чем из t членов. 4.6. Пусть 7?(п) (г) = 2 хк, так что = к Л<1) = 1?(2> = 1, Д(з> = 1 ВА> = 1 _|_2z, Л‘5> = 1 -(-Зх + а:2, 7?(6> = l+4a:4-3a:2, . . . . Доказать следующие утверждения: (а) /?(”+!) = /?(”> -L жД(п-1). (Ь) /{(п+т> = Д(т+1)Д(П> 4- xfltnwflcn-1). (с) Если d | п, то | /?<”>. (d) Если / (х) — неприводимый многочлен и f | 7?<Л, но / ] /?<’> для любого i < d, то / t /?<”>, за исключением случая, когда d | п.
Задачи 127 (е) Если d = и. о. д. (п, т), то и. о. д. (/?<">, = R«F. (f) /?<2п+1> = [7?(П+1)]2 _|_ х [Д(П)]2. (g) /?<2п) = [7?(П)]2 4- 2х/?<П>/?(П-1). (h) Над полем GF (2): = 1; /?<2а+1) = z2*"1, R^a-V = 1 4. к=0 г=0 и xR<2a+VR^a-V =^“ + х. (i) Над полем GF (2): если f (х) — неприводимый многочлен, f | /?<”> , но f i для любого I < п, то степень f (х) равна d, где d — наименьшее из чисел j, таких, что 21 = + 1 mod п. (/) Для каких значений п < 2b многочлен 7?<2n+i> (ж\ неприводим над GF (2)? (к) Используя теорему Лукаса, выписать RGob (х) как двоичный многочлен степени 50.
Глава 5 Двоичные циклические коды 5.1. Переупорядочение столбцов проверочной матрицы кодов Хэмминга В разделе 1.3 было показано, как строить исправляющие одиноч- ные ошибки коды с блоковой длиной п = 2т — 1, т проверочными позициями и п — т информационными позициями. У такого кода все п столбцов проверочной матрицы представляют собой различные ненулевые двоичные последовательности длины т, которые мы назва- ли локаторами позиций. Если задано однозначное соответствие между п различными позициями и п ненулевыми локаторами, то порядок столбцов не играет никакой роли. Например, провероч- ная матрица исправляющего одиночные ошибки кода с блоковой длиной п = 15 может быть записана в виде г0 0 0 0 0 0 0 1 1 1 1 1 1 1 l-i 000111100001111 = 011001100110011 . .101010101010101. Для того чтобы исправлять дополнительные ошибки, к этой матрице надо добавить новые строки. Чтобы сделать изящными эту процедуру и процедуру декодирования результирующего кода, локаторы удобно рассматривать как ненулевые элементы поля GF (2т), представленные в виде двоичных многочленов степени < т от корня а некоторого неприводимого двоичного многочлена степе- ни т. Мы покажем сейчас, что такое представление является также полезным и для построения эффективных кодеров и декодеров для кодов, исправляющих одиночные ошибки. В предыдущем примере с т = 4 в качестве примитивного много- члена можно выбрать xi + х 1. При этом крайний слева столбец имеет локатор 1, второй — локатор а; третий — локатор а -1- 1, . . ., одиннадцатый столбец — локатор а3 + а 1, .... Если обозна- чить локаторы элементами поля щ, i = 0, 1, . . . , 14, положив По = 1. Пг = “ + 1, р; = а2, т]' = а2 + 1, = а2 + + а, . . ., р'4 = а3 + а2 4-а + 1, то 15-мерному двоичному вектору R = [7?0, Т?15 . . ., й14] будет соответствовать синдром ®^'Rf, кото- рый как элемент поля Галуа является суммой соответствующих 14 Локаторов, d^'R* = 2 -ЯгПг- г=0
5.1. Переупорядочение столбцов проверочной матрицы кодов Хэмминга 129 Если каждой из п позиций кода однозначно сопоставлен локатор из поля GF (2т), то код исправляет все одиночные ошибки независи- мо от того, как упорядочены локаторы. Так как а — корень при- митивного неприводимого двоичного многочлена четвертой степени, то каждый элемент в GF (16) является степенью а. Это позволяет уста- новить, например, такое соответствие между позициями и локатора- ми, при котором номер позиции будет совпадать со степенью а, т],= = а’. Такое соответствие обладает тем преимуществом, что если 14 сопоставить вектору R многочлен R (х) = 2 -Rf#1, то синдрому при- i—О пятого вектора R = [7?0, ^i, • • ., й14] будет соответствовать много- 14 член от a: ®#Rf = 2 = R (“)• Это приводит к простому методу 1=0 вычисления синдрома. Согласно алгоритму деления, R (х) = — М (х) Q (х) + г (х}, где степень г (х) меньше степени М (х). Если неприводимый двоичный многочлен М (х) степени т является мини- мальным многочленом для а, то М (а) = 0 и R (а) = г (а). Таким образом, синдром вектора R равен г (а), где г (я) — остаток от деле- ния двоичного многочлена R (я) на двоичный многочлен М (х). Прежде чем переходить к описанию устройства для деления произвольного двоичного многочлена R (х) на фиксированный двоичный многочлен М (я), рассмотрим пример. Пусть R (я) = = а:14 + я12 я11 я10 Xs + xi + хЛ + х и М (х) = xi + х + 1. Деление вручную («в столбик») приведено в табл, на стр. 130. Частное от деления представляется двоичным многочленом z10 + Xs + хъ + х- + х 1 пятнадцатой степени, коэффициентами X4 + X + 1 Д14' Д13> ^0 Делимое (на входе) Рис. 5.1. Схема для деления. которого являются первые цифры каждой новой строчки: 0000010100100111. Остаток имеет вид ООН = х -ф 1. Такое деление может быть реализовано с помощью схемы, изобра- женной на рис. 5.1. Состояния четырех триггеров памяти описывают последовательные шаги деления. Для данного примера такими последовательными состояниями триггеров являются 0000, 0001, 0010, 0101, 1011, 0100, 1000, 0010, . . ., ООН. По окончании деле- ния в триггерах окажутся записанными коэффициенты остатка. 9-658
130 Гл. 5. Двоичные циклические коды 00000101110100011010 |10011 00000 00001 00000 00010 00000 00101 00000 01011 00000 10111 10011 01000 00000 10001 10011 00100 00000 01000 00000 10000 10011 00111 00000 01111 00000 НПО 10011 11011 10011 10000 10011 ООН
5.1. Переупорядочение столбцов проверочной матрицы, кодов Хэмминга 131 Если позиции передаются в порядке Т?14, 7?13, . . Но, то для деления в декодере можно использовать схему, представленную на рис. 5.2. После приема всех п позиций в верхнем регистре окажется запи- санным многочлен R(x), а в регистре с обратными связями — оста- ток от деления, г(х). Сумма локаторов ошибочных позиций опреде- ляется равенством Sy = г(а). Если при передаче блока произошла только одна ошибка, то задает локатор этой ошибки. Предусмотрев в декодере подходящую вентильную схему, можно сразу же исправить эту ошибку. Однако Символы 1 х х2 Рис. 5.2. Схема для деления полученного слова на фиксированный многочлен. такая методика исправления потребовала бы по вентильной схеме для каждой из п ячеек буферного регистра, в который записы- вается принятое слово. Менее дорогостоящей является схема исправ- ления ошибок после вывода искаженных символов из буферного реги- стра. Если Sy = а3, то прежде чем исправлять искаженный символ, необходимо вывести из буфера п — 1 — / правильных символов. Это можно легко осуществить, отсоединив от канала входы регистра сдвига с обратной связью и используя этот регистр в автономном режиме работы. При каждом сдвиге буфера содержимое регистра умножается на а. Для обеспечения непрерывности работы в декодере используются два регистра с обратной связью, первый из которых реализует деле- ние входящего блока, а второй — исправление искаженных символов выходящего блока. На рис. 5.3 приведена полная схема декодера. В конце каждого блока элемент поля S^, образуемый в верхнем регистре с обратной связью, перезаписывается в нижний регистр с обратной связью, который затем сдвигается, а верхний регистр с обратной связью устанавливается в нулевое положение. (На рис. 5.3 это обозначено пунктирными линиями.) После этого нижний регистр содержит Sy а. При выходе из буферного регистра позиций с лока- торами а-1, а-2, а-3, . . ., а, 1 нижний регистр последовательно 9»
132 Гл. 5. Двоичные циклические коды содержит «^а2, З^а3, . . З^а-1, Когда позиция с лока- тором а-3 покидает буферное устройство, на вход элемента ИЛИ подается величина 1 + S1a3. Если 1 + S-jO.3 ф 0, то а-3. В этом случае локатору а-3 соответствует безошибочная позиция, и она выводится из буферного регистра без изменений. Если же 1 + 5га3 — 0, то = а-3 и при выводе из буфера ошибка исправ- ляется. Для кодов Хэмминга так же легко реализуются и кодирующие устройства. Заданные п — т информационных позиций кодер пере- дает как позиции Сп~!, Сп_2, . . ., Ст. Последние т позиций Р и с. 5.3. Полная схема декодера для кода Хэмминга. Cm-i> Ст.2, . . ., Со должны быть выбраны таким образом, чтобы кодовое слово удовлетворяло всем проверочным соотношениям. При выборе локаторов в виде соответствующих степеней а это эквива- лентно требованию С(а) = 0, что в свою очередь эквивалентно требованию, чтобы многочлен С(х) был кратен минимальному много- члену элемента а, который мы обозначим теперь через g(x). При этом ясно, что нужный выбор проверочных символов Ст_1; Ст-2, • • • . . ., Со состоит в выборе коэффициентов многочлена, являющегося п— 1 остатком от деления 2 Сна g(x). i—.m п— 1 Если деление многочлена 2 на S выполнять с помощью i=m метода, использованного в схеме декодера, то остаток нельзя будет
5.1. Переупорядочение столбцов проверочной матрицы кодов Хэмминга 133 получить до тех пор, пока через регистр с обратной связью не прой- дут все п позиций Cn-i, Сп_г, . . ., Ст, 0, 0, . . 0. К счастью, существует другая схема деления, которая позволяет вычислить коэффициенты остатка, не дожидаясь, пока последние т нулей пройдут через регистр сдвига. Чтобы понять, как это сделать, полезно сначала остановиться на избыточной трехрегистровой схеме, изображенной на рис. 5.4. Верхний регистр сдвига является буферным для входного много- члена. Средний регистр реализует деление на g(x), причем в рас- сматриваемом примере g(x) = xi + х + 1. Нижний регистр содер- жит сумму (содержимых) двух верхних регистров, в чем читатель Рис. 5.-4. Схема с дублированием деления. легко может убедиться, проверив, что если регистр содержит сумму двух верхних регистров, то после любого сдвига он также содержит их сумму. Обратные связи среднего и нижнего регистров идентичны и определяются коэффициентами делителя. После записи входной последовательности] Cn-i, Сп-2, . . ., Ст, 0, 0, . . ., 0 первые т ячеек верхнего буферного регистра заняты нулями, а средний и ниж- ний регистры содержат идентичные последовательности, равные п—1 остатку от деления многочлена 2 Ctxl на S (х)- Следовательно, i=m при вычислении остатка оба верхних регистра могут быть опущены, а содержимое нижнего регистра после ввода в него последователь- ности Сп-1, Сп_2, . . Ст и будет определять остаток. Таким обра- зом, как показано на рис. 5.5, декодер можно строить из одного регистра с соответствующими тактовыми и вентильными схемами. В начальном положении, как показано на рисунке, все три ключа находятся в верхнем положении и регистр сдвига содержит нули. После включения источника информации генерируемые им позиции
134 Гл. 5. Двоичные циклические коды Сп-1, Сп-2, . . Ст поступают одновременно в канал и в регистр с обратной связью. Затем все ключи переключаются в свое нижнее положение. При этом источник отключается, на вход обратной связи ничего не подается и содержимое регистра сдвига поступает в канал связи. После передачи по каналу всех позиций регистра сдвига ключи возвращаются в верхнее положение и начинается передача следующего блока. 5.2. Переупорядочение столбцов проверочной матрицы двоичных БЧХ-кодов, исправляющих двойные ошибки Упорядочение позиций кода в соответствии со степенями прими- тивного элемента поля обладает многими преимуществами и в слу- чае БЧХ-кодов с исправлением многих ошибок. Для двоичных кодов, исправляющих двойные ошибки, вторая группа из тп строк проверочной матрицы строится таким образом, что каждый стол- бец является кубом локатора, записанного в этом столбце в первых т строках матрицы. Таким образом, матрица содержит п столбцов, 2т строк и имеет вид а18 Например, если П--15 и а — корень многочлена xi + х 1, то 000100110101111 0010011010111^0 010011010111100 , 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 Л) 011110111101111 001010010100101 000110001100011 100011000110001
5.2. Переупорядочение столбцов проверочной матрицы. 135 Синдром S' = a%?Rl содержит 2т координат. Первые т координат дают Si, сумму локаторов ошибочных позиций; вторые т координат синдрома дают S3, сумму кубов локаторов искаженных позиций, п—1 Если принятый вектор представить многочленом R (х) = 2 Ri^1, 1—1 то Si = R (а) и S3 = R (а3). Принятый вектор позволяет вычис- лить каждую из этих сумм в отдельности. Для вычисления Si надо разделить R (х) на минимальный многочлен М'1) (я) элемента а и найти остаток от деления (х). Тогда имеет место равенство Si = rt1) (а). Для вычисления S3 надо разделить R (х) на минималь- ный многочлен ЛП3> (х) элемента а3, найти остаток от деления Н3) (х) и вычислить затем S3 = г<3) (а). В общем случае вычисление S3 по г<3) может потребовать просчета не более чем т проверочных соотношений с не более чем т входами г). В рассматриваемом примере минимальным многочленом для а3 является xi + х3 + х2 + х + 1. Многочлены (х) и г(3) (х) могут быть получены с помощью схемы, изображенной на рис. 5.6. Полу- чаемые декодером из канала связи позиции подаются в 15-позицион- ный буферный регистр, изображенный на рис. 5.6 горизонтально вверху. После приема всех 15 позиций блока в буфере оказывается записанным многочлен R (х), представляющий принятое слово. Одновременно с буферным регистром принятое слово поступает еще в два регистра, обратные связи которых подобраны в соответст- вии с минимальными многочленами для а и а3. Начальное состояние обоих регистров является нулевым. При вводе позиций из канала эти регистры осуществляют деление соответственно на минимальный многочлен Mt1) (х) элемента а и минимальный многочлен М<3) (х) элемента а3. При окончании приема входного блока из 15 позиций в регистрах содержатся соответственно остатки И1) (х) и т-t3) (х). Степенные суммы Si, S2 и S3 вычисляются по остаткам rt1) (х) и г<3) (х) путем «матричного» умножения, изображенного на рисунке с помощью вертикальных регистров и вентильных схем. Матрица, используемая для получения Si по Н1) (х), оказывается единичной; поэтому Si просто совпадает с rt1) (а). Однако вычисление S2 = = r(1) (а2) и S3 = г(3) (а3) требует более сложной схемы. Связи для этих матриц умножения легко могут быть получены из пер- вых т столбцов расширенной матрицы <$?, которые для рассматри- ваемого примера имеют вид О 0 1 О 1 О 1 О О ООО О 4 2 3^0 1 а а2 а3 <=> g 1 х) S3 можно получить также путем деления на Этот способ позволяет обойтись без специального регистра, выполняющего деление на A/<3>(z), но требует намного большего числа сдвигов.
Рис. 5.6. Первая часть декодера для БЧХ-кода, исправляющего две ошибки.
5.2. Переупорядочение столбцов проверочной матрицы 137 0 0 0 1 1а2а4а6<: 0 10 1 ^0010 10 10 0 111 1 а3 а6 а® < 0 0 10 ^0 0 0 1 10 0 0 Так как элемент а2 сопряжен с а, то он имеет тот же минималь- ный многочлен и, следовательно, S2 может быть вычислен по тому же остатку, что и Sp Поэтому в общем случае S2 можно не включать в проверочную матрицу, хотя это и не принесет вреда. Расширенная проверочная матрица (включающая в себя, помимо самих локаторов и их кубов, квадраты локаторов) имеет больше строк, чем обычная проверочная матрица. Однако дополнительные строки являются линейными комбинациями первых т строк, и ранг расширенной про- верочной матрицы равен рангу обычной проверочной матрицы. Прове- рочная матрица может быть расширена еще больше, если добавить сопряженные с и 53, т. е. 54, S8 или Se. Суммы 54 и S8 могут быть вычислены по остатку г(1) (х), a Se — по остатку г(3> (х). Кодирование начинается с задания информационных символов Сл-1, Сп_2, . . ., С2т. После этого кодер должен найти такие символы C2m-i, С2т_2, . . ., С о, чтобы результирующий многочлен п—1 2 Ctxl удовлетворял уравнениям С (а) = 0 и С (а3) = 0. Первое 4=0 из этих условий выполняется тогда и только тогда, когда С (х) кра- тен минимальному многочлену элемента а, а второе — тогда и толь- ко тогда, когда С (х) кратен минимальному многочлену элемента а3. Так как многочлен С (х) кратен обоим этим неприводимым много- членам, то он кратен и их произведению, которое мы обозначим через g (х). Выбрав для исправляющего двойные ошибки двоичного БЧХ-кода с блоковой длиной 15 в качестве а корень многочлена я4 + х + 1, получим, что минимальным многочленом для а3 является я4 + х3 + х2 ~i~x -J-1, a g (я) = (ж4 + х + 1) (а:4 + х3 + х2 -)- х +1) = = Xs + х2 + хе> + я4 + 1. Кодирующее устройство может быть построено по тому же самому принципу, что и кодер для кодов, исправляющих одиночные ошибки. На рис. 5.7 приведена схема кодера для рассматриваемого частного случая. Семь информационных позиций посылаются одновременно в канал и регистр сдвига. После этого ключи возвращаются в нижнее поло- жение. Восемь проверочных позиций посылаются в канал из реги- стра сдвига, после чего в нем устанавливаются нули. Затем к началу передачи нового блока ключи опять переводятся в верхнее поло- жение.
138 Гл. 5. Двоичные циклические коды Для данного кода существует и другой кодер, реализация кото- рого основана на регистре сдвига только с семью ячейками. Для понимания принципа действия этого кодера полезно обратиться к изучению циклических кодов. Источник сообщений. 5.3. Общие свойства циклических кодов Для БЧХ-кодов, исправляющих одиночные ошибки и для БЧХ-кодов, исправляющих двойные ошибки, нам удалось найти многочлен g(x), обладающий тем свойством, что двоичный многочлен С (х) степени < п задает кодовое слово тогда и только тогда, когда С (х) кратен g(x). Этот многочлен g (х) называется порождающим многочленом циклического кода. Разделим многочлен С (х) на много- член g (х) h(x), кратный g(x), и пусть q (х) — частное от деления, а г (х) — остаток, так что С = qgh + г. Многочлен С (х) делится на g(x) тогда и только тогда, когда г(х) делится на g(x). Таким образом, если многочлен С (х) задает кодовое слово, то любое крат- ное С (х) по модулю g(x)h(x) задает другое кодовое слово. В част- ности, если g(x) является произведением различных неприводимых многочленов, степени которых делят т, то g (х) делит х2 -1 — 1 = = хп — 1. Выбирая h (х) = {хп — i)lg(x), заключаем, что если мно- гочлен С (х) задает кодовое слово, то и любое его кратное по модулю хп — 1 задает кодовое слово. Назовем h (х) проверочным многочленом. Если многочлен С (х) — Со + Сх х + С2х2 + . . . Сп^х^1 умно- жается на х по модулю хп — 1, то результат равен Сп^1 + + Сох + С-рх:2 + • • • + Сп-2хп-\ Таким образом, ясно, что кодовое слово, заданное многочленом хС(х) по модулю хп — 1, является циклическим сдвигом кодового слова, заданного многочленом С(х). Так как каждый циклический сдвиг кодового слова приводит, таким образом, опять к кодовому слову, то код естественно назвать цикли- ческим. Очевидно, что если g(x) — произвольный делитель многочле- на хп — 1, то множество кратных многочлену g(x) по модулю
5.3. Общие свойства циклических кодов 139 хп — 1 образует линейный циклический код. Это справедливо и в том случае, когда число и + 1 не является степенью двойки. Наоборот, пусть линейный циклический код задается как неко- торое множество многочленов по модулю хп — 1. Тогда код содержит все k-е циклические сдвиги xkC (х) mod (хп — 1) произвольного кодового многочлена С(х). Так как сумма кодовых слов линейного кода принадлежит коду, то код содержит все кратные многочлена С (х) по модулю х"— 1. Используя алгоритм Евклида, н. о. д. многочленов С (х) и хп — 1 можно записать по модулю хп — 1 как кратное многочлена С(х). Следовательно, линейный циклический код содержит н. о. д. каждого кодового многочлена и многочлена хп — 1. Обозначим через g (х) кодовый многочлен наименьшей степе- ни. Тогда g (х) делит хп — 1 и любой кодовый многочлен. Таким образом, линейный циклический код состоит из всех многочленов, кратных некоторому порождающему многочлену g (x) по модулю хп — 1, причем g (х) | (хп — 1). Многочленная запись оказывается также полезной при задании проверочной матрицы о#?. Например, если а — корень многочлена х* + х + 1 и <3£ = 111 а | а21 а31 а4 | а51 а61 а71 а81 а91 а101 а111 а121 а131 а141 = "О 0 0 1 0 0 1 1 0 1 0 1 1 1 Г _ 001001101011110 - 010011010111100 ’ 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1. ' ' L с то строки матрицы об? можно задавать многочленами /г<°) (х), (х), №> (х) и /г<3) (я), где h(9>(x) = х11 + xa + х7 + хъ + х3 + х2 + х + 1, 7i(1*(;r) = х12 + х9 + Xs + х9 + х4 + х3 + х2 + х, h{2>(x) = х13 + х10 + х9 Ц- х1 + хь + xi + х3 + х2, h(3>(x) = ж14 + х10 + х1 + хв + х* + х2 + х + 1. ' в * Предположим, что получено слово С = [Со, C1; С2, • • •, CiJ. Скалярное произведение С и первой строки матрицы равно С3 + + Св + С7 + С9 + Сп + С12 + С13 + Сц. Так как наивысшей степенью х в многочлене С (х) является крайний правый член, а в многочлене h{0) (х) — крайний левый член, то скалярное произве- дение вектора С и первой строки матрицы о/(! равно коэффициенту при я14 в произведении многочленов h!(>‘ (х) С (х), редуцированном по модулю хп — 1. Аналогично, скалярное произведение кодового вектора С и второй строки матрицы об? равно коэффициенту при я14 в произведении многочленов Л(1> (х) С (х) и т. д. Многочлен h (х) = (хп — l)/g (х) обладает тем свойством, что h (х) g (х) = 0 mod (хп — 1). Так как каждый кодовый многочлен
140 Гл. 5. Двоичные циклические коды С (х) кратен g (х), то он удовлетворяет сравнению h (х) С (х) = == 0 mod (хп — 1). Более того, каждый кодовый многочлен С (х) удовлетворяет сравнению х3h (х) С (х) == 0 mod (хп — 1) для любого j. Так как сумма проверочных соотношений опять задает провероч- ное соотношение и так как x3h (х) является проверочным многочле- ном при любом у, то любой многочлен, кратный многочлену h (х) по модулю хп — 1, опять задает проверочный многочлен. Всего имеется 2de££W многочленов степени < п, кратных многочлену h (х) mod (хп — 1). Если бы код удовлетворял более чем 2dcgg(x) проверочным соотношениям, то можно было бы найти более чем deg g (ж) независимых проверочных соотношений, и тогда код дол- жен был бы содержать больше чем deg g (я) проверочных позиций, что ведет к противоречию. Это приводит нас к следующему утвер- ждению: 5.31. Теорема. Кодовыми многочленами линейного цикличе- ского кода с блоковой длиной п являются все многочлены, кратные одному порождающему (код) многочлену g (х). Множество провероч- ных многочленов этого кода состоит из всех многочленов, кратных проверочному многочлену h (х) = (хп — i)lg (х). Например, проверочный многочлен исправляющего одиночные ошибки кода с п = 12 и порождающим многочленом g (х) ~ х4 + х + 1 равен h (х) = я11 4~ Xs 4~ х"' 4~ ж5 4~ х3 4~ х2 + х + 1. Проверки, выписанные на предыдущей странице, очевидно, имеют вид /j(o> ha> (х) = xh (х), h(2> (х) = x2h (х), h'3> (х) = (я3 4~ 1) h (х). л Другой пример дает исправляющий две ошибки циклический код с блоковой длиной п — 15 и порождающим многочленом g (х) = = (ж4 4- х 4- 1) (ж4 + х3 4- х2 4~ х 4- 1). Для него h (х) = (х 4- 1) X X (х2 4~ х + 1) (ж4 4~ х3 -f- 1) = х"1 4- хв 4~ я4 + 1. Строки обычной проверочной матрицы, задаваемой уравнением (5.21), очевидно, имеют вид hw (х) = (х4 4- х3 4- х2 4- х 4- 1) h (х), h<D ~ х (х4 4~ х3 4- х2 4- х 4- 1) h (х), h(2) (х) = х2 (х4 4- х? + х2 4- х 4- 1) h (х), /г<3> (я) = (х3 4- 1) (х4 + а? 4- х2 4- х 4- 1) h (х), /i(4> (х) = (х2 4- 1) (я4 + х 4- 1) h (х), /г(5) (х) = (х 4- 1) (х4 + х 4- 1) h (х), /г(6> (х) = (х4 4- х 4- 1) h (х), h{1'> (х) = (х3 4- х2 4- х 4- 1) (х4 4- х 4- 1) h (х).
5.3. Общие свойства циклических кодов 141 Как было показано в разд. 5.2, такая форма полезна, в част- ности, при вычислении величин и 52, необходимых декодеру для отыскания локаторов ошибочных позиций. Однако нет никаких осно- ваний использовать в декодере именно эту, а не какую-либо другую эквивалентную форму матрицы^. Любое множество из восьми неза- висимых кратных многочлена h (х) будет порождать тот же самый Источник сообщений Р и с. 5.8. Кодер для циклического кода, основанный на проверочном много- члене. код. Особенно простое множество образуют многочлены h(l> (х) = 7 = х1Ь(х), j = 0, . . ., 7. Им соответствуют проверки = г=0 = 0 для ; = 7, 6, . . . 0. Так как = 1, то это эквивалентно равенствам 7 7 = 7, 6, 5, .... 0. г=1 Эти уравнения могут быть реализованы с помощью кодера такого же вида, как и на рис. 5.8, для h (х) = 1 + xi + х6 + х7. Сначала deg h (х) информационных символов посылаются одно- временно в канал и в регистр сдвига. После этого источник сообще- ний отключается и осуществляется вычисление остальных п — — deg h (х) (проверочных) символов в соответствии с рекуррентным уравнением deg h Cj = S i+i^deg hy-i-
142 Гл. 5. Двоичные циклические коды Каждый из вычисленных таким образом проверочных символов передается по каналу связи и засылается обратно в регистр сдвига, так что при надобности он может быть использован для построения подпоследовательности проверочных "символов. После передачи всех (п — deg h (х)) проверочных символов ключ возвращается в верхнее положение и начинается передача следующего блока. Ясно, что в таком методе кодирования используется регистр, имеющий всего deg h (х) ячеек. При deg h <; deg g кодер типа рис. 5.8 предпочтительнее кодера, изображенного на рис. 5.7. 5.4. Процедура Ченя В разделе 5.1 мы видели, что, даже если локаторы ошибок деко- деру известны, все же немедленное исправление ошибок вызывает определенные трудности. Оказывается, что проще подождать, пока искаженные символы будут выведены из буферного устройства, запо- минающего принятое слово, а затем уже их исправлять. Один из методов исправления ошибок, предложенный Ченем [1964], позволяет избежать отыскания явного решения алгебраиче- ского уравнения ст (z-1) = 0. Когда позиция с локатором Х1 выво- дится из буфера, декодер вычисляет значение многочлена ст (X;1), чтобы выяснить, обращается ли оно в нуль. Если ст (X?1) 0, то позиция с локатором Хг не изменяется, если же ст (X?1) = 0, то в позиции с локатором X, произошла ошибка, и она исправляется. Использование этого метода не ограничивается кодами, исправляю- щими одиночные или двойные ошибки. Если в декодере известен многочлен локаторов ошибок ст (z) = 2 ст,гг, корни которого взаимны 1=0 локаторам, то процедура Ченя может быть применена к каждому из локаторов а-1, а*2, сс3, . . ., 1 для проверки, является ли оши- бочным символ, выводимый в данный момент. Для БЧХ-кодов, исправляющих двойные ошибки, многочлен локаторов ошибок ст (z) может быть вычислен в соответствии с уравнением (1.47); для БЧХ-кодов, исправляющих ошибки более высокой кратности, про- цедура вычисления многочлена локаторов ошибок описана в гл. 7. При известных коэффициентах Стц ст2, . . ., ст4 процедура Ченя сводится к следующему. Сначала декодер вычисляет ст (а) = 2 ст£а‘, г затем ст (а2) = 2 стга21, <1 (ст3) = 2°4ct31 и т. д. Для быстрого вычис- г г ления этих величин в декодере используется t 4- 1 регистров. На /с-м шаге вычисления в этих регистрах записаны величины 1, CTjafe, ст2а2Ь, ст3а3\ . . ., crtatk. Величина ст (afe) получается суммирова- нием содержимых этих регистров. Для перехода к (к 4- 1)-му шагу регистр, содержащий умножается на а, регистр, содержащий ст2а2\ умножается на а2, . . ., регистр, содержащий CTta'\ умно-
5.4. Процедура Ченя 143 жается на а*. Все эти умножения в GF (2т) могут осуществляться одновременно. Для относительно малых значений t и т целесооб- разно построить схемы, реализующие умножение регистров, содержа- щих 1, сг1сх,£, о2а2к, • • <Ttcttfe; на постоянные 1, а, а2, . . ., а1 Рис. 5.9. Схема умножения на а. Р и с. 5.10. Схема умножения на а2. в один временной цикл. Например, умножение в GF (24) на элемент а, такой, что а4 = а + 1, может быть выполнено с помощью схемы, изображенной на рис. 5.9. Умножение на элемент а2 может быть выполнено с помощью схемы, изображенной на рис. 5.10. Процедура Ченя реализуется с помощью схемы, представленной на рис. 5.11. Р и с. 5.11. Схема Ченя для кода, исправляющего две ошибки. Сначала в верхнем регистре схемы рис. 5.11 записан элемент о 2, а в нижнем В каждом временном цикле верхний регистр умножается на а2, а нижний на а. После к временных циклов верхний регистр содержит <т2а2Ь, а нижний <т1аь. В сумматоре вычисляется величина о (с?) = 1 + 61ak + o2a2fe. Если эта величина равна нулю, то а~к является взаимным корнем многочлена локаторов ошибок; к ошибочному символу с локатором а~к, выводимому в данный
144 Гл. 5. Двоичные циклические коды. момент из буфера, добавляется единица. Если о (afc) 0, то a~* не является взаимным корнем многочлена локаторов ошибок и пози- ция с локатором а выводится из буфера без изменений. При больших значениях t и т стоимость оборудования, выпол- няющего умножение на а' в GF (2т) в один временной цикл, стано- вится значительной. Для средних значений t умножение на а' можно Рис. 5.12. Общий вид схемы Ченя для кода, исправляющего t ошибок. осуществлять как 1-кратное умножение на а. Для реализации такого способа требуется только регистр умножения на а, но для больших значений t это приводит к большому числу сдвигов. В этих случаях обычно более экономным является использование т временных цик- лов для каждого из умножений, которые могут быть выполнены одним из методов, описанных в разд. 2.4. Целесообразно выполнять все t умножений одновременно. На рис. 5.12 приведена схема, реали- зующая такое умножение. В этой схеме используется один главный блок управления и t идентичных вспомогательных умножителей, один из которых изображен на рис. 5.13. В начальный момент пер- вый вспомогательный накопитель содержит с^; первый вспомога- тельный регистр осуществляет умножение на а; второй вспомога- тельный накопитель содержит <т.2; второй вспомогательный регистр
5.5. Описание общей, схемы декодера 145 осуществляет умножение на а2, . . i-й вспомогательный накопи- тель содержит ог; i-й вспомогательный регистр осуществляет умно- жение на а1. Главный блок управления посылает на все вспомога- тельные умножители идентичные сигналы управления, согласно„ которым содержимое каждого вспомогательного накопителя пере- водится в умножаемый регистр, умножается на соответствующий множитель и новое произведение записывается обратно в накопитель. ~Ч Г~1 Регистр множителя Рис. 5 13. Типичный вспомогательный умножитель. В главном сумматоре вычисляется сумма содержимых всех вспомо- гательных накопителей, которая помещается затем в главный нако- питель. Эта величина и есть о (а). Продолжая эту процедуру, после- довательно подсчитаем o’ (а2), . . ., о (а-1), o’ (1). Позиция с лока- тором а1, выводимая из буферного регистра, исправляется тогда и только тогда, когда о (а-1) = 0. 5.5. Описание общей схемы декодера для произвольного циклического двоичного кода Общая схема декодирующего устройства для произвольного двоичного циклического кода показана на рис. 5.14. Декодер состоит из четырех основных частей: буферного регистра, содержащего 2н ячеек, регистров сдвига, осуществляющих деление принимаемого слова на каждый из неприводимых множителей порождающего много- члена, центрального устройства обработки в поле Галуа В (опреде- ление {ог} по {5,}) и схемы, реализующей процедуру Ченя. В типич- ный момент времени содержимое буферного устройства состоит из трех частей, показанных на рис. 5.15. Первые i ячеек содержат пер- вые i позиций вводимого слова; следующие п ячеек буфера содер- х) Или GF-оператора.— Прим, перев. 10-658
146 Гл. 5. Двоичные циклические коды жат «буферное» слово; последние п — i ячеек буфера содержит послед- ние (п — £)-позиций выводимого слова. Схема Ченя каждый раз вычисляет о (аг) и определяет, надо или не надо исправлять символ, выводимый из буферного устройства. Регистры сдвига предназначе- ны только для выполнения деления на неприводимые множители Р и с. 5.14. Общий вид декодера для циклического кода. порождающего многочлена. Центральное устройство обработки осуществляет построение многочлена локаторов ошибок для буфер- ного слова. Когда приняты все п символов входного блока, все символы выходного блока находятся в левой части регистра. При П-1 Входящие си мео Т-Ы Буферные символы Выходящие символы Рис. 5.15. Содержимое буферного устройства в типичный момент времени. этом содержимое буферного устройства имеет вид, изображенный на рис. 5.16. После этого буферный блок становится выводимым сло- вом, а вводимое слово — буферным блоком. Коэффициенты много- члена локаторов ошибок, вычисленные в центральном устройстве обработки, поступают в схему Ченя, а полученные в регистрах остатки от деления принятого слова на неприводимые делители порождающего многочлена — в центральное устройство обработки.
5.5. Описание общей схемы декодера 147 В течение времени приема следующих п позиций вводимого из кана- ла слова центральное устройство обработки должно определять коэффициенты многочлена локаторов ошибок для буферного блока. Регистры, осуществляющие деление входящего многочлена на неприводимые делители порождающего многочлена, и схема Ченя должны работать синхронно с буфером. Однако центральное устрой- ство обработки, вообще говоря, не связано с остальными частями декодера, за исключением моментов вывода уже вычисленного много- члена локаторов ошибок и ввода синдрома для следующего блока. При этом вывод и ввод центрального оператора не обязательно долж- ны осуществляться одновременно. Если быстродействие централь- ного устройства обработки столь велико, что оно может вычислить *-------п--------------------п--------> Рис 5 16 Содержимое буферного устройства после окончания приема блока, многочлен локаторов ошибок до момента ввода нового слова, то объем буферного устройства можно уменьшить. Например, предпо- ложим, что центральное устройство обработки может вычислить многочлен локаторов ошибок за половину времени, необходимого для ввода из канала блока из п позиций. В этом случае в буфере должны запоминаться только Зп/2 позиций. К моменту получения всего слова и началу вывода его из буфера центральное устройство обработки вычисляет его многочлен локаторов ошибок. Многочлен локаторов ошибок поступает в схему Ченя, а центральное устрой- ство обработки не используется до тех пор, пока не будет получена остальная часть вводимого слова. В случае кодов Хэмминга центральное устройство обработки может быть вообще исключено, а объем буфера можно уменьшить до п ячеек. Многочлен локаторов (одиночных) ошибок задается равенством o(z)^l - <jjZ, где = ^ — Н1) (а). Общий вид декодера приведен на рис. 5.3. Для БЧХ-кодов, исправляющих двойные ошибки, центральное устройство обработки должно выполнять некоторые вычисления в поле GF (2™), а именно по заданным остаткам Н1) (х) и г<3) (х) от деления принятого слова на минимальный многочлен ЛВ1) (х) элемента а и минимальный многочлен ЛВ3> (х) элемента а3 оно долж- но определить многочлен локаторов ошибок. Сначала находятся = И1) (a), S2 = Н1) (а2) и S3 = г(3>(а3). Затем нужно вычислить а2 = (.S^S^ S3)/S1 или положить а2 равным нулю, если и S3 рав- ны нулю. Этот алгоритм декодирования позволяет исправлять двой- ные ошибки, однако, он не является полным. Код имеет смежный класс веса 3, который приводит к отказу декодирования. 10*
148 Гл. 5. Двоичные циклические коды В общем случае, если минимальный многочлен (х) элемента аь является делителем порождающего многочлена, то центральное устройство обработки, в частности, вычисляет r(h) (х) — остаток от деления полученного слова на (х). Вычисления в централь- ном устройстве обработки начинаются с определения величины Sk = = (afe) и всех необходимых двоично сопряженных с Sh величин, таких, как S2k = = r<k> (a2fe) или Sik = SI = (a4fe). Эти вычисления выполняются сравнительно просто. Более тяжелой задачей является вычисление величин {oft} по величинам {5ft}. Представленный на рис. 5.14 декодер применим к произвольному двоичному циклическому коду. В качестве примеров мы рассмотрим два различных двоичных кода, исправляющих двойные ошибки. Вычисление по величинам {$&} в этих примерах является сравнительно простым. 5.6. Пример Построить кодер для двоичного циклического кода с блоковой длиной 23, порожденного минимальным многочленом для примитив- ного корня двадцать третьей степени из единицы. Построить декодер, исправляющий все сочетания из двух или меньшего числа искажен- ных ПОЗИЦИЙ. Решение. Различные степени числа 2 по модулю 23 дают числа 1, 2, 4, 8, 16, 9, 18, 13, 3, 6, 12. Так как мультипликативный Рис. 5.17. Кодер для БЧХ-кода длины 23, исправляющего две ошибки. порядок числа 2 по mod 23 равен И, то круговой многочлен ()(23> (х) распадается в произведение двух неприводимых двоичных многочле- нов степени 11. Если a — примитивный корень степени 23 из едини- цы, то элемент а-1 не сопряжен с а, так что два неприводимых множи- теля многочлена <2<23> (х) являются взаимными многочленами. Исполь- зуя эту информацию и проводя умеренное число вычислений методом
5,6, Пример 149 проб и ошибок, определяем, что делителями многочлена <2<23> (х) являются я11 + з? + х1 + а:6 + х5 + х + 1 и z11 + zВ * 10 + z6 + + а:5 + х* + а:2 + 1. Полагая g (х) = х11 + х? + ж7 + а:6 + а:5 + + х + 1, получим кодер, изображенный на рис. 5.17. Работа декодера начинается с деления принятого слова на мини- мальный многочлен ЛП1) (х) элемента а, который в данном случае равен многочлену g (х). Так как 3 есть степень двойки по модулю 23, то М(3) (х) = ЛП1) (х). Таким образом, остаток г<3> (х) от деления на М(3) (х) равен многочлену К1) (х). Как только все деления закон- чены, декодер может определить Sr = Н1) (а) и 53 = г<3> (а3) = = гС1) (а3). Зная и 53, декодер может определить многочлен лока- торов ошибок по обычной формуле для двоичных БЧХ-кодов, исправ- ляющих две ошибки: 1, 14-^iZ, если = S3 = 0 (класс смеж- х ностивесаО); если S3 — S3 (включает все классы (1.47) cr(z) = l-j-S^z-f- z2, если смежности веса 1); Si 0 и (включает Ss^Si все классы смежности веса 2). В рассматриваемом примере элементы поля GF (211) удобно за- дать в виде многочленов от а степени < 11, где а — корень порож- дающего многочлена. Вычисления S[ и 83/8Г могут быть произведе- ны с помощью методов, описанных в гл. 2. Затем, вычисляя о (а~г), i = 0, 1, 2, . . ., 22, можно определить по процедуре Ченя все ошибки. Необходимо отметить, что, хотя коэффициентами многочлена лока- торов ошибок могут быть любые элементы поля- GF (211), допустимы- ми взаимными корнями этого многочлена могут быть только корни двадцать третьей степени из единицы. Если же все корни многочлена локаторов ошибок попадают в множество корней двадцать третьей степени из единицы, то процедура приводит к ошибкам декодирова- ния. В этом случае декодер знает, что в канале связи произошло более двух ошибок. Хотя рассмотренный неполный алгоритм не позволяет исправлять все тройные ошибки, в разд. 15.2 будет показано, что возможна полная процедура декодирования, позволяющая исправлять все не более чем тройные ошибки.
150 Гл. 5. Двоичные циклические коды 5.7. Пример Построить кодер для двоичного циклического кода с блоковой длиной 17, порожденного минимальным многочленом для прими- тивного корня семнадцатой степени из единицы. Построить декодер, исправляющий две или меньшее число ошибок в канале. Решение. Различные степени числа 2 по модулю 17 дают числа 1, 2, 4, 8, —1, —2, —4, —8. Так как мультипликативный порядок числа 2 по модулю 17 равен 8, то круговой многочлен <2<17) (ж) распадается в произведение двух неприводимых двоичных многочле- нов, степень каждого из которых равна 8. Если а — примитивный корень семнадцатой степени из единицы, то а”1 сопряжен с а, так что каждый из двух неприводимых множителей многочлена (?<17) (х) является и своим взаимным. Поэтому можно заключить, что каждый из неприводимых множителей представим в виде Xs + Ах1 Д Вх3 Д- + Сх? + Dx* Д- Сх? Д- Вх2 Д Ах Д 1. Деление этого многочлена на х Д 1 дает остаток D; деление на х? Д 1 дает остаток (1 Д В Д Д- С) х2 4- Dx 4- (1 4- В 4- С); деление на (ха 4- 1) дает остаток Dx* Д (С Д 1) х3 Д (А Д В) х2 4- (А Д В) х Д (С 4- !)• Так как х 4“ 1 не является делителем искомого многочлена восьмой степе- ни, то D — 1; так как х2 Д х Д 1 также не делит этот многочлен, то В 4“ С = 1; так как и многочлен д^Дд^Дд^ДгД! его не делит, то либо С = 1, либо А = В, либо оба эти равенства выпол- няются одновременно. Таким образом, определяем делители (?(17) (х) — это х? Д х1 4- 2е Д х* Д х2 Д х 4- 1 и х? Д ха Д х* Д х3 Д 1. Так как последний делитель имеет меньше ненулевых коэффициентов, то выбор его в качестве порождающего многочлена кода позволяет построить устройства с меньшим числом обратных связей. Полагаем g (х) = х8 Д ха Д х* Д х3 Д 1. Читатель может без труда построить кодер для этого кода. Несложно и построение устройства деления принятого слова на М(1) (х) = g(x) и выделения остатка га) (х). Имея эти данные, декодер легко находит $1 = г(1)(а). Для исправления двух ошибок необходимо также знать 83. В данном примере, однако, величина Х3 не может быть найдена. Так как число 3 не является степенью 2 по модулю 17, то а3 не является корнем порождающего многочлена кода. Ни одна комбинация проверочных позиций полу- ченного слова не приводит к S3. Для исправления двойных ошибок декодер должен поступать иначе. Конечно, вообще говоря, априори не очевидно, что данный код позволяет исправлять две ошибки. Он, как и БЧХ-код с блоковой длиной 15, имеет только восемь про- верочных позиций. Восьми проверочных позиций достаточно для исправления любых двух (или одной ошибки) в блоке из 15 двоичных позиций, но консервативный читатель скептически отнесется к воз- можности исправления с помощью восьми проверочных позиций любых двух ошибок в блоке из 17 двоичных позиций. Тем не менее даже скептики не могут отрицать такой возможности, пока не найдут для этого достаточных оснований.
5.8, Эквивалентность определений циклических кодов 151 Ясно, что декодер не может выявить две ошибки, зная только Sp Так как он не может определить S3, то ему необходима другая допол- нительная информация. Декодер может определить S2 = rC1) (а2), = И1) (а4), S8 = Н1) (а8), 516 = = r(1> (а-1). Наиболее полезной из этих величин является 5_х. Если в канале произошли две ошибки, то и дают декодеру два независимых уравнения с двумя неизвестными: х, + х2 = slt Xi Х2 Так как = (Хх + X2)/XiX2, то ХГХ2 — и a (z) = = 1 + Srz + (SJS-y) z2. Таким образом, в случае двух ошибок декодер может найти многочлен локаторов ошибок. В случае одной ошибки в канале a (z) = 1 + 5jZ. Следовательно, если про- изошла только одна ошибка, то декодер может ее исправить. Пред- ставляется возможным, что декодер может различать случаи одной и двух ошибок. Если в канале произошла одна ошибка, то 5_1 = 5"1. В принципе такая ситуация возможна и при двух ошибках. Однако в этом случае a(z) = 1.Д- 5xz + S[z2 = (д Д- Srz) (д2 Д- 51z), где д £ GF (4) — примитивный корень третьей степени из единицы. Тогда взаимными корнями многочлена о (z) являются локаторы Хг = SJd и Х2 = SJd2. Но 1/5_х = X^^Xi + Х2) = = = Х1 + Х2, так что ^1^2 = (^1 + XJ)2 = 52. Так как Хг и Х2 — корни семнадцатой степени из единицы, то Sr, S[ и д = S-JX^ также являются корнями семнадцатой степени из единицы. Но <Э17 = д2 1. Из этого противоречия заключаем, что в случае двух ошибок в канале Д= 5"1. Следовательно, все двойные и одиночные ошибки можно исправлять с помощью следующего алгоритма: 5.71. Алгоритм декодирования 1 , если 5! = 5_1 = 0; d(z)= 1 + , если 51^0и5.1 = у; Is 1 1 1+ <S,1z + ^l-z2, если 51=д=0, 5_1=Д=0, Все вычисления алгоритма 5.71 выполняются в поле GF (28). Чита- тель без труда сможет сконструировать соответствующие схемы. 5.8. Эквивалентность определений циклических кодов при помощи различных примитивных корней n-степени из единицы Порождающий многочлен g (х) двоичного циклического кода с нечетной блоковой длиной п должен быть делителем многочлена п хп — 1 = [J (а: — а*), где а — примитивный корень n-й степени £=1
152 Гл. 5. Двоичные циклические коды из единицы. Если т — мультипликативный порядок числа 2 по модулю п, то a g GF (2,п). Так как g (х) делит хп — 1, то корни g (х) образуют подмножество множества корней многочлена хп — 1. Следовательно, каждый корень многочлена g (х) является степенью а. Таким образом, циклический код с блоковой длиной п можно опреде- лить заданием примитивного корня п-й степени из единицы и под- множества К чисел к по модулю п, для которых ак являются кор- нями g (х). Так как все сопряженные с корнями g (х) также являются корнями g (х), то множество К должно быть замкнуто относительно умножения на 2 по модулю п. Например, если 1 £ К, то 2 £ К, 4 £ К, 8 £ К, . . . в соответствии с тем, что элементы а, а2, а4, а8, . . . двоично сопряжены. Аналогично 3 £ К тогда и только тогда, когда 6 £ К. Число проверочных позиций кода равно deg g (х) = | К | — числу элементов множества К. Число информа- ционных позиций кода равно п — | К |. Для задания порождающего многочлена кода g (х) уравнением £(*) = П (я —aft) kFK необходимо задать и конкретный примитивный корень а п-й степени из единицы и множество К степеней а, приводящих к корням g (х). Хотя различным выборам а соответствуют различные коды, они эквивалентны в том смысле, что получаются друг из друга подста- новкой х-*-х}. Точное утверждение дает следующая теорема: 5.81. Теорема. Пусть а — фиксированный примитивный корень п-й степени из единицы в конечном поле характеристики 2, К — подмножество чисел по модулю п, замкнутое относительно Умножения на 2, g(z) — Q (х — о?). Пусть] — произвольное число, к£К взаимно простое с п, и g (х) = [[ (х — азк) = Д (х — ак). Пусть кек kejK п— 1 с (х) = 2 chxk — произвольный двоичный многочлен степени < п, к=0 П— 1 а с (х) = 2 где ск = ст, причем т = jk mod п. Многочлен л=о с (х) кратен g (х) тогда и только тогда, когда с (х) кратен g (х). Пример. Пусть п = 31, а—корень многочлена zs-|-z2-|-l, К = {1, 2, 4, 8, 16, 3, 6, 12, 24, 17} и j = 7. Делители z31— 1 приведены в разд. 4.7. Положим g (z) = Af<1) (z) Af<3) (z) = 1z3z5z8z8z9z10 и g (x) = M<?> (z)Af<21> (z). Так как 11 == 2-21 mod 31, то (z) = Aft11) (z) и g (z) = Af<7) (z)Af<u> (z) = = l-|-z3-|-z4-|-z9-|-z10. Одним из кратных многочлена g (z) является многочлен c(z) = (l-|-z) g (z) = l + z-j-z3 + z4 + z5 + z’-j-z8 + i11, который с помощью подстановки z -> z9 приводится к виду 1 -|- Z9 + Z27 + Z5 + Z14 -|- Z1 + Z10 + + ze = g (z) (1 -|- x -|- Z3 -|- Z7 -|- Z12 + Z13 + Z14 + z15 -|- zle -|- z17).
5.8. Эквивалентность определений циклических кодов 153 Доказательство. Пусть ij _== 1 mod п. Тогда эквива- лентны следующие утверждения: с (х) кратен g (х); с (aft) = 0 для всех к £ К; с (аг<г) = 0 для всех ik £ К; с (a’ft) = 0 для всех к Q jК', с (aft) = 0 для всех к £ jК', с (х) кратен g (х). н 5.82. Следствие. Произвольный двоичный циклический код с нечетной блоковой длиной инвариантен относительно подстановки ch-> ci, i == 2k mod n. Следствие 5.82 оказывается полезным при изучении весовой структуры двоичных циклических кодов. Произвольная группа подстановок, переводящая кодовое слово снова в кодовое слово, разбивает множество всех кодовых слов на непересекающиеся классы, каждый из которых содержит слова, получающиеся друг из друга при помощи подстановок из этой группы. Так как кодовые слова одного класса имеют одинаковый вес, то для полного перечисления всех весов достаточно рассмотреть по одному слову из каждого класса. Мак-Вильямс [19651 и Гёталс 11965], [1966] использовали группу подстановок, порожденную естественными циклическими сдвигами и подстановками, указанными в следствии 5.82, для пол- ного перечисления весов двоичных циклических кодов с блоковой длиной 43. Если а и a — два примитивных корня п-й степени из единицы с различными минимальными многочленами, то, согласно теоре- ме 5.81, слова кода, порожденного многочленом g(x)= [] (х — ak), лек получаются путем перестановки координат кодовых слов кода, порожденного многочленом g (х) = [] (х — о?). Конфигурации лек ошибок, исправляемые при заданном алгоритме декодирования одним кодом, являются перестановками конфигураций ошибок, исправляемых другим кодом при том же алгоритме декодирования; конфигурации ошибок, приводящие к отказу от декодирования в одном коде, являются перестановками конфигураций ошибок, приводящих к отказу от декодирования в другом коде; конфигурации ошибок, неправильно декодируемые в одном коде, являются пере- становками конфигураций ошибок, неправильно декодируемых в другом коде. Таким обравом, с точностью до перестановки, эти два кода эквивалентны. Во многих реальных приложениях, однако, перестановки конфи- гураций ошибок не эквивалентны. Ошибки обычно имеют некоторую
154 Гл. 5. Двоичные циклические коды тенденцию к появлению пакетами. Для большинства каналов конфи- гурация из трех последовательных ошибок является несколько более вероятной, чем какая-нибудь конфигурация из трех ошибок, размазанных по блоку. Поэтому часто оказывается целесообраз- ным задавать код с помощью вполне определенных корней и-й сте- пени из единицы, а не каким-либо другим образом. Например, в примере 5.7 мы видели, что (?<17) (ж) = g (z) g (х), где g (z) = 1 + 4- а4 xi 4- т5 4- х8 и g (я) = 1 4~ я 4~ г2 4~ 4~ г6 4~ 4~ г8- Любой из этих множителей может быть выбран в качестве порождаю- щего многочлена для двоичного циклического кода с блоковой длиной 17 и восемью проверочными позициями. Код с порождающим много- членом g (х) неправильно декодирует тройную ошибку в трех после- довательных позициях 3, 4 и 5 как двойную ошибку в позициях 0 и 8. Это ясно видно из того факта, что код содержит слово (сам порож- дающий многочлен) веса 5 с единицами в позициях 0, 3, 4, 5 и 8. С другой стороны, в коде с порождающим многочленом g (х) нет кодовых слов веса 5 с единицами в трех последовательных позициях. Следовательно, код с порождающим многочленом g (х) при трех последовательных ошибках приводит к отказу от декодирования. Если использовать алгоритм 5.71, то он приведет к квадратному многочлену ошибок о (z), не имеющему корней в множестве корней семнадцатой степени из единицы. Таким образом, если в канале наблюдается тенденция к группи- рованию ошибок, то может случиться, что задание цикличе- ского кода с использованием некоторого корня п-й степени из едини- цы более целесообразно, чем какое-либо другое задание. В общем случае число обратных связей в схемах кодера и декодера также зависит от выбора частного корня п-й степени из единицы. Конкрет- ный критерий, на основании которого производится выбор, должен учитывать стоимость выбираемых логических цепей и статистику ошибок в канале. Выбор зависит от разложения многочленов хп — 1 и <2(П) (z). Методы отыскания этих разложений описаны в гл. 6. Задачи 5.1 (Эбрамсов [1959]). Показать, что расширенный код, образованный добавлением общей проверки на четность в конце циклического кода Хэмминга, позволяет исправлять все одиночные ошибки и все двойные смежные ошибки, не затрагивающие общую проверку на четность. Возможно ли так переупо- рядочить столбцы кода, чтобы он исправлял все одиночные и двойные смежные ошибки? 5.2 (Файр [1959]). Пусть ей с - произвольные числа, ап — их наименьшее общее кратное. Пусть р (х) —неприводимый делитель Qie> (х) над GF (q)\ т — порядок числа q по модулю е и g (х) = р (х) (х= — 1). Доказать, что циклический код с блоковой длиной п, порожденный многочленом g (х), не содержит кодовых слов вида С (х) = х;Л (х) — хЗВ (х) mod (х« — 1), где deg А (х) < т и deg А (х) 4* deg В (х) < с.
Задачи z 155 Указание. Если С (х) = 0 mod (afi — 1), то А (х) = В (х) и / = i mod с. 5.3 (Месси [1964]). Код называют реверсивным, если он наряду с кодовым словом [Со, . ., Cri_2, Cn-i] содержит слово [Cn_it Сп_2, . . ., Ci, Col- fa) Доказать, что циклический код реверсивен тогда и только тогда, когда для каждого корня порождающего многочлена взаимный корень также является корнем этого многочлена. (Ь) Доказать, что если —1 есть степень q по модулю п, то каждый цикли- ческий код с блоковой длиной п над GF (д) реверсивен. 5.4 Постройте реверсивный циклический код, исправляющий две ошибки, с блоковой длиной п = 4* + 1 и скоростью передачи R = 1 — 4i/re. 5.5 Пусть п — простое число, т — мультипликативный порядок числа 2 по модулю п и j = (п — 1)/т. Доказать следующие утверждения: (а) Существует точно 21+1 двоичных циклических кодов с блоковой длиной п. (Ь) Существует точно 242 ц (d) 2l/i двоичных циклических кодов !, d, И з d (I с блоковой длиной п, не эквивалентных в смысле теоремы 5.81.
Глава 6 Разложение многочленов над конечными полями 6.1. Общий алгоритм В этом разделе описывается один алгоритм разложения многочлена т / U) ~ 3 fk3^ fk G GF (q), в произведение степеней неприводимых h=0 многочленов. Для достаточно малых q этот алгоритм оказывается эффективным даже при больших числах т. 1. Строим (т X тп)-матрицу над GF (q), l-я строка которой соответствует многочлену приведенному по модулю / (х). В частности, xql = 3 ®i+1, fe+1 mod f(x). h=0 Матрица может быть построена с помощью регистра сдвига, выполняющего умножение на х по модулю / (х). В начальном поло- жении в регистре записана 1 — первая строка матрицы После q сдвигов в нем содержится вторая строка g и т. д. После q (т — 1) сдвигов в регистре будет записана последняя строка матрицы Q,. т— 1 Для произвольного многочлена g (х) — 3 Sixi степени i=0 над полем GF (q) класс вычетов [g (х)]9 по модулю / (х) может быть определен с помощью умножения вектор-строки [g0, glt . . gm-J на матрицу Это вытекает из следующего соотношения: т— 1 \g (x)}q = g (хч) = 3 giZ4i = г=0 тп—1 тп—1 тп—1 тп—1 = 3 ( 3 gi&i+l, fe+l^) — 2 ( 2 gi@-i+i, Л+1) • i = 0 k= 0 fe = 0 i = 0 Аналогично класс вычетов [g (x)]q — g (x) no модулю / (x) может быть найден путем умножения вектор-строки [g0, gm-J на матрицу — J), где J —единичная (т X тп)-матрица над GF (q).
6.1. Общий алгоритм 1 157 2. Находим множество вектор-строк, образующих нуль-под- пространство матрицы й — J. Для этого можно применить соот- ветствующие операции над столбцами матрицы й — .7, описанные в разд. 2.5, 2.6. Каждая вектор-строка из нуль-подпространства матрицы й — .7 представима в виде многочлена g (ж), удовлетворяю- щего сравнению [g (ж)]? — g (х) = 0 mod / (х), и, наоборот, каждый многочлен g (х), удовлетворяющий этому сравнению, является пред- ставлением вектор-строки из нуль-подпространства матрицы @ 3. Выбираем произвольный из многочленов g (х), найденных на предыдущем шаге, и, используя алгоритм Евклида, определяем наибольший общий делитель многочленов / (ж) и g (х) — s для всех a £ GF (q) х). Тогда имеет место следующее разложение: 6. 11. Теорема /(я)= П [н. о. д. g(x)- a)]. seGK(q) Замечание. Если g (x) — скаляр, то это разложение прини- мает вид /(«)-= н. о. д. (Дж), 0) П н. о. д. (/(ж), а) — / (ж) [J 1. 8^0 8=£0 Если же g (ж) — многочлен ненулевой степени, то разложение (6.11) нетривиально. В общем случае это разложение является неполным, ибо н. о. д. (/(ж), g (ж) — з) может быть разложимым. Доказательство теоремы 6.11. По условию / (ж) делит [g (ж)]? — g (ж) = Q [g (ж) — з]. Следовательно, / (ж) делит sEGF(g) также Q [н. о. д. (/(ж), g (ж) —s)]. С другой стороны, н. о. д. s£GF(g) (/ (ж), g (ж) — а) делит / (ж). Если а =/= t и a, t g GF (q), то многочлены g (ж) — а и g (ж) — t взаимно просты, так же как и н. о. д. (/ (х), ё (х) — s) и н. о. д. (/ (ж), g (ж) — t). Следовательно, [J [н. о. д. (/ (ж), g (ж) — а)] делит / (ж). Предполагая оба много- s£GF(q) члена нормированными, приходим к выводу, что они равны, так как они делят друг друга. м 6. 12. Пример. Пусть / (ж) — двоичный многочлен 1110001110001, иначе, / (ж) = 1 -|- х + ж2 -(- ж6 + ж7 + ж8 + ж12. Последовательные степени ж имеют вид 1) Практически для определения н. о. д. нет необходимости в д-кратном использовании алгоритма Евклида. Укороченная процедура иллюстрируется примером 6.12.
158 Гл 6 Разложение многочленов над конечными полями 100000000000 010000000000 001000000000 000100000000 000010000000 000001000000 000000100000 000000010000 000000001000 000000000100 000000000010 0 О ООО О О 0000 1 111000111000 011100011100 001110001110 000111000111 111011011011 100101010101 101010010010 010101001001 110010011100 011001001110 001100100111 100000000000 001000000000 000010000000 000000100000 000000001000 ,_0 00000000010 "111000111000 001110001110 111011011011 101010010010 110010011100 001100100111 000000000000 011000000000 001010000000 000100100000 000010001000 _0 О ООО 1 О ООО 1 о “111000011000 001110011110 111011010011 101010010110 110010011110 001100100110 Если перенумеровать столбцы матрицы J числами от 0 до 11 и прибавить третий столбец к шестому, первый, второй и четвертый столбцы к восьмому, а пятый столбец к десятому, то верхний правый восьмимерный квадрат матрицы © — А можно сделать нулевым. Нижний правый квадрат при этом примет вид 0 110 0 0 111110 _ 0 1 1 0 0 1 “010110 0 11110 0 0 1110 Решениями уравнения [g6, g7, . . ., gu] J? = 0 являются [g6, g-i, . . ., gn] = [А, О, О, А, О, А], где A = 0 или 1. Первые шесть координат g легко находятся из уравнения g (Й — J) = О, решения которого имеют вид g = [В, А, О, А, А, О, А, О, О, А, О, Л], где А, В g GF (2). Наконец, применим алгоритм Евклида к / (х) = = 11 10001 1 10001 и g(x) — s = s 1 0 1 1010010 1.
6.1. Общий алгоритм / 159 Выбирая $ независимой переменной и t = «->-1, можно с помощью одних и тех же вычислений найти н. о. д. многочленов 1 1 10001 1 1 0 0 0 1 и 0 1 01 101001 0 1 и н. о. д. мно- гочленов 111000111000 1и110110100101: 1110001110001 slOHOlOOlOl 12001110101 si0110100101 sOMHOl 1^001110101 1/OslsOl sOflllOl ttttQt Если t — 0, то н. о. д. равен 1001110 1, если s = 0, н. о. д. многочленов 1110001110001и010110100101 равен н. о. д. многочленов 111101и11001001и совпа- дает с 1 1 1 1 0 1. Оба многочлена 111101и10011101 неприводимы над полем GF (2) и разложение является полным: 1 + х х2 х6 4- я7 + я8 * * * 4~ я12 = (1 4- х 4- х2 4- х3 4- х5) х х (1 4~ я3 4~ я4 4* я5 4- х1). п В общем случае предположим, что/(я) — [] [р(г) (xr)]e*, где каждый i—1 многочлен рО) (х) неприводим над GF (q). Многочлен / (х) делит П I# — s] тогда и только тогда, когда каждый многочлен sEGr(g) делит g (х) — st для некоторого s; g GF (q). С другой стороны, для произвольного заданного множества скаляров s15 s2> 5з, • • •, snQ С GF (q) китайская теорема, об остатках 2.17 гарантирует существо- вание единственного по mod / (х) многочлена g (ж), такого, что g (х) = s, mod [pW (х)]е‘ для всех i. Так как существует точно qn векторов (sj, s2, . . ., sn), то существует точно qn решений уравне- ния [g (х)]з — g (х) = 0 mod / (х). Это доказывает 6. 13. Теорема. Число различных неприводимых делителей f (х) равно размерности нулъ-пространства матрицы Q, — В частности, многочлен / (х) является степенью неприводимого многочлена тогда и только тогда, когда нуль-пространство матри- цы б — J имеет размерность 1. В этом случае решениями сравне- ния [g (а:)]® — g (х) == 0 mod / (х) являются только скаляры поля GF (q~) и нуль-пространство матрицы Й — J содержит единственный вектор вида [s, 0, 0, . . ., 0]. Если размерность нуль-пространства
160 Гл. 6. Разложение многочленов над конечными полями матрицы й — J равна п, то оно имеет базис, состоящий из п норми- рованных многочленов gW (х), g<2> (х), . . g(n> (х). Без потери общности можно считать, что g^ (i) = 1 и что степени остальных (п — 1) многочленов положительны. Применяя алгоритм Евклида к / (ж) и gf1) (х) — s, мы получим • разложение / (х). Если это разложение содержит менее п множителей, то вычисляем н. о. д. g(2)(x) — s и каждого уже известного множителя многочлена / (х) и т. д. Следующие соображения показывают, что этот процесс приводит в конце концов к разложению / (х) в произведение степеней п неприводимых многочленов. Пусть 'ё — некоторая (п х ге)-матрица над GF (q), где g{3) (х) == = ‘ёи mod [p(i) (2)1\ Тогда ё невырожденна, так как если = 0 для всех i, то (х) = ® mod [?<f) (я)Г‘ Для 7 .3 всех i и, следовательно, (ж) 0 mod / (ж)> что противоре- э чит линейной независимости g(4 (2), g<2> (2), . . ., g(n) (2). Так как в ;'-м столбце матрицы g стоят различные элементы, то, применяя к / (2) и g (2) — s алгоритм Евклида, получим разложение / (2) на раз- личные множители. Степени неприводимых многочленов [р(‘>(2)] 1 и [р<к) (2)] k выделяются тогда и только тогда, когда у. Так как g невырожденна, то для каждых i и к существует некото- рое /, такое, что Следовательно, некоторый многочлен g{3i (2) выделяет степени любых двух неприводимых делителей / (2). Степень произвольного неприводимого делителя может быть определена путем применения алгоритма Евклида к многочлену / (2) и его производной. , Если q достаточно велико, то к этому алгоритму может быть при- менено несколько остроумных приемов, некоторые из которых обсуж- даются во втором томе книги Кнута [1968]. *6.2. Определение периода многочлена Часто нужно знать период многочлена / (2), т. е. наименьшее число /, для которого многочлен / (х) делит 23 — 1. Если / (2)— неприводимый многочлен степени т над GF (q), то период / (2) равен наименьшему общему кратному мультипликативных порядков его корней (оно делит число qm — 1). Найдем связь между периодом многочлена и периодами его неприводимых делителей. Предположим сначала, что / (2) — неприво- димый многочлен с периодом п, и найдем период многочлена [/ (ж)]*". Так как п — делитель числа — 1, то n^O mod р, где р — характеристика поля GF (д). Так как период / (2) равен п, то / (2) делит многочлен — 1 тогда и только тогда, когда к == 0 (mod п).
6.2. Определение периода многочлена 161 Если к = plj, где j не делится на р, то хк — 1 = (х3 — 1)р . Много- член х3 — 1 не имеет кратных корней, так как он делит xim~l — 1, где т — мультипликативный порядок числа q по модулю j. Следова- тельно, каждый неприводимый делитель многочлена хк — 1 имеет кратность рг. Отсюда заключаем, что если неприводимый многочлен / (х) имеет период п, то период многочлена [/ (х)]т равен пр1, где р1 — наименьшая степень числа р, такая, что рг т. Предположим теперь, что / (х) = [/С1) (x)lmi[/(2) (а:)!"12 . . ., где /(*) (х) — различные неприводимые многочлены. Так как хк — 1 делит xN — 1 тогда и только тогда, когда к делит N, то период / (х) равен наименьшему общему кратному перио- дов многочленов [/(1> (я)!™1, [/<2> (я)!"12, .... Это число в свою оче- редь равно произведению наименьшего общего кратного периодов многочленов /(1) (х) на наименьшую степень р1 числа р, такую, что pf mt для всех i. Итак, имеет место 6.21. Теорема. Если / (х) = Ц 1/<г’ (я)!™1, где /<г) (ж) — г неприводимые многочлены с периодами nt над полем GF (q) характери- стики р, то период / (х) равен произведению наименьшего общего крат- ного чисел nt на такую наименьшую степень pf числа р, что р1 mt для всех i. Таким образом, задача определения периода многочлена сво- дится к задаче определения периодов каждого из его неприводимых множителей. Каков наилучший метод определения периода п непри- водимого многочлена / (х)? Если степень / (х) равна т, то п должно быть делителем числа qm — 1, так что первый шаг сводится к разло- жению qm — 1 =ПРгг> гДе Pi — различные простые числа. Опре- г делив классы вычетов x(q mod / (х), можно узнать, входит ли в период п число рср. Эти вычисления могут быть выполнены путем перемножения подходящих комбинаций классов вычетов х, xfl, х’Р, . . ., х9”1-1 mod / (х). Если =£ 1 mod / (я), то период / (х) кратен числу pe3i, если же = 1 mod f (х), то число рр не входит в период / (х). В последнем случае надо проверить, кратен ли период f (х) числам рр~1, peF~2, .... Эти выкладки надо провести для всех простых делителей числа qm — 1. Результаты этих вычислений сразу позволяют определить период п многочленов f(x). 6.22. Пример. Чему равна блоковая длина укороченного циклического двоичного кода с порождающим многочленом g (х) — = з? + х 1? 11-658
162 Гл. 6. Разложение многочленов над конечными полями Решение. Найдем матрицу (§, строками которой являются четные степени х, редуцированные по модулю g (х). Это дает Степень Класс вычетов О 100000000 2 001000000 4 000010000 6 000000100 8 000000001 10 011000000 12 000110000 14 000001100 16 000000011 Так как нуль-подпространство матрицы (£ — Д состоит из 1, то g (х) — степень неприводимого многочлена. Так как многочлен g' (х) = xs + 1 не имеет общих делителей с g (х), то g (х) —непри- водимый многочлен. Затем находим классы вычетов г25, ага6, . . ., каждый из которых получается с помощью умножения предыду- щего класса на матрицу й. Степень Класс вычетов 32 0 0 0 0 0 1111 64 0 1 1 1 1 1111 128 0 1 0 1 0 1'0 1 0 256 0 1 0 0 0 10 0 0 512 0 1 0 0 0 0 0 0 0 Теперь надо определить, выполняется ли сравнение хп = 1 для некоторого собственного делителя п числа 29 — 1 = 511 = 7 -73. Число п — 511/73 = 7 не удовлетворяет этому условию, поскольку мы уже видели, что я? х. Проверим класс а:73. В двоичной записи 73 = 1001001, так что мы подсчитаем а:73 как произведение х, а:8 и а:94. Это дает а:-а:8-а:94 == (1 + х) x6i = е= (1 + х) (х + х2 + х3 + а:4 + а:5 + х6 + х1 + а:8) = = х + а? === 1. Следовательно, период п многочлена z9 + х + 1 равен 73. Для сред- них значений т наиболее трудоемкой частью вычисления периода неприводимого многочлена степени т является разложение числа
6.3. Трехчлены над GF(2) 163 qm — 1. Хотя в случае надобности можно получить такой разложе- ние непосредственно, лучше пользоваться литературой, содержащей сводные результаты по этому вопросу, основанные на многих тонких исследованиях в сочетании со значительными вычислениями. Сопо- ставляя результаты отчета Брилхарта и Селфриджа [1967] с цитиро- ванными ими работами, можно получить таблицу полного разложе- ния чисел 2т — 1 для всех т 136 и для многих больших значе- ний т х). Период многочлена / (х‘) и периоды его неприводимых делителей связаны с периодом многочлена / (х). Для того чтобы выяснить эту связь в общем случае, достаточно рассмотреть лишь некоторые слу- чаи. Во-первых, можно предположить, что многочлен / (х) неприво- дим, так как если f (х) = g (х) 'h(x), то f (х1) = g (xl)-h (х‘) и можно отдельно рассматривать g (х‘) и h (х1). Далее можно предположить, что t простое, так как если t = r-s, то / (х‘) = / ((a:r)s) и анализ можно проводить в два этапа. Можно также исключить и тривиаль- ный случай, когда t равно характеристике поля. Остальные случаи описываются следующей теоремой: 6.23. Теорема. Пусть / (а:) — неприводимый многочлен сте- пени т над полем GF (q) с периодом п, и пусть t — простое число, не делящее q. Если t | п, то период каждого неприводимого делителя многочлена / (а:1) равен tn. Если t \ п, то период одного неприводимого делителя многочлена / (а:*) равен п, а периоды остальных делителей равны tn. Доказательство. Согласно свойствам круговых много- членов, доказанным в разд. 4.3, f (х‘) | (Хп> (а:1). Если t | п, то Q(n) (х1) = (/п,) (х), и это доказывает первое утверждение. Если t\n, то Q(”) (х‘) = Qm (х) Q (п‘> (х) = Q(n‘) (х) П f(k) (*), где й, (й, п)=1 Д > (х) — минимальный многочлен для к-х степеней корней много- члена / (х). Каждый многочлен (х) неприводим, и (х) делит / (х‘) тогда и только тогда, когда kt = 1 mod п. *6.3. Трехчлены над GF (2) Методы, описанные в разд. 6.1 и 6.2, можно легко запрограмми- ровать. Используя современную вычислительную машину, легко !) При средних значениях т, используя предложенные Лукасом [1878] методы, легко определить, является ли простым число 2m — 1; когда т простое, эти числа называются числами Мерсенна, а в случае, когда (2т — 1) — простое число,— простыми числами Мерсенна. Процедура Лукаса часто, к сожалению, позволяет только определить, что данное число Мерсенна составное, не давая при этом никакой информации о его делителях. 11*
164 Гл. 6. Разложение многочленов над конечными полями осуществить разложение любого двоичного многочлена, степень которого не превосходит 1000. Среди наиболее интересных двоичных многочленов следует выде- лить трехчлены хп -j- xh + 1. Если элемент a g GF (2П) представляет собой корень неприводимого двоичного трехчлена степени п, то пер- вые п степеней элемента а представляют собой особенно привлекатель- ный базис для записи поля GF (2П), так как умножение на а может быть выполнено с помощью n-ячеечного регистра, в обратную связь которого входит всего один сумматор с двумя входами (см. разд. 2.41). В вопросах кодирования наибольшую практическую ценность имеют поля, порядок которых не превосходит 212. Поля GF (2П) при п > 12 представляют больше академический, чем практический интерес. Однако имеются некоторые другие области применения регистров с обратными связями (такие, как построение двоичных псевдослу- чайных последовательностей), где представляет практический инте- рес отыскание примитивных двоичных трехчленов максимально высокой степени. Так как матрица &, соответствующая трехчлену, содержит очень мало единиц, то базис нуль-пространства матрицы й — .7 удобно определять с помощью методов, описанных в разд. 2.6. Это значи- тельно облегчает разложение двоичных трехчленов по сравнению с произвольными двоичными многочленами. В некоторых приложениях получение точного разложения не существенно, а требуется лишь определить, приводим многочлен или нет. Методы разд. 6.1 или другие алгоритмы [Глизон, Мак-Рэй (не опубликовано)] позволяют достаточно полно решить этот вопрос. Используя алгоритм Мак-Рэя и вычислительную машину СДС 6600, Цирлер нашел все неприводимые двоичные трехчлены степеней 1000. Используя более поздние результаты о разложении чисел 2П — 1, Брилхарт определил показатели многих неприводимых трехчленов Цирлера. Эти результаты опубликованы Брилхартом и Цирлером в 1969 г. Хотя для любителей счета эти данные и представляют значи- тельный интерес, полная картина здесь пока не ясна. Большинство известных результатов, подытоженных Голомбом [1967], относятся только к отдельным значениям п и к. Не известно даже, существуют ли примитивные двоичные трехчлены сколь угодно высокой степени. Единственная общая нетривиальная теорема о двоичных трехчленах, доказанная Суоном [1962], определяет лишь четность числа непри- водимых множителей трехчлена хп + xk + 1. Мы приведем эту тео- рему в следствии 6.696. Представляется весьма сложной даже задача определения числа неприводимых двоичных трехчленов заданной степени, хотя, как видно из равенства 3.37 и задач 3.3 и 3.4, число неприводимых многочленов в других больших множествах опреде- ляется достаточно просто.
6.4. Полное разложение многочлена хп — 1 165 6.4. Полное разложение многочлена 1 В качестве одного важного примера использования алгоритма разд. 6.1 рассмотрим разложение многочлена хп — 1 над GF (д) для взаимно простых п и q. В матрице 6 в этом случае (аг+1, = 1 тогда и только тогда, когда qi = j mod п, и Qi +11 = 0 тогда и только тогда, когда qi j mod п. Например, при п = 15, q = 2 100000000000000 001000000000000 000010000000000 000000100000000 000000001000000 000000000010000 000000000000100 & = 000000000000001 010000000000000 000100000000000 000001000000000 000000010000000 000000000100000 000000000001000 000000000000010 000000000000000 о 011000000000000 1 001010000000000 2 000100100000000 3 000010001000000 4 000001000010000 5 000000100000100 6 & — У = 000000010000001 7 010000001000000 8 000100000100000 9 000001000010000 10 000000010001000 и 000000000100100 12 000000000001010 13 000000000000011 14 С помощью соответствующих перестановок строк и столбцов матрица (£ — J может быть приведена к виду 0 0000 0000 0000 00 0 0 1100 0000 0000 00 1 0 оно 0000 0000 00 2 0 ООН 0000 0000 00 4 0 1001 0000 0000 00 8 0 0000 1100 0000 00 7 0 0000 оно 0000 00 14 0 0000 ООН 0000 00 13 0 0000 1001 0000 00 и 0 0000 0000 1100 00 3 0 0000 0000 оно 00 6 0 0000 0000 ООН 00 12 0 0000 0000 1001 00 9 0 0000 0000 0000 11 5 0 0000 0000 0000 11 10
166 Гл. 6. Разложение многочленов над конечными полями Ясно, что базис нуль-пространства матрицы дают многочлены gf1) (х) = г + х2 + х4 + ж8; g(2) (х) = X1 + Ж14 + Я13 + я11; g(3> (х) = х3 + Xs + Я12 + g<4) (х) = X5 + ж10. В общем случае если / (х) = хп — 1 над GF (q), то можно поло- жить g(z)-= 2 xk, k£K где К — некоторое множество чисел, замкнутое относительно умно- жения на q по модулю п. Каждый из таких многочленов g (х) имеет некоторый нетривиальный общий делитель с хп — 1. Таким обра- зом, для разложения многочлена хп — 1 нет необходимости выпол- нять операции над матрицей, а можно обозревать все многочлены g (х). Каждый из многочленов g (х) имеет некоторый общий делитель с хп — 1, и он может быть найден с помощью алгоритма Евклида. Применяя алгоритм Евклида к различным многочленам g (х), мы в конце концов получим разложение хп — 1 на неприводимые множи- тели. В большинстве случаев целесообразно начинать с разложе- ния хп — 1 на круговые многочлены и использовать многочлены g (х) и алгоритм Евклида для дальнейшего разложения круговых многочленов на неприводимые множители. *6.5. Определение степеней неприводимых делителей круговых многочленов Так как каждый элемент порядка п в расширении поля GF (q) имеет одно и то же число сопряженных относительно GF (q) элемен- тов, то все неприводимые делители над GF (q) кругового многочлена Qfn'1 (х) имеют одну и ту же степень. Эта степень т равна мульти- пликативному порядку числа q по модулю п. Таким образом, хотя полное разложение Qln> (х) может быть получено только с помощью алгоритма Евклида для многочленов, степени его неприводимых делителей могут быть определены с помощью операций над числами. Наиболее прямым способом определения порядка числа q по моду- лю п является перебор вычетов q, q2, q3, . . . по модулю п до тех пор, пока не будет найдено такое наименьшее т, что qm = 1 mod п. Однако при больших значениях т эта процедура становится утоми- тельной. К счастью, вычисления могут быть зачительно сокращены с помощью простых теоретико-числовых результатов, к изложению которых мы сейчас переходим.
6.5. Определение степеней делителей круговых многочленов 167 6.51. Теорема. Если п = н3‘, где nt — различные простые г числа, то порядок q по модулю п равен наименьшему общему крат- ному порядков q по модулям пг1. Пример Предположим, что п = 45, q = 2 Так как порядок 2 по моду- лю 5 равен 4, а порядок 2 по модулю 9 равен 6, то порядок 2 по модулю 45 равен 12. Доказательство теоремы 6.51. Имеем qm = == 1 mod п тогда и только тогда, когда qm = 1 mod п\1 для всех i; qm = 1 mod n[l тогда и только тогда, когда т кратно порядку q по модулю п3г1. Следовательно, qm == 1 mod п тогда и только тогда, когда т кратно каждому из порядков q по модулям п\1. Порядок q по модулю п равен наименьшему из таких кратных. 6.52. Теорема. Пусть п — простое число, а т} — порядок q по модулю п}. Пусть qm-— 1 делится на п1 и не делится на nl+1. (Это определяет число i.) Тогда для каждого у либо т}+1 = т}, либо mJ+l = пт} и {т2, если 2<Cy<Cz> п т2, если ]>г. Пример. Предположим, что необходимо найти порядок 7 по модулю 1024 = 210. Выберем q = 7 и п = 2. Ясно, что = 1 и т2 = 2, так как дт2 — 1 _ 48, чт0 делится на 24 и не делится на 25. Следовательно, г = 4 и, согласно теореме, m10 = 210"4 = 128. Замечание. Если п = 1093 или п = 3511, то порядок 2 по модулю п2 равен порядку 2 по модулю п; для остальных простых чисел <224 порядок 2 по модулю п2 равен п, умноженному на порядок 2 по модулю п. Доказательство теоремы 6.52. Имеем qmJ = п—1 п—1 = 1 mod п\ так что (qmJ)k = 1 mod п' и 2 = 3 1 == /<=и п— 1 = п mod п3. Следовательно, 2 (Qmj)h = 0 mod п и q"1) — 1 = Л—(I = 0 mod п3. Перемножая эти сравнения, получаем, что qnmJ — 1 = п— 1 = (qmJ — 1) [ 3 =0 mod n3+1. Следовательно, mj+1 делит k=0 nm}. Так как mj+l должно быть кратно т}, а п простое, то имеются только две возможности: либо т]+1 = т3, либо mj+1 = пт}. Если qmz — 1 делится на п1, но не делится на п1+1, то т} = т2 для ] = 2, 3, . . ., i и ml+1 = пт,. Для у i число qmJ — 1 не делит- ся на nJ+1, и, следовательно, т]+1 = пт}. Это получается с помощью
168 Гл. 6. Разложение многочленов над конечными полями индукции по у из того факта, что число (qnmi — — 1) срав- нимо с п по модулю т? и, следовательно, не делится на п2. g Последние две теоремы существенно уменьшают объем вычисле- ний для определения порядка q по модулю п, сводя эти вычисления к определению порядков q по модулям каждого из простых делителей числа п. Таким образом, на самом деле нам надо рассмотреть только порядки числа q mod п для простых п. Наиболее очевидный резуль- тат в этом направлении дает теорема 6.53. 6.53. Теорема. При простом п порядок q по модулю п являет- ся делителем числа п — 1. Доказательство. Согласно теореме Ферма (4.25), qn = = q mod п при любом q и любом простом п. Если q и п взаимно просты (а мы все время это предполагаем), то qn~l = 1 mod н, так что п — 1 кратно порядку q по модулю п. g Часто встречается задача вычисления qd mod п для различных делителей d числа п — 1. Наибольшее число вычислений приходится выполнять для наибольшего нетривиального делителя (п — 1)/2. Для q— 2 (или степеней 2) эти вычисления можно упростить с помо- щью теоремы 6.54. 6.54. Теорема. Если п — простое число, п = ±1 mod 8, то 2<n-1)/2 = 1 mod п, если же п — такое простое число, что п = == +3 mod 8, то 2<n~1X2 =г. — 1 mod п. Доказательство. Пусть [ж] обозначает наибольшее целое число, не превосходящее х. Тогда (п-1)/2 (п-1)/2 [(п-1)/4] (п—1)/2 2(п~1)/2 П * = П 2Л=( П 2Л)( П 2Л ). й=1 Ь=1 fe=l l)/4J-r-l Для каждого к, такого, что 1(н — 1)/4] <Л^(н — 1)/2, выполняется сравнение — 2к = п — 2к mod п, так что (п-1)/2 [(п-1)/4] 2(п"1)/2 Д & = ( П 2*)(-1)(п-1)/2Ч(п-1)/4]Х k—1 k=l (n-l)/2 (71—1)72 Х( П («-2/с)) = (- 1)(’’-1)/2-[(’’-1)/И П к. k—[(«—1)/4 J-f-l fe=l Последнее равенство имеет место в силу того, что в произведении (п-1) 2 П к имеется 2к четных сомножителей и п — 2к нечетных сомножи- fe=i телей. Так как все к = 1, 2, . . ., (п — 1)/2 взаимно просты с п (п простое), то можно эти множители сократить. Получаем, что 2(n-l)/2^(_1)(«-l)/2-[(n-l)/4]modn.
6 6. Четно или нечетно число неприводимых делителей? 169 Если п = ±1 mod 8, то показатель степени для —1 является нечет- ным; если п = +3 mod 8, то показатель — четное число. в В качестве примера использования этой теоремы определим сте- пени неприводимых двоичных делителей многочлена (/25 02о). Прежде всего выпишем разложение 25 025 = 52-1 001 = 52-7-11-13. Степень этого многочлена, следовательно, равна ср (25 025) = 4 5-6-10-12 = = 14 400. Число 7 простое и 7 = — 1 mod 8, поэтому порядок чис- ла 2 по модулю 7 делит (п — 1)/2 = 3. Ясно, что порядок 2 по моду- лю 7 равен 3. Каждый из остальных простых делителей 5, 11, 13 блоковой длины сравним с ±3 mod 8. Из теоремы 6.54 следует, что порядок каждого из этих чисел — делитель числа п — 1, но не делитель числа (п — 1)/2. Порядок 2 по модулю 5 равен 4; порядок 2 по модулю 11 равен 10, порядок 2 по модулю 13 является делите- лем 12 и не является делителем 6 Допустимы только числа 4 и 12, и так как 24 = 3 mod 13, то порядок 2 по модулю 13 равен 12. Необ- ходимо также определить порядок 2 по модулю 52, который равен либо 4, либо 4 5. Ясно, что правильным является второе число. Таким образом, порядок 2 по модулю 52 равен 20; порядок 2 по моду- лю 7 равен 3, порядок 2 по модулю 11 равен 10 и порядок 2 по моду- лю 13 равен 12. Порядок 2 по модулю 25 025 равен наименьшему общему кратному чисел 20, 3, 10 и 12, т е. числу 60. Следователь- но, мноючлен (Д25 02S> — произведение 240 неприводимых множи- телей, степень каждого из которых равна 60. Используя более тонкие методы теории круговых многочленов, можно доказать другие результаты, аналогичные теореме 6.54. Сформулируем некоторые из них в теоремах 6.55 и 6.56. 6.55. Теорема. Если п — простое и п = 1 (mod 3), то 2(п-1)/з _ j moj п mogQa и только тогда, когда существуют такие целые х и у, что п = х2 + 27у2. 6.56. Теорема. Если п простое и п = 1 mod 4, то 2<n-i)/4 = । mod п тогда и только тогда, когда существуют такие целые х и у, что п = х2 + 64у2. Доказательства этих теорем даны Холлом [1967] и Сторером [1967]. *6.6. Четно или нечетно число неприводимых делителей / (ж) над GF (q)? Хотя существенное улучшение общего алгоритма разложения разд. 6 1 представляется маловероятным, другие методы позволяют получить некоторую информацию о делителях многочлена с помощью значительно меньших усилий.1 Рассмотрим, например, школьную
170 Гл. 6. Рналожение многочленов над конечными полями формулу х = (—Ь ± К^2 — iac)/2a для корней квадратного урав- нения ахг + Ьх с = 0 с действительными коэффициентами. Если q — степень нечетного простого числа, не делящего а, то эта формула остается справедливой и над GF (д'). Таким образом, разрешимость квадратного уравнения над GF (q) в этом поле зависит от того, являет- ся или не является дискриминант D ~ Ьг — ^ас квадратом в GF (q). Итак, квадратный многочлен имеет четное число (два) неприводимых делителей над GF (q), если его дискриминант есть квадрат в GF (q), и имеет нечетное число (один) неприводимых делителей над GF (q) в противном случае. Это простейший пример одного общего резуль- тата, известного как теорема Штикельбергера. Для доказательства этой теоремы определим сначала дискриминант произвольного многочлена. 6.61. Определение. Дискриминант D многочлена f (х) = п — a JI (х — а,) определяется равенством i=i 7)(/) = а2п-2 ЦП (а._а.)2. Как мы увидим, дискриминант является частным видом одной функции от двух многочленов, называемой результантом и опреде- ляемой следующим образом: 6.62. Определение1). Результат двух многочленов п т f(x) = a [J (x-cci), g(x) — b П (*-₽Д 1= 1 7= 1 задается равенством п т R(f,g) = ambn [] П («.-₽;)• 1=1 3=1 Из этого определения сразу вытекают следующие свойства резуль- танта. (Доказательство (6.622) следует непосредственно из (6.627).) 6.621. R (g, f) = (-i)mn R (f, g). 6.622. Если g (x) = f (x) q (x) Д- r (x), mo R (f, g) = = a^-degr ft (j, 6.623. Если f (x) и g (x) имеют общий делитель положительной степени, то R (f, g) = 0. х) Это определение восходит к Ван-дер-Вардену [1931]. Предупредим чита- теля, что некоторые другие авторы, включая Суона, определяют результант равенством R (J, g) = R (g, f). Заметим также, что в определении Ван-дер- Swan VdW Вардена участвует множитель (—1)п(п~1)/2 [(5^ § 28].
6.6. Четно или нечетно число неприводимых делителей? 171 6.624. Если а и Ъ — константы, не равные одновременно 0, то R (a, b) = 1. 6.625. Если f(x) = fay(x)f<2y(x), то R(f, g) = R(^y, g)R(f‘2y, g). 6.626. Если g(x)=ga> (x)gf2> (x), mo R(f, g) = R(f, gay)R(f, g<2y). n m 6.627. R(f,g) = am J] g(at) = (-irbn П /(₽>)• i=l J=1 Свойства 6.621—6.624 позволяют вычислить R (f, g), применяя к / (x) и g (x) алгоритм Евклида. Это означает, что результант f (х) и g (х) может быть выражен через произведения, частные, суммы и разности коэффициентов этих многочленов. В частности, если / (х) и g (х) — многочлены над полем Е, то R (J, g) f F, даже если корни / (х) и g (х) лежат не в F. Теорема 6.63 дает выражение для дискриминанта нормирован- ного многочлена / (а:) степени п. 6.63. Теорема. £)(/) = (- = у,, jy Доказательство. Согласно свойству 6.627, Л (Л /') = П гы fe=l где /(*) = П (х-сц), f (х) = 3 П (*-«;)• г=1 j Тогда /' («а) = 211 («а - «О = П (“А - at), 3 i i=£k Л (А П = Ш1(аА-аг) = г k i=/=k Используя это соотношение между дискриминантом и резуль- тантом, можно вывести формулу для дискриминанта произведения.
172 Гл. 6. Разложение многочленов над конечными полями 6.64. Теорема. Если g (х) uh (х) — неприводимые многочле- ны, то D (gh) = D(g)D (h) [R (h, g)]2. Доказательство. Пусть степени g (x) и h (x) равны соответственно i и j. Тогда (- l)(l+i) (’+i-1,/2Z)(gh) = R (gh, (gh)’) - = R(gh, g'h-f-gh') = R (g, g'h^-gh')R(h, g’h + gh') = = R (g, g'h) R (h, gh') = R (g, g’) R (g, h) R (h, g) R (h, h') = = ( _ U) R h} ( _ i}ijR {gf h} ( __ 1)J(3-i)/2p {h} Утверждение теоремы вытекает из равенства G + 0 G + /—1) i (i — 1) , , 7(7 — 1) -----2----------2-----------2~' 1 Повторное использование теоремы позволяет вычислить дискри- минант произведения k нормированных многочленов /(1> (х), fi2) (х),... ..., ji4)(x). Имеем D ( П Г) = D ( П /<’>) D (f) [R ( П* Л, /<ъ)12 = г=1 г=1 г=1 = D([l r>)D(f^) ’п 7? (/<!\ г=1 г=1 6.65. Теорема. я(П /“’) = [П D(f^)][ п II R(r\f^)]2. г=1 1=1 l^t<J^fe Мы можем теперь вычислить непосредственно дискриминанты некоторых многочленов. Рассмотрим, например, квадратный трех- член ах2 + Ьх + с. Имеем D (ах24-Ьх + с) = a2D (х2 —~~х —= =-.-a2R(2x + ^,x2^^x + ^ = = -*а2 (-^+^)=b2--4ac. Квадратный трехчлен является частным случаем трехчлена общего вида хп + axk + Ъ, дискриминант которого был вычислен Суо- ном [1962].
6.6. Четно или нечетно число неприводимых делителей? 173 6.66. Лемма Суона. Результант двух биномов определяется равенством R(x3-^3, xk-vk) = (-l)3(vm~lm)d, где d = н. о. д. (/, к) ит = jk/d. Доказательство. Если а — примитивный корень j-й степени из единицы, то — V = П (ж— г=1 R (х3 ~ I3, х* - Vs) = П [(£a’)fc - vft] - г = 1 -(-КГ* n[(f )*-«•]. г~ 1 Так как порядок ак равен j/d, то l/d п (ж — аи) —- ж^ — 1 г=1 И R (х3 -13, хк - vk) = (- l)Vd [(f) - 1]" = ( - 1)J (vm - ГТ-в 6.67. Теорема Суона. Пусть n> к > 0. Пусть d— н. о. д. (рг, к); n~Nd; k = Kd. Тогда дискриминант трехчлена ^Раз^-уЪ определяется формулой D (хп + ax'1 + b) = = (_!)"<"-!)/V"1 (nNbN-K-(- 1)N (п - k)N-KkKaN)d. Доказательство. Для / (х) — хп -}- ахк b имеем D (f (ж)) = (- i)n^n~l^2R (Mn-i + f (Ж)). R (ргхп~1 4- akx^~l, / (ж)) -= R (хк~г, / (ж)) R (п, / (z)) R (хп~к Т n~rak, f (ж)), R (хк~\ f (ж)) = (/ (0))м = Ък~\ R (п, f(x'))=nn = nNd, R (xn~h 4- n~rak, f (a;)) = R (xn~k 4- n~rak, xk (xn~k 4- n^ak) + -4- a (1 — n~4c) -pb) = R (xn~k 4- п~гак, a (1 — a? 4- b) = = (a(i-n-1k))n-hR(3T-k-ln-k, -vk), где g = (- n^ak)ihn~k\ v^lba'1 (nlk-
174 Гл. 6. Разложение многочленов над конечными полями Утверждение теоремы вытекает непосредственно из леммы 6.66 при j = п - k, т = (N - К) Kd, vm = (ba-1 (тт1 к - I)-1) N~K и = (—п^ак^. । Покажем теперь, что дискриминант многочлена / (х) зависит от четности или нечетности числа его неприводимых делителей. 6.68. Теорема Штикельбергера (для полей нечет- ной характеристики). Пусть q — степень нечетного простого числа. Пусть f (х) — нормированный многочлен степени т над GF (q), дискри- минант D (/) которого отличен от нуля, аг — число неприводимых делителей f (х) над GF (q). Сравнение г = т mod 2 выполняется тогда и только тогда, когда D (/) есть квадрат в GF (q). Доказательство. Рассмотрим сначала случай г = 1, т. е. случай, когда / (х) неприводим над GF (q). Если а — некоторый корень / (х), то а 6 GF (qm), и остальные корни / (х) «/-сопряжены с а. Следовательно, VD g GF (qm), так как в GF (qm) выполняются равенства У~ D = ДII (о^г —сс^). VT)q = IIП (aq'-aq}) = = IJIJ (аЯ1 — aql) П (aqh — аЯт) = 1 k iCkC.Tn~ 1 Если т нечетно, то VD'1 = [fD, так что GF (q). Если пг четно, то У Dq А так что ^D^.GF (q). Это доказывает теорему Г дляг = 1. Предположим теперь, что / (х) — Д /<г> (я), где /<’> (х), i=i i = 1, ... ,г,— неприводимый многочлен степени d, над GF (q). Тогда D—R2 П А, где Dl = D(f‘-l)) и R = ДП R(fw,f^). Далее, г=1 1^г<1^г Vd = r П /а, г=1 (yD)q = Rq П КА. 1=1 Так как RQGF(q), то Rq — R' так как /(г> (х) — неприводимый многочлен степени dt, то К А = ( — 1) 1 1 КDt. Таким образом, VT? = R П (-l)d‘~VA. i=i
6.6. Четно или нечетно число неприводимых делителей? 175 Так как г У di—m, г= 1 ТО у (tZ; —l)-=m--r l—l и /F3 = T?(-i)m-r П = i=i Следовательно, У" D g GF (q) тогда и только тогда, когда т = г mod 2. Если все неприводимые множители / (ж) различны, то, согласно теореме Штикельбергера, с помощью D (/) можно определить, четно или нечетно число этих множителей. В силу теорем 6.63, 6.623 и 3.23 D (f (ж)) = 0 тогда и только тогда, когда / (ж) имеет кратные непри- водимые делители. Эти свойства дискриминанта многочлена анало- гичны свойствам функции Мёбиуса для чисел в теореме 3.41. Если многочлен (число) имеет некоторый кратный неприводимый множи- тель (простой множитель), то его дискриминант (функция Мёбиуса) равен нулю; если все неприводимые (простые) множители многочлена (числа) различны, то дискриминант (функция Мёбиуса) определяет четность числа неприводимых (простых) множителей. Теорема Штикельбергера определяет четность числа неприводи- мых множителей многочленов над полями с нечетной характеристи- кой при помощи дискриминанта многочлена. Для полей характери- стики 2 дискриминанта недостаточно, но четность числа неприводи- мых делителей многочлена можно определить с помощью другой симметрической функции от его корней, к описанию которой мы сей- час переходим. 6.689. Определение. Для т = П (ж —а.) i=l положим м = S3 6.69. Теорема. Если f (х) — многочлен степени т, разлагаю- щийся в произведение г различных неприводимых множителей над
176 Гл 6. Разложение многочленов над конечными полями GF (2П), то г = mmod2 тогда и только тогда, когда Тг [р (/)] = 0, где п— 1 Тг (z) = У а;21. 1 = 0 Замечание. Мы отложим вычисление Тг (р) по коэффициен- там / (ж) до теоремы 6.695. Доказательство теоремы 6.69 основано на трех леммах. 6.691. Лемма. тмр(/)1 2 2 [гт^+т+ДадД?’2"- Доказательство. В поле характеристики 2 ага7 а7/аг i 1 (аг4-а7)2 ' 1 + (а7/аг)2 “1 + а7/аг+ 1 + (а7/аг)2 ’ Тг(Р)-2 ЕЕ [1 + а7 агУ i + {ajfaiy J = = ЕЕ Е ------—5дт] = = Е Е [1 + а/аг + 14-(а7/а,)5 ]' 1 1 О< 6.692. Лемма. При г=1 справедлива теорема 6.69. Доказательство. Если г — 1, то /(х) неприводим и аг — а.71 так что W)-- 22 Если положить J = ]-— I, то это равенство запишется в виде m—1т—J Ti(P)=3 з (------------н-----------) = 1+ааг+1^-‘)' т-1 = V (__________ j______1______1 1 + а9^1) ' i + aTm+1-J(TJ-Dr
6 6. Четно или нечетно число неприводимых делителей? 177 Полагая p = aq и I— т— J, получим т—1 т—1 Тг (р) - j?l + ,?11+p(qm-q/) Так как pq = Р, то в поле характеристики 2 ТП— 1 Тг(р) = 3 1=тп—1. j=i Следовательно, при г = 1 справедлива теорема 6.69. а 6.693. Лемм а. Если f (х) и g (х) — взаимно простые многочле- ны над GF (2П), то Тг [р (fg)] = Тг [р (/)] + Тг [р (£)]. Доказательство. Пусть ах, а2, а3, . . ., ат — корни f (ж), а ат+1, ащ+2, . . ., am+h — корни g (х). Тогда, используя разбиение т т+& 33=33+ 33 +3 3, i<i<Km-rk t = l ]=m±i согласно лемме 6.691, получаем Тг [p(/g)] = Tr [p(/)l + Tr[pU)] + т m-f-k 2 3 [ 14-а/а, ^*1+ («/««)’! ’ г=1 1=т4-1 Следовательно, лемма 6.693 эквивалентна утверждению, что тп m-\-k т (6 694) 3 1+а/а, =3 3 1 + (аДа,)3 ‘ г=1 Докажем теперь равенство (6.694), показав, что обе его части совпадают с Так как ат+1, «^2, ..., ат+л—-полное множество сопряженных элементов, то множество Ит+i, а^+2, ..., Ит+ь получается путем 658
178 Гл. 6. Разложение многочленов над конечными полями перестановки иэ am+i, ат+2, am+k- Следовательно, для каждого г m-\-k m~rh 1 -|- cfl/cLi 10Су/аг Аналогично ab a2, ..am есть перестановка элементов a®, a^, так что для каждого j т т у______J___= у______1___ £ 1 + а>? Это доказывает равенство (6.694) и лемму 6.693. в г Доказательство теоремы 6.69. Пусть f(x) = [J /<*> (z), 2= 1 где каждый из многочленов /(1> (я) неприводим над GF (2"). Тогда в GF (2), согласно леммам 6.693 и 6.692, Г г Тг[р(/)]-= 2 Tr[p(/(i,)J— 2 (deg/<‘> — l)=degf—r.B 2=1 2—1 Теорема 6.69 позволяет определить четность числа неприводи- мых делителей многочлена / (х) с помощью Тг [р (/)]. Определе- ние 6.689 задает функцию р через корни многочлена / (z), которые часто бывают неизвестны. Практически воспользоваться теоре- мой 6.69 можно лишь тогда, когда функция Тг [р (/)] выражена через коэффициенты многочлена / (х). Одну из таких возможностей дает теорема 6.695. 6.695. Теорема. Если D (/) = [ц (/)]2 — 4g (/) mod 8, где D (/) — дискриминант многочлена f (х), и D, ц и £ — многочлены от переменных f0, Д, . . ., fm с целыми рациональными коэффициен- тами, то в GF (2П) Пример ы. Дискриминант квадратного трехчлена общего вида f0 + Ex п- fax2 равен D (/) = Д — 4/0/2 Полагая ц (/) = Д, g (/) = /(|/2, согласно теоремам 6.69 и 6 695, получаем, что квадратный трехчлен над GF (2п) имеет четное число неприводимых делителей над GF (2П) тогда и- только тогда, когда Тг (/0/2//?) = 0. Дискриминант К1бического многочлена общего вида /0 + f,x -|- f2z2 -f- /3г3 задается функцией D (/) = Д/i - 27/2/2 _ 4/о/з _ 4/?/з + 18/0Л/2/3 = = (/1/2 + /о/з)2 - 4 (/2/| + /0Д + /з/3) mod 8. Согласно теоремам 6.69 и 6.695, этот многочлен над GF (2П) имеет нечетное число неприводимых делителей над GF(2n) тогда и только тогда, когда Тг fttfl+fofl+ftfsl п L (/4/2 +/о/з)2 J
6.6. Четно или нечетно число неприводимых делителей? 179 Доказательство теоремы 6.695. Не нарушая общ- ности рассуждений, можно считать, что многочлен / (х) нормирован. Рассмотрим функцию в(/)= ПП (“< + “>)• Так как 6 — симметрическая функция от корней / (х), то она может быть также представлена в виде многочлена от /0, Д, . . ., Так как коэффициенты этого представления — целые рациональ- ные числа, то оно имеет место в любом поле. Это следует из хорошо известной теоремы о симметрических многочленах (Ван-дер-Варден [1931, § 26]). Аналогично функция [6 (У)]2 р (/) как симметрический многочлен от корней / (ж) может быть представлена в виде многочлена от /о, /ы • • ч /т-i с целыми рациональными коэффициентами. Так как (а, — а,-)2 = (аг + а,)2 — 4ага^, то т— 1т = I«(/)11-I<W 2 2 5^+ i= 1 ;=г+1 т— 1 т тп—1 т + т>2 22 2 — г = 1 j=i+l I—i J =14-1 J>1, если I=i [6 (У)]2 - 4 [6 (У)]2 p (У) mod 8. Согласно предположению, D (У) = [ц (У)]2 - 4£ (/) mod 8. Так как [tj (У)]2 = [6 (У)]2 mod 4, П (/) = б (У) mod 2, П (/) = б (У) + 2V (У), In (/)12 = [б (У)]2 + 46 (У) Y (У) + 4 [у (У)]2, S (/) = 16 (У)12 p (У) + 6 (У) у (У) + [у (У)]2 mod 2. Следовательно, в GF (2n) -Ш_=р(У)+^-+Г^-Т h(/)]2 PW1-+- 6(/) +L 6(/) j , 12*
180 Гл. 6. Разложение многочленов над конечными полями и так как Тг (а:2) = Тг (ж), то Tr[h>]=Ttlp<«1- В общем случае, если / (ж) — некоторый многочлен над GF (2п) и п > 1, то для определения четности числа неприводимых делителей f (х) надо отдельно вычислить т) (/) и £ (/) и затем найти след ^/т)2. Однако если f (х) — многочлен над GF (2), то возможно сокращение процедуры счета. Можно рассматривать / (х) как многочлен с целыми рациональными коэффициентами и вычислять его дискриминант по модулю 8 1>. Если £) == 1 mod 8, то г = и mod 2 [так как т) = 1, £ = 0 и Тг (£/ц2) = 0]; если D 5 mod 2, то г т mod 2 [так как т) = 1, £ = 1 и Тг (£/ц2) = 1]. Если D =0= 1,5 mod 8, то D четно и / (х) имеет кратные делители над GF (2). Сочетание двоичного варианта теоремы Штикельбергера и теоре- мы Суона приводит к следующему утверждению. 6.696. Следствие Суона. Пусть п > к > 0. Предполо- жим, что точно одно из чисел п, к нечетно. Многочлен хп + xk + 1 имеет четное число неприводимых делителей над GF (2) тогда и только тогда, когда 1) п четно, к нечетно, п =/= 2к; пк/2 s= 0 или 1 mod 4; 2) п нечетно, к четно, к ] 2п, п= ±3 mod 8; 3) п нечетно, к четно, к | 2п, п = ±1 mod 8. Д о к а з ат е л ь ств о. Из теоремы Суона 6.67 вытекает, что D = (- 1)"(п-1)/2 [и*- (-1 )N (п - kf~KkK}d< По предположению D, d, п — к и/V —АГ —нечетные числа, так что D = (- 1)п(п-1)/2 [и*- (- 1 f (п - к) кК] (mod 8). Поэтому утверждение теоремы следует из рассмотрения вычетов числа D mod 8 в каждом из следующих четырех случаев: 1) п четно, к нечетно, N > 2; 2) п нечетно, к четно, К > 2; 3) п нечетно, к четно, К = 2; 4) п четно, к нечетно, N = 2. В случае 4 D = 5 (mod 8), и этот случай можно дальше не рас- сматривать. в ') Двоичный вариант теоремы Штикельбергера был доказан Карлицом [1953], Даленом [1955] и Суоном [1962], однако обобщение теоремы на случай поля GF (2«) в теоремах 6.69 и 6.95 представляется новым. Частный случай для deg / == 2 или 3 и произвольного п был доказан ранее Берлекэмпом, Рамсеем и Соломоном [1967].
6.7. Квадратичный закон взаимности 181 (а/р) = < *6.7. Квадратичный закон взаимности Для произвольного числа а и простого числа р можно определить символ Лежандра (а/p) следующим образом: 6.71. Определение. 1, если уравнение х2 = а имеет ненулевое решение в GF (р)\ —1, если уравнение х2 = а не имеет решений в GF (р); О, если р делит а. Символ Лежандра возникает в приложениях теоремы Штикель- бергера для определения мультипликативного порядка числа а по модулю р, при определении степеней неприводимых множителей многочлена (х) над GF (р), при изучении кодов, задаваемых квадратичными вычетами (разд. 15.2) и во многих других вопросах теории чисел. Если уравнение х2 = а имеет ненулевое решение в GF (р), то а называется квадратичным вычетом по модулю р, а если ненулевых решений нет, а—квадратичный невычет. Если а — квадратичый невычет, то многочлен х2 — а неприво- дим над GF (р), и У а 6 GF (р2); если а — квадратичный вычет, то х2 — а разлагается над GF (р) и У а 6 GF (р). В любом случае У а С GF (р2). Элемент У а лежит в подполе GF (р) тогда и только тогда, когда У ар =Уа. Так как (а<р-1)/2)2 = 1 и все корни уравне- ния х2 — 1=0 исчерпываются числами х = ±1. то а(р-1)/2 s = ± 1 mod р. Следовательно, (а/р) = я(р-0/2 mod р. Это сравнение носит название критерия Эйлера. Легко доказываются леммы 6.721—6.723. 6.721. Лемма, (ab/р) = (а/p) (&/р). 6.722. Лемма. (—1/р) = (—1)(р-1)/2. 6.723. Лемма. (а2/р) — 1. 6.724. Лемм а. 1, если p=±lmod8; — 1, если pE=±3mod8. Доказательство леммы 6.724 следует непосредственно из тео- ремы 6.54. Рассмотрим теперь разложение многочлена / (х) = хп — 1 над GF (р), предполагая, что пир — различные нечетные простые числа. Мы уже знаем, что хп — 1 = (х — 1) (?<”> (х). При этом каж- дый неприводимый делитель’ многочлена Q(n) (х) над GF (р) имеет (2/р) = {
182 Гл. 6. Разложение многочленов над конечными полями степень т, где т — мультипликативный порядок числа р по моду- лю п. Таким образом, число различных неприводимых делителей многочлена* (хп — 1) над GF (р) равно г = 1 + (м — 1)1т. По опре- делению символа Лежандра число т делит (п — 1)/2 тогда и только тогда, когда, (р/п) = 1. Следовательно, (—1)(«—i)/m = (р/п) и (—1)г = = — (р/п), где г — число неприводимых делителей многочлена (х" — 1) над^СА’ (р). Дискриминант многочлена f (х) = хп — 1 выражается форму- лой D (/) = (-1)’!(п-1)/2 R(nxn-r, хп - 1) = пп (-1)п(п-2)/2. Теоре- ма Штикельбергера 6.68 утверждает, что если многочлен / (х) степе- ни п является произведением г неприводимых множителей над GF (р), то п == г mod 2 тогда и только тогда, когда (Dip) = 1, где через D обозначен дискриминант / (х). Иными словами, (D/p) — Если / (х) = хп — 1, где п — простое нечетное число, то (пп (- !)»(»- ^-/р) =- (- lf( - If = (~ 1)и( - (р/п)) = (Р/П). Это соотношение позволяет выразить квадратичный вычет (р/п) через квадратичный вычет (п/р). Учитывая, что (—1)"(”-1)/2 = = (—l)^'1)/2, получим: (р/п) = (пп (-l)P-i)/2/p) = (п/р) (пп-Чр) ((~1уп-^2/р). Так как тг”-1 = (пС”-1)/2)2, то (ri^/p) = 1. Так как (—i/р) = = (—то ((—1)(’,-1)/2/р) — (—Следовательно, (р/п) = (nip) . Это эквивалентно следующей теореме 6.73: 6.73. Теорема Гаусса о квадратичном зако- не взаимности. Если пир — различные нечетные простые числа, то (р/п) Пр) = (-1)(п-1)(р-1)/4. Приведенное выше доказательство принадлежит Суону [1962]. Закон взаимности квадратичных вычетов очень полезен при фактическом вычислении символов Лежандра. 6.74. Пример. Чему равны степени неприводимых делителей (?(257) над GF (19)? Решение. Задача состоит в вычислении мультипликативного порядка числа 19 по модулю 257, что сводится к вычислению 19128 или (19/257). Используя закон взаимности, получаем, что (19/257) = (257/19) = (10/19) = (2/19) (5/19) = = (2/19) (19/5) = (2/19) (4/5) = (2/19).
Задачи 183 Так как 19 = 3 mod 8, то (2/19) = —1 и 19128 = —1 mod 257. Так как порядок числа 19 по mod 257 делит 256 и не делит 128, то он равен 256. Следовательно, многочлен 0257) неприводим над GF (19). Другие факты о квадратичном законе взаимности можно найти в книгах по теории чисел, в частности в книгах Маккоя [1965] и Нэд- жела [1951]. Задачи 6.1. Разложить на неприводимые множители следующие многочлены над GF (2): (а) а:16 + х11 + + + С (b) z16 + а:3-р 1; (с) z23 -р 1; (d) + 1. 6.2. Определить периоды многочленов из задачи 6.1. 6.3. Простое число р называется примитивным делителем числа 2т — 1 тогда и только тогда, когда порядок 2 по модулю р равен т; простое число р называется алгебраическим делителем числа 2т — 1 тогда и только тогда, когда порядок 2 по модулю р является собственным делителем т. (а) Доказать, что если р — примитивный делитель числа 2т — 1, то р = — 1 mod т. Если т нечетно, то р = ± 1 mod 8; если т -= ± 2 mod 8, то р = — 1 или 3 mod 8; если т = 0 mod 8, то р = 1 mod 2т. (Ь) Разложить 211 — 1 и (22" — 1)/(23 — 1) = 1 082 401. (с) Доказать, что если т _ ±2 mod 8, то произведение всех примитивных простых делителей числа 2т — 1 сравнимо с 3 по модулю 8. Указание. Исполь- зовать индукцию для Qffl. (d) Используя таблицы Каннингема, опровергнуть следующее утверждение: если т = ± 2 mod 8 и если р — примитивный простой делитель числа 2« — 1, то р ее 3 mod 8. 6.4. Доказать пли опровергнуть: (а) Если р — простое число, такое, что р = 3 mod 8, то мультипликатив- ный порядок числа 2 по модулю р равен р — 1. (Ь) Если р — простое число, такое, что р = — 3 mod 8, то мультиплика- тивный порядок числа 2 по модулю р равен р — 1. 6.5. Число Ь называется примитивным по модулю п тогда и только тогда, когда мультипликативный порядок Ъ по модулю п равен <р (п). Доказать или опровергнуть: (а) Если число 2 примитивно по mod п, то (?<»’ (а:) неприводим над GF (2). (Ь) Если Qw(x) неприводим над GF (2), то п — степень простого числа р, при- чем р = ± 3 mod 8, р | п, пли р =n-pl, а число 2—примитивно по модулю п. (с) (?(«> {х) — неприводим над GF (q) тогда и только тогда, когда одновре- менно выполняются следующие условия: (1) п = рв или 2ре, где р — нечетное простое число; (2) (р, д) = 1; (3) порядок q по модулю р равен р — 1; (4) или е = 1 или порядок q по модулю р2 равен р (порядку q по модулю р). 6.6. Доказать или опровергнуть: (а) Для каждого натурального т существует по меньшей мере один круговой многочлен степени т, неприводимый над GF (2).
184 Гл. 6. Разложение многочленов над конечными полями (Ь) Для каких значений т 30 существуют неприводимые круговые двоич- ные многочлены степени т и каковы их порядки? Начало: т п 1 2 3 4 1 3 5 9 6.7. Для каких значений j а к неприводимы над GF (2) следующие много- члены? (а) х2 ЗЙ -J- х3* + 1; (Ь) х^3*'33 + х5*'33 + 1; (с) А5*-33 + x3-5k-^ + г2.5*.3’ + ^.з’ + 1; (d) + 1; (е) ^-зМ’ + xi-3h.V + X2.3k-V + г3*.7’' + 1# Найти периоды этих многочленов и их разложения. 6.8. Доказать или опровергнуть: (а) Ни один двоичный трехчлен не может иметь неприводимых делителей периода 5. (Ь) Если некоторый двоичный трехчлен имеет неприводимый делитель периода п, то существуют двоичные трехчлены степени <п, обладающие непри- водимыми делителями периода п. (с) Если п 5 — простое число и 2 — примитивно по модулю п, то ни один двоичный трехчлен не имеет неприводимых делителей периода п. (d) В условиях задачи (с) период не может быть равен nh ни для какого к. (е) Если некоторый двоичный трехчлен имеет неприводимый делитель периода п и если (п, к) — 1, то существует двоичный трехчлен, обладающий неприводимым делителем периода кп. (f) Для n = 1, 3, 5, 7, 9, . . ., 41 определить, существует ли двоичный трехчлен, обладающий неприводимым делителем периода п. Указание. Для п = 17, 23 и 41 воспользоваться соответственно результатами разд. 5.7, 5.6 и 5.7. 6.9. Используя следствие Суона, доказать, что двоичный трехчлен степени п неприводим, если (а) п = 0 mod 8. (Ь) п = 13 или 19 mod 24 и каждый делитель числа п сравним с 1 по моду- лю 6. (с) п — простое число, п > 3, п = + 3 mod 8, п = 3 или —1 mod 7.
Глава 7 Двоичные БЧХ-коды, исправляющие многократные ошибки Для построения двоичного БЧХ-кода, исправляющего t ошибок, прежде всего надо найти неприводимый двоичный делитель / (х) кругового многочлена Q^. Степень / (х) равна мультипликативному порядку т числа 2 по модулю п. Пусть а £ GF (2т). Тогда двоичный БЧХ-код с блоковой длиной п, исправляющий t ошибок, строится как циклический код, порождающий многочлен которого равен про- изведению различных минимальных многочленов для элементов а, а2, а3, а4, . . ., а2*-1, а2(. БЧХ-коды для п = 2т — 1 называют- ся примитивными, а коды для остальных нечетных п непримитив- ными. 7.1. Примеры Используя таблицу 4.4, можно построить все двоичные БЧХ-коды с блоковой длиной 31. Эти коды имеют следующие порождающие многочлены: t = 1, g (х) = ЛИ1) (х) = 1 + х2 + х5, или, в сокращенной форме, g = 101001; t = 2, g (х) = Ma>(x)Mi3)(x) = 1-|-х3 х6-[-х6-[-х8-[-х®4-10, или g = 10010110111; t — 3, g(x) = 7И<1)(х)М<3)(х)М(6)(х), g=-1111010111110001; t -- 4 или 5, g (x) = M(1) (x) Mi3>(x), g- 101010110110010001101; / = 6 или 7, g (x) — Л/(1) (x) M(3) (x) M(5> (x) M<7) x3f(11) (x), gr =11100100010101111011010011; i = 8, 9, ..., 15, g (x) =. M(1) (x) M(3) (x) M(6) (x) M'7> (x) (x) M(15) (x), g~ 1111111111111111111111111111111.
186 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки Код, исправляющий одну ошибку, имеет 5 проверочных и 26 информационных позиций и скорость 26/31. Код, исправляющий две ошибки, имеет скорость 21/31. Эти коды мы уже рассматривали в разд. 5.1 и 5.2. Отметим, что БЧХ-код, исправляющий 4 ошибки, совпадает с кодом, исправляющим 5 ошибок, так как минимальные многочлены Л7<9> (ж) и (х) элементов а9 и а5 соответственно совпадают. Ана- логично, код, исправляющий6ошибок, совпадаете кодом, исправляю- щим 7 ошибок. Скорость этого кода равна 6/31. Отметим также, что коды, исправляющие от 8 до 14 ошибок, также совпадают между собой и имеют скорость 1/31. Такой код содержит только два слова —(00 . . . 0) и (И . . . 1). Ясно, что этот код, в каждом слове которого информационная позиция повто- ряется 31 раз, позволяет одновременно исправлять 15 ошибок. Код с повторением легко может быть декодирован с помощью трпвиальиой мажоритарной логики, описанной в разд. 1.1. Как будет показано в разд. 15.4, обобщение этого алгоритма может быть использовано для декодирования некоторых других низкоскорост- ных БЧХ-кодов. К сожалению, эта техника оказывается мало при- годной для декодирования БЧХ-кодов со средними или высокими скоростями. Поэтому мы сначала опишем общую алгебраическую процедуру декодирования, применимую ко всем двоичным БЧХ- кодам. При декодировании БЧХ-кодов со средними и высокими ско- ростями эта процедура является наилучшей из всех известных алго- ритмов. Она приемлема также для декодирования БЧХ-кодов с низ- кой скоростью, хотя в некоторых случаях оказывается хуже, чем алгоритмы, описанные в разд. 15.4. 7.2. Ключевое уравнение для декодирования двоичных БЧХ-кодов Если кодер передает слово двоичного БЧХ-кода п— 1 С (х) = У Ctxl, г —0 а шум в канале задается вектором п — 1 Е (х) — Е[Хг, i = 0 то полученное слово записывается многочленом п—1 П— 1 п— 1 R (х) — 2 RiX1—- У CiX1-^ 2 г—0 г--0 г = 0 Для / = 1,2, . . ., 2t кодовое слово кратно минимальному многочлену элемента а’ и, следовательно, R (с?) = 0+ У Etaji = У X'k - Sjt г= и ь
7.2. Ключевое уравнение для декодирования двоичных БЧХ-кодов 187 где элементы поля Галуа Х2, . . Хе — локаторы ошибок Ei = 1. Как было показано в разд. 5.2, Sj = R (а’) = (а’), где г’ (х) — остаток от деления R (х) на минимальный многочлен Л/Г) (х) элемента а’ (1 j + 2t). После вычисления 5n S2, . . . . . ., S2t основная задача декодера — определить Х2, . . ., Хе из уравнений /=1, 2, ..., 2t. i=l В общем случае эта система имеет много решений, каждое из кото- рых соответствует различным векторам ошибок, лежащим в одном классе смежности по аддитивной группе кодовых слов. Декодер должен найти решение с наименьшим возможным числом е. Для решения системы декодер сначала пытается определить коэффициенты многочлена локаторов ошибок (7.21) (см. также уравнение (1.46)). 7.21. Определение ° (z) = II (1 - XlZ} - 2 OjZ3. 1=1 3=1 Если многочлен a (z) уже найден декодером, то, используя про- цедуру Ченя, можно найти взаимные корни для о (z). Ошибки после этого могут быть исправлены с помощью схемы, изображенной на рис. 5.14. Наиболее тяжелая часть этой процедуры — определение коэффициентов о,- по величинам Sj. Для того чтобы найти зависимость между величинами о7- и Sj, введем производящую функцию оо оо е е 5=1 ;=1 1=1 г=1 После умножения на о (z) имеем ее е 5 (z) ° (z) = 2 тйд IB1 ~ П (1 - х^ • 1=1 5 = 1 1 = 1 j i Прибавив к обеим частям равенства o(z), получим [1 + 5 (z)]o(z) = o(z)+ У Xtz [] (1 — X}z). 1=1 J-1 e Определим многочлен co (z) = У с помощью равенства k=0 е (7.22) £o(z) = o(z)+ 2 Xt: [J (1-Х». i=l
188 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки Тогда [1 + 5 (z)] ст (z) = <в (z). В общем случае декодеру известны коэффициенты только при первых 2t степенях z в S (z) и не известны коэффициенты 52(+1, S2t+2, S2t+3, .... Иными словами, декодер не знает S (z), но знает S (z) mod z2,+ Поэтому естественно ввести уравнение, которое мы назовем ключевым: (7.23) [1 + 5 (z)] о (z) = ® (z) mod z2,+1. Из этого уравнения по заданному 5 (z) нужно найти оба много- члена о (z) и <в (z), степени которых не превосходят е, где е — число ошибок в канале. Одна «физическая интерпретация» ключевого уравнения была предложена Месси [1968]. Перепишем уравнение в виде fe-i 5^ + S alSh~i + i=l или в виде h-1 Sh=ah— 2 Oj5ft_i —Ofc. i=l Последнее равенство задает /с-й выход регистров сдвига, приведен- ных на рис. 7.1 и 7.2, обратные связи которых соответствуют много- члену о (z), а начальное состояние ячеек — многочлену со (z). Это Рис. 7.1. Интерпретация ключевого уравнения с помощью регистра сдвига с обратной связью. позволяет интерпретировать ключевое уравнение как математиче- скую постановку задачи синтеза регистра с обратной связью: по заданной выходной последовательности 1 + 5 (z) необходимо опре- делить обратные связи о (z) и начальное состояние <в (z) кратчай- шего (наименьшего) регистра сдвига с выходной последовательно- стью 1 + 5 (z).
7.3. Эвристическое решение ключевого уравнения 189 В задаче декодирования двоичных БЧХ-кодов реальный интерес представляет только многочлен ст (z), а не многочлен <в (z). Однако это же ключевое уравнение возникает и в некоторых других при- ложениях. Мы вернемся к нему в гл. 9 и 10, где оно интерпретирует- Начальное состояние Рис. 7.2. Другая интерпретация ключевого уравнения с помощью регистра сдвига с обратной связью. ся как задача синтеза регистров с обратной связью, и оба неизве- стных многочлена ст (z) и и (z) представляют непосредственный интерес. Рассмотрим теперь алгоритм решения ключевого уравнения над произвольным полем. 7.3. Эвристическое решение ключевого уравнения Нам надо решить ключевое уравнение (7.23) (1-1-5) Стн= со mod z2<+1 относительно многочленов ст (z) и и (z) при заданном многочлене S (z) mod z2‘+1. Разобьем эту тяжелую задачу на ряд этапов. Рассмо- трим последовательность уравнений (7.301) (1 + 8) ст(й> == mod zk+1 и для каждого к = 0, 1, 2, . . ., 2t найдем многочлены, удовлетво- ряющие этим уравнениям. В общем случае они могут иметь много решений. Так как степень ст (z) равна числу ошибок, то хороший декодер должен попытаться найти решение с «малыми» степенями ст и и. Если уравнения (7.301) уже решены, то та же пара многочленов и ст<4, вообще говоря, не удовлетворяет сравнению (1 -|-S) ст<*> == mod zft+2. Однако (7.302) (1+8) CT(ft> = mod zk+2, где — коэффициент при z,i+1 в произведении (1 + 8) ст<к>. Если Д<*> = 0, то, очевидно, можно положить ст<й+1> = ст<й>
190 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки и ©(k*1) = ©С). Для определения <гС+1) в случае, когда 0, введем вспомогательные многочлены и которые определяют- ся как решения вспомогательного уравнения (7.303) (1 -J- S) т(/г) = zk mod z^+C При этом, конечно, желательно, чтобы степени многочленов и уС) были малыми. Определим последовательности {<т} и {со} с по- мощью вспомогательных многочленов т и у равенствами (7.304) а(Ы-1) = 0(Ь) — (7.305) ®(fe+i) = G)(fe)-A(1't)zyW. Легко видеть, что многочлены o(fe+1) и <o(fe+1) удовлетворяют срав- нению (14-5) o^+i) == o)(ft+1) mod z(ft+1 > Ь1, если оО) и — решения сравнения (7.302), а тС) и — реше- ния сравнения (7.303). Существуют два очевидных способа задания многочленов т('!+1> и y(fc+1). Либо (7.306) T<fe+i) = ZT(fe) и у(л+О — либо „(k) .Ah) (7-307) T(*+i)=° и . A<ft> г Д^) Если о С) и <о('г) удовлетворяют сравнению (7.302), a T<fe) и у(к> удовлетворяют (7.303), то многочлены (7.306) и (7.307) удовлетворяют сравнению (14-5) т(й+О == -у(й+1) 4~ zft+i mod zk+2. Если A)h> = 0, то выражения (7.307) не определены и нужно исполь- зовать формулы (7.306). Если A<ft) =£= 0, то выбор между (7.306) и (7.307) должен основываться па минимизации степеней T<fe+1) и y(ft+1). Степени многочленов о</,+1), т6‘+1), <оС+1) и задаются следующими соотношениями: {dego<ft), если А^ — 0 или если deg0<»>>deg,m + l; 14 degT<*>, если Aih)y=0 и если deg т(й) >> deg a<ft> — 1; , .ь,,, Л любое из пре- 1 , <h, deg о дыдущих чисел, I ,если^1 =/= 0 и если ’ dega<h> = 14-degT<ft);
7.3. Эвристическое решение ключевого уравнения 191 (7.309) deg т(к+1) = 14-degT(fe\ если выбраны (7.306); degc4fe), если выбраны (7.307); {degtt>(fe>, если Aift) = 0 или если degM«>l+degT<«; 1 + deg если Д^т^О и если deg > deg — 1; deg <; любое из пре- дыдущих чисел если Д ife) =т<= 0 и если deg®<ft) = 1 4-degy(h); (7.311) ! 1 degесли выбраны (7.306); ( degadft\ если выбраны (7.307). Степень многочлена может случайно увеличиться, если deg = 1 + deg т</г> и старшие коэффициенты многочленов a<fe> и Д(М т(й> равны. Для того чтобы избежать таких случаев, мы при выборе между (7.306) и (7.307) будем учитывать не степени много- членов ®('г) и а некоторую числовую функцию D (fc), которую определим следующим образом: (7.312) deg оD (fc), (7.313) deg k — D (fc). В силу соотношений (7.308), (7.312) и (7.313) можно дать следую- щее рекурсивное определение функции D (к): (7.314) D (&), если Д?’ =- 0 или если D (fc) > Фф ; к 1 — D (к), если Ajft)#=O и D(k)^k-±±. Легко видеть, что если deg a<7i> D (fc) и deg к — D (fc), то deg o<fe+1> D (fc + 1). Аналогично, если deg D (к) и deg y(ft> к — D (к), то deg D (fc + 1). Для того чтобы обеспечить неравенства deg T<fe+1> (к + 1) — — D (fc + 1) и deg (fc + 1) — D (fc + 1), введем следующее правило выбора между (7.306) и (7.307): (7.315) Выбрать < (7.306), (7.307), если Д^ = 0 или если D (fc) > ; если Д?> =4= 0 и D (к) < ФФ.
192 Гл. 7. Двоичные БЧХ.-коды, исправляющие многократные ошибки Если ф 0 и D (к) = (/с + 1)/2, то либо (7.306), либо (7.307) приведет к многочленам т<к+1> и y(k+1), степень каждого из которых ^/сЧ-1—£>(*4-1). В случае сомнения в выборе между (7.306) и (7.307) его следует отложить до проведения дальнейших рас- суждений. Начальные уравнения имеют вид (1 + S) п<°) = <в(0> mod z, (1 + S) %<°> = (y(0>-|-l)inod z. Эти уравнения могут быть решены при следующих очевидных начальных условиях: (7.316) ст<°) = т(°) = И(°) = 1, у(°) = 0, D (0) = 0. Отметим, что deg or<°> = deg т<°> = deg cd<0> = 0 = D (0), a deg y(0> = —oo <zD (0) *). Таким образом, на первом шаге мы получаем даже усиление неравенств: deg (к), degyf'O <к — D (к). Мы требуем, чтобы по крайней мере в одном из этих соотношений было строгое неравенство. Введем для удобства булеву функцию В (к) с начальным условием В (0) = 0. [В общем случае В (к) = 0 или В (к) ~ 1.1 Тогда наши условия примут вид (7.317) deg со<й> < D (к) - В (к), (7.318) degy<ft> < к - D (к) - [1 - В (к)]. k 1 I Если при .О (к) = —у- и Ajft) 4= 0 мы сделали правильный выбор между (7.306) и (7.307) и если В (к) хорошо определена, то можно гарантировать выполнение условий (7.317) и (7.318) для всех к. Из (7.310) и (7.311) следует, что правильный выбор состоит в сле- дующем: (7.319) (7.320) На j (7.306), если А?’4= 0, Д(/с)=^±1 I и В (к) = 0; Выбрать < (7.307), если А^’^О, £>(^ = *±1 и В (к) = 1. ( В (к) при выборе (7.306); Ш ) ( 1 — В (к) при выборе (7.307). этом эвристическое исследование алгоритма заканчивается. Подведем итог. Мы исходим из начальных условий (7.316) и оп- х) Напомним, что, согласно сноске на стр. 38, deg 0 = — оо.
7.4. Алгоритм решения ключевого уравнения 193 ределяем Д<к), используя формулу (7.302), <т(к+1), используя(7.304), используя (7.305) и D (к 1), используя (7.314). Затем в соответствии с (7.315) и (7.319) определяем T<fe+1) и у(к+1) с по- мощью (7.306) или (7.307), а В (к + 1) в соответствии с форму- лой (7.320). Как будет показано, многочлены, определенные этими рекурсивными правилами, удовлетворяют уравнениям (7.301), (7.302), (7.312), (7.313), (7.317) и (7.318). Точная формулировка алгоритма имеет следующий вид. 7.4. Алгоритм решения ключевого уравнения над произвольным полем Первоначально полагаем or<°> = 1, т<°> = 1, (0<°) = 1, = = 0,7) (0) = 0, В (0) = 0. Далее проводим рекурсию следую- щим образом. Если Sh+1 не известно, то рекурсия не прово- дится; в противном случае полагаем Д(Ь) равными коэффициенту при zft+1 в произведении (1 S) otft> и or<ft+1> _ СТ(А) — Д<й>£т(ь>, <o(ft+1) = — Д<й> zy^. Если Д(к> = 0 или если D (к) > (к+ 1)12, или если Д(к>Д= 0, a D (к) = (к + 1)/2 и В (к) = 0, то полагаем D (к + 1) = D (к), В (к + 1) = В (к), г(/!+1) = 2тЛ), у‘Ь+1> ~zy{k). Если Д <ь> =Д 0 и если D (к) < (к 1)/2 или D (к) = (к Д- 1)/2 и В (к) = 1, то полагаем D (к+ l) = k + l- D (к), В (к + 1) = 1 — В (к), 7.41. Теорема. Для любого к 7.411. ст<ь) (0) = (0) = 1. 7.412. (1 4- 5) о<к> = аДч Д- Д<*> zk+1 mod ?+2. 7.413. (1 Д- S) т(к> = y^i Д- zh mod z*+1. 7.414. deg D (к), и равенство достигается при В (к) = 1. 13-658
194 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки 7.415. deg к — D (/с), и при В (к) = 0 достигается равен- ство. 7.416. deg со(к) D (Аг) — В (к), и при В (к) = Q достигается равенство. 7.417. degy(k) /с — D (Аг) - [1 — В (Аг)], и при 5 (Л? = 1 достигается равенство. 7.42. Теорема. Для каждого к __ гк. 7.43. Т е о р е м а. Если о и а — произвольные многочлены, удо- влетворяющие условиям ст’(0) = 1, (1 -1*5) ст == и mod zk+1, a D = max {deg ст, deg co}, то существуют такие многочлены U и V, что U (0) = 1, V (0) = 0, deg U D — D (к), deg V si D — — [к — D (Аг)] и ст = £/о<к)-гУт(к), й = Ud)^) VyW. 7.44. Теорема. Если многочлены ст и со взаимно просты, ст (0) = 1 и (1 + S) ст = со mod zh+1, то 7.441. Либо dego> D (к) 1 — 5 (/с) > D (к), либо deg со (/с), либо оба неравенства выполняются одновременно. 7.442. Если deg ст (к 4- 1)/2 и deg со ^Аг/2, то ст = ст(к> и со = (0<к). Доказательство теоремы 7.41, за исключе- нием утверждений 7.411—7.417. Эти утверждения дока- заны при эвристическом рассмотрении алгоритма. Читатель может провести прямое доказательство, используя индукцию по к. Доказательство теоремы 7.42. Согласно теоре- ме 7.41, (14- S) ст<к) = mod гк+1, (1 S) т(к) = -Lzfe m°d zft+*. Перемножив эти сравнения, получим (14-5) = (14-5) ст(к) 4- zk). Деление на 1 4- 5 дает q;(k)(j)(k) = (уУЧуЩ) -j- G<-k^Zkt Так как ст(Ь)гь = = zk mod zk+l, TO T(k)(o(ft) — у(к)ст(к) = zk mod zk+l.
7.4. Алгоритм решения ключевого уравнения 195 Согласно утверждениям 7.415 и 7.416, deg со<й) + deg к. В силу теорем 7.414 и 7.417 deg ст<к) + deg к. Следовательно, deg {т<к) — <y(k)yih)] к и т (k)(j)(k) — — 2^. Доказательство утверждений 7.414 — 7.417. Если В (/с) = 0, то deg ydO < /с — D (к) — 1, dego(ft) <;Z) (к) и deg{cr(ft> — 1. Так как deg {со^ — oWyWy = к, то deg {со(ft)T<ft)} — к, deg co(k> = D (к), degr(k) = к — D (к). Аналогично, если В (/с) = 1, то deg D (к) — 1, deg т^) к — D (к) и deg {со(!г)т(ь){ к — 1. Значит, deg {a(h)y(h>} = к, deg = D (к) и deg y<h) = к — D (к). Замечание к теореме 7.43. Эта теорема дает общее решение (произвольной степени) сравнения а (0) = 1, (1 + S) ст = = со mod zh+1. Для теорем 7.41 и 7.42 важна взаимная простота многочленов or(fe> и т<к). Следовательно, любой многочлен / может быть представлен в виде / = + ут(*). Теорема 7.43 утверждает, что если ст и со — решения уравнений ст (0) = 1, (1 + S) ст = со mod zk+1, то в формулах ст = U(j<k> + + Ут(к> и со = + yy(ft) участвуют одни и те же многочлены U и V. Более того, согласно теореме 7.43, степени многочленов U и V малы. Доказательство теоремы 7.43. По предположению со = (1 + S) о mod zk+1. Умножение на а>(к> с использованием утверждения 7.412 дает (1 +5)cr(ft>cos (14~S)(T®(k\ (7'^ (jWa = crco(k\ CT(ft)CO — СИВ do = — zkV, 13*
196 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки где V (0) = 0 и deg V D (/с) + D — к. Далее, умножив первона- чальное сравнение на ввиду утверждения 7.413, получим, что (1-^-5) т(к)ш == (1 S) о (у(к) + zk), Т^(й = О + zft) = OyW 4- zk, (7.46) Л- ov(fe) — Uzk, где U (0) = 1 и degU^.D — D(k). Из (7.45) и (7.46) получаем (т(к)(а(Ь) — (jWyWj or = zk (Uo^ 4- THk)), что, в силу теоремы 7.42, приводит к равенству <т = С7п<к) 4~ Ит^) Аналогично, из (7.45) и (7.46) получаем (<а(к)т4к) — oWyWjG)—zk (Uad1') -\-Vy^). Используя теорему 7.42, приходим к равенству ш = [Ла^) 4- Доказательство теоремы 7.44. Утверждение 7.441 следует непосредственно из уравнения (7.46) и утверждений 7.415 и 7.417. Значит, если deg о ^(fc+ 1)/2 и deg ш к/2, то D (к) (к 4~ 1)/2, и если В (/с) = 0, то достигается строгое неравенство. В силу теорем 7.414 и 7.416 deg п<к) , deg(D<h> <4—, deg (сЛк)ш) ^/с + ф<^ + 1, deg(ogjW)<;/с4-ф <к +1, deg (— zkV) = deg (о^ш — <Wh)) < к 4- 1, deg V < 1. Так как V (0) = 0, то отсюда следует, что V = 0. При этом по тео- реме 7.43 о = E7cKfe> и со — £7<Ук). Так как по предположению много- члены о и со взаимно просты, то £7 = 1. в
7.5. Связь с матричными методами декодирования 197 *7.5. Связь с матричными методами декодирования Предыдущие методы вычисления величин <т(к) по величинам S} относятся к прямым методам решения системы линейных уравнений. Вместо ключевого уравнения (1 + S') о = со mod z2f +1 можно запи- сать эквивалентное ему матричное уравнение ’Г ®2 О 6 Это уравнение надо решить относительно ст2, . . <yt и (о1, со2, . . если известны Sn S2, . . S2t- Сначала мы определим Oj, ст2, <т3, . . О/ из уравнения St+i St . • • s2 -0-1 S t+2 St+t • • s3 $2 <71 = 0 Sa-t • St+t St_ _<Ц_ .0. которое эквивалентно уравнению Эти уравнения можно решать с помощью описанной в разд. 2.5 стандартной редукции матриц. Такой метод требует значительно большего числа вычислений и большего объема памяти, чем метод производящих функций, и, как видно из разд. 7.1—7.4, эти матрицы, вообще говоря, вводить нецелесообразно. Тем не менее мы покажем, в какой связи находятся матричные методы и алгоритм 7.4. Для предыдущей системы (/с X /с)-матрица
198 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки из коэффициентов при неизвестных ох, ст2, . . oft имеет вид 2> ’ V ^2 • • • *^2 • • • S3 = • • • *^А+1 Если определитель матрицы отличен от нуля, то система имеет единственное решение ох, о2, • • •> о&. Традиционным методом оты- скания решения {oft} по заданным величинам {S}} является опреде- ление наибольшего к, для которого невырожденна, и последую- щее решение соответствующих уравнений. Вопрос о вырожденности матриц можно решить с помощью следующей теоремы: 7.51. Теорема. Дефект = | D (2k + 1) — к |, Ранг <М = к — | D (2к 4- 1) — к |. Доказательство. Для i = к, к 4- 1, к 4- 2, . . ., 2к — 1 определим многочлены ТЦ) тогда и только тогда, когда i — D(i)^.k— 1; p(i) = z2fe—j—1СТ(1) тогда и только тогда, когда ч i — D(i)^>k. Так как i — D(i)>k тогда и только тогда, когда 2/c — i — 14- -]-D(i)^k —-1, то для i = k, к4-1, ..., 2к— 1 degp(’)<A: — 1. Сопоставим каждому многочлену р<г> /с-мерный вектор-столбец р(г)-[рог), Р1г), р£11‘. Введем теперь (к X /с)-матрицу р, столбцы которой совпадают с векторами р<г): гр?> ₽?+« ... pS»-1', pS4 ?!•+” ... р',г*-‘> Г р(Ю p(M-l) n(2fe-1) ^fe-1 • • • Pfe-1 J Мы утверждаем, что эта матрица невырожденна. Действительно, если линейная комбинация ее столбцов равна нулю, то 2k-1 2 Сгр<г> =^0 i=k
7 5 Связь с матричными методами декодирования 199 и । 2k 1 2 агг2к~1-1о(1> 4- 2 Ьгт«=О, l=k l=k где f сг, если i—D(i)^>k, ai = \ n (Ob остальных случаях, {Ci, если i — D(i)^.k—1, О в остальных случаях. Если а,^=0, то (1 4-5) P(l) ^z2*-1-1^1) modz2* и degz2k_l-1<£>(l) С <2/с — г— 1 4--0 (i)<;/c—1. Если Ьг^=0, то (1 4- 5) т(1) = у(‘> -|- 4-zl mod z1+1 и degyO)^;/c — 1. Следовательно, если bh = bk+l=... ... = =• 0, но bh+j 0, то 2k_। (14-5) 2 cIpWs|4-bh+j2wmodzh+J+\ i=k 2k-1 где deg^C/c —1. Значит, если 3 сгр(1)=О, то Ьг = 0 для i=k, l—k 2k-1 k-]-i, к-\-2, ...,2k—1 и 2 aiz2fe-,-1o’(l) = 0. Но если ak+J^=0 i=k и ak+}+i — ak+j+2 =-...= fl2k-l~ 0, TO 2k- 1 2 a;z2fe'l~1o?) ak+Jzfe~)_1 mod zfe-3. jl=A 2k—1 Таким образом, 2 сгр<1)=0 тогда и только тогда, когда сг=0 i=k для всех I, и, значит, р — невырожденная матрица. Так как матрица р невырожденна, то ранг равен рангу про- изведения матриц <Jthp — ak. Столбцы матрицы ак имеют вид J^pW, 1 — к, кА-i, ...,2к — 1, или, с учетом структуры матрицы с^, вид = где 2^1)2’ = (14-5)р^.Если р(О =_z2fe_,-1oO), то I — D(i)~^>k, degz2h-’-1a(l)C/c—1, (14-5)p(t) = == z2h-'-1Gj(I) mod z2h, так что P(l) = c$fep(l) = 0. С другой стороны, если pW x(l), то degy^Ci — D(i)^.k— 1 и (14~5) p(l) = = = z!modz1+1 так что P(l> =c$kp(l> = [0, 0, ...,0, 1, (Номер первой ненулевой координаты вектора Р(г) равен i—(к—1).) Отсюда следует, что ак — треугольная матрица с нулями над главной диа- гональю; каждый ее элемент на главной диагонали равен нулю или единице, а через нули главной диагонали проходят нулевые
2 00 Гл 7 Двоичные БЧХ-коды., исправляющие многократные ошибки столбцы. Нуль-подпространство матрицы <Д6к является линейной оболочкой столбцов ро) = z2h-l-1a<’); ранговое пространство натя- нуто на столбцы матрицы еТ5, для которых <^(l) = (1 S) т(О. Дефект матрицы равен дефекту еТ5, а последний в свою очередь равен числу таких i, k^i^.2k—l, что i—Z>(i)>/c, или Z>(i)Ci — к. Из алгоритма 7.4 вытекает, что ( D(i), если Z) (г) >или если At4 = 0, £>(> + !) = < 2 I i -|- 1—D (г) в остальных случаях. Очевидно, что D (i) — монотонная неубывающая функция аргу- мента i и что D (i) С г/2 только тогда, когда D (i) = D (i — 1). Следующее замечание состоит в том, что отрезок целых чисел i, для которых D (i) С г — к, не должен иметь пропусков. Действи- тельно, если — к < i + 1 — к С D (i -j- 1), то D (i + 1) = = i + 1 - Z) (i) > /с + 1 и Z) (7) = Z) (i + 1) > /с + 1 > 7 + 1 - к для ] = г + 1, I Н- 2, . . ., 2к — 1. Если D (2к — 1) = к — 7, j > 0, то к-— 7Ci — к для i = 2к — у, . .., 2к— 1; >. i — к, для i= к, 2к — 7 — 1. В этом случае дефект равен ] = к — D (2к — 1). С другой стороны, при D (2к — i) — к у > 0 существует такое т, что если D (2/с — 1) = к — у, у > 0, то { к^]Д>1 — к при i = m, 771-|-1, ...,2к — 1; [ 771 — ] — к^1— к при 1=771 — 7, ..., 771 — 1. В этом случае дефект Мк равен j — D(2k — 1) — к. Значит, дефект е<й = | D(2k— 1) — к |; ранг a/)tk — k — \D(2k—i)—k\. Это эквивалентно теореме 7 51 я *7.6. Упрощение алгоритма 7.4 для двоичных БЧХ-кодов Алгоритм 7.4 предназначен для определения многочленов о (z) и со (z) наиболее низких степеней, дающих решение ключевого урав- нения (7.23) для произвольной заданной последовательности 5ц S2, • • ., S2t. Однако в случае двоичных БЧХ-кодов последователь- ность S1? S2) S3, . . ., S2t не произвольна. Величины S} должны быть симметрическими функциями от е локаторов ошибок Хг, Х2, . . .
7.6. Упрощение алгоритма 7.4 для двоичных БЧХ-кодов 201 . . Хе. Даже если е > t, то Sh = 2 Xk, a S2s = 3 X2k = 1=1 1=1 е = ( 2 ^i)2 — Следовательно, производящая функция S (z) г=1 оо удовлетворяет уравнению [S (z)]2 = 2 $2kz2k = $ (z)> гДе, так же 1 как и в разд. 3.2, знак «'» употребляется для обозначения четной части, а знак «"» — для обозначения нечетной части функции. Уравнение S = S2 для производящей функции, как будет сейчас показано, позволяет значительно упростить итеративный алгоритм. 7.61. Лемма. Пусть 1 + S и 1+7? — взаимно обратные производящие функции в поле характеристики 2: (1 + S) (1 + 7?) = = 1. Равенство R = 0 выполняется тогда и только тогда, когда S = S2. Доказательство. Разложение равенства (1+S) (1+7?) = = 1 на четную и нечетную части дает: (1 + S) (1 + R) + SR = 1 и S (1 + R) + (1 + S) R = 0. Вычтем из первого равенства, умно- женного на (1 — S), второе, умноженное на S. Тогда [(1 — S)2 — — S2](l + R)= 1 + S, откуда R = —---------1. (1+5)2-52 В поле характеристики 2 имеем (1 + S)2 — S2 = 1 + S2 + S2 = = 1 + (S + S)2 = 1 + S2 и R = 0 тогда и только тогда, когда 1 + s = 1 + S2 или S = S2. в 7.62. Теорема. Если в поле характеристики 2 выполняется равенство S (z) = [S (z)]2, то величины, участвующие в алгоритме 7.4, удовлетворяют условиям й(1) = +г), ( т(+ если i четно; у(г) = < [ т(1>, если i нечетно; AjI)=O, если i нечетно. Доказательство. Применим индукцию по числу г. Для i = 0 теорема справедлива. Мы утверждаем, что если (0(2ft)=(j'2fe) и ?(2ft) = T(2h)j
202 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки ТО m(2M-i) ==^(2fe+l)i y(2fe+l) =Х(2Л+1), A(12ft+1) = 0, и, следовательно, a(2fc+2)=a(2fc+D> m(2fe+2) ^^(2^+1), X(2ft+2) = ZT<2fe+l), ^(2fe+2) =ZT(2ft+l)t m(2fc+2) = o(2fe+2)j ^(2fe+2) _ x(2k+2). He очевидно здесь только равенство Ai2fc+1)= 0. Для его доказа- тельства рассмотрим сравнение (1 + S) o<2fe+i) = o(2fc+D 4- A(i2fc+1)z2fc+2 mod z2fe+3. Умножив обе части на 1 + 7?, согласно лемме 7.61, получим a(2fe+D = 0(2fc+l) 4- ^o(2fc+l) 4- A<2fe+i)z2fe+2 m0(J z2fc+3, o(2fc+D 4_#o(2fe+i) == A(12,i+1)z2fc+2 modz2fc+3. Так как функция в левой части нечетная, то Ai2ft+1) = 0.и 7.63. Теорема. degcjW = D (k), degx^=k — D(k). Доказательство. Предположим, что deg o<fe) = D (к) и deg x<ft> = к — D (к). Равенство deg o(fe) = deg x<fe> + 1 выпол- няется только тогда, когда к нечетно, причем в этом случае Д№) = 0. Отсюда следует, что deg += deg A<fe> zx<ft>. Согласно алгоритму 7.4, o<fc+1> = — AJft)zx<ft). Так как слагаемые в пра- вой части этого равенства имеют разные степени, то deg o<fc+1) = = max {deg deg A(fe)zx+} = D (k + 1). Легко проверить, что deg x(fe+1> = к + 1 — D (к + 1). Так как deg сЛ°) = deg х<°> = 0 = = D (0), то, используя индукцию по к, получаем утверждение теоремы. а Теоремы 7.62 и 7.63 позволяют вычислить функции о<°), х<0), о(2), х(2), . . о(2(), х(2() с помощью сокращенного алгоритма, в котором не участвуют многочлены со, у, и нечетные части многочле- нов о и х. 7.64. Сокращенный алгоритм (для двоич- ных БЧХ -кодов). Сначала полагаем = 1 и х<°> = 1. Строим рекурсию следующим образом. Если величина неизве- стна, то вычисление останавливается; в противном случае полагаем величину A(2fe) равной коэффициенту при z2fc+1 в произведении
7.6. Упрощение алгоритма 7.4 для двоичных БЧХ-кодов 203 (1 + S) Пусть а(2Ь+2) = a(2ft) +A<2ft)ZT<2fe), ' z2T<2ft), если Ai2fe) = 0 или если dego<2ft)>A; x(2fe4-2) = J (2ft) л —==, если At2 > Ф 0 и если dego<2fe) Из этого алгоритма очевидно следует, что (7.65) 42ft)=-0, если к^>0. Можно также упростить формулу для общего решения сравне- ния (1 ф- S) о = о mod z2i+i при начальном условии о(0) = 1. Соглас- но теореме 7.43, a = C7a(2f)+yT(2i)i После умножения на 1 + 5 получим (1 + S) а = U (1 + S) о<2‘) + V (1 + S) т<2‘), (1 + 5)о-=СЛг<2‘) + Гт(2‘). Эта функция является четной только тогда, когда (7.66) U = U, 7 = 7. Указанные упрощения для двоичного случая основаны на свой- ствах матрицы Г1 0 0 .............' S2 Si 1 ............. « s^ S3 S2 Si 1 ............... S2k-i ............. Sfe-i _S2k-2 ..................... Следующей, достаточно утомительной, но необходимой задачей является доказательство равенства (7.67) Дефект <Mk = | [fe~deg..g—|, где квадратные скобки обозначают наибольшее целое число, не пре- восходящее содержимого скобок ([5/2] =2;[—1/2]= —1). Доказатель- ство этой теоремы вполне аналогично доказательству теоремы 7.51, если для i = 0, 1, 2, . . ., к — 1 положить { T(2i), если degx(2,)<;/c — 1, 0(2i) = < . " ( z2k-2i-io(2i)^ если degtd2l)^C2i— к. Это доказательство мы предоставляем читателю.
204 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки Для иллюстрации алгоритма 7.64 рассмотрим следующий пример. 7.68. Пример. Рассмотрим двоичный БЧХ-код с блоковой длиной 31, исправляющий три ошибки. Будем полагать, что эле- менты поля совпадают с многочленами от а степени <5, где а5 + а2 + 1 = 0. Таблицы логарифмов и антилогарифмов для этого поля приведены в приложении А. Предположим, что Sr = 11101 = a14, S3 = = 10000 = а4, S5 = 00010 = а1. 1 + S = 1 + a14z + a28z2 + a4z3 + a25z4 + cPz5 + a8z6 + . .., CT(0) = 1, х(°) = 1, (1 + S) = 1 + a14z mod z2, а(2) = 1 + a14z, т<2) = a17z, (1 + S) o<2) = 1 + (a4 + a11) z3 mod z4, a4=10000 a11 = 00111 10111 = a26 = a"5, o(4) = 1 + a14 z + a12z2, t+> = a5z + a19z2, (1 + S) o(4) s 1 + a12z2 + (a + a8 + a16) z5 mod z6, a =00010 a8 = 01101 a16= 11011 10100 = +, a(6) = 1 + a14z + Oz2 + a26z3, t+> = a24z + a7z2 + a5z3. Эти вычисления можно подытожить следующим образом: 2k Р(2А) a(2fe) T(2fe) д(2М 0 0 1 1 +« 2 1 l + a44z a-14z a26 4 2 1 + a14z + a12z2 a-26z (1 + aXiz) ai 6 3 1 + a14z + Oz2 + a26z3 a~!z (1 -J- a14z т a12z2) ? 7.7. Реализация декодеров для двоичных БЧХ-кодов Как уже отмечалось в разд. 7.2, декодер для двоичного БЧХ-кода может быть сконструирован по общему принципу разд. 5.5 (рис. 5.14). Остановимся сейчас на макете устройства центрального (ТР-оператора для конструкции рис. 5.14. Он состоит из одного главного арифмети- ческого и управляющего блока и t + 1 отдельных вспомогательных
7.7. Реализация декодеров для двоичных БЧХ-кодов 205 блоков. Команды на входы вспомогательных блоков подаются непо- средственно с блока управления. Главный блок посылает на все вспомогательные блоки идентичные команды. Все вспомогательные блоки одинаковы. Каждый из них содержит пять регистров, а также аппаратуру для умножения двух из них и хранения результата во вспомогательном накопителе. Все вспомогательные накопители Р и с. 7.3. Общий вид Gf-оператора для декодера двоичного БЧХ-кода. связаны с главным сумматором, выход которого поступает в главный блок. Слова могут передаваться только из каждого вспомогательного блока в соответствующий регистр соседнего вспомогательного блока. Аппаратура, с помощью которой главный блок может передавать данные в любой из вспомогательных блоков, здесь не нужна. Глав- ный арифметический блок может вычислять мультипликативные обратные, но ни один из вспомогательных блоков этого не делает. Пунктирные линии на рис. 7.3 показывают, что как только из канала связи поступает последний символ входного слова, остатки Н1) (х), г<2> (х), . . ., г(2/> (х) перемещаются из регистров, располо- женных слева на рис. 5.14, в соответствующие вспомогательные блоки. После этого вспомогательный блок, содержащий остаток (х), с помощью регистра, умножающего на afc, вычисляет rofe) + + r[h^ak + r^a2,4, a3k, . . ., до тех пор, пока он, наконец, не накопит степенную симметрическую функцию
206 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки Sk — r<ft) (а/г). Если все вспомогательные блоки работают одновре- менно, то время, необходимое для вычисления степенных симметри- ческих функций 5Х, S2, . . ., St, в т —1 раз больше времен, инеоб- ходимого для реализации умножения в поле Галуа. Аналогичным образом во вспомогательных блоках вычисляется и вторая половина степенных симметрических функций <$г+1, St+2, . . ., S2t-i- Все необходимые величины Sj вычисляются, таким образом, в соответ- ствующих вспомогательных регистрах, как показано на рис. 7.4, и главный блок управления может приступать к реализации алгорит- мов 7.64 или 7.4. Каждый шаг алгоритмов 7.4 или 7.64 может быть выполнен с по- мощью изображенного на рис. 7.3 вычислительного устройства. На рис. 7.4 показано состояние вспомогательных регистров на типичном шаге алгоритма. Четыре левых регистра нулевого вспомо- гательного блока содержат Sk+t+2, Sk+1,1 и 0; четыре левых регистра первого вспомогательного блока содержат Sft+I+1, Sk, и Затем в каждом вспомогательном блоке вычисляется произведение его второго и третьего регистров, которое записывается в крайний правый регистр. Сумма всех вспомогательных правых регистров накапливается в главном накопителе. Эта сумма определяет величи- ну A^ft). После этого содержимое регистров, соответствующих на рис. 7.5 столбцу т, сдвигается вверх в соответствующие регистры соседних блоков. Величина Af!) перемещается в регистр умножителя главного блока. После этого на каждый вспомогательный блок подается команда умножения содержимого регистра т на содержимое главного умножителя. К результату прибавляется содержимое реги- стра о и, таким образом, формируются коэффициенты многочлена CT(fc-H) = о(/г) — Д . Затем в зависимости от того, будет ли Aife) = 0 или Axfe) >• - + -, главное управляющее устройство сдвигает или не сдвигает многочлен о<й) из столбца о в столбец т. Далее коэффициенты o(k+1) переводят- ся в столбец т. Многочлен, записанный в столбце т и представляющий собой о<й) или используется для вычисления многочлена T<fe+1>, который записывается затем в столбец т. Главное управляющее устройство вычисляет величину D (к 4-1), сдвигает столбцы S вверх, и начинается следующая итерация алгоритма. Когда алгоритмическое вычисление многочлена ошибок о<2/) закончено, он переводится из вспомогательных регистров в оператор Ченя, а вычислительное устройство рис. 7.3 подготовлено к декоди- рованию следующего полученного слова. Декодер, блок-схема которого описывается рисунками 5.14 и 7.3, достаточно легко реализуем для БЧХ-кодов с даже сравнительно большой длиной. В общем случае стоимость декодера для двоичного БЧХ-кода с блоковой длиной п = 2т — 1, исправляющего 2-крат-
Вспомогательный, регистр 3 Вспомогательный, регистр 2 Вспомогательный, регистр 1 вспомогательный регистр О Рис. 7.4. Состояние вспомогательных регистров на начальном шаге алгоритмов 7.64 и 7.4. 1 S|+l Si S|+2 s2 Si+s S3 S2I-2 S2l-1 S,-1 s< S» + 2 ®* + 3 S*+I+4 St + 4 S21-, — 1 S, s2 S*-3 -2 <73“> тэ<‘> 8»-2<Гз“’ s*+1 а2(*) T2<*’ S*-i<r2‘*> S»+t+l S* a/' s4 ap> S»+z+2 s»+l 1 0 Si + 1 Рис. 7.5. Состояния вспомогательных регистров при вычислении
208 Гл. 7. Двоичные БЧХ-коды, исправляющие многократные ошибки ные ошибки, может быть выражена в виде Ат ф- Bn ф- Cmt, где А, В и С — постоянные, не зависящие от п и t. Здесь Ат — стоимость главного оператора (содержащего несколько m-ячеечных регистров), Вп — стоимость буфера для запоминания получаемого слова. Вели- чина Cmt включает в себя все другие затраты. Стоимость одного вспо- могательного блока, стоимость одного блока оператора Ченя и стои- мость регистра, осуществляющего деление входящего слова на один неприводимый множитель порождающего многочлена, пропорцио- нальны т, и всего имеется t таких составляющих. Каждый вспомогательный блок устройства рис. 7.3 должен выполнить в среднем t умножений на декодируемый блок, а каждый блок СЕ-оператора — п умножений на декодируемый блок. Таким образом, время декодирования является вполне приемлемым: на каждую принимаемую позицию оператор Ченя должен выполнить всего одно умножение в поле Галуа и сложение t входов. Другие части декодера могут работать даже еще медленней. Например, если используется 50-наносекундные переключательные устройства, то умножение двух элементов в GF (210) может быть выполнено за 1 микросекунду. Поэтому представляется весьма реальной возмож- ность декодирования любого БЧХ-кода с блоковой длиной 1023, со скоростью декодирования около миллиона двоичных единиц (тысяча блоков) в секунду. Время декодирования не зависит от коли чества t исправляемых ошибок, хотя стоимость декодера возрастает с ростом t. Конечно, возможны многие модификации и усовершенствования основного устройства, изображенного на рис. 5.14 и 7.3. Можно, например, исключить нулевой вспомогательный блок за счет незна- чительного усложнения главного блока. Можно, далее, исключить вспомогательные блоки с номерами t и t — 1 за счет дальнейшего усложнения программы главного блока. Можно также различными способами интерпретировать вычислительное устройство на рис. 7.3. Если описывать регистры сдвигов с помощью многочленов, то столб- цы на рис. 7.4 и 7.5 дают представления /-ячеечных регистров сдвига над GF (2т). Задачи 7.1. Для ф>нкцпй о(2Л> и т<2/!> в алгоритме 7.64 показать, что o<2ft) r<2,i) — — z2& ф- нечетная функция от z. 7.2. Рассмотрим двоичный БЧХ-код с блоковой длиной 31, исправляющий тройные ошибки. Предположим, что 6', = 01010 = a6, S3 = 01111 = а23, S5 = = 00001 = а°. Показать, что о<в) = 1 ф- a6z ф- a21z2 ф- al’z3. 7.3 (Гр осс [1963]). Показать, что расширенный исправляющий /-кратные ошибки двоичный БЧХ-код, образованный из циклического БЧХ-кода дописы- ванием в конце кодовых слов общей проверки на четность, позволяет исправлять
Задачи 209 все конфигурации из не более чем t ошибок и все цакеты из t + 1 последователь- ных ошибок, не содержащих последней позиции. Для каких значений п и t добавление позиции с общей проверкой па четность позволяет исправлять допол- нительно пакеты длины <4-1? 7.4. Пусть 1 + S (z) — выходная последовательность двоичного регистра с обратной связью a (z), начальное положение которого совпадает с со (z). Используя алгоритм 7.4, найти многочлены a (z) и со (z) наименьшей степени для выписанных ниже последовательностей 1 4~ S (z). В каких случаях ответ единствен? В каких случаях применим алгоритм 7.64? (а) 1 4- 0-Z 4- 1-Z2 4- 1-Z3 4- 0-Z4 4- 0-Z5 4- 1-Z6 4- 0-z7 4- 0-z8 4- 0-z9 4- 4- 1-z10 4- . . . = 10110010001 . . ., (b) 10001100101 . . ., (с) 11000000101 . . ., (d) 11101001110 .... 7.5. Предполагая, что каждая из последовательностей задачи 7.4 порождает- ся кратчайшим регистром с обратной связью, выписать следующие 5 символов для каждой из последовательностей. 7.6 (Дайкин [I960]). Какая доля из qm+n-i персимметричных г) матриц над GF (?) имеет ранг, равный г? Указание. См. разд. 7.5. г) Персимметричной матрицей называется матрица, диагональные миноры которой удовлетворяют условию j = Jtk I всякий раз, как только г 4~ / = = к 4- I. 14—658
Глава 8 Недвоичное кодирование 8.1. Схемы модуляции До сих пор мы рассматривали только задачу кодирования и декоди- рования для двоичного симметричного канала, входные и выходные символы которого суть 0 и 1. В большинстве приложений кодовая последовательность из нулей и единиц подается на модулятор, превращающий эти символы в опре- деленные функции времени. Результирующие временные сигналы Рис. 8.1. Представление символа 0. Р и с. 8.2. Представ- ление символа 1. используются для управления амплитудой передаваемых сигналов, которые могут представлять собой, например, напряжение или мгно- венную мощность, излучаемую радиопередатчиком. Например, символу 0 может соответствовать функция, изображен- ная на рис. 8.1, а символу 1 — функция, изображенная на рис. 8.2. При этом кодовой последовательности 0001101 будет соответствовать модулирующая функция, изображенная на рис. 8.3. Аддитивный шум приводит к тому, что на приемное устройство поступит сигнал, изображенный на рис. 8.4. Предположим, что приемное устройство осуществляет квантование полученного непрерывного сигнала на соответствующие временные интервалы, как показано на рис. 8.5. Каждый отрезок функции на этих интервалах демодулируется затем
8.1. Схемы модуляции 211 с наибольшей вероятностью как 0 или 1, Полученный сигнал, изо- браженный на рис. 8.5, должен быть демодулирован как 0001001. Демодулированный сигнал подается на декодер, который должен попытаться исправить ошибку в пятой позиции. Хотя символы 0 и 1 можно представлять многими различными спо- собами, каждый конкретный выбор сигналов не существен для Рис. 8.4. Наложение шума на последовательность 0001101. устройств кодирования и декодирования. Они оперируют только последовательностями из нулей и единиц, которые кодер посылает на модулятор, а декодер получает с демодулятора. В недвоичном случае также возможны многие схемы модуляции. Мы кратко рассмотрим три таких способа для алфавита из пяти сим- волов: 0, 1, 2, 3, 4. Они изображены на рис. 8.6. Р и с. 8.5. Квантование на временные интервалы зашумленного представления последовательности 0001101. При использовании ортогональной модуляции кодовое слово 140343 представляется сигналом, изображенным на рис. 8.7. При прохождении по каналу передаваемый сигнал искажается шумом. Полученный сигнал может иметь вид, представленный на рис. 8.8. Приемник демодулирует сигнал и перекодирует его в последователь- ность символов. Если шум в канале слаб, то демодулятор сравнительно легко принимает правильные решения. В рассматриваемом примере демодулятор сможет правильно демодулировать первый символ как 1 и второй символ как 4. Может, однако, возникнуть и более сильный шум, приводящий к ошибке демодуляции. В данном примере демоду- лятор может решить, что третий символ есть 1. Такое неправильное решение называется ошибкой в символе. Так как в течение четвертого временного интервала шум слаб, то демодулятор правильно решает, что четвертый символ — 3. На пятом временном интервале сигнал настолько слаб, что демо- дулятору лучше ничего не делать, чем принимать сомнительное решение. Демодулятор отказывается от выбора из одинаково плохих возможностей и называет соответствующую букву стертой 14*
% ¥ W Ортогональная модуляция Амплитудная модуляция V ¥ ¥ А Фазовая модуляция Р и с. 8.6. Три вида модуляции для алфавита из пяти символов. Рис. 8.7. Представление последовательности 140343 сигналами ортогональной модуляции. Рис. 8.8. Наложение шума на ортогонально модулированный сигнал, пред- ставляющий последовательность 140343.
8.2. Весовые функции 213 (мы ее обозначим через ?). В одних случаях мы будем допускать стирание, а в других нет. Если стирания не допускаются, то навяжем демодулятору решение 0. Последний символ в любом случае демоду- лируется правильно, так что принятая последовательность символов будет иметь вид 1413?3 или 141303, в зависимости от того, допустимы или нет стирания. Для построения линейных кодов для недвоичных каналов в мно- жестве входных символов полезно ввести арифметическую структуру. Если число q символов входного алфавита есть степень простого числа р, то в качестве такой структуры может быть взята арифметика поля GF (q). Как и в двоичном случае, переданные и полученные последовательности можно рассматривать как векторы над этим полем. Разность между полученной и переданной последовательно- стями есть вектор шума. В предыдущем примере переданная после- довательность над GF (5) имеет вид 140343, а принятая последова- тельность — 1413?3 или 141303, и разность этих векторов равна 0010Р0 или 001010. Как и в двоичном случае, линейный код может быть определен как множество векторов, транспонированные к кото- рым лежат в нуль-пространстве проверочной матрицы $£. Получен- ное слово R имеет синдром S! = <^R!, равный синдрому вектора ошибок, т. е. Sf = Множество кодовых слов образует аддитив- ную группу; множество полученных слов с одним и тем же синдромом образует смежный класс по этой подгруппе. Для фиксированного полученного слова множество возможных векторов ошибок образует смежный класс, содержащий это слово. Задача декодера может быть, таким образом, сформулирована так: по заданному синдрому полу- ченного слова найти наиболее вероятный вектор шума, лежащий в смежном классе слов с этим синдромом. 8.2. Весовые функции Как должен декодер выбирать наиболее вероятный из векторов ошибок с одним и тем же синдромом? В двоичном случае ответ сво- дится к выбору слова с минимальным весом, где вес слова опреде- ляется как число единиц среди его п координат. В недвоичном слу- чае, так же как и в двоичном, можно в качестве лидера смежного класса выбрать слово с минимальным весом. Однако в зависимости от используемой схемы модуляции вес слова можно определять мно- гими различными способами. Мы рассмотрим два определения, при- надлежащие Хэммингу [1950] и Ли [1958]. 8.21. Определение. Бесом Хэмминга слова Со, Сг, С2, • . . ., Cn_!, Ct С GF (q) называется сумма весов wH Хэмминга его координат, где [ 0, если Ct = 0, wh{Ci)— | если G=/=0
214 Гл. 8. Недвоичное кодирование 8.22. Определение. Весом Ли слова Со, С2, . . Сп_х, Ci 6 GF (р) называется сумма весов Ли wL его координат, где wL = | Ci I, | Ci | = ± Ci mod p, О С I Ct | C pH- Вес Хэмминга и вес Ли могут быть определены и для тех алфавитов из q букв, в которых q не является степенью простого числа. Однако при выходе за пределы конечных полей появляются определенные трудности в построении циклических (и вводимых ниже негацикличе- ских) кодов. Для избежания этих трудностей мы будем рассматри- вать только алфавиты из q = рт букв, где р простое. В случае метрики Ли мы будем предполагать, что q = р простое, так как вычеты по модулю q образуют поле тогда и только тогда, когда q простое. Системы с ортогональной модуляцией хороню описываются метри- кой Хэмминга. В частности, можно показать, что если буквы алфа- вита модулируются в виде ортогональных сигналов, на которые в канале накладывается аддитивный белый гауссов шум, то все ошибочные переходы символов друг в друга равновероятны. Следова- тельно, вероятность вектора ошибок зависит только от числа его ненулевых координат и не зависит от конкретного значения этих ненулевых координат. Метрика Хэмминга хорошо позволяет выде- лить более вероятные ошибки, предполагая вероятными ошибки малого веса, а ошибки с большим весом — маловероятными. Метрика Ли хорошо соответствует схемам с фазовой модуляцией. Если на фазо-кодированные сигналы накладывается аддитивный гауссов шум, то намного более вероятно, что шум переведет передан- ную букву в букву, близкую по фазе, чем в букву с сильно отличаю- щейся фазой. Значения ±2 ненулевых координат в векторе ошибок значительно менее вероятны, чем значения ±1- Метрика Ли дает хорошее приближение к реальной ситуации; в общем случае она пред- полагает ошибки малого веса более вероятными. В случае каналов с амплитудной модуляцией и аддитивным гаус- совым шумом и метрика Хэмминга и метрика Ли обладают некоторы- ми очевидными недостатками. Вероятность перепутать наибольшую и наименьшую амплитуды значительно меньше, чем вероятность перепутать две соседние амплитуды, расположенные около середины алфавита. Однако, если число символов в алфавите велико, то метри- ка Ли дает приемлемое приближение. Описание с помощью метрики Хэмминга является более грубым. Для некоторых каналов оказываются полезными совсем другие определения весовых функций. Однако мы сосредоточим наше вни- мание на метрике Хэмминга и метрике Ли. При построении систем модуляции и демодуляции приходится рассматривать многие вопросы. Необходимо выбрать множество сигналов и правило демодуляции. В общем случае этот выбор суще- ственно зависит от конкретных характеристик канала связи. При этом
Задача 215 приходится упитывать мощность шума, спектр шума, частотные огра- ничения на передатчик, ограничения на мощность передатчика и возможность межсимвольной интерференции. Этим задачам посвя- щено большое количество работ, но мы на них останавливаться не будем. Заинтересованный читатель может обратиться к книгам Давенпорта и Рута [1958] или книге Возенкрафта и Джекобса [1965]. Для понимания последующих глав этой книги абсолютно необходи- мым является лишь общее знакомство с этой областью. Мы полагаем, что модулятор, демодулятор и весовая функция (Хэмминга или Ли), заданы, и концентрируем свое внимание на задаче исправления оши- бок (или ошибок и стираний) демодулятора с помощью подходящих способов кодирования и декодирования1). Задача 8.1 (Коды Грея 2)). Некоторые системы связи работают следующим образом: сначала блок из Rn символов р-ичного источника кодируется кодовым словом С = [Со, С,, . . ., С„_,] «хорошего» кода со скоростью R и длиной п над GF (р). После этого п позиций этого кодового слова разбиваются на n/s последователь- ных подблоков, С = [х(0), х(1>, . . ., х^8-1)], где каждый подблок х есть после- довательность из s элементов поля GF (р): х = [i0, i,, . . ., is_,]. Затем для каждого i вектор x(i> модулируется в одноуровневый сигнал р<’> = / (х<’>), где У (х) — числовая функция, принимающая значения лишь в промежутке 0 О ps — 1. Сигналы у<°>, у*1), . . ., y(nZs-1) передаются по каналу с белым шумом. Полученные сигналы демодулируются как z<°>, zi1), . . ., и пре- образуются в s-позиционную р-ичную последовательность v<°>, v*1», . . ., где z<m = / (v'6). Полученный таким образом вектор R = [v<°>, v*1’, . . . . . ., v^78-^] = [Ro, Rj, • •, Rn-il интерпретируется как одно слово над GF (р) длины п и декодируется с помощью алгоритма, согласно которому при- нимается решение С, если расстояние Ли между С и R достаточно мало. S—1 Рассмотрим два способа задания функции f (х) = У, (х) р», 0 fa (х) < 1=0 < р, а именно (а) У, (х) = xi для i = 0, 1, 2, . . ., s — 1; (b) fa (х) = xt — xl+i mod р для i = 0, 1, . . ., s — 2, ys_, (х) = is_,. Показать, что если используется правило (Ь), то расстояние между х и v не превосходит \ z — у |, а если используется правило (а), то расстояние между х и v равно s, даже когда ] z — у | = 1. *) В заключение этой главы хочется подчеркнуть, что выражение «код с исправлением t ошибок в данной метрике» означает, что код исправляет все векторы ошибок, вес которых < ( в той же метрике. Это существенно при переходе к ?-ичным кодам, где, например, в метрике Ли (в отличие от метрики Хэмминга) величина t учитывает не только число искаженных позиций, но и значения ошибок в каждой позиции. —Прим, перев. 2) В задаче 8.1b х — представление целого числа f в коде Грея.
Глава 9 Негациклические коды для метрики Ли В этой главе мы построим класс кодов, исправляющих конфигу- рации ошибок достаточно малого веса в смысле метрики Ли. На про- тяжении всей главы предполагается, что входной алфавит капала состоит из элементов поля GF (р), где р — простое нечетное число. Хотя читателю может сначала показаться, что это сильное ограниче- ние, оно является необходимым. В отличие от метрики Хэмминга метрика Ли связана со способом модуляции, приводящим к необ- ходимости построения кодов над кольцами классов вычетов по моду- лю q, а не над структурами типа полей GF (q). Если объем входного алфавита не является простым числом, то такое кольцо не будет полем и конструкции этой главы оказываются несостоятельными. Позже мы увидим (теорема 13.25), что для некоторых очень спе- циальных случаев существуют другие конструкции, приводящие к хорошим кодам над алфавитами составных порядков. 9.1. Локаторы ошибок и многочлен локаторов ошибок Начнем с рассмотрения ошибок веса 1. Если блоковая длина рав- на п, существует 2п конфигураций таких ошибок, так как в метрике Ли вес 1 имеют одиночные ошибки вида ±1 в любой из п позиций. Присоединяя сюда нулевой вектор ошибок, получим 2п + 1 различ- ных векторов ошибок с весом Ли ^1. Если мы хотим с помощью линейного кода, содержащего г проверочных позиций, исправить каждую из этих 2п + 1 конфигураций ошибок, то каждой из них надо сопоставить различные проверки и, следовательно, 2п + 1 рг, или п (рг — 1)/2. Следуя основной идее Боуза — Чоудхури и Хоквингема построе- ния кодов, перенумеруем каждую позицию кода ненулевыми элемен- тами из некоторого расширения поля GF (р). Предыдущее неравен- ство наводит на мысль, что каждую позицию кода надо соотносить двум различным локаторам ошибок из GF (рг). Учитывая определение метрики Ли и нашу задачу исправлять ошибки ±1 в каждой из п = (рг — 1)/2 позиций, свяжем с j-й позицией кода пару локаторов ±а3-1, где а — примитивный элемент поля GF (рг). Так как а" = — —1, то пары, соответствующие двум различным позициям, не имеют общих локаторов.
9.1. Локаторы, ошибок и многочлен локаторов ошибок 217 В качестве простейшего нетривиального примера рассмотрим слу- чай р = 5, г = 2 и п = (52 — 1)/2 = 12. Здесь 24 ненулевых эле- мента поля GF (25) могут быть записаны в виде соответствующих степеней а, где а — корень примитивного квадратного многочлена ж2 -|- х -|- 2. Каждый элемент иэ GF (25) может быть также записан в виде Ага + Ло, где Аг и Ло g GF (5). Соотношения между этими способами задания GF (25) выписаны в приложении В. Сопоставим ненулевые числа из GF (25) и 12 позиций кода следующим образом: Позиции кода 1 2 3 4 5 6 7 8 9 10 И 12 Положительные а0 а1 а2 а3 а4 а5 а8 (А а8 а9 а40 а» локаторы 0 1 —1 —1 —2 -1 0 2 —2 —2 1 —2 1 0 —2 2 2 -1 2 0 1 —1 —1 —2 Отрицательные а42 а13 а44 а15 а18 а17 «18 а49 а20 а21 а22 а23 локаторы 0 —1 1 1 2 1 0 —2 2 2 -1 2 -1 0 2 —2 —2 1 —2 0 -1 1 1 2 Мы теперь утверждаем, что любой вектор ошибок с весом Ли, равным t, может быть определен с помощью локаторов I одиночных ошибок или с помощью задания многочлена ст (z), взаимные корни которого представляют собой эти локаторы. Рассмотрим, например, следующие векторы ошибок: Е (х) Xi. Хг Х3 a (z) X* а4 1 —а4г —X8 — а8= а20 1 — a20z X3 + X? а3 а7 (1 — a3z) (1 —a’z) Xs— X9 а5 — а9 — а24 (1 — a5z) (1 —a21z) 2хе а8 а8 (1 —a8z)2 — хТ—2i4« — а’ = а19 —а40 = а22 а22 (l-a19Z) (l-a22z)2 Решающее свойство локаторов Хх, Х2, . . . состоит в том, что для всех нечетных j Е(а’)-2Х{ = Зр Читателя, знакомого с обобщением Горенстейна — Цирлера для БЧХ-кодов в метрике Хэмминга, необходимо предупредить о том, что в наших негациклических кодах для метрики Ли не используются значения ошибок. Величине ошибки в некоторой данной позиции соот- ветствует кратность корня в многочлене локаторов ошибок. Таким образом, справедлива
218 Гл. 9. Негациклические коды, для метрики Ли 9.11. Т е о р е’м а. Каждый из различных векторов ошибок с весом Ли, равным t, соответствует одному из многочленов локаторов ошибок ст (z) степени t. При соответствующих ограничениях справедливо и обратное. 9.12. Теор е ма. Многочлен локаторов ошибок ст (z) степени t соот- ветствует вектору ошибок с весом Л и, равным t, если все взаимные корни многочлена ст (z) — корни 2п-й степени из единицы, кратность всех взаимных корней ст (z) не превосходит (р — 1)/2, и никакие два взаим- ных корня ст (z) не равны в сумме нулю. 9.2. Коды, исправляющие две ошибки Рассмотрим теперь код с блоковой длиной 12 над GF (5), исправ- ляющий две ошибки в метрике Ли. Как показано в приложе- нии В, ненулевые элементы поля GF (25) могут быть записаны через степени корня а многочлена х? + х + 2. Следуя эвристическим рас- суждениям Боуза — Чоудхури — Хоквингема, в качестве первых двух строк проверочной матрицы выберем положительные локаторы позиций, а в качестве вторых двух строк — кубы первых двух строк: 1 -1 -1 —2 -1 0 -2 2 2 -1 -1 0-2 0 1 2 2-1-1 —2 0 2-2-2 1 -2' 2 0 1 -1 -1 -2 0 2 0 -1 0 -2 2 1 1 2 2-1 В качестве кодовых слов выбираются векторы, удовлетворяющие этим четырем проверочным соотношениям. К переданному кодовому слову прибавляется шум. Используя первые два проверочных урав- нения, декодер получает сумму локаторов ошибок, = У, Xit а используя два нижних уравнения, он получает сумму кубов лока- торов ошибок, S3 = У Xf. Если произошло не более двух оши- бок, то 5t= Xi+ Х2 =£ 0, за исключением Xt = X2 = 0, $3 _ y2 Y Y I V2 у- — Aj — AjA2 -f-Л2, 4;-^= -3Xtx2, €3__ <? (9.21) ст(г) = 1-51г + ^^г2.
9.2. Коди, исправляющие две ошибки 219 Таким образом, код позволяет исправлять две ошибки. Для декодирования необходимо из проверочных уравнений вычислить и S3 и затем выполнить необходимые для определения многочлена локаторов ошибок операции в поле GF (52). Если а3 — взаим- ный корень этого многочлена и 0 / < п, то в (у + 1)-й позиции полученного слова произошла ошибка-|-1. Если а1—взаимный корень многочлена локаторов ошибок и п у<2п, то в (у+1 — п)-й пози- ции полученного слова произошла ошибка —1. Двойные ошибки в любой позиции кодового слова соответствуют взаимным корням многочлена локаторов ошибок кратности два. Для рассматриваемо- го кода, исправляющего двойные ошибки, квадратный многочлен локаторов ошибок имеет кратные корни тогда и только тогда, когда = или 45 5з Это же условие вытекает из уравнений = 2Xt и S3 = 2Xf. Аналогично, легко увидеть, что в случае одной единичной ошибки (Sf — <S'3)/3Sr1 = 0 и ошибки отсутствуют только тогда, когда = 0. У читателя может возникнуть вопрос, почему две нижние строки проверочной матрицы были построены в виде кубов двух первых строк, а не в виде их квадратов. Если вместо кубов взять квадраты, то нужные уравнения не получаются: (9.22) X, + Х2 = Slt Х{ + Х[ = S2, что можно привести к внешне более громоздкому (но более удобному для анализа) виду (9.23) Хх + Х2 — St, Xi I X, I + x21 x21 = s2. Здесь Xi = ±Х/ в соответствии с тем, в каком интервале лежит loga Хг: между 0 и тг — 1 или между п и 2п — 1. Осложнение возни- кает потому, что (+Хг)2 = (—Хг)2 (—X?). Аналогичная трудность возникает при включении в проверочную матрицу любой четной степени локаторов. Хотя такой выбор и не обязательно должен быть плохим, однако он всегда приводит к уравнениям типа (9.23), кото- рых мы предпочитаем избегать. Сделанный нами выбор матрицы обладает еще одним интерес- ным математическим свойством, которое мы сейчас опишем. Так как столбцы первых двух строк этой матрицы представляют собой соот- ветствующие степени а, то кодовый многочлен С (х) степени <; 12
220 Гл. 9. Негациклические коды для метрики Ли удовлетворяет этим проверочным соотношениям тогда и только тогда, когда С (а) = 0. Это возможно тогда и только тогда, когда многочлен С (х) кратен минимальному многочлену х2 -j- х Д- 2 эле- мента а. Аналогично, кодовый многочлен удовлетворяет последним двум проверочным соотношениям тогда и только тогда, когда С (а3) = = 0, что возможно тогда и только тогда, когда С (х) кратен мини- мальному многочлену х2 — 2 элемента а3. Ясно, что многочлен С (х) степени < 12 представляет кодовое слово тогда и только тогда, когда С (х) кратен произведению (х2 Д- х + 2) (я2 — 2). Так как а — при- митивный элемент поля GF (25), то а24 = 1, но #= 1 при 0 < к < < 24. Так как (а12)2 = 1 и квадратные корни из единицы исчерпы- ваются числами +1, то очевидно, что а12 = —1. Аналогично заклю- чаем что (а3)12 == —1 для любого нечетного у, включая j = 3. Таким образом, и минимальный многочлен х2 + х + 2 элемента а, и мини- мальный многочлен х2 — 2 элемента а3 должны быть делителями многочлена я12 4- 1. Следовательно, если С (х) = Со + Сгх + С2х2 + . . . + Сщя10 + Сца;11 — кодовое слово, то С (х) кратен многочлену (х2 х 2) (х2 — 2) и хС (х) — Сп (х12 + 1) = — Fox Сгх2 + . . . + CgZ10 + + С10х11 также кратен этому многочлену. По этой причине мы назо- вем этот код негациклическим. 9.3. Негациклические коды 9.31. Определение. Негациклическим кодом с блоковой длиной п над GF (р) (р — простое нечетное число, ге =4= 0 mod р) называется множество кратных порождающего многочлена g (х), делящего многочлен хп -J- 1 над GF (р). Отношение (хп + l)/g (х) называется проверочным многочленом h (х). Так как хп + 1 = (х2П — i)l(xn — 1), то корни многочлена хп 1 совпадают с теми корнями многочлена х2П — 1, которые не являются корнями многочлена хп — 1. Если а — примитивный корень многочлена х2П — 1, то его нечетные степени суть корни мно- гочлена хп 1, а четные степени — корни многочлена хп — 1. Отметим повторно, что корни многочлена хп 1 являются нечет- ными степенями примитивного корня из единицы 2ге-й степени. Сле- довательно, как порождающий многочлен, так и проверочный много- член негациклического кодасблоковойдлинойпмогутбыть удобно опи- саны указанием их корней, являющихся нечетными степенями одного примитивного корня из единицы 2«-й степени. Для кода, исправляю- щего двойные ошибки, с блоковой длиной 12 над GF (5), описанного в предыдущем разделе, корни порождающего многочлена суть а и а3, а сопряженные к ним над GF (5) — это а5 и (а3)8 = а15. Осталь-
9.3. Негациклические коды 221 ные восемь нечетных степеней а7, а9, а11, а13, а17, а19, а21 и а23 являются корнями проверочного многочлена. Этот способ описания негациклических кодов обладает тем пре- имуществом, что сразу задает уравнения для определения локаторов ошибок. Если а1 — корень порождающего многочлена, то, вычис- ляя значение полученного многочлена R (х) = С (х) + Е (х) при х = а3, декодер сразу получает сумму j-х степеней локаторов оши- бок, R (а3) = 0 + Е (а’) = 2 Зная эти Sj, декодер должен г далее определить взаимные корни многочлена локаторов ошибок ст (z), задающие локаторы ошибок. Соотношения между величинами 5у и ст (z) описываются тождествами Ньютона, к рассмотрению которых мы и переходим. Пусть ст (z) = (1 — Хгг), где X, — не обязатель- г но различны. Тогда ст' (2) = -2^П(1-ад, i г г k= 1 ОО оо = 2 (2х'г)?== 2 shzk=s(Z). k= 1 г k~ 1 Отсюда вытекает и тождество Ньютона для производящей функции: (9.32) 5ст4-2ст' = 0. В случае негациклических кодов все коэффициенты при четных степенях z в производящей функции 5 первоначально не известны. Поэтому удобно исключить эти члены с помощью разбиения тожде- ства Ньютона на две части. СТ = 1 -ф- CTg22 . . . , СТ = CTjZ -ф- CT3Z3 “|- . . . , S = S2z2 -ф 54z4 -(-..., 5 = S3Z3 Тождество Ньютона можно теперь записать в виде уравнения (5 + 5) (ст-)-сг) + z (ст'4-ст') - О, которое распадается на два уравнения Scr + <Scr + zct' = О и 5ст + <Уст 4-гст' = 0.
222 Гл. 9. Негациклические коды, для метрики Ли Умножим первое уравнение на о и вычтем из него второе, умно- женное на ст. Тогда (9.33) У (ст2—ст2)-|-z (сто'— оо') = 0. Уравнение (9.33) может быть решено при достаточно разумных ограничениях. Основной результат содержится в теореме 9.34. 9.34. Теорема. Если среди корней порождающего многочлена негациклического кода над GF (у?) содержатся элементы а, а3, а5, ... . . ., а2<-1, где 2t — 1 <Zp, то этот код исправляет все ошибки, вес Ли которых t. Замечания. Прежде чем доказывать эту теорему, приведем таблицу 9.1, в которой записаны параметры некоторых кодов, удо- влетворяющих условиям теоремы. Большим t и сравнительно малым Таблица 9.1 Значения параметров некоторых негациклических кодов, описываемых теоремой 9.34 Кратность исправляемых ошибок р п 1 г 2 3 4 5 5 2 1 2 5 61) 2 3 5 12 2 4 5 62 3 6 5 312 4 8 7 3 1 2 3 7 24 2 4 6 7 171 3 6 9 И 5 1 2 3 4 5 11 151) 2 3 5 7 8 11 60 2 4 6 8 10 11 665 3 6 9 12 15 17 8 1 2 3 4 5 6 7 8 17 241) 2 3 5 7 8 10 12 13 17 72 1) 2 4 6 8 9 И 13 15 17 144 2 4 6 8 10 12 14 16 127 63 1 2 3 4 ... 62 63 127 8064 2 4 6 8 124 126 1) Непримитивный код; (рт — l)/2t
9.3. Негациклические коды 223 числам г проверочных позиций обычно соответствуют примитивные коды с блоковой длиной вида п = (рт — 1)/2. Однако имеются также сравнительно хорошие непримитивные коды этого типа с дру- гой блоковой длиной; эти коды в таблице отмечены единичкой. Доказательство теоремы 9.34. Приводимое дока- зательство является конструктивным и задает эффективную про- цедуру декодирования. Начнем с уравнения S (о2 — о2) = z (о о' — со'). Так как ц(0) = 1, то можно разделить обе части равенства на о2: Вводя производящую функцию получим, что или S(t72-l)=zt/', t/-J ±-S(-i + U2)dz. Хотя с первого взгляда это уравнение может показаться громоздким, на самом деле оно решается тривиальным образом, поскольку каж- дый коэффициент U выражается через некоторые коэффициенты S и ранее определенные коэффициенты: UiZ^U3z^U^+...= = j (_ i + {UiZ+UszS + .. ,)2] dz. Ut= -slf ----з----, тт —^b~\~UiS3-\-2U --------5--------. Дополнительные трудности возникают при определении коэффи- циента Up, так как при этом нужно выполнять деление на нуль поля GF (р). Однако, согласно предположению теоремы, 2t— 1<р и при вычислении Ur, U3, U5, ..., C72t-i этого затруднения нет.
224 Гл. 9. Негациклические коды для метрики. Ли Так как U — нечетная функция от z, то можно ввести производя- щую функцию Т с помощью уравнения Т (z2) = [1 + zU (z)]-1 —1. Очевидно, что Т (0) — 0 и 1 + Т (z2) = [1 + zU (z)]-1. Если коэффи- циенты Ult U3, U5, . . известны, то это уравнение позво- ляет рекурсивным образом вычислить коэффициенты Т\, Т2, . . . . . ., Tt. Так как U = ст/ст и 1 + zU = (ст + гст)/ст, то, введя много- члены co(z2) = a(z) и Ф(г2) — a(z)4 zo (z), очевидно, получим и 1 4 т (z2) = — ' Ф (22) ’ так что (9.35) [1 + Г (г)] Ф (z) s= со (z) mod z(+1. Мы теперь утверждаем, что если произошло не более t ошибок, то Ф и со удовлетворяют дополнительным условиям Ф (0) = со (0) = 1, deg®C^-i-^, degcoC-^- и являются взаимно простыми. Последнее утверждение вытекает из того факта, что никакие два взаимных корня многочлена о (z) не дают в сумме нуля. Действи- тельно, в этом случае о не может иметь делителей положительной четной степени и, следовательно, о и о, так же как Ф и со, взаимно просты. Учитывая эти условия (9.35), можно решить уравнения (9.35) относительно Ф и со с помощью алгоритма 7.4: Ф=Ф((), со = соФ. Подытожим процедуру декодирования в виде алгоритма: 9.36. Алгоритм декодирования негацикли- ческих кодов, описанных теоремой 9.34. I. Вычислить U mod z21 при помощи уравнения U = j A(U2-l)dz. 2. Вычислить 1 + Т mod zi+1 при помощи уравнения l+7’(z2) = [l + zt/(z)]-1 3. Используя алгоритм 7.4, найти Ф(0), со<°>,т<°>,Ф(1), cod), T(i)( T(i), ф('\ ш(«) как решения уравнений (1 + Г) Ф<{> = со<*> mod z'+1.
Задачи 225 4. Положить о (z) = <в<(> (z2); о (z) = [Ф<() (z2) — (z2)]/z; СТ — О + о. 5. Используя процедуру Ченя, вычислить многочлены a (оН) и о (оН) для j = п — 1, . . 1, 0, где а — примитивный корень из единицы 2п-й степени, соответствующие степени которого задают локаторы позиций кода. Если о (aJ) = — о (aJ), то в (/’ — 1)-й позиции кода произошла положительная ошибка; если о (оН) = = о (aJ), то в (j — 1)-й позиции кода произошла отрицательная ошибка. В любом из этих случаев кратность ошибки может быть определена с помощью производных от ст и о. Если для i <2 к L dzu> Jz=a» L dz' ’ -lz=a2 HO то кратность ошибки равна к. В этих уравнениях знаку минус соот- ветствует положительная ошибка и наоборот. Если требуется большая скорость вычислений и имеется доста- точно много вычислительных регистров, то процедуру Ченя можно применять к каждому из многочленов ст, о, o', о', о", о", . . . . . ., d^^o/dz^-1*. С другой стороны, если число вычислительных регистров недо- статочно, а время вычисления не ограничено, то процедуру Ченя можно применять только к многочленам о и о. Подходящее про- граммирование позволяет вычислять производные только тогда, когда они необходимы, не прерывая процедуру Ченя для о (а-3) и о (а-3). Хотя теорема 9.34 определяет достаточно мощный класс негацик- лических кодов с практически приемлемым алгоритмом декодирова- ния, естественным является желание освободиться от ограничения t <С (р — 1)/2, поскольку возможна ситуация, когда кратность ошибки больше, чем (р — 1)12. Очевидное решение— использова- ние кода, корни порождающего многочлена которого содержат дру- гие подходящие нечетные степени элемента а. Если элементов а, а3, . . ., ар-2, ар оказалось недостаточно, то, возможно, помогут элементы а, а3, а5, . . ., ар, ар+2? К сожалению, эта гипотеза так- же не проходит. Причины этого будут ясны из теоремы 11.65. Задачи 9.1. Показать, что шаги 1 и 2 алгоритма 9.36 могут быть совмещены и что функция Т (z2) = V (z) может быть вычислена непосредственно по 5 (z) из z2V' - zV = zV2 + 5 [(z2 - 1) V2 + 2z2V + z2]. 15-658
226 Гл. 9. Негациклические коды для метрики Ли 9.2. Выписать степени числа 3 в GF (31). Полагая (х) = х — 3’, рас- смотрим негациклический код с блоковой длиной 15 над GF (31), порождаемый многочленом g (х) = (х) М<-3> (х) М<-3> (х) (х) = xi -|- 20а:3 + 15а:2 + + 28а: + 28. Этот код исправляет все ошибки с весом Ли 4. Предполагая, что произошло не более четырех ошибок, декодировать полученную последователь- ность R = [20, 20, И, 5, 16, 9, 14, 22, 19, 23, 5, 17, 1, 6, 15]. Ответы 5 (z) = 14z + 30z3 --- 6z5 + llz7 -I- . . . U (z) = 17z 16z3 lz5 + Oz7 + . . . 1 - T (z) = 1 + 14z + 25z2 + lz3 + 3z4 + . . . = 1 --- 322z 310z2 ~ 3°z3 + 3'z4 + . . . ф<’> = 1 + 37z, Ф<2> = 1 + 33z, Ф<3> = 1 - 321z - 3nz2, ф<4) = 1 + 320z + 317Д <o<4> = 1 -|- 19z 24z2, a (z) = 1 + 17z + 19z2 + 29z3 + 24z4, = (1 - 33z) (1 + 37z) (1 + 33z)2. E = [0, 0, 0, 1, 0, 0, 0, —1, 0, —2, 0, 0, 0, 0, 0], C = [20, 20, 11, 4, 16, 9, 14, 23, 19, 25, 5, 17, 1, 6, 15].
Глава 10 Недвоичное обобщение Горенстейна—Цирлера БЧХ-кодов в случае метрики Хэмминга 10.1 . Обобщенные БЧХ-коды и алгоритм их декодирования Циклические коды над GF (q), где q — степень произвольного простого числа, определяются точно так же, как и циклические коды над GF (2). В качестве порождающего многочлена выбираются неко- торые делители многочлена хп — 1 над GF~(q). Кодовые слова исчер- пываются всеми кратными порождающего многочлена, степень кото- рых меньше, чем п. Как и в двоичном случае, порождающий много- член g-ичного БЧХ-кода, исправляющего t ошибок, с блоковой длиной п равен произведению различных минимальных многочленов элементов а, а2, а3, . . ., а2(, где а — примитивный корень п-й степени из единицы над GF (q) и а £ GF (qm), где т —мультиплика- тивный порядок числа q mod п. Поле GF (д) называется полем сим- волов, a GF (qrr:) — полем локаторов. Такое обобщение БЧХ-кодов на недвоичный случай впервые было предложено Горенстейном и Цирлером [1961]. Частный случай п = q — 1 рассматривался ранее с другой точки зрения Ридом и Соломоном [1960]. Если кодер передает кодовое слово, символы которого совпадают с коэффициентами многочлена С (х) = Со + Сгх + С2х2 + . . . + С^У1, Ct е GF (д), а в канале к нему добавляется вектор шума, заданный многочленом Е (х) = Ео +- Ехх-\- Е2х2-[- . .. •] Еп^х”"1, Et £ GF (g), то декодер получает слово R (х) = С (х) -\-Е (х). Пусть а — примитивный корень п-й степени из единицы. Если сС — корень многочлена С (х), то R (ak) = Е (aft). Если вектор ошибок содержит ошибку Уг в позиции с локатором Х± = а31, ошибку У2 в позиции с локатором Х2, — а32,... то Е (х) = 2 Y i и Е (ah) — 2 КгаЬз/ = 2 КД? = Sk. Здесь Xt называются лока- г i торами ошибок, Yt — значениями ошибок, a — взвешенной степен- ной симметрической функцией. 15*
228 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов Заметим, что Уг Е GF (q), а Хг, St £ GF (qm). БЧХ-код с исправ- лением t ошибок строится таким образом, что а, а2, а3, . . ., а2> являются корнями порождающего многочлена кода J) и, следова- тельно, корнями любого кодового многочлена. Таким образом, пер- вым шагом процедуры декодирования БЧХ-кодов является вычис- ление суммы Sh = Е (а,г) для k = 1, 2, . . ., 2t. Для определения местоположения и значений ошибок полезно ввести в рассмотрение два многочлена. Первый из них, о (z), так называемый многочлен локаторов ошибок, определяется, тем, что его корни взаимны к локаторам ошибок: (10.11) сф) = П(1-^)- г Второй многочлен, co(z), так называемый многочлен значений ошибок, задается равенством (10.12) co(z)=a(z) II (1-X,z). I Jqtl Заметим, что определения 10.11 и 10.12 в двоичном случае сво- дятся к определениям 7.21 и 7.22. В противоположность многочлену ло- каторов ошибок для негациклических кодов, рассмотренных в гл. 9, многочлен локаторов ошибок (10.11) не имеет кратных корней. Постепень многочлена локаторов ошибок (10.11) равна числу ошибок в метрике Хэмминга, подобно тому, как степень многочлена локато- ров ошибок в гл. 9 равна числу ошибок в метрике Ли и степень многочлена ошибок (7.21) равна числу ошибок в двоичном канале. Отметим также, что многочлен значений ошибок (10.12) зависит и от локаторов и от значений ошибок, в то время как многочлен локаторов ошибок (10.11) зависит только от локаторов ошибок. Так как о (0) = 1, то можно определить производящую функцию S (z) отношения со (z)/o (z). Ее коэффициенты задаются соотношением I ft=l I I где S (z) = 2 SkZh- Значит, (1 -f- S) a = co. Для БЧХ-кода, исправляющего t ошибок, декодер вычисляет только S2, . . ., S2i. Таким образом, известны только первые 2t х) Согласно другому, более общему определению (см. разд. 10.3), корнями должны быть аг, а1*1, . . ., а^2<_1 для I =£ 1.
10 1. Обобщенные БЧХ-коды и алгоритм их декодирования 229 коэффициентов производящей функции S (z), и декодер должен попытаться определить о и и из ключевого уравнения (10.13) (1 + S) о = о) mod z2'+1. Декодер может решить это уравнение относительно многочленов ст (z) и со (z), используя алгоритм 7.4. Это дает второй шаг проце- дуры декодирования. После вычисления многочлена локаторов ошибок a (z) декодер может определить локаторы ошибок, находя взаимные корни о (z) = — [J (1 —Xtz). Определение величин {X,} по заданным коэффи- г циентам 1, стп ст2, ст3 . . . Qdega многочлена о (z) = 2состав- ляет третий шаг процедуры декодирования. Найдя локаторы ошибок, декодер может вычислить значение многочлена со (z) в точке z = Х^1: ад1) ад п (i-ад1). j^=i Таким образом, на четвертом шаге процедуры декодирования деко- дер определяет ошибки в соответствии с формулой (10 14) у S(X,) ' ‘ [J (i vy.;1) х, |( (Х,-Х,> Х(Д(Х,-Х,)' 31=1 31=г 3=7=3 Знак ~ для обозначения взаимного многочлена не следует путать со знаком ", которым мы обозначили нечетную часть функции. Подытожим описанную процедуру декодирования для недвоичных БЧХ-кодов в виде алгоритма 10.15. 10.15. Алгоритм декодирования. 10.151. Определить взвешенные степенные симметрические функ- ции S2, . . ., S2t по формулам Sh = г<,г) (с?), где (х) — остаток от деления полученного многочлена R (сс) на минимальный многочлен (ж) элемента ah вад GF (q), к =1, 2, . . ., 2t. 10.152. Составить ключевое уравнение (10.13) для найденной функции S (z) mod z2(+1 и решить его, согласно алгоритму 7.4, отно- сительно многочленов cr(z)(2Z) и со<2О (z). 10.153. Используя процедуру Ченя определения корней n-й сте- пени из единицы над GF (q), найти взаимные корни многочлена локаторов ошибок ст (z). Это определит локаторы ошибок. 10.154. По формуле (10.14) найти значения ошибок.
230 Гл. 10. Педвоичное обобщение Горенспейна — Ци рлера БЧХ-кодов 10.2. Примеры Возьмем код с блоковой длиной п = 15 над GF (22), синдром кото- рого задается координатами 5,, Sa и 54 = S*. Имеем q = 4 — число букв алфавита; n=15 = 42 — 1 — блоковая длина; t = 2 — число исправляемых ошибок; к = 9 — число информационных позиций; г = 6 — число проверочных позиций. Пусть g — примитивный элемент в GF (22), где g2 g -J- 1 = 0. Пусть а — примитивный элемент поля GF (24), удовлетворяющий уравнению а’ --- и-! - 0 над GF (2) или уравнению а2 -J- а + + £ = 0 над GF (4); g = а5. Все элементы поля GF (24) могут быть записаны в виде степеней а, как это сделано в табл. 4.1. 10.21. Пример. 1 S = 1 + a3z - a6z2 — a4z3 -J- a12z4 + , . . . . k D (A) U (/<) o(^) T(ft) v(ft) д(Л) 0 0 0 1 1 1 0 a3 1 1 i 1 a?z a-3 1 a"3 0 2 1 i 1 — а3з a-3z 1 a-32 a-1 3 2 0 1 -j- a3- -j- a11;2 a (1 -j- a3z) 1 + aiiz2 a 0 Разложение многочлена (В4) имеет вид ст(4) = (1- a4z) (1 -j- a’z), так что Xt = a4, Х2 = a7, ы<4) - z2 r a11, У (a4)2-}-»11 a7 , a4 (a4-f-a7) a4a3 ~~ ’ (a")2-1-a11 a10 <z7(a4 —a7) a7 (a3) 10.22. Пример. 1 - 5 = 1— anz — a10z2 — fFz3 — a14z4 — . . . .
10.3. БЧХ-коды общего типа и 1-удлиненные БЧХ-коды 231 k D (Л) В (Л) o(k) (i)(k) Т(Л) д(Л) 0 0 0 1 1 1 0 a-4 1 1 1 1 + auz a4 1 a4 ae 2 1 0 1 -j-a14z a-6 (1 -j- anz) l-}-a10z a-6 ae 3 2 1 1 + a3z aiiz2 a-e (14-a14z) 14- a5z a-6 (l + aioz) 0 4 2 1 1 -|- a3z -|- aHz2 a-6 (14-a14z) 1 — a5z a-® (1 -|- a10z) ? ц(4) = 1 -г a3z anz2 = (1 + a4z) (1 + a' rz), так что Хг = а4, X. = = a7, (О4 = 1 + a5z, Yt Xi + a5 Xi + X2 a44-a5 __ a8 a4 + a7 a3 = a5 = £, Y, X1 + X2 a7 + a5 a13 a4 + a7 a3 = a10 = £2. 10.23. При мер 1- S = = 1 + anz a2z2 a8z3 + a14z 4 + . . . k О (ft) В (ft) (j(k) д(М 0 0 0 1 1 1 0 a44 1 1 1 14-a11z a4 1 a4 ai2 2 1 0 l-|-aez a3 (14-anz) 14-a? a3 0 3 1 0 l-f-aez a3 (1 + anz) 14~az a3 0 4 1 0 1 4-a6z a3 (14-auz) 1 + az a3 ? Хг = а6, v _ ae + <z _ а11 а6 - а6 = а5 = £. *10.3. БЧХ-коды общего типа и 1-удлиненные БЧХ-коды В разделе 10.1 мы определили БЧХ-код с исправлением t ошибок как код, среди корней порождающего многочлена которого содер- жатся элементы а, а2, а3, . . а2<. Хотя это определение хорошо согласуется с двоичным случаем, оно содержит лишние ограничения. В более общем случае БЧХ-код с исправлением t ошибок можно определить как циклический код, порождающий многочлен которого равен произведению различных минимальных многочленов элемен- тов а1, а!+1, . . ., аг+2(-1 для произвольного I. Если I =^= 1, то это
232 Гл 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов определяет БЧХ-коды общего типа с исправлением t ошибок; при 7 = 1 получаем частные БЧХ-коды с исправлением t ошибок. Не ограничивая общности, можно считать, что 7 > О, так как слу- чай 7 = 0 совпадает со случаем 7 = п, где п — блоковая длина. Декодирование БЧХ-кодов общего типа с исправлением ошибок может быть осуществлено следующим образом. В общем случае справедливо равенство (1 4- S) а — со, или, что то же самое, 1—1 оо (1+ 3 3^?)а = (0 k=i k=i ( 3 Shzh) а = со — (1 4- 3 Skzh) cs. k=i fe=i Так как левая часть этого равенства делится на zz, то правая часть также делится на zl, и поэтому можно определить многочлен оо Очевидно, что degQ<;degff и (2 Skz1Jrk~l) a = Q—cs, или k—i (10.31) /4-2Z-1 (14- 3 4fez1+fe“') о = О mod z'2Z+1. k=i Для решения уравнения (10.31) относительно многочленов о (z) и О (z) можно использовать алгоритм 7.4. Многочлен значений ошибок задается формулой 1-1 а> = zz-1Q 4 (1 + 3 — z1"1) °’ ь=1 Общая формула (10.14) для значений ошибок в данном случае запи- шется в виде (10.32) Y. = Ц (1-хдг1) 3** Хг-'й(Хг) П (Х.-Х4 Здесь О (z) = zdes°Q (г-1).
10.3. БЧХ-коды. общего типа и 1-удлиненные БЧХ-коды 233 Таким образом, для декодирования БЧХ-кодов общего типа можно использовать следующий алгоритм: 10.33. Алгоритм декодирования. 10.331. Опреде- лить взвешенные симметрические функции Sh Si+l, . . ., St+2t -i- Функции Sh, к = I, I 1, . . I + 2t — 1, можно найти по фор- муле Sk = (<+), где (x) — остаток от деления полученного многочлена R (х) на минимальный многочлен M<-k> (х) элемента ah над GF (q). 10.332. Используя алгоритм 7.4, решить уравнение (10.31) отно- сительно многочленов о (z) и Q (z). 10.333. Используя процедуру Ченя отыскания корней п-й сте- пени из единицы над GF (<?), найти взаимные корни многочлена лока- торов ошибок. Это определит локаторы ошибок. 10.334. Найти значения ошибок по формуле (10.32). При 7 = 1 алгоритм 10.33 сводится к алгоритму 10.15. Случай 7 = 0 также заслуживает специального рассмотрения. Если положить (10.34) Q(z)=n(z) П (1-3>), i ТО оо 1 -=г 2 ++=2 2 3 - з I г k k=0 так что ОО (1+3 ^hZft+1)ff(z) = Q(z). fe=0 Следовательно, уравнения (10.31) и (10.32) остаются справедливыми при 7 = 0. БЧХ-код с 7 = 0 на самом деле является 1-укороченным вариан- том 1 -удлиненного х) БЧХ-кода, обладающего тем же числом прове- рочных позиций и одной дополнительной информационной позицией. В общем случае 1-удлиненные БЧХ-коды с блоковой длиной п могут быть построены путем добавления общей проверки на четность к цик- лическому БЧХ-коду с блоковой длиной п — 1. Например, прове- рочная матрица расширенного БЧХ-кода с блоковой длиной 16, исправляющего две ошибки, получается путем добавления общей х) С целью единообразия терминологии в переводе вместо обычно употреб- ляющегося термина «расширенный» используется, как правило, термин «1-удли- ненный». Точное определение операций удлинения, укорочения, расширения и сужения кодов дается в гл. 14. —Прим, перев.
234 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов проверки на четность к проверочной матрице (5-21) ’1111 1111111111 1 Г 0 0 0 1 0 0 110 10 111 1 0 0 0 10 0 110 10 1111 0 0 0 10 0 110 10 11110 0 0 (10.35) $ ?= 10 0 0 10 0 110 10 11 1 0 = 0 111 10 11110 111 1 0 0 0 10 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 .10 0 0 1 1 0 0 0 1 1 0 0 0 1 0. '(а0)0 (а1) °(а2)° . . . .(а’2)0 (а’1 )° 0°‘ = (а0)1 (а1) Да2)1 . . . .(а'2)1 (а-1 ДО1 . .(а0)3 (а1' 3 (а2)3 .... (а-2)3 (а-1 )3 03. В качестве локатора этой дополнительной проверки выберем нулевой элемент поля. Так как все ненулевые локаторы являются степенями элемента а, то 0 также удобно представить в виде сте- пени а, положив а°° = 0. Это соглашение является чистой услов- ностью; оно не может быть получено предельным переходом, так как lim ak не существует. Если положить также 0° = 1, то общую А—>03 проверку на четность можно интерпретировать как число ошибок, So — 3В общем случае она представляет собой сумму значе- г НИЙ ошибок: 50 = ^УгХг = г г Многочлен локаторов ошибок для 1-удлиненного БЧХ-кода опре- деляется уравнением (10.11); многочлен значений ошибок опреде- ляется уравнением (10.34), где суммы и произведения распростра- няются на все локаторы ошибок, возможно включая и X, = а°°. Если ни одна из фактических е ошибок не имеет своим локатором а°°, то, как обычно, deg н = е и deg Q е. Однако если одной из е ошибок соответствует локатор а°°, то deg н = е — 1 и deg Q = е, что следует из (10.34) и соотношения degz [] fl — XjZ)^ е, если Х(=а°°, е — 1, если Х} — а°° для некоторого j=£i. Мы подытожим этот результат в виде теоремы. 10.36. Теорема. Для 1-удлиненного БЧХ-кода deg н < deg Q тогда и только тогда, когда имеется ошибка с локатором ах. Для декодирования 1-удлиненного БЧХ-кода можно использо- вать слабо модифицированный алгоритм 10.33. Используя теорему
10.3. БЧХ-коды общего типа и 1-удлиненные БЧХ-коды 235 10.36 на шаге 10.333, определяем наличие ошибки с локатором а°°; локаторы остальных ошибок могут быть определены с помощью процедуры Ченя. Значения всех ошибок можно затем вычислить на основании (10.32). Если произошла ошибка с локатором а°°, то ее величина определяется равенством „ Q (0) 1 ~ е-1 ’ п 1=1 й (z) = z^^’Q (z-1). Эта процедура декодирования 1-удлиненных БЧХ-кодов может быть представлена и в другой форме. Положим (z) — ZD(n><J(n> (z-1) и й(п) (z) = zc<m>Q(m) (z-1), где многочлены (z), Й<"> (z) и D (n) задаются алгоритмом 7.4 как решения уравнения оо (1+3 5ftzfe+1)a(z) = fi(z). ft=0 При такой формулировке ошибка с локатором а°° определяется точно так же, как и любая другая. Если в 1-удлиненном БЧХ-коде произошло не более t ошибок, то их локаторы задаются корнями многочлена o(2i) (z) и их значения определяются при помощи формулы у а(2Ь 3^1 Каждый элемент поля GF (дт) является локатором некоторой позиции 1-удлиненного частного БЧХ-кода с блоковой длиной qm. Эти коды обладают даже большей симметрией, чем обычные БЧХ-ко- ды; 1-удлиненные БЧХ-коды инвариантны не только относительно циклических перестановок и подстановок Xz X? (следствие 5.82), а также относительно афинной группы подстановок над GF (qm). Этот результат принадлежит Питерсону. Мы начнем с теоремы 10.37, доказанной Базами и являющейся слабым обобщением теоремы Питерсона. 10.37. Теор е м а. Пусть а — примитивный элемент поля GF (qm), и пусть порождающий многочлен циклического кода с блоко- вой длиной qm — 1 над GF (q) имеет вид g (х) = [( (х — аь), где k£K К — множество целых чисел по модулю qm — 1. Предположим, что
236 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов О (£ К и ( О, если ] £ К (J 0. Пусть нуль поля выбран в качестве локатора общей проверки на четность в {-удлиненном коде. Тогда {-удлиненный код инвариантен относительно аффинной группы под- становок, т. е. относительно группы подстановок вида X^uX^v, и, v Е GF (qm), и ф 0. Замечания. Прежде чем доказывать теорему 10.37, рас- смотрим следствия из нее. Согласно следствию из теоремы Лукаса 4.72, )=^0в поле характеристики р тогда и только тогда, когда каждая цифра в р-ичном представлении числа у не превосходит по величине соответствующей цифры в р-ичном представлении чис- ла к. В сокращенных обозначениях ( 0 тогда и только тогда, когда ] е к. В случае БЧХ-кода с исправлением t ошибок к £ К тогда и только тогда, когда для к выполняется сравнение к = iqs mod (qrn — 1), где 0 < i 2t. Если у к, то <ym~s7 сравнимо с числом так что у Е К U 0. Следовательно, из теоремы 10.37 вытекает следующее утвер/кдение. 10.371. Теор е м а (Питерсон). Каждый {-удлиненный БЧХ-код над GF (<у) с блоковой длиной qm инвариантен относительно аффинной группы подстановок над GF (qm). 10.372. Пример. Согласно теореме 10.37, код, задаваемый проверочной матрицей (10.38), инвариантен относительно подстанов- ки Хг -> X; + а, которая переводит кодовое слово С = [Сс, С15 С2, • . ., Со©] в слово [С4, Coo, Ge,, Cq, С о, G2, G^^, G^^, G^q, Gg, Cg, G6, Cls, C12, C7, Ci]. Доказательство теоремы 10.37. Пусть X2, ... — локаторы ненулевых позиций кодового слова в исходном 1-удлиненном коде, a Yt — значения символов, соответствующие этим локаторам. Пусть X t = uXt — v — локаторы позиций кодо- вого слова после подстановки. Если к £ К (J 0, то Sh = 2 = г = 0. Перестановка символов в кодовом слове дает кодовое слово тогда и только тогда, когда Sk = 2 Yi — v)k = 0 для всех г к Е К J 0. Согласно свойствам биномиальных коэффициентов, Sk = = 2 Yi 2 ( к ) и,Х№~3 = 2 ( к ) Согласно предполо/кению I з з теоремы, если к £ К (J 0, то для каждого у либо ( 1=0, либо
10 3. БЧХ-коды общего типа и 1-удлиненные БЧХ-коды 237 S} = 0. В любом случае ( k ) = 0 и = ^0 = 0 для всех к £ К J 0. . Казами, Лин и Питерсон [1967] показали, что если 1-удлиненный циклический код инвариантен относительно аффинной группы, то к £ К, =4= 0 =Ф j £ К J 0. Другими словами, условия теоре- мы 10.37 являются не только достаточными, но и необходимыми. Группа подстановок, действующая на множестве М, называется транзитивной, если для любых двух элементов a, b g М существует подстановка группы, переводящая а в Ь. Аффинная группа над GF (qm), очевидно, транзитивна. Этим свойством обладает также циклическая группа корней гг-й степени из единицы, если (тг, q) = 1. Из инвариантности 1-удлиненного двоичного кода относительно транзитивной группы подстановок вытекает следующее свойство его весовой структуры: 10.38. Теорема (Прейнд я;). Пусть а, — число кодовых слов веса i в линейном двоичном коде с блоковой длиной п, и пусть Аг — число кодовых слов веса i в 1-удлиненном коде с блоковой длиной N = п + 1. Если 1-удлиненный код инвариантен относительно транзитивной группы подстановок, то для всех / «2у -1 = 2М27/А = 27a2,/(A - 27). Доказательство. 1-удлиненный код содержит точно A 2J = a2j-i + «27 кодовых слов веса 2j. Точно в а2}-х из них лока- тору а°° соответствует символ 1, и точно в а2} из них локатору а°° соответствует символ 0. Суммарный вес кодовых слов с весом 2/ равен 2jA2J = 2/ («27-1 4- a2J). Так как 1-удлиненный код инвариан- тен относительно транзитивной группы подстановок, то этот сум- марный вес должен быть равномерно распределен по N локаторам кода. Каждому локатору должна соответствовать 1 в 2j (a27-i + — a2})/N кодовых словах веса 2/. Так как локатор а°° не отличается от любого другого локатора, то 2/^27’ 2/ (а27-1 + а27) «27-1 = N = 2V ’ что эквивалентно утверждению теоремы, а 10.39. Следствие. Если 1-удлиненный линейный двоичный код инвариантен относительно транзитивной группы подстановок, то минимальный вес исходного (неудлиненного) кода нечетен. Из теоремы Питерсона 10.371 и следствия 10.39 вытекает, что каждый двоичный БЧХ-код имеет нечетный минимальный вес.
238 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов 10.4. Совместное декодирование стираний и ошибок Во многих приложениях при демодуляции иногда предпочтитель- нее не делать принудительного выбора среди наиболее вероятных возможностей и демодулировать достаточно сомнительные полу- ченные сигналы не как одну из q букв входного алфавита, а как некоторую дополнительную букву, ?, называемую стиранием. При этом дополнительно к определению локаторов и значений ошибок декодер должен также пытаться определить стертый символ. Таким образом, задачей декодера является исправление всех искажений двух типов: стираний, для которых локаторы известны, а величины искаженных символов не известны, и ошибок, для которых не извест- ны ни локаторы, ни величины. При декодировании полезно ввести в рассмотрение три различных многочлена локаторов: (10.41) Многочлен локаторов стираний: Л = Д(1 — X,z), г Xi — стирания, (10.42) Многочлен локаторов ошибок: А = П (1 - xiZ), Хг — ошибки, 1 (10.43) Многочлен локаторов искажений: о = Q (1 — Xtz), Xi — искажения, 1 где (10.44) о = ЛА. При декодировании в проверочных соотношениях стертым сим- волам приписываются произвольные значения. Если aft — корень порождающего многочлена, то затем в декодере определяются вели- чины 5ft = 3y^ = 7?(aft)-rW (aft). Если Xt — локаторы стираний, то Уг — разности между выбран- ными значениями стертых символов с локаторами Хг и передавав- шимися символами с локаторами Xt\ если Хг — локаторы ошибок, то У,- — разности между полученными символами с локаторами Xt и передававшимися символами с локаторами Хг. Ключевое уравнение (1 + S) о = со может быть записано в виде (1 -ф S) А.А — со. В случае БЧХ-кодов общего типа, рассмотренных в разд. 10.3, ключевое уравнение выглядит так: Z+d-2 (1+ 2 >SfeZfe+]-')AA = Qmodzd. h=l Здесь d = 2t Ц- 1 — конструктивное расстояние БЧХ-кода обще- го типа с исправлением t ошибок; величины Sh — известные взве- шенные степенные симметрические функции от локаторов искаже-
10.4. Совместное декодирование стираний и ошибок 239 ний; Л — известный многочлен локаторов стираний; А — неиз- вестный многочлен локаторов ошибок; Q —- неизвестный многочлен значений искажений. Чтобы упростить ключевое уравнение, можно известные вели- чины Sfi объединить с известным многочленом локаторов стираний и использовать величины введенные Форни [1965], которые определятся из уравнения d-l l+d-2 (10.45) 1 + 3 -(14 3 V‘+1-!) Л. h=l k=l При этом 1 и й определяются уравнением d-l (1+2 А = Q mod zd. k=i Если произошло s стираний и t ошибок, то deg A — t и degQ = s-rA Тогда в d~ 1 (1 4- 2 TkZh + 2 ^z'1) А = Qmodzd, k=l k=s-±-i d— 1 s ( 2 Tkzh) A e= Q- (1 + 2 Thzk) mod zd. fe=»+i h=l Так как левая часть делится на zs+1, то правая часть также делится на zs+1. Определим многочлен ц равенством Q-(l+ 2 (Ю.46) Т1=------------------+ А. Подстановка (10.46) в предыдущее уравнение дает d-l ( 3 А = zs (т)—A) mod zd, k=s-|-l d-l (10.47) ( 2 nzft-s) A = T)-Amodzd, k—S-pl d-l (1+2 Tkzk-S)K= nmodzd-s. fe=s-M Если произошло t ошибок, то deg A = t и deg ц t. Если t < < (d — s)/2, то эта система уравнений может быть решена с помо- щью алгоритма 10.48. 10.48. Алгоритм. 10.481. Вычислить взвешенные степенные симметрические функ- ции Si, А1+1, . . ., 5i+d_2 от локаторов искажений; вычислить по формуле (10.41) многочлен локаторов стираний и определить, s = deg Л.
240 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов 10.482. Из уравнения (10.45) определить производящую функ- цию Т (z). 10.483. Используя алгоритм 7.4, определить многочлены A (z) и т] (z) — решения уравнения (10.47). 10.484. Используя процедуру Ченя, найти взаимные корни многочлена локаторов ошибок A (z). 10.485. Вычислить многочлен значений искажений по формуле Й = (1 + 2 Tkzk — zs) A-f-zsT), вытекающей непосредственно из уравнения (10.46). 10.486. Используя уравнение (10.32), определить величины всех искажений. Алгоритм 10.48 позволяет исправлять любое сочетание из s сти- раний и t ошибок, если d > s 4- 2i. В этом смысле ошибки вдвое вреднее стираний. Интуитивно этот факт можно объяснить тем, что с каждой ошибкой связаны два неизвестных (локатор и величина), а со стиранием — только одно неизвестное (величина). Однако эта интуитивная интерпретация неверна, поскольку критерий s + 2t <; d справедлив и в двоичном случае, где ошибка всегда имеет известную величину, равную 1. 10.5. Декодирование более чем t ошибок Хотя алгоритмы 10.33 и 10.48 могут быть применены для исправ- ления некоторых конфигураций искажений, приводящих иногда к отказу от декодирования, мы в этом разделе ограничимся лишь случаем простейшего алгоритма 10.15. Читатель, желающий рас- пространить результаты этого раздела на БЧХ-коды общего типа и найти алгоритмы совместного декодирования стираний и ошибок, может осуществить это непосредственно, хотя такая процедура будет весьма скучной и приведет к более слабым результатам. Если в слове g-ичного БЧХ-кода с исправлением t ошибок будет искажено не более t символов, то алгоритм 10.15 позволит правиль- но локализовать и исправить эти ошибки. Шаг 10.152 этого алго- ритма завершается определением с помощью алгоритма 7.4 много- члена локаторов и многочлена значений ошибок. В этом случае многочлен имеет D (2t) = deg различных взаимных корней, являющихся корнями п-й степени из единицы. Декодер определяет эти взаимные корни на шаге 10.153 рассматриваемой процедуры декодирования. На шаге 10.154 декодер находит у 1 XifltXi-Xj)’
10 5 Декодирование более чем t ошибок 241 Если произошло не более t ошибок, то каждое Yt g GF (q) задает величину ошибки с локатором Хг. Если же произошло больше чем t ошибок, то возможны многие другие исходы. Возможно (хотя и очень маловероятно), что алго- ритм 7 4 завершится вычислением правильных многочлена локато- ров и многочлена значений ошибок, хотя D (2t) = deg п<21) > t. Возможно также, что алгоритм 7.4 завершится допустимым много- членом локаторов ошибок и допустимым многочленом значений ошибок, соответствующими некоторому вектору ошибок с весом ^5/ В этих случаях декодер без труда завершает шаги 10.153 и 10.154 процедуры декодирования и неправильно «исправляет» происшедшие по его мнению ошибки Хотя в этой ситуации декодер ошибается, порицать его за эту ошибку нельзя, так как для полученного слова неправильно найденный вектор ошибок является более вероятным, чем фактический вектор ошибок с большим весом. Более вероятными, чем рассмотренные ситуации, являются дру- гие две возможности, приводящие к отказу от декодирования па шаге 10 153 или шаге 10 154. Алгоритм 7 4 может завершиться недопустимым многочленом <А2(>, не имеющим deg п(21) различных корней — корней п-й степени из единицы В этом случае на шаге 10 153 происходит отказ от декодирования Но даже если все кор- пи сК2О — различные корни п-й степени из единицы, то многочлен ю(2О может быть недопустимым хотя величины У,, вычисляемые Шкодером на шаге 10 154, должны лежать в поле локаторов, содер- жащем корни п-й степени из единицы над GF (q), они могут не лежать в поте символов GF (q) 2) В случаях подобных отказов от декоди- рования (на шаге 10 153 или 10 154) декодер обнаруживает искаже- ние ботее чем t символов Во многих случаях декодер может обнаружить недопустимость многочленов <В2() и ы(2() с помощью предварительных вычислений сразу после шага 10 152 и, таким образом, избежать сравнительно I шпных вычислений в процедуре Ченя на шаге 10.153 Например, ес in deg п(2/> <ZD (2t), то п<2/) не может быть допустимым многочле- ном юкаторов не 1-удлиненпого БЧХ-кода. Хотя это свойство позво- <яет обнару,кить очень малую часть возможных недопустимых мно- io4ieiioB п<2(>, зато оно не требует никаких дополнительных вычис- 1епий В качестве второго «теста допустимости» декодер может исполь- зовать четность числа неприводимых делителей многочлена п(2Э над GF (qm) (см теоремы 6 68 или 6 69 и 6 695) Если число непри- водимых делителей многочлена п<2() не сравнимо с D (2t) по mod 2, то о(2(> недопустим Эвристически можно полагать, что недопустимый х) В частном случае кодов Рида — Соломона этот тип отказа от декодиро- вания невозможен, так как поле символов совпадает с полем локаторов 1b— Ьо8
242 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов многочлен локаторов ошибок равновероятно может иметь как чет- ное, так и нечетное число неприводимых делителей. Поэтому правило проверки допустимости, основанное на теореме Штикельбергера, позволяет распознать примерно половину из недопустимых много- членов локаторов ошибок. Для двоичных БЧХ-кодов с 1 < 2t <; <2m/2 = Vn + 1 это утверждение действительно справедливо; а для частного случая двоичных БЧХ-кодов с исправлением двух ошибок слабая модификация этого теста допустимости позволяет распознать все недопустимые многочлены локаторов ошибок и при- водит к полному алгоритму декодирования по максимуму правдо- подобия (алгоритм 16.481). В качестве третьего теста допустимости декодер может исполь- зовать классы вычетов z, z2, z22, z2®, . . ., z21ogn mod o<2() (z). Умно- жая соответствующие комбинации этих классов, декодер может определить класс вычетов zn+l для некоторого i^deg<T<20. Рас- сматриваемый многочлен локаторов ошибок допустим тогда и только тогда, когда zn+l == z1 mod о(2!> (z). Хотя это правило проверки допустимости пригодно для всех недопустимых многочленов лока- торов ошибок, оно не позволяет определить недопустимость много- члена значений ошибок, в результате чего на шаге 10.486 декодер определит «значения ошибок», лежащие в GF (gm) \ GF (д). Для определения допустимости обоих многочленов <т<20 и и(2!) и для введения корректирующих мер в случае недопустимости любо- го из них введем между шагами 10.152 и 10.153 алгоритма декоди- рования 10.15 дополнительный шаг. 10.1525. Дополнительный шаг. Вычислить произво- дящую функцию 5<20, определенную равенством (10.51) _|_£<20 __ <о(2<> На время оставим вопрос о числе коэффициентов функции 5<20, которые необходимо определить. Так как и<2(> и <y(2f> заданы, то ясно, что для i Z> D (2t) декодер должен вычислить Щ2() «oj20 Если многочлен <т<20 допустим, то <т<20 = П (1 - XiZ), где Xt - i различные корни и-й степени из единицы, и <т(20 делит 1 — zn. В этом случае = 1 —z™
10.5. Декодирование более чем t сшибок 243 И 1 + 5(2/) = = £(20(0(20 2 Zni. 3=0 Если dega><2/) < dego<2/) = D (2t), то deg£<2/W2/) и Sn+k = S^2t) для k = 1, 2, 3, .... Обратно, если 5^ = 5{2/) для k — 1, 2, ..., D (2t), to Sn+k — ^k2t) Для всех k, так как D(2() D(2() c(20 _ У c(20 ,„<20 _ у o(20 (20 o(20 ^n+D(20+»— — ZJ дп+Л(2()+г-;О; ~ — Z ^D(2t)^i-jOj = OD(2i)+i 3=1 3=1 (доказательство индукцией no i). Так как S$)h = для всех /с>0, то 1 4-5(20 — ф<2<)/(1 — zn), где degd>(2/)CH. Следовательно, (0<2О ф(2О (J(2(> 1 — zn ’ или о(2')ф(2') = w(2() (1 — z”). Значит, о<2/) делит а>(2/) (1 — z"). Согласно теоремам 7.42 и 7.411, многочлены <г(2() и w<2') взаимно просты. Следовательно, o(2f> делит (1 — z"). Мы доказали следую- щую теорему: 10.53. Теорема. Взаимные корни многочлена о(2/) являются различными корнями п-й степени из единицы тогда и только тогда, когда = S(h2i) для k = 1, 2, . . ., D (2t). Таким образом, успех или отказ на шаге 10.153 можно предвос- хитить с помощью анализа некоторых коэффициентов функции 5<2() на шаге 10.1525. Проводя дальнейший анализ этих коэффи- циентов, можно предвосхитить успех или отказ процедуры декоди- рования на шаге 10.154. 10.54. Теорема. Если Хг, Х2, . . ., Хпш> различны и Щ2() ц(20 [J (1-Х[2), i=l то ---гТ®—е^(р) Xi [] (Xi-Xj) 3*1 тогда и только тогда, когда = [42i)]9 для к=1, 2, ...,D(2t). 16»
244 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов D Доказательство. Если ц<2<> = [{ (1 — Xtz), то разложение в ряд дроби ю<2/)/и(2р имеет вид где (0<2О а<2*> оо г А=1 г и для всех к <о<2<> (X,) + П (X.-Xj) З^г = 3 У ,4- г=1 В поле, содержащем GF(q), также справедливо равенство (512V = (3 YlX*)q^(S^)q = '%YqX*q. i=i i=i Если Yt = У? , то для всех к 4,° = 3 Х{Х^= 3 YqlX^ = (S^t))'4. i=i 1=1 Обратно, если = (Sk2i))4, то для Л- 1,2, ...,D выполняются оба условия Vy,At+(<")’ и] S yUi3 = (SP)g- 1=1 1=1 Единственное решение первой системы линейных уравнений имеет вид У ЩХГ1) 1 х.Д^-х,)’ 3=#1 где Q определяется условиями degQ<CZ), Q(0) = l и [1+5 (42°)’?1 П (l-X?z)EEQmodzB+i. fe=i i=i Единственное решение второй (идентичной) системы уравнений имеет аналогичный вид с заменой У, на У?, У, g GF(q) для i = = 1, 2, . . ., D. и Теоремы 10.53 и 10.54 показывают, что вычисление функции 5(2f) позволяет предсказать успех или отказ от процедуры декоди-
10.5. Декодирование более чем t ошибок 245 рования на шагах 10.153 и 10.154. Так как успех шага 10.153 нельзя гарантировать до вычисления коэффициентов S^t+i, . . ., ^п+л(2«), то необходимо оценить время, требующееся для их вычисления. На самом деле для вычисления нужных п + D (2/) — 2t коэффи- циентов требуется примерно такая же работа, как и' для отыскания с помощью процедуры Ченя п соответствующих корней и-й степени из единицы. В этом смысле использование процедуры Ченя на ша- ге 10.153 дает всего 2t — D (2t) дополнительных вычислений. Однако правило 10.1525 обладает двумя важными преимуществами: (1) В подавляющем большинстве случаев недопустимость много- членов о<20 и ®<2() может быть распознана с помощью вычисления всего нескольких коэффициентов 5(2f>. (2) Иногда удается использовать дополнительные корректирую- щие соображения. Например, хотя декодеру не известна величина 52<+1, часто он знает величины S2i+K для различных (малых) значений К, поскольку в силу условия сопряженности Shq = S% и в силу усло- вия цикличности Sh+n = Sh. После вычисления 5<2() декодеру известны величины Д^^ = S2t+K — S^k для различных значе- ний Д’. Если Дк^ 0, то о<2() и ®<2f> недопустимы. Иногда, кроме того, эти величины Д#^ позволяют декодеру вычислить многочлены U и V и тем самым определить многочлен локаторов ошибок, так как, согласно теореме 7.43, o = Uo<-2V> + Vt:W>. В общем случае введем следующее обозначение: 10.55. Определение. д(2«) = у 5(2» (Заметим, что первый коэффициент Д(12<> совпадает с величиной Д^», определенной в алгоритме 7.4.) Полагая Л I с _ Ю _ + (2t) _ а (7a<2«>^_yT(2i> И а<2«> ’ получим, что (2<) 1 / <0 (й(2<) \ —V (<D(2f>-[(20—(ц2<>^<2<>) — \~а a(2i> / z«o<20 ((7а»2«>^_ jzT(2«>) ’ д‘2(> =_________________ а<2«> ((7а<2«>4-цт<2<>) ’ Д(2° = -V J [1 — <у(2О (£Лу<20 4 FT(2«))]\ fe=0
246 Гл. 10 Педвоичное обобщение Горенстейна — Цирлера БЧХ-кодов А'?0 = -ТЛ; = -ТТ + ^^НсгГ^М^Ч^Г); Д<2/> = -М(СЛ ^Г + М2° + <тГ)2- -[(J^ + a'rVi -4- U.-^U^ — сД2() -J- у242() -L- T'iTi2()]}. В поле характеристики р ОО со V н (1-Ям. fc=0 m^O Это тождество приводит к следующему утверждению: 10.56. Теорема Д(2()=-И[ fj (a(2())Pmf-1{ fj {UT,m (G(20fm + -p’m (T(20)Pm])P-1. m=0 m=n В частном случае LZ = 1, V = V{z и p — 2. Отсюда получаем, что А(2° = 7 J] [(<У<-0)2 д_ yG(2Z)T(2O]'2m> т — О И (а(2О)2+7а(20т(2() = 1_ь(а(2())2 22 Ж(а(2())2г*4- . .. ... - ViZ [T(!2/)Z + (т22() + т(12(М2°) Z2 + . . .1. так что (10.57) А(2() - 71Z 4 [ГМ20 4 Vi (o’f0)2] z3 + ... . 10.6. Примеры Сначала мы продолжим рассмотрение примера 7.68, в котором исследовался двоичный БЧХ-ко ( с исправлением 3 ошибок и кодовой длиной 31. когда пою задается миогочтепами от а степени -<5, где аэ - а2 — 1 — 0. Степенные симметрические функции от локаторов ошибок имеш вид 5Х — 11101 — a11, S, = 10000 - а1 и 53 — = 00010 = а1. Сот таено алюригму 7.4. находим, что о(6) — a2bz3 4- —- 0‘Z2 - auz — 1 и т<ь> = a21z - a7z2 - a’z3. Тогда 1+5 = 1 + — a14z - a2+ — a4z3 - a25z4 — a4z5 - a8z° - - .... Используя форм>лу ' St для i <6, 5‘ I = an51l,l +a265t(4 для i >6, . ! 1
10.6. Примеры. 247 получим, что 1 Д- 5<6) = 1 Д- a14z + a28z2 + a4z3 -Г a25z4 Д- a4z5 Д- -- a8z6 Д- a25z7 Д- a19z8 Д- a20z9 Д- a2z10 Д- . • • • Из условий цикличности и сопряженности вытекает, что S9 = = 531+9 = Si0 — S[ — а8 Ф a20 = S<“). Значит, многочлен <у<6) не- допустим; он не имеет в GF (25) трех различных корней, так как Др) = 53 — Sp) = a8 — a20 = 1^0. Уместно сделать следующие коррективы. Если предположить, что произошло не более четырех ошибок, то общее решение о = t7cr<e) 4- Ут(6) примет вид о = о<6) Д- ТДгтС6). (Заметим, что для двоичного кода U имеет четную, а У — нечетную cjeneHb, и если deg U 2 или deg V 2, то о должен иметь степень >4.) Согласно уравнению 10.57, Д^ЕЬ^ + ЕДоН2- Для рассматриваемого примера это дает l^K^+^a28, или (J0.61) (ТДсг4)2 + ТДа-4 = а-1. Решения этого квадратного уравнения имеют вид ТДа-4 = а11 или а11 Д- 1 = а19, V1 = а15 или а23. Если ТД = а15, то <т = 1 Д- a14z Д- a8z2 Д- az3 Д- a20z4. Если V\ = а23, то о = 1 Д- a14z Д- alez2 Д- a5z3 Д- a-3z4. Один из методов проверки этих возможных многочленов локато- ров ошибок на допустимость — это установить, делят или не делят они многочлен z25 — z. Это можно осуществить очень быстро. По модулю о (z) = z4 Д- a14z3 Д- a8z2 Д- az Д- а20 z4 = a14z3 Д- a8z2 -j- az Д- а20, z5 = alez3 Д- a26z2 Д- a17z j- а3, z6 = a5z3 4- a8z2 Д alez Д- a5, z23 = (z4)2 = a28ze 4- ale24 4- a2z2 4- a40 = = a-3z3 Д- a15z2 4- a23z 4 a16, z24 = a-eze Д a-1z4 4- a15z2 4 a = = a12z3 J- a23z2 Д- a4z Д a28, z25 = a24ze -L a15z4 4- a8z2 4- a25 = = z.
248 Гл. 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов Следовательно, многочлен a (z) = 1 4- a14z 4- a8z2 + az3 4~ a20z4 должен иметь в GF (25) четыре различных корня. С помощью процеду- ры Ченя находим, что о = (1 + a3z) (1 + a5z) (1 + и1®2) (1 + a27z). Второй возможный многочлен локаторов ошибок также имеет четыре корня в GF (25): 1 + a14z + alez2 + <x5z3 + a~3z4 = = (1 + a19z) (1 -j- a21z) (1 + a22z) (1 + a28z). Итак, оказалось, что любая попытка исправить 4 ошибки с по- мощью двоичного БЧХ-кода с исправлением 3 ошибок и блоковой длиной 31 приводит к двузначности результата, так как каждый смежный класс, имеющий вес 4, содержит 2 лидера. Это свойство является следствием того, что рассматриваемый код получается выбрасыванием одного символа из кода Рида — Маллера. Коды такого типа изучаются в разд. 15.3. В качестве второго примера рассмотрим двоичный БЧХ-код с блоковой длиной 31 и исправлением 5 ошибок. Предположим, что Sx = a9, S3 — a3, = a15, S-j = а28. Так как S9 = S8 = a27, то 1 + S (z) = 1 a9z + a18z2 a3z3 a5z4 4- -f- a15z5 + aeze + a28z7 + a10z8 + a27z9 -j- a-1z10 4- . . . . Согласно алгоритму 7.64, a(10) (?) = 1 4- a9z Ц- a17z2 4~ a7z3 -f- a7z4 + a20z5, t<10> (z) — a7z Ц- alez2 Ц- a5z3 4~ a2z4 4- anz5. С помощью обычных вычислений находим, что 5<10> (z) == . . . + a-1z10 -j- a5zn -f- a12z12 -f- a14z13. Здесь =- a14 =/= (5<i°>)4 = (a5)4 = a20. Многочлен локаторов ошибок o(10> (z) недопустим, и уместно внести коррективы. Если произошло не более шести ошибок, то, согласно уравне- нию (10.57), 511-5(1110) + A(11())=a5 + F1, 513 = 4- Д<10> = a44 J- vlri10) J- Vt (о(110))2 = а14 4- И?а7 4 У1а18. Полагая 513 = 5^, получим квадратное уравнение относительно V\: а14 4- У, а18 4- У.2а7 = (а5 4- У,)4, (10-62) аю + yiaie + F2a7 + F4 = 0
Задача 249 Как будет показано в разд. 11.1, это уравнение имеет в GF (25) два решения: либо = а24, либо 14 = а4. Если = а24, то ff(z) = 1 + aaz -|- a-1z2 -|- a12z3 + a14z4 4- + alez5 a4z6 и 1 S (z) = ... 4- a-1z10 4- a16zu 4- a12z12 + 4- a2z13 -j- a25z14 4- a21z15 4- a20z16 4- a12z17. Так как в этом случае S17 = a12, S{7 = a24 =/= 53 = a3, то мы должны отвергнуть гипотезу Vi = a24. Полагая 14 = a4, получим, что a(z) = 1 4 aaz 4- a7z2 + a21z3 4~ 4- a12z4 4- a19z5 4- a15z6. Процедура Ченя показывает, что этот много- член допустим и имеет место разложение a (z) = (1 4 z) (1 4 az) (1 4- a2z) (1 4- a3z) (1 + a4z) (1 4- a5z). В общем случае если предположить, что произошло t 4~ и оши- бок, то, используя разложение в ряд для производящей функции Д<2/), можно получить систему уравнений относительно и неизве- стных коэффициентов многочленов U и V. Эта система может не иметь решения (что случится, когда полученное слово лежит в смежном классе, все слова которого имеют вес >t 4- н), может иметь несколь- ко допустимых решений или единственное решение. К сожалению, эти системы нелинейных уравнений бывают очень сложными, и мало что известно об условиях существования реше- ний, условиях их единственности и правилах отыскания решений (решения), если они существуют. Если предположить, что произошла только t 4- 1 ошибка, то локатор этой дополнительной ошибки может быть найден с помощью решения единственного алгебраического уравнения с одной неизвестной Vv Однако если произошло более чем t -j- 1 ошибок, то ситуация очень быстро усложняется. Исправление даже одной дополнительной ошибки требует реше- ния алгебраического уравнения в некотором расширении конеч- ного поля. В большинстве случаев использование процедуры Ченя для отыскания корней, лежащих в подполе, приводит к существен- ному увеличению необходимого общего времени декодирования. К счастью, процедуры Ченя можно избежать. Существуют лучшие методы решения алгебраических уравнений малой степени над рас- ширениями конечных полей. Эти методы будут исследоваться в гла- ве И. Задача 10.1. Рассмотрим БХЧ-код с исправлением двух ошибок над GF (Ь). Пред- положим, что ! + <S = l-|-0z4a14z2 + az3+0z4-|-. . . . Показать, что a(z) = l-4 -a2z~|-a4z2 и что %i = a7, X2 = a12, Л = У2 = 1-
Глава 11 Линеаризированные многочлены и аффинные многочлены 11.1. Как найти их корни Мы видели, что часто возникает ситуация, когда декодеру необ- ходимо знать корни многочлена / (z) над GF (рт), лежащие в этом поле. Общим методом решения этой задачи является процедура Ченя, описанная в разд. 5.4. Для больших значений числа рт она требует значительного числа операций. Однако существует специальный класс многочленов, корни кото- рых могут быть найдены значительно проще. Эти многочлены впервые исследовались Оре Ц933, 1934], который назвал их р-многочленами, но мы в силу причин, которые станут ясными из теоремы 11.12, будем называть их линеаризированными многочленами. 11.11. Определение. Многочлен L (z) над GF (рт) назы- вается линеаризированным, если L (z) — '^JLizp''. г Если Zk С GF (р) и а0, а1, . . ., а"1-1 — стандартный базис поля GF (рт), то отсюда получим важное утверждение. 11.12. Теорема. Пусть L (z)—линеаризированный многочлен и z — '^3Zhah, где Zh g GF (р), тогда L (z) = ^ZkL (aft). h h Используя для элементов L (a0), L (a1), . . ., L (am_1) стандарт- m—1 вые выражения, получаем, что L (a;) = 2 Xt.jcF, Xi,j £ GF (p). j=0 Следовательно, коэффициенты разложения многочлена L (z) по стан- дартному базису могут быть получены путем умножения вектор- строки Z = [Zo, Zlr . . ., Zrn_1] на (т X нг)-матрицу над GF (р): [Z0, ^1» • • • 1 %т-{] <5^1, 2 • • • ^1, т-1 о ^т-1, о . • ..........^т-1, a-I Рассмотрим, например, многочлен L (z) = z4 -|- a’z2 + a18z
11,1. Как найти их корни 251 над GF (25), где а — корень примитивного неприводимого двоичного многочлена х5 + х2 + 1. Используя приведенные в приложении А таблицы логарифмов и ^антилогарифмов, получаем, что L (1) = 1 + а7 + а18 = а + а2 + а4, L (а) = а4 + а9 + а19 = а2 + а3, L (а2) = а8 + а11 + а20 = а + а2, L (а3) = а12 + а13 + а21 = а + а3, L (а4) — а16 + а15 + а22 = 1 • + а4, так что X — двоичная (5 X 5)-матрица вида ’О О О О .1 X = 1 1 0 11 0 110 110 0 10 10 0 0 0 1. Если, например, необходимо найти корни многочлена (10.62) z4 + a’z2 -|- a18z + a10, то это эквивалентно уравнению L (z) = a10 = 1 + a4, что равносильно системе линейных двоичных уравнений "О 1 1 0 Г 0 0 110 © tsa tsa со 0 110 0 0 10 10 .1 0 0 0 1 = [1 0 0 0 1]. Эта система может быть решена с помощью методов, описанных в разд. 2.5. Ее решения — это Z = [0 0 0 0 1] и Z = [0 1 111]. Следовательно, а4 и а + а2 а3 + а4 = а24 — корни многочле- на (10.62) в GF (25); другие два корня лежат в GF (210). Многочлен (10.62) получается путем вычитания из линеаризиро- ванного многочлена константы. Многочлены такого вида мы будем называть аффинными. 11.13. Определение. Многочлен A (z) над GF (рт) назы- вается аффинным, если A (z) = L (z) — и, где L (z) — линеаризи- рованный многочлен, а и g GF (рт). Как было видно из примера, корни произвольного аффинного многочлена над GF (р’л), лежащие в поле GF (рт), могут быть найдены
252 Гл. 11. Линеаризированные многочлены и аффинные многочлены путем решения системы т линейных уравнений с т неизвестными над полем GF (р). В частном случае квадратного уравнения над GF (2т) можно избежать перехода к системе линейных двоичных уравнений. С помощью соответствующей замены переменных квадратное урав- нение общего вида без кратных корней можно привести к виду у2 + у = и. Линеаризированная часть этого многочлена имеет один и тот же вид для всех квадратных уравнений над заданным полем, так что решения всех этих уравнений могут быть найдены и фикси- рованы в виде соответствующей матрицы. Согласно теоремам 6.69 и 6.695, уравнение у2 + у = и имеет решение в GF (2т) тогда и только тогда, когда Тг (и) = 0. Пусть а — произвольный элемент поля степени т над GF (2), ас?-— эле- мент, для которого Тг (о?) = 1. Тогда для £ = 0,1,2, . . ., т — 1 можно найти такое у,-, что (а*, если Тг(с?) = 0; (11.14) + [с?д с?, если Тг(с?) = 1. тп— 1 Для решения уравнения y2 + y-w = 3 ^а*, UiQGF(2), положим г=0 т— 1 3 Uiyi. Тогда 1=0 т— 1 771—1 г/2+-г/ = 3 ut (yl+yt) = и J 3 £0Тг(с?) = г=0 1=0 = u4~o?Tr(3 = и -с? Тг (и). i=0 Следовательно, если Тг (и) = 0, то два решения квадратного урав- 771— 1 771—1 нения у2 + у = и имеют ВИД у = 2 UiVi И у' = 1 + 3 ^iVi- 1=0 1=0 11.15. П ример. Рассмотрим квадратные уравнения над GF (25). Если a — корень многочлена хъ + х2 + 1, то Тг (а) = = Тг (а2) = Тг (а4) = 0, а Тг (1) = Тг (а3) = 1. Полагая о? = 1, легко проверить, что решениями уравнения (11.14) являются у0 = 0 = 00000, У1 = а3 =00010, у2 = У* =•a + a3 =01010, г/з==с?Ч-с? =00101, yt = У 2 — а + а2 + °? — 011Ю.
11.2. Наименьшее аффинное кратное 253 Решения уравнения у2 + у = и могут'-быть найдены с помощью схемы, изображенной на рис. 11.1. Если в ячейке Тг (и) появляется 1, то квадратное уравнение у2 + у = и не имеет решений. Если в ячей- ке Тг (и) появляется 0, то два решения квадратного уравнения 11.1. Схема для решения уравнения уг + у = и в поле GF (25). Рис. у2 4~ у = и возникают в регистре у и в регистре у’. Например, если и = 01001, то в ячейке Тг (и) появится 0 и у = 01100=а19, у’ = 11100 = а11. 11.2. Наименьшее аффинное кратное К сожалению, над полем GF (рг'"} мало аффинных многочленов. Над полем характеристики 2 квадратные многочлены — аффинные, а кубические — нет. Однако если умножить кубический многочлен на соответствующий линейный множитель, то получается аффинный многочлен четвертой степени. Корни кубического многочлена могут быть теперь легко найдены среди корней аффинного многочлена чет- вертой степени. В общем случае если f (z) — произвольный многочлен степени d, то алгоритм 11.21 позволяет найти аффинный многочлен, кратный Z(z). 11.21. Алгоритм. Для определения аффинного многочлена L (z) — и, кратного многочлену / (z) степени d над GF (рт), следует
254 Гл. 11. Линеаризированные многочлены и аффинные многочлены 11.211 *). Вычислить zft mod / (z) для к = d, d 4 1, • . • • •, (d — 1) p. 11.212. Используя результаты предыдущего шага, определить r<°> (z), r(4> (z), . . r(d-1) (z), где z₽j =г(Ь (z) mod / (z). 11.213. Решить систему линейных уравнений [u, Lo, ..., -Ivd-i] ГО 0 . .. 0 -1 r(0) d-l ' ' ' ' . . r<°) r(0) 0 r(D d-l • • • • . . r(O r(l) 0 L a~~ 1 .. rf-1) r(d-D 0 = 0. Эта система d уравнений относительно d 4 1 неизвестных всегда имеет по крайней мере одно ненулевое решение, которое может быть найдено с помощью методов, описанных в разд. 2.5. Если [и, Lo, L}, . . ., — решение зтой системы, то A (z) = L (z) — и — аффинное кратное / (z). Если на шаге 11.213 имеется несколько реше- ний, то среди них можно выбрать нормированный многочлен A (z) наименьшей степени. Такой многочлен A (z) называется наименьшим аффинным кратным многочлена / (z). 11.22. П ример. Пусть / (z) = z5 4 a22z4 4 a18z3 4 a19z2 4 a16z 4 a13, s где a5 4- a2 1 = 0 над GF (2B). По модулю f (z) имеем zB = a22z4 -J- a18z3 4 a19z2 4 a16z 4 a13, z6 = a22zB 4 a18z4 4 a19z3 4 a16z2 4 a13z = = (a18 4 a13) z4 4 (a19 т «9)z34(“164 a10) z2 4 4 (a13 4 a7) z 4 a4 =s = a1Bz4 4 a13z3 4 a6z2 4 a3z 4 a4, z7 = a28z4 4 a12z3 4 0z2 4 a10z 4 a28» z23 = z8 h= a3z4 4 a1Bz3 4®6z2 4 a6z 4 a10, z24 = z16 = a6z8 4 a39ze 4 a12z4 4 a12z2 4 a29s = a29z4 4 a28z3 4 aBz2 4 a6z 4 a1B, r) Для большого p класс вычетов для zP легко вычислять путем умножения соответствующих из классов вычетов z, z2, z22, z23, . . ., z21°SP. Для j = = 1, 2, . . ., d—1 класс вычетов г<Л (z) находится затем из сравнения г<й (z) = = zPr<i-l> (z).
11.3. Общие свойства линеаризированных и аффинных многочленов 255 [U, Lo, Lt, L2, L3, г0 0 0 0 1 ' 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 = 0 а3 а1В а6 а6 а10 а29 а28 ав а6 а1в. Это дает решение [а4, а20, а18, а30, а13, 1], так что U = а4, L (z) = = a20z + a18z2 + a30z4 + a13z8 + zu. Для определения корней этого аффинного многочлена в GF (2В) находим L (1) = а° + а13 + а30 + а18 + а20 = О, L (а) = а16 + а21 + а3 + а20 + а21 = 1 + а + а2 + а3 + а4г L (а2) = а1 + а29 + а7 + а22 + а22 — 1 + а + а2 + а3 + а4, L (а3) — а17 + а6 + а11 + а24 + а23 = 1 + а + а2 + а3, L (а4) = а2 + а14 + а1в + а26 + а24 = 1 + а + а2 + а3, так что X имеет следующий вид 0 0 0 0 0' 11111 X = 11111 11110 11110 Решениями уравнения ZJC = [0, 0, 0, 0, 1], очевидно, являются 00101, 00110, 01001, 01010, 10101, 10110, 11001, 11010 (loga z = 6, 7, 8, 17, 20, 22, 27, 30). Среди этих 8 корней многочлена A (z) имеются и все корни многочлена / (z) в GF (2В). Оказывается, рассматриваемый многочлен / (z) имеет в GF (2В) корни а6, а8 и а17. *11.3. Общие свойства линеаризированных и аффинных многочленов В этом разделе мы докажем общие свойства аффинных многочле- нов. В последующих разделах настоящей главы будут даны приложе- ния этих результатов к некоторым вопросам теории кодирования. Основные идеи всех результатов данного раздела принадлежат Оре [1933, 1934], хотя многие из этих теорем были недавно независимо передоказаны несколькими специалистами по теории кодирования. 11.31. Теорема. Многочлен L (z) является линеаризирован- ным тогда и только тогда, когда его корни образуют линейное про- странство над GF (р) и все имеют одну и ту же кратность, равную степени числа р.
256 Гл 11. Линеаризированные многочлены и аффинные многочлены Замечание. Корни многочлена L (z) не обязательно лежат в GF (рт)', они могут лежать в некотором расширении этого поля. Доказательство. Необходимость. Пусть L (z) — линеа- ризированный многочлен, гг, г2, ... — его корни, а сг, с2, ... £ б GF (р). Тогда L (2 chrh) = S chL (rft) = 0 и, следовательно, 2сьгь — также корень L (z). Значит, корни L (z) образуют линей- ное пространство над GF (р). Производная многочлена L (z) = У L^1 равна £0. Если Lo О, г то L (г) не имеет кратных корней. С другой стороны, если Lo — — Lr — ... = = 0, но Lh =7^= 0, то L (z) = 2 Ltzpt = (2 LfftzP''A)pft г г является рк-й степенью линеаризированного многочлена без крат- ных корней. В этом случае кратность каждого корня многочлена L (z) равна pk. Заметим, что если Лг £ GF (рт), то L? h £ GF (рт). Достаточность. Пусть корни многочлена L (z) образуют линей- ное пространство над GF (р); выберем в нем базис гг, г2, г3, . . . , гп. Каждый корень многочлена L (z) может быть однозначно записан п в виде z = 2 ciri для некоторого подходящего набора коэффициен- 2 — 1 тов ct. Не ограничивая общности рассуждений, можно считать много- член L (z) нормированным. Тогда р—1 р—1 р—1 п . ад = [П П ... П сп=° гп-1=0 с1=-° 1=1 Положим /<0> (z) — z, /<n(z) = П (z-c/j), С1=о /<2)(z)= П П (Z ——С2г2)= П [/^’(Z —С2Г2)], С2=0С!=:0 С2=0 р— 1 р— 1 р— 1 г-р 1 /(г+1)(2)= п П П (г- 2сЛ) = гг+1:==Осг=О Ci^° Р— 1 = П (z-cl+1rl+1). сг+1~° Ясно, что L (z) = [/(n> (z)J₽ ь.
11.3. Общие свойства линеаризированных и аффинных многочленов 257 Докажем теперь индукцией по i, что '/<г> (z)—линеаризированный многочлен. Это утверждение очевидно для 1 = 0. Пусть /(!) (г) — линеаризированный многочлен. Тогда /<” (z —сг+1г!+1) = /<г> (z) — (r!+1) и р-1 /<1«>(Z)= П [/‘г,(2)-С/+1/‘г>(гг+1)] = с!+1=° = (г) [/<*> (г1+1)Г-1. Так как /О (г) — линеаризированный многочлен, то его скалярное кратное /О (г) [/(’> (rj+1)]p_1 и его p-я степень E/(i)(z)]p — также линеаризированные многочлены. Разность двух линеаризированных многочленов является линеаризированным многочленом, поэтому /<г+1> (z) линеаризирован. Следовательно, f<n> (z) — линеаризирован- ный многочлен и потому линеаризирована и его p-я степень L (z). g Аналогичный результат для аффинных многочленов содержится в следующей теореме: 11.32. Теорема. Многочлен A (z) является аффинным тогда и только тогда, когда его корни образуют аффинное пространство над GF (р) [т. е. если sA, s2, . . ., sn — его корни, то и + + 3ch — si) — также его корень для любых ch £ GF (р)] и все имеют одну и ту же кратность, равную степени числа р. Доказательство. Пусть A (z) = L (z) — и — аффинный многочлен. Если s1; s2, . . ., sn — корни A (z), то L (sk) = unsk — — — корень L (z) для каждого k = 1, 2, . . ., n. Следовательно, L + 2 ch (*h — sj) = L (sj = и и, значит, + 2 ch (sft — sj — корень многочлена A (z). Это означает, что корни аффинного много- члена образуют аффинное пространство. Производная аффинного многочлена A (z) = L (z) — и равна ко- эффициенту Lo приг. Если Lo О, то все корни A (z) различны. Если же Lo = L± = . . . = Lh_1 = 0 и Lh 0, то А (г) есть рк-я сте- пень аффинного многочлена с различными корнями, и, следователь- но, каждый корень A (z) имеет кратность ph. С другой стороны, если корни некоторого многочлена образуют аффинное пространство, то разности этих корней образуют линейное пространство. Согласно теореме 11.31, многочлен, корнями которого служат различные элементы этого линейного пространства, есть линеаризированный многочлен L (z). Если s — произвольный корень A (z), то L (s — 8Х) ~ 0, или L (s) — и = 0, где и = L (s^. Следова- тельно, корни A (z) суть корни многочлена L (z) — и, я так как 17—658
258 Гл. 11. Линеаризированные многочлены и аффинные многочлены кратность каждого корня A (z) равна р\ то A (z) — скалярное крат- ное многочлена [L (z) — u]ph = \L (z)]pft— uph, т. e. A (z) — аффин- ный многочлен. R Различные корни произвольного аффинного многочлена образуют аффинное пространство. Пересечение любых двух аффинных про- странств снова является аффинным пространством. Так как общие корни любых двух многочленов являются корнями их наибольшего общего делителя, то н. о. д. двух аффинных многочленов с различ- ными корнями является аффинным многочленом с различными кор- нями. Более того, н. о. д. многочленов Арг и Вр3 равен н. о. д. мно- гочленов А и В, возведенному в наименьшую из степеней рг или р1. Отсюда, в частности, вытекает теорема 11.331. 11.331. Т е о р е м а. Н. о. д. двух аффинных многочленов являет- ся аффинным многочленом. Если нуль — корень двух аффинных многочленов, то нуль являет- ся также корнем их н. о. д. Поэтому справедливо следующее утверж- дение. 11.332. Т е о р е м а. Н. о. д. двух линеаризированных многочленов является линеаризированным многочленом. Если А и В — два аффинных многочлена и А делит В, то корни многочлена А образуют подмножество множества корней В. Аффин- ное пространство корней А является, таким образом, аффинным подпространством пространства корней В. Множество всевозможных разностей корней А (т. е. совокупность всех корней линеаризирован- ной части А) есть подмножество множества всевозможных разностей корней В — т. е. совокупности корней линеаризированной части В (см. доказательство теоремы 11.32). Так как кратность любого корня линеаризированной части аффинного многочлена совпадает с крат- ностью корней исходного аффинного многочлена, то получаем сле- дующий результат. 11.34. Теорема. Если А и В — аффинные многочлены и А делит В, то линеаризированная часть А делит линеаризированную часть В. Обратно если L и М — линеаризированные многочлены от z и L делит М, то L (z) — L (г) = L (z — г) делит М (z — г) — = М (z) — М (г) для любого г, лежащего в поле коэффициентов А и В. Часто необходимо знать, лежат ли в поле GF (рт) все корни задан- ного аффинного многочлена A (z) = L (z) — и. Если A (z) делит zvm _ z, то все корни A (z) лежат в GF (рт), но если A (z) не делит zp7n — z, то часть корней A (z) лежит вне GF (рт). Согласно теоре-
11.3. Общие свойства линеаризированных и аффинных многочленов 259 ме 11.34, A (z) делит zpm — z, только если L (z) делит zpm — z. Если же L (z) делит zpm — z, то A (z) = L (z) — и делит zpm — z тогда и только тогда, когда существует такой элемент г, что L (г) = и и гр"1 — г = 0, т. е. г £ GF (рт). Ясно, что для некоторых и суще- ствуют такие элементы г С GF (рт), что L (г) = и. Такие и образуют линейное пространство, называемое ранговым пространством линеа- ризированного многочлена L. Если и принадлежит ранговому про- странству, то L (z) — и делит zpm — z, и все корни многочлена L (z) — и лежат в GF (рт). Если же и не принадлежит ранговому пространству, то не существует такого г £ GF (рт), что L (г) = и, и все корни многочлена L (z) —и лежат вне GF (рт). Вопрос о при- надлежности элементов из GF (рт) ранговому пространству задан- ного линеаризированного многочлена L (z) полностью решается сле- дующей теоремой. 11.35. Теорема. Пусть L (z) — произвольный нормирован- ный линеаризированный многочлен над GF (рт), делящий zf‘m — z. Тогда существует единственный нормированный линеаризированный многочлен L* (z), делящий zvm — z и такой, что: 11.351. L*(L(z)) = zPm-z. 11.352. L(L*(z)) = zpm-z. 11.353. Корни L (z) = и лежат в GF (рт) тогда и только тогда, когда L* (и) = 0. 11.354. Корни L* (z) = и лежат в GF (рт) тогда и только тогда, когда L (и) = 0. Многочлены L (z) и L*t (z) будем называть дуальными. 11.355. Пример. Пусть L (z) = z2 + z над GF (2В). Тогда L* (z) = zle + zB + z4 z2 + z и можно проверить, что L* (L (z)) = (z2 + z)18 + (z2 + z)8 + (z2 + z)4 + (z2 + z)2 + + (z2 + z) = Z32 + z = z32 — z, L (L* (z)) = (zle + z8 + z4 + z2 + z)2+(zle-|-z8 + z4 + z2 + z) = ----- Z32 + z = z32 — z. Корни уравнения z2 + z = и лежат в GF (2B) тогда и только тогда, когда и16 + и8 + и4 + и2 + и = 0, т. е. когда Тг (и) — 0. Корни уравнения z16 + z8 + z4 + z2 + z = и лежат в GF (2В) тогда и только тогда, когда и2 + и = 0; т. е. когда и £ GF (2). 17*
260 Гл. 11. Линеаризированные многочлены и аффинные многочлены Вообще над GF (рт) линеаризированные многочлены zp — z m— 1 И 2 zPh дуальны друг другу. h=0 11.356. П ример. Рассмотрим более сложный случай для поля GF (25), полагая а корнем многочлена х6 + х2 + 1 х)- Пусть L (z) = z4 + a9z2 + &18z = z (z — a7) (z — a15) (z — a27), L* (z) = z8 4- a10^4 + a17z2 a13z == = z (z — a5) (z — a7) (z — a10) (z — a14) (z — a20) (z — a21) (z — a29). Установив, что L* (a) = a27, L* (a2) = a15, L (a) = a10, L (a3) = = a29 и L (a4) = a14, все случаи утверждений 11.353 и 11.354 легко получить как следствия этих равенств; например, L* (а a2) = a27 + a15 = а7. Доказательство теоремы 11.35. Пусть г2, . . . . . ., rh — базис пространства корней многочлена Z, и пусть г2, • rh, rh+1, rk+2, . . ., rm — базис поля GF (pm) над GF (p). Положим V— 1 p— 1 P—1 m £*(г)= П II ••• II [z— 2 c,L(r,)]. cm~° cm-l—0 'h+1 0 Тогда p— 1 p—1 p— 1 k £(z)= П П ••• П (z —S cird cft=0 cfe-l==0 C1==o г^1 и p— 1 p— 1 p — 1 m zrm-z= П П ••• II_ b(z- 3 сггг) = cm~° c7i-l~° 'h+r1' г—h+1 p— 1 p — 1 p— 1 m = II П ••• II [£(z)- S c,L(r,)] = cm^° ch+l“° г—h+1 = L*(L(z)). Это доказывает утверждение 11.351. Равенство р— 1 р—1 р— 1 m zpm-z= П II ... п [£(2)- 3 с,Г(гг)] cm~° Ск+Г~° i—h+1 задает разложение многочлена zpm — z на множители вида L (z) — и, где каждое и является корнем L* (z). Это доказывает утвержде- 4) Таблицы loga и antiloga приведены в приложении А.
11.3. Общие свойства линеаризированных и аффинных многочленов 261 ние 11.353, а также единственность многочлена, дуального к много- члену L, так как корневое пространство многочлена, дуального многочлену L, должно быть ранговым пространством L. Для доказательства утверждения 11.352 подсчитаем Л (Л* (Л (z))) — = Л(г,,т — z) = L (zpm) — L (z). Так как L — линеаризированный многочлен над GF (рт), то L (zpm) = [L (z)]pm и, следовательно, L (L* (L (z))) = IL (z)]pm — L (z). Полагая у = L (z), получаем, что L (L* (y)) = ypm — у. Это равенство должно быть тождеством отно- сительно у и потому L (L* (z)) = zpm — z, что доказывает утвер- ждение 11.352. Для доказательства утверждения 11.354 выберем базис г*, г%, ... . . ., Гт-k в корневом пространстве многочлена L* и базис г*, г*, .. . . . ., Гт-k, • • ., Гт в GF (р'п). Остальная часть доказательства является двойственной к доказательству утверждения 11.353. а Если все коэффициенты линеаризированного многочлена лежат в основном поле GF (р), то на некоторые вопросы о его свойствах можно ответить с помощью рассмотрения ассоциированного с ним многочлена, определяемого следующим образом. 11.36. Определение. Если /, £ GF (р) для всех i, то много- члены F (z) = 2 fiZvl и / (z) = 2 fi zl называются ассоциированными', г г F — линеаризированно ассоциированный с /; / — стандартно ассоции- рованный с F. Плодотворность этого определения видна из следующей теоремы: 11.37. Теорема. Если F и G — линеаризированные многочлены над GF (р), af и g — стандартно ассоциированные с ними многочлены, то F делит G тогда и только тогда, когда / делит g. Если g = hf, то G = H(F) =F(H), где Н—линеаризированно ассоциированный с h. Доказательство. Каждое из равенств S gkzk == S № 2 М k г j И 2 gkzph= 2 MS MT = S S h i -j г j справедливо тогда и только тогда, когда gh = для всех к. я з 11.38. Следствие. Если L (z) — линеаризированный много- член над GF (р), то L делит z^m — z тогда и только тогда, когда
262 Гл. 11. Линеаризированные многочлены и аффинные многочлены стандартно ассоциированный с ним многочлен I (z) делит zF — 1. Если L делит z1>m — z, то стандартно ассоциированный с L* (дуаль- ным к L) многочлен задается равенством 11.381. Пример. В соответствии с разложением zm — 1 = т— 1 = (z — 1) У. z" можно записать разложение для линеаризированно k=0 m— 1 ассоциированного многочлена г1”” — z = (z" — z) 2 z>> • Эти раз- ft=0 ложения дуальны друг другу. Используя последнее следствие, можно определить число эле- ментов поля GF (qm), обладающих т линейно независимыми сопря- женными относительно GF (q) элементами х). Если и g GF (qm), то v, vq, ич2 , . . ., vqm 1 линейно зависимы тогда и только тогда, когда существуют такие элементы /0, /г, . . ., fm-i G GF (q), не равные одновременно нулю, что = 0. Так как и — корень много- г членов 2 fizql и zqm — 2, то он является также корнем их н. о. д. г Н. о. д. этих двух линеаризированных многочленов также линеари- зирован. Таким образом, все сопряженные с и элементы линейно зависимы тогда и только тогда, когда v является корнем некоторого многочлена '^1Hlzql, делящего zqm — z. г Пусть т = р’п и н. о. д. (?г, р) = 1, так что zm — 1 = (zn — 1)р — r=II(g(ft))p\ где g(k) (z) — различные неприводимые делители мно- k гочлена z" — 1. Обозначим через dk степень многочлена (z). Ясно, что У = п. Максимальный собственный делитель много- k члена zm — 1 имеет вид — (zm — l)/g(fe). Каждый собственный делитель многочлена zv — 1 делит по меньшей мере один из этих максимальных делителей. Каждому максимальному делителю много- члена z " — 1 соответствует максимальный линеаризированный дели- тель многочлена zqm — z, а именно ЯО) (z) = deg== г = q(-m~dk\ Элемент и С GF (qm) имеет т линейно независимых сопря- х) Если g — степень простого числа, то линеаризированный многочлен следует определить как многочлен вида У Ltzql. Все предыдущие результаты остаются в силе.
11.3, Общие свойства линеаризированных и аффинных многочленов 263 женных тогда и только тогда, когда он не является корнем ни одного из этих многочленов HG), Н. о. д. нескольких максимальных делителей многочлена zm — 1, скажем, Ж1), Ж2), Ж3) равен (z771 — l)/g-(1>g'<2>g'(3> и имеет степень т — — {d1-}-d2-!l-d3). Соответственно н. о. д. многочленов Ж1), Н<2’> и Ж3> является линеаризированным многочленом степени gt^-di-da-ds). Если случайным образом выбирается элемент поля GF (qm), то вероят- ность того, что он есть корень Ж1), равна q~dl, вероятность того, что он является корнем Я<2), равна q~d2, а вероятность того, что он одновременно является корнем Ht1) и Ж2), равна q~di~d2. Таким образом, вхождение элемента в качестве корня в Ж1) и в Я<2) — независимые события. То же самое можно сказать о Я<4), Ж2), Ж3) и т. д. Вероятность того, что случайно выбранный элемент поля GF (qm) не есть корень Ж*), равна 1 — q~dk. Применяя теорему умножения вероятностей, заключаем, что вероятность того, что случайно выбранный элемент поля GF (qm) не является корнем ни одного из многочленов Ж’), равна Ц (1 — q~dh)- Это дает теоре- л му 11.39. 11.39. Теорема. Число элементов поля GF (qm), обладающих т линейно независимыми сопряженными относительно поля GF (<?), равно k где {dfe} — степени различных неприводимых делителей многочлена z"1 - 1 над GF (q). 11.391. Пример. Рассмотрим поле GF (214). Над GF (2) z14 - 1 = (z7 - I)2 = где (X1) — неприводимый многочлен степени 1, а (Х7> — произведе- ние двух неприводимых кубических многочленов. Итак, d1 = 1, d2 = d3 — 3, и число элементов поля GF (214), имеющих 14 линейно независимых сопряженных относительно GF (2) элементов, равно 214-1/2-7/8-7/8 = 6272. Эти элементы лежат в 6272/14 = 448 клас- сах сопряженных (над GF (2)) элементов. Существует 448 неприводи- мых двоичных многочленов 14-й степени, корни которых линейно независимы. Читатели, относящиеся с недоверием к вероятностной аргумента- ции, использованной в предыдущем доказательстве, могут доказать этот же результат с помощью комбинаторных методов. С нашей точки зрения вероятностный подход делает результат более прозрачным. Как указал Кац [1959], вероятностный подход к вопросам пере- числения нашел широкое применение во многих различных задачах.
264 Гл. 11. Линеаризированные многочлены и аффинные многочлены *11.4. Преобразования функции /(z) Некоторые члены алгебраического уравнения от z часто удается исключить с помощью подстановки вида у= (az + b)/(cz + d), где а, b, с, d Q GF (q). Обычно выбор подходящих элементов а, Ь, с и d осуществляется путем последовательности преобразований сдвига (у = z — а), перехода к обратному (у = l/z) и умножения на ска- ляр (у = az). Рассмотрим, например, общее уравнение пятой степени над полем характеристики 2 z5 -|- az4 + bz3 -|- cz2 -|- dz 4- e = 0. Обозначив оператор сдвига через А, получим 4- аух 4- я\4 4- + by3 4- Ь-\у2 4- ЪК2у 4- ЪА3 + 4- су2 4-сА2 В -J- dy 4 йА 4 + е Полагая А = а, можно исключить член четвертого порядка, а при А = dd можно исключить член второго порядка. Второй выбор представляется более плодотворным. Исключив член второго порядка, можно путем перехода к обратному исключить кубический член. Применяя к полученному уравнению операцию линейного сдвига, можно, далее, исключить либо член четвертого порядка, либо линейный член. Исключив член четвертого порядка и нормали- зовав затем линейный член с помощью подходящего скалярного множителя, исходное уравнение пятой степени можно привести к виду и5 4- /и2 -4 и 4~ g — 0 или и5 4- fu2 4- g = 0. Возникает вопрос, могут ли такие предварительные преобразова- ния существенно упростить вычисления при определении наимень- шего аффинного кратного и его корней. Так как приведенное урав- нение пятой степени содержит меньше членов, чем исходное, то можно надеяться, что степень наименьшего аффинного кратного приведен- ного многочлена будет равна 8, а не 16. Но, к сожалению, с помощью непосредственных, хотя и громоздких вычислений можно показать, что это не так. Выбор других возможных форм редукции (исключение
11.4. Преобразования функции / (z) 265 квадратного и линейного членов, или членов четвертой и второй сте- пени, или кубического и линейного, членов) также не приводит к многочленам, аффинные кратные которых имеют степень 8. Исклю- чение члена четвертой степени позволяет упростить аффинное крат- ное, но, к сожалению, это упрощение приводит к исчезновению членов младшей, а не старшей степени. Обобщение этого факта дает следую- щая теорема: 11.41. Теорема. Если /(z)W + 2 jk£GF(q), fe=i — некоторый делитель аффинного многочлена A (z) над GF (q) и d не кратно р, то f-Jd — корень многочлена A (z). Замечание. Здесь Д/й = Дй-1, где d~l С GF (р) — обратный к d mod р. Доказательство. Множество корней многочлена A (z) включает в себя аффинное пространство, натянутое на корни т\, d г„, . . ., rd многочлена Д Так как 2 rk ~ Д, то й=1 d fi I V rk~ri 2j —rf—• k= 1 Следовательно, j-Jd — корень A (z). a Когда степень многочлена / не кратна р, Д может быть исключен с помощью подстановки у = z — f-Jd. При этом наименьшее аффин- ное кратное приведенного многочлена имеет корень 0, а степень его равна pd-1. Так как для исключения f1 используется очень про- стое преобразование, то не удивительно, что получается столь малое уменьшение степени. С другой стороны, если степень многочлена / кратна р, то никакое преобразование сдвига не может исключить Д. Однако если удастся найти сдвиг, приводящий к исключению /d-i, то дальнейшее исполь- зование перехода к обратному позволяет обратить в 0 коэффициент Д. Успех этого преобразования гарантируется следующей теоремой: 11.42. Теорема. Если степень многочлена / (z) кратна р и Д = 0, то степень наименьшего аффинного кратного многочлена / не превосходит d — 2. d Доказательство. Если 2 ri ~ О и кратно р, то i—1 d d-1 2! (О —Tj) = 0 —ЙГ! = О и rd = r1— 2 (о —о). г= 1 i—1
266 Гл. 11. Линеаризированные многочлены и аффинные многочлены Таким образом, аффинное пространство, натянутое на корни гх, г2, • • совпадает с аффинным пространством, натянутым на корни rlt г2, . . ., rj-j. Размерность аффинного пространства, натя- нутого на d — 1 произвольных элементов, не превосходит d — 2, что и доказывает теорему. а В качестве примера использования этой теоремы рассмотрим уравнение четвертой степени общего вида над полем характеристи- ки 2. С помощью подходящего сдвига можно сначала исключить линейный член уравнения, а затем с помощью перехода к обратному привести его к стандартному виду без кубического члена. Степень наименьшего аффинного кратного такого приведенного многочлена, согласно теореме 11.42, не превосходит 2[4~2] = 4. Это подтверж- дается тем, что приведенный многочлен четвертой степени сам является аффинным. В общем случае исключение линейного члена в произвольном многочлене четной степени d над полем характеристики 2 сводится к решению другого алгебраического уравнения степени (d — 2)/2. Например, для исключения с помощью сдвига z = у 4- Д линейного члена в уравнении шестой степени z6 4- az5 4- bz* 4- cz3 4- dz2 4- ez 4- / необходимо так выбрать величину Д, чтобы а (Д2)2 4- с (А2) 4- е = 0. Если это уравнение имеет решение в основном поле, то с помощью операций сдвига и обращения можно получить приведенный много- член шестой степени, степень аффинного кратного которого не пре- вышает 16; если же это уравнение неразрешимо в основном поле, то приходится иметь дело с исходным многочленом шестой степени, аффинное кратное которого может иметь степень 32. *11.5. Подсчет корней После вычисления A (z) — наименьшего аффинного кратного многочлена / (z) — и определения в GF (?) его корней остается задача определить, какие из этих корней многочлена A (z) являются корня- ми многочлена / (z). В общем случае нет специальных правил выбора, кроме поиска среди заданных корней. Однако можно высказать неко- торые общие положения относительно числа корней многочлена / (z) в поле GF (<?), учитывающие только число корней многочлена A (z) в поле GF (?) и общее число корней многочлена A (z). Пусть, напри- мер, / (z) — такой многочлен пятой степени над полем характеристи- ки 2, что степень его наименьшего аффинного кратного A (z) равна
11.5. Подсчет корней 267 16, а 8 корней многочлена A (z) лежат в основном поле. Сколько сре- ди них корней многочлена / (z)? Можно предположить, что это число принимает любые значения между 0 и 5. Однако, согласно следую- щей теореме, возможными числами являются только 1 и 3. 11.51. Т е о р ем а о числе корней. Пусть / (z) — много- член без кратных корней над полем GF (q) характеристики р. Пусть N — число корней многочлена / (z), лежащих вне GF (q), a A (z) — наименьшее аффинное кратное многочлена / (z). Если 0 — корень A (z), то N = deg /. В этом случае степень многочлена / (z) и степени всех его неприводимых делителей кратны р. Если число различных корней многочлена A (z) в поле GF (q) поло- жительно, то оно равно р1. Число всех корней многочлена A (z) рав- но p!+J. Если J = О, то N = 0. Если J 1, то N J Если J = 1, то числа N и р (р — 1) не взаимно просты. Если J = 2, то либо N имеет по меньшей мере один нетривиаль- ный делитель ^.р + 1, либо N может быть представлено в виде N = Впу Сп2, где В и С — положительные целые числа, а каждое из чисел п± и п2 не взаимно просто с р (р — 1). Доказательство. Если корни A (z) не лежат в GF (q), то, согласно теореме 11.41, степень каждого делителя многочлена A (z) над GF (q) кратна р. С другой стороны, если г £ GF (?) — корень многочлена A (z), то с помощью сдвига можно перевести A (z) в A (z — г) и / (z) в / (z — г). Эта операция переводит корни в GF (q) в корни в этом же поле, а корни вне поля GF (q) — в корни, также не лежащие в этом поле. Достоинство операции сдвига состоит в том, что она преобразует аффинное пространство, натянутое на корни многочлена / (z), в линейное пространство, натянутое на корни многочлена / (z — г). Корни многочлена A (z — г) в GF (?) образуют линейное про- странство над GF (р), и, следовательно, число таких корней равно р1. Обозначим через иг, и2, • ., U[ базис этого пространства. Множе- ство всех корней многочлена A (z) (включая и те, которые лежат в расширении поля GF (q)) также образует векторное пространство над GF (р). Множество линейно независимых элементов щ, и2, . . . . . ., и{ может быть дополнено до базиса пространства всех корней путем добавления базисных векторов Иц и2, . . ., Vj. Без потери общности можно полагать, что векторы щ, и2, . . ., ult иг, и2, . . ., Vj образуют подмножество множества корней многочлена / (z — г). Пространство, натянутое на векторы щ, и2, . . ., и2, . . . . . ., Vj, совпадает с пространством, натянутым на корни s1; s2, . . .
268 Гл 11. Линеаризированные многочлены и аффинные многочлены . . ., sK, t±, t2, . . tN многочлена / (z — г), где s( £ GF (q) GF (q). Ясно, что если J = 0, то N = 0. Если J > 0, то N > О и пространство корней порождается также множеством $17 s2, ... л к v • • ч ski 2 ^i’ ^2’ • • •> Так как ( 2 “Н S G) G GF (q), г=1 г=1 г=1 то 2 G С GF (q). г=1 Таким образом, пространство, натянутое на корни многочлена / (z — г), имеет базис, содержащий не более N — 1 элементов, лежа- щих вне GF (q). Следовательно, J N —- 1 или, как и утверждалось, N > J + 1. Если J = 1, то каждый из N элементов t2, . . tN предста- вим в виде С = Ctv 4- ut, где Ct Q GF (p), ut £ GF (g), v £ GF (5). Переходя к сопряженным, получим if1 = Ctv<in 4- v„ а это равно t{ тогда и только тогда, когда vqn равно v. Таким образом, число эле- ментов, сопряженных с данным корнем, равно числу сопряженных с v. Так как = t}, то -|- ut = C}v + и} и v'! = v 4- U,—Ui 4---q— = Cv 4- и. Переходя к сопряженным, получаем, что н— 1 VF = C2v 4- (С 4- 1) и, и в общем случае vqn = Cnv 4- ( 2 и- г—0 Если С = 1, то vqn = v тогда и только тогда, когда п кратно р. В этом случае v имеет точно р сопряженных элементов. Если С 4= 1, то vqn = v тогда и только тогда, когда Сп = 1. Так как С G GF (р), то Сг-1 = 1, и число элементов, сопряженных с v, делит число р — 1. Предположим теперь, что J = 2 и рассмотрим сначала случай, когда vq = Ср\ + vq = C2v2 4- zz2; Сг С GF (р) и ut £ GF (д). Обозначим через число сопряженных с а через п2— число сопря- женных с v2 элементов. Каждый корень многочлена / (z — г), не лежащий в GF (9), представим в виде 4 = Ср\ 4~ Dtv2 4- zz(, i?” = ClVf + DlVq2n + так что число элементов, сопряженных с tt, равно 74, если Dt = 0, равно п2, если Ct = 0, и равно наименьшему общему кратному чисел пг и п2, если и С, отличны от нуля. Ясно, что N представимо в виде Впг 4- Сп2 для некоторых положительных чисел В и С. Из предыдущей части доказательства (для 4 = 1) видно, что каждое из чисел п± и п2 не взаимно просто с р (р — 1), Если не существует элементов Сг GF (р) и их £ GF (q), таких, что vq = С±и2 — ult то пространство, натянутое на zz1; и2, . . ., иг, v\, v2, совпадает с пространством, натянутым на ult и2, . . ., U], v1, vq. Аналогично, если не существует элементов С2 С GF (р)
11.5. Подсчет корней 269 н и2 С GF (q), таких, что и% = C2v2 + и2, то z/j, и2, . . ., Uj, v2, vq можно выбрать в качестве базиса пространства корней многочлена A (z — г). В любом случае можно найти такой элемент к, что корни многочлена A (z — г), не лежащие в GF (q), могут быть записаны в виде £г = C> + £)Ii/7 т-w,, ап ап п+1 ui С GF (q), Ct, DtQGF(p), tq = Ctvq +Dlvq 4 иг. Следовательно, каждый корень многочлена /(z — г), лежащий вне GF (?), имеет столько же сопряженных, сколько и элемент и. Для каждого ] v'1'1 = AjVq -р BjV { Uj, Aj, BjQGF(p), u}QGF{q). Пусть k обозначает число, для которого At О, А2 0, . . ., Ak_t =4= О, Hfe = 0. Для 2^.j<zk выполняются равенства + С}, Dj QGF(p), UjQFG(q), D^O, Возводя каждое из этих равенств в степень получаем, что iH =~ C}vi -р DjV4 д- щ для всех 7, 2<Cj<;&. Если Сг = С7 для некоторых то _<fe+l) z+ „fe 1 Г> „(fe+1-З) . п „(k+1-О цч =CjV4 +D}v4 Л-Ui, так что D}v4k ° 11 =Z),i;9fe4 ut —u} = Dt (Bkv 4- uk) 4 иг — и}, а это противоречит предположению о том, что =^= 0. Таким образом, С, #= С} для 2 i <Zj <Z.k. Элементы С2, С3, . . ., C^-i выбираются среди р — 1 ненулевых элементов поля GF (р), так что 2 сС k сС р -1- 1. Так как число сопряженных с каждым корнем, лежащим вне GF (q), кратно к, то число N также кратно к. а Можно несколько усилить эту теорему, когда J = 2 и р 11, так как не все значения к 4^ р + 1 возможны. Тщательная проверка показала, что если р = 2, 3 или 5, то все значения к допустимы, но при р = 7 значение к = 5 исключается. Эта ситуация, однако, не исключает равенств р = 7, J = 2 и N = Ь, так как возможно N = 2 -р 3 при = — иг 4- иг и rj = 2v2 + и. Если J 3, то на N нельзя наложить никаких теоретико-число- вых ограничений. Как было видно при доказательстве теоремы 11.39, над полем GF (д) для каждой степени ^2 существует много много- членов с линейно независимыми сопряженными элементами, т. е. S gtVqX 0 г=0
270 Гл. 11. Линеаризированные многочлены и аффинные многочлены для любой последовательности {g, £ GF (q)}. Отсюда вытекает, что V gp^GF (q) г— 0 для любой последовательности [g, £ GF (q)}. кроме случая, когда все gt равны. Таким образом, ног та J - 3. то .V 4. если многочлен f (z — г) имеет неприводимый делитель четвертой степени с линейно незави- симыми корнями, и .V = 6. если многочлен / (z — г) имеет неприво- димый делитель четвертой степени с линейно независимыми корнями О г,2 г.З V, Щ, Ь1 , V1 и иепрпво 1пмыи квадратный делитель, корнями которого являются г - г г/2 - и и г1 - г.^3 — и. и 6 GF (q). Если Л’ =^= 4 и N =/= 6, то Л - 2В ?>С. В. 1, и можно найти N корней многочлена f (z — }) среди корней В неприводимых квадратных многочленов и С неприводимых кубических многочленов. Относительно легко определить вероятность того, что все корни случайно выбранного аффинного многочлена будут лежать в основ- ном поле. Число аффинных многочленов любой заданной степени в ючности совпадает с числом способов выбора их коэффициентов. Число многочленов, все корпи которых лежат в основном поле, оппсывашся следующей теоремой, известной еще Ландсбергу [1893]. 11.52. Т е о р е м а. Число к-мерпых подпространств поля GF (qm) над GF (q) задается формулой k—i _ /1—1 т—k- 1 nqm — qi _ у-у qm-г — 1 ___ ту ^т-г— 1 qk.— „г 11 11 am-k-z I г-O 4 * * г-=0 1 г^-о Число к-мерных аффинных подпространств поля GF (дт) над GF (<?) задается формулой 4 11 1 = 0 7 * * Доказательство. Сколькими способами можно выбрать упорядоченные совокупности из к линейно независимых (над GF (q)) элементов поля GF (г/”1)? Если г линейно независимых векюров уже выбраны, то они порождают пространство размерности г. содержащее ql векторов. Тогда (г — 1)-й вектор может быть выбран (qm — qz) способами. Таким образом, имеется (qm — 1) (q'n — q) (qm — q2) . . . (qm — qh~l) способов выбора упорядоченного множества к линейно независимых элементов поля GF (qm). Так как каждое подпространство размер- ности к имеет (qh — 1) (qk — q) . . . (qk — с/-1) различных базисов,
11.6 Кодовые слова с малым весом в некоторых кодах 271 число различных Ar-мерных подпространств задается формулой, участвующей в формулировке теоремы. Каждое А-мерное^подпростран- ство имеет qm~h сдвигов, приводящих к аффинному подпростран- ству , п каждое аффинное подпространство является сдвигом линей- ного подпространства. а 11.6. Кодовые слова с малым весом в некоторых кодах Существует много способов задания кодовых слов и векторов ошибок. В некоторых случаях наиболее удобно представлять кодо- вые слова непосредственно в виде последовательности символов, передающихся по каналу, С = [Со, Сг, . . ., Вектор ошибок может быть представлен при этом как последовательность аддитивных шумовых символов. Е = [Ео, Е1, . . ., Однако для целей декодирования вектор ошибок удобнее представлять в виде много- члена локаторов ошибок (7.21) o(z) = П (1-^). локаторы ошибок В случае двоичных циклических кодов и недвоичпых негацикли- ческих кодов с метрикой Ли многочлен локаторов ошибок полностью определяет вектор ошибок, а в случае недвоичных кодов с метрикой Хэмминга вектор ошибок зависит как от многочлена локаторов ошибок, так и от многочлена значений ошибок со (z) = о (z) — -j- ^>'zYtXt П (1 — XjZ). Если все ошибки равны 1, то со (z) = I 3=^1 = о (z) — zo' (z). Существенное преимущество представления век- тора ошибок через многочлен локаторов ошибок a (z), а не в виде п~ 1 многочлена ошибок Е (.г) = J Etxl, состоит в том, что многочлен г-0 о (г) точно отражает вес вектора ошибок: deg а (г) = вес Е. Хотя мы до сих пор и не пользовались этим, каждое кодовое слово можно описать с помощью многочлена локаторов кодового слова <Ф) = П (1-Хг2). X —ловаторы ненулевых ьоэффвциентов многочлена С(х) Преиуп ществоу! такого описания является малая степень многочле- нов локаторов кодовых слов малого веса. Для некоторых кодов это позволяет доказать существование кодовых слов малого веса с по- мощью отыскания для них многочленов локаторов низкой степени. Для доказательства того, что данный многочлен действительно является многочленом локаторов кодового слова, необходимо дока- зать, что все его взаимные корпи лежат среди локаторов кода и что
272 Гл 11. Линеаризированные многочлены и аффинные многочлены соответствующее кодовое слово удовлетворяет всем проверочным уравнениям. Для циклических кодов такими проверочными уравне- ниями являются взвешенные степенные симметрические функции от взаимных корней многочлена о (z). В случае метрики Ли степенные симметрические функции от взаим- ных корней многочлена локаторов о (z) могут быть вычислены с помощью тождеств Ньютона: (9-32) 5(z) = ^_(±. Эта формула остается справедливой и в случае метрики Хэмминга, если величины всех ошибок равны 1. Покажем теперь, что если некоторые коэффициенты многочлена о (z) равны нулю, то некоторые коэффициенты многочлена S (z) также равны нулю. 11.61. Теорема. Пусть о (z) = L (z) — и, где L (z) = k = 3 Пусть г=0 К J где Вк, j — константы, зависящие только от коэффициентов много- члена L (г) Определим w (К), вес числа К, с помощью равенства w(K) = где К] — коэффициенты q-ичного представления числа К, К = ^K}q\ Q^Kj <q. Тогда Вк, j = О, за исключением случая, когда выполняются оба неравенства (11.611) W (К) > k (q - 1) + w (J) > к (q - 1) и (11.612) J + 1 (К + 1). Доказательство h o(z) = — и+ 2 Ltzi\ Lk~i, г—'О А a (z) — — uz(‘k2 Т,г^к~чг, 1=0 а' (г) = £0 (<? -1) z^-2 = - L^,
11.6. Кодовые слова, с малым весом в некоторых кодах 273 =-------------------= 0(z) h~l h г h 1+2 L^-uz^ i=0 oo k~ 1 = Ц^~‘ 2 N=0 г=0 Разлагая N в ряд по степеням q, N=^jNJq3, получим, что з □о h—1 5 (z) = Lo 2 zgh-1 (uzqk - 2 Ltz^)3 N=0 i=0 oo NJ k- 1 = L0 2 ^-‘П П (u<^k+3- 2 Ltq^-^ . .V—0 j m=l г=0 Рассмотрим произведение г’к-1ПП (w’W+’-'P-00-*2 LfZ9ft+j-9j+1) . j m—1 г—0 Запись этого произведения в виде степенного ряда может содержать член с uJ только тогда, когда 7 = 2 Л(А гДе О Jj N,. Иными словами, каждая цифра в g-ичном представлении числа J не должна превосходить соответствующей цифры g-ичного представления чис- та N. Разложение произведения в ряд может содержать член с zKuJ только тогда, когда K=qk— 1 + 2 2 (qk+1 — q>+1^' m>), j m—i где i — функция от; и m, принимающая значения 0,1,2, . . ., к — 1 или оо, причем i (/, т) = —оо только для различных значений т. Суммируя сначала только по тем значениям т, для которых г (j, т) = = — оо, получим Я=д*-1+2(7#+’+ 2 qh+3-q^’m'^) = 3 m'=l = qk— 1 + ^+2 2(?ft+J-?j+*'(J’ m">), 3 m' где i' (j, m') = 0, 1, . . ., к — 1. Следовательно, К qh — 1 + qkJ. Это доказывает соотношение (11.612). 18—6U8
274 Гл. 11. Линеаризированные многочлены и аффинные многочлены Можно также записать К = q'1- 1 ~Fq J + qk (N — J) - 3 S Q}+t'(}’ m'’, j m' 1 ж qkN — к+ 2 2 7J+l'°’,n,) • } m' Так как для любого множества чисел {аг} справедливо неравенство ы?(2аг)'^2м’(а0> то1) w (qk — 1 + qkN) < w (/Г) -J- S S (7j+1'01m'’) •= ] 7П' — w (K) —w(N — J) = w (K) —w(N) — w (/). Подстановка w (qh — 1 — qkN) — к (q — 1) w (Д7) дает к (q — 1) — w (TV) w (TV) + w (N) — w (J), или w (К) к (q — 1) + w (J). Это доказывает соотношение (11.611) и теорему, g Теорема 11.61 позволяет выделить слова малого веса во многих циклических кодах с блоковой длиной qm — 1. Например, в цикли- ческом двоичном коде с блоковой длиной 31 координаты могут быть занумерованы как 1, а, а2, а3, а4, . . ., а30, где а5 + а2 1 — 0. 4 Каждый элемент поля GF (25) может быть записан в виде 2 %1а'- г=|) Восемь элементов, координаты которых удовлетворяют уравнениям Zo Z2 + Z2 = 0, Z2 + Z3 = 1, образуют трехмерное аффинное подпространство над GF (2). Это аффинное подпространство элемен- тов а3, а5, а16, а19, а21, а22, а27, а28, являющихся корнями аффинного многочлена о (z) -- з8 a14z4 + a6z2 — a4z + а17. Согласно теоре- ме 11.61, для всех К, таких, что w (К) 3, симметрические функ- ции степени К от этих восьми элементов равны нулю. В частности, = 53 = 55 = 0, так что о (z) = 1 -f- a14z4 -ф a6zG — a4z7 + a17z8 — многочлен локаторов кодового слова с весом 8 из двоич- ного БЧХ-кода с блоковой длиной 31, исправляющего три ошибки. Соответствующим кодовым словом является С =. [0001010000000000100101100001100]. Так как 50 = 0, то это кодовое слово, дополненное нулем, принадле- жит расширенному БЧХ-коду с блоковой длиной 32. Этот пример обобщается теоремой 11.62, вытекающей сразу из теоремы 11.61. 11.62. Теорема (Казами, Лин и Питерсон [1966] и Камьон [1966, 1968]). Если а — примитивный элемент поля GF (q’1), то ]) Доказательство этого соотношения можно найти в лемме 15.575,
11.6. Кодовые слова с малым весом в некоторых кодах 275 1-удлиненный циклический код с блоковой длиной N = qm над GF (q) и порождающим многочленом g (х) содержит кодовые слова веса qk (как в метрике Хэмминга, так и в метрике Ли), за исключением случая, когда существует такое К, для которого w (К) к (q — 1) и g (ак) = 0. 11.63. Следствие. Частный 1-удлиненный ВЧХ-коЗ с кон- структивным расстоянием х) ф'" над GF (q) содержит кодовые слова веса qh. Доказательство следствия 11.63. Корни порож- дающего многочлена циклического БЧХ-кода с конструктивным расстоянием qh совпадают с элементами а0, а1, а2, . . ., азк-2 и сопряженными с ними. Если К <lqk — 1, то гр (К) <_к (q — 1). Если aJ — элемент, сопряженный с ак, то w (J) = w (К). Следова- тельно, g (ак) =/= 0, за исключением случая w (К) <_к (q — 1). R Теорема 11.62 описывает кодовые слова малого веса, локаторы ненулевых координат которых лежат в аффинном подпространстве пространства GF (qm) над GF (q). В некоторых кодах все слова малого веса являются словами такого типа. Такие коды описываются теоре- мой 11.64, являющейся обобщением теоремы Питерсона. 11.64. Теорема. Пусть g (х) — порождающий многочлен кода с блоковой длиной п = qm — 1, и пусть w (К) — сумма цифр q-ичного представления числа К. Если g (ак) = 0 =Ф w (К) < к (q — 1) и w(K)<k(q—l), 1 К < 2qk J то 11.641. Локаторы ненулевых координат произвольного кодового слова веса qk из 1-удлиненного кода образуют аффинное подпростран- ство размерности к над GF (q). 11.642. Ненулевые координаты любого фиксированного слова веса qh совпадают. Доказательство утверждения 11.641. Пусть о (z) — локатор кодового слова с весом Хэмминга qh, и пусть со (z) — многочлен величин координат для этого кодового слова. Тогда оо (11.643) = 2 SKz«, ________ К=1 ’) Конструктивным расстоянием q-ичного БЧХ-кода называется такое число d, что а, а2, . . ., ad-x являются корнями порождающего многочлена кода.— Прим, перев. 18*
276 Гл. 11 Линеаризированные многочлены и аффинные мно’очгены ИЛИ (11.644) со (z) — о (z) = S (z) о (z). Согласно уравнению (10.12), co(z) —o(z)= П (1 — X}z). i зфг Очевидно, коэффициент при z'-'fl в этом многочлене равен 2хгуг П (-*,)=± (П х>)(3 у») =о, г 3ф1 3 г так как — 0 для каждого слова 1-удлиненного кода. Следова- г тельно, (11.645) deg [со (z) —- <j(z)]<<?ft — 1. Если K<qh—i, то w(K) <k(q— 1), так что£(ак)=0 и .$к=-0. Следовательно, S (z) = 0 mod z«A —i , и из уравнений (11.644) и (11.645) вытекает, что M(z)-o(z) = z3/i-15(ift_1. Если Sqk_i = 0, то получаем нулевое кодовое слово. Если 5^^ =/= 0, то положим (И.646) T(z)-=---- qb— С Тогда уравнение (11.644) запишется в виде Т (z) о (z) = 1, откуда о о = 1 и (11.647) о, = — 2 Qi-jT] Для г — 1, 2, ... . ?=1 Если К < 2г/г, то SK = 0, за исключением случая w (К) к (q — 1), который возможен тогда и только тогда, когда К = = 2qk — 1 — q1 для некоторого I. В силу (11.646), отсюда следует, что Т} = 0, за исключением случая j = qk — q1. Поэтому для i qh — 1 равенство (11.647) можно заменить равенством (11.648) л. 1<к 4 4 Если j — наибольшее число, не являющееся степенью q, для кото- рого 0, то, согласно (11.648), существуют такие числа I <^к — 1 и i si к, что q1 — j = — q*, или j = q1 + ql — qh.
11.6. Кодовые слова с малым весом в некоторых кодах 277 За исключением случаев / = 0 или q\ это число отрицательно. Поэто- му, если у =/= qs, то = 0- Таким образом, о (z) — аффинный многочлен, и, согласно теореме 11.32, его корни образуют аффинное подпространство. Доказательство утверждения 11.642. Пусть С(1> — кодовое слово веса qk. Согласно теореме 11.641, локаторы ненулевых позиций слова С(1) лежат в аффинном подпространстве поля GF (q"1). По теореме 11.61 в коде содержится другое кодовое слово, С(2), ненулевые координаты которого равны единице, причем они соответствуют тем же самым qh локаторам. Если С(1) не является скалярным кратным С(2), то разность между (Л1) и некоторым ска- лярным кратным С<2) дает кодовое слово, вес Хэмминга которого меньше, чем qk, а это противоречит БЧХ-границе для минимального веса кода. а Как покажет теорема 11.65, теорема 11.61 является также полез- ной для определения кодовых слов малого веса в некоторых негацик- лических кодах. 11.65. Теорема. Негациклический код с блоковой длиной (рт — 1)/2, корни порождающего многочлена которого совпадают с а, а3, а3, . . ., а2р~3 и их сопряженными, содержит кодовые слова веса р в метрике Ли. Доказательство. Если К < 2р — 2 и w (К) р — 1, р-1 то К = р — 1. Следовательно, о (z) = Д И + Н- Л) гДе £ г=0 иг) — элементы поля GF (рт), линейно независимые над GF (р). Для того чтобы доказать допустимость о (z), надо установить, что изменение знака любого взаимного корня не приводит к другому взаимному корню. Если бы это было так, то + Л = — Об + Л) и (i — j) g = — 2t], что противоречит линейной независимости g и г] над GF (р). а В качестве иллюстрации к теореме 11.65 рассмотрим пример ср = 5ит = 2. Выберем а из приложения В. Пусть g = а, ц = 1, так что взаимными корнями многочлена о (z) являются а°, а8, а17 = = —а5, а21 = —а9, а22 = —а10, a С = [1, 0, 0, 0, 0, —1, 0, 0, 1, — 1, —1, 0] — кодовое слово негациклического кода, порождающие корни которого совпадают с а, а3, а5, а7 и их сопряженными. Теорема 11.65 ограничивает область применения теоремы 9.34. Негациклический код, корни порождающего многочлена которого содержат а, а3, а5, . . ., ар-2, может исправлять столько же ошибок в метрике Ли, сколько и код, корнями порождающего многочлена которого являются а, а3, а5, . . ., а2р“3, хотя избыточность послед- него кода почти вдвое превышает избыточность первого.
278 Гл. 11. Линеаризированные многочлены и аффинные многочлены Теоремы 11.62 и 11.65 позволяют выделить кодовые слова малого веса, ненулевым координатам которых соответствуют локаторы, лежащие в аффинном (или линейном) подпространстве поля GF (рт). Можно также найти кодовые слова малого веса в метрике Хэмминга, ненулевым координатам которых соответствуют локаторы, представ- ляющие собой линейные сдвиги точек аффинного подпространства поля GF (рт). В частности, имеет место следующее утверждение: 11.66. Т е о р е м а. Если ^.-удлиненный БЧХ-код с конструктив- ным расстоянием d и блоковой длиной qm над полем GF (у) содержит кодовое слово веса d и если локаторы ненулевых координат этого кодового слова лежат в подпространстве размерности т — k над GF (д), то 1-удлиненный БЧХ-код с блоковой длиной qm и конструк- тивным расстоянием de/1 содержит кодовые слова веса d<f\ Доказательство1). Пусть иг (i = 1, 2, . . ., d) — лока- торы ненулевых координат кодового слова веса d, и пусть Уг — значения соответствующих координат. Тогда Уг g GF (д), иг £ GF (qm) <1 и 2 = 0 для J = 0, 1, 2, . . ., d — 2. Пусть L* (г) — такой г=1 g-линеаризированный многочлен степени qm~k над GF (qm), все кор- ни которого лежат в GF (qm), причем среди них содержатся и2, • . . . ., Uj. Так как размерность линейного пространства, натянутого на г/j, и2. . . ., иа, ле превосходит т — к, то многочлен L*(z) с такими свойствами существует. Пусть L{z) — многочлен, дуальный к L*(z). Согласно теореме 11.35, L (z) — иг = У = [J (z — Хг>7), где Хг, j С GF (qm). Мы утверждаем, что расши- 3=1 ренный БЧХ-код с конструктивным расстоянием dq содержит кодовое слово, локаторами всех di/‘- ненулевых координат которого являются Х!17, 1 = 1,2, . . ., d, j = 1, 2, . . ., qk, причем ненуле- вую координату с локатором XltJ можно взять равной Уг. Для дока- зательства вычислим величину Так как 2 — невзвешенная степенная симметрическая функция от Х117, то, применяя теорему 11.61, получим, что d d SK=%Yt% Вк, jui ^BK>J% Ytu}. i=l J J i=l x) Другое независимое доказательство этой теоремы было дано Питерсо- ном [1968].
11.6. Кодовые слова с малым весом в некоторых кодах 279 d Если 0< — 2, то 2 гиг = 0- Если d — 1 J, то BKt j = 0, за исключением случая, когда J + 1 q~h (К + 1), и, следо- вательно, Кd(f'—1. Поэтому SK = 0 для 0 К dqk — 2. а Теоремы 11.61 — 11.66 показывают, как линейные и аффинные подпространства конечного поля могут быть использованы для выде- ления в некоторых кодах слов малого веса. К некоторым другим кодам применима иная, не связанная с аффинными подпространства- ми техника выделения слов малого веса. Пример такого рода дает теорема 11.67. 11.67. Теорема (К азам и, Лин, Питерсон [1966]). Если БЧХ-коЗ с конструктивным кодовым расстоянием d и блоковой длиной п± над GF (q) содержит кодовые слова веса d и если и1 делит п2, то БЧХ-ко<Э с конструктивным расстоянием d и блоковой длиной п2 над GF (q) также содержит кодовые слова веса d. Доказательство. Локаторы первого кода являются кор- нями «j-й степени из единицы, а локаторы второго кода — корнями /г2-й степени из единицы. Так как nT делит п2, то локаторы первого кода образуют подмножество локаторов второго кода. Следователь- но, кодовое слово малого веса, принадлежащее первому коду, при- надлежит и второму. 11.68. Следствие. Если d\n, то БЧХ-коЗ с конструктив- ным расстоянием d и блоковой длиной п над GF (у) содержит кодовые слова веса d. Доказательство. БЧХ-код с конструктивным расстоя- нием d и блоковой длиной d всегда содержит кодовое слово веса d. а К сожалению, теоремы 11.61—11.67 позволяют определять слова малого веса в относительно узком классе кодов. Минимальное рас- стояние для большинства кодов, даже для большинства БЧХ-кодов, не известно. Из разд. 10.3 и 10.4 мы знаем, что истинное минималь- ное расстояние не меньше конструктивного расстояния, а во многих случаях больше. В общем случае, согласно следствию 11.63, истин- ное расстояние каждого примитивного БЧХ-кода с точностью до (елителя числа q совпадает с конструктивным расстоянием. Практи- чески корректирующие возможности БЧХ-кодов часто определяются их конструктивным расстоянием, а не истинным, так как наиболее употребительные алгоритмы декодирования не позволяют исправлять векторы ошибок, вес которых больше половины конструктивного расстояния. В разд. 10.5, 10.6 и 11.1 были описаны улучшенные алго- ритмы, позволяющие исправлять ошибки несколько большего веса; но даже эти алгоритмы приводят к отказам, если декодер пытается
280 Гл 11. Линеаризированные многочлены и аффинные многочлены исправить две дополнительные ошибки по сравнению с тем, что гарантирует конструктивное расстояние. С точки зрения практических приложений наиболее важными вопросами относительно любого кода являются: (1) Насколько хорош код? (2) Насколько легким является его декодирование? (3) Какова его скорость передачи информации? Вопросы (1) и (2) являются инже- нерными, поскольку понятия «хороший» и «легкий» могут быть опре- делены только в терминах статистики шума в канале, которая никогда не известна точно, и в терминах стоимости оборудования, которая существенно зависит от нынешнего состояния электронной техники. Если качество кода определяется в терминах конструктивного рас- стояния, то для частных БЧХ-кодов на вопросы (1) и (2) можно дать следующий приблизительный ответ: (1) существуют коды с про- извольным конструктивным расстоянием; (2) как было показано в гл. 2, 7 и 10, декодирование является относительно простым. Оба эти ответа являются обнадеживающими. В противоположность вопросам (1) и (2), вопрос (3) является точным математическим вопро- сом, ответ на который будет дан в гл. 12. В гл. 13 будет показано, что в определенном смысле этот ответ является неутешительным, посколь- ку существуют лучшие коды с большой блоковой длиной, имеющие значительно большую скорость передачи, хотя для этих кодов не известны реализуемые алгоритмы декодирования. Задачи 11.1. Пусть а — корень многочлена z° + z2 +1. Для каждого из следую- щих многочленов найти все корни, лежащие в GF (2s) (a) z3 -т- a44z2 -г a4z + a, (b) z4 + a48z3 + anz2 + a24z + 1, (c) z5 — a20z4 + a48z3 + a3z -j- a2z -- a17. 11.2. Для каждого из многочленов предыдущей задачи найти н. о д с мно- гочленом z2 — z и наити дуальный для каждого из этих н. о д 11.3. Сколько неприводимых двоичных многочленов степени т, т = 1, 2, 3, . , 20, имеют линейно независимые корни? 11.4. Наити примитивный неприводимый кубический многочлен над GF (3). Обозначив через а его корень, выразить каждую степень а в виде многочлена от а степени <3 над GF (3) Показать, что кубическое уравнение общего вида над GF (З3) может быть приведено к одной из трех стандартных аффинных форм (а) z3 — z = и, (b) z3 — az = и, (с) z3 = и (Заметим, что квадратный корень может быть вычислен как тринадцатая сте- пень ) Подобно примеру 11,15, построить схемы для решения каждого из этих трех кубических уравнений. 11.5. (а) (Ландсберг [1893]). Какая часть из qmn матриц над GF (q) размер- ности т/п имеет ранг г?
Задачи 281 Указание. Воспользоваться теоремой 11.52. (b) KaKjro часть составляют невырожденные квадратные двоичные (пхп)- матрицы для больших п? (с) Сравнить полученные результаты с ответами к задаче 7.6 и вычислениями рангов для некоторых других классов матриц (Карлиц и Ходж [1956а, 1956в]; Берлекэмп [1966]). 11.6. (а) (Оре [1933, 1934], Глизон и Мэрш, Цирлер [1958]). Пусть / (z) — неприводимый многочлен над GF (q), л F (z) — его ассоциированный линеаризи- рованный многочлен. Доказать, что степень каждого неприводимого делителя многочлена F (z) z равна периоду f (z). (b) Указать неприводимые двоичные трехчлены степеней 3, 7, 15, 31, 63 и 127.
Глава 12 Нахождение числа информационных символов в БЧХ-кодах 12.1. Сведение задачи к перечислению некоторых чисел по модулю п Любой циклический код с блоковой длиной п над полем GF (д) можно определить порождающим многочленом g (х) — делителем много- члена хп — 1, и проверочным многочленом h (х) = (хп — l)/g (х). Степень g (х) определяет число проверочных позиций, степень h (х) — число информационных позиций. В дальнейшем числа п и q предполагаются взаимно простыми, а рассмотрение проводится в расширении GF (дт) поля GF (д), где т — мультипликативный порядок q по модулю п. В этом расширении многочлен хп — 1 раз- лагается на различные линейные множители: хп— 1 = [J (я —а1), i=i где а — примитивный корень п-й степени из единицы в поле GF (q>!l), а" = 1. Из разложения хп — 1 = g (х) h (х) следует, что каждая степень а является корнем либо g (х), либо h (х), т. е. цикли- ческий код задает разбиение всех степеней а на два непересекающих- ся подмножества: множество корней порождающего многочлена и множество корней проверочного многочлена. Обратно, если для g (х) и h (х) допускаются коэффициенты из GF (дт), то любое разбие- ние всех степеней а на два непересекающихся подмножества опреде- ляет циклический код. Однако коэффициенты многочленов g (х) и h (х) должны лежать в основном поле GF (д). Следовательно, вместе с аг корнями g (х) являются и все с ним сопряженные: aiq, aiq2, aiq3, .... Обратно, если все сопряженные с корнями g (х) также являются корнями g (х) и все сопряженные с корнями h (х) — кор- нями h (х). то коэффициенты полиномов g (х) и h (х) лежат в GF (д'). Предыдущие замечания справедливы для всех циклических кодов. Любой 5-ичный БЧХ-код с блоковой длиной п над GF (д) может быть определен как циклический код, корнями порождающего много- члена которого являются а, а2, . . ., ad-1 и сопряженные с ними. Этот код исправляет по крайней мере d/2 ошибок (см. гл. 10) и мини- мальное расстояние Хэмминга такого кода равно по меньшей мере d. Поэтому d называется конструктивным расстоянием кода (или -границей). Первым результатом о числе информационных символов в БЧХ- коде является следующая лемма:
12.2. Сведение задачи для случая примитивных БЧХ-кодов 283 12.11. Л е м м а. Пусть I (q, п, d) — число информационных сим- волов q-ичного БЧХ-тгойа с блоковой длиной п и конструктивным рас- стоянием d. Определим Г i 1 уравнениями i = Г i 1 mod п, 1 Г i 1 п. Тогда I (q, п, d) — число таких чисел j, что 1 j п и Г jqk~l^d для всех к. Доказательство. Для БЧХ-кода а1 является корнем порождающего многочлена тогда и только тогда, когда существует число к (Д такое, что Г 1 < d. Наоборот, а’—корень проверочного многочлена для БХЧ-кода тогда и только тогда, когда Г 77* ”1 d для всех к. а Лемма 12.11 позволяет определить число информационных пози- ций БЧХ-кода, не производя специальных вычислений в поле GF (q) или его расширениях. Надо только вычислить некоторые типы клас- сов вычетов mod п. Однако практически такое вычисление очень трудоемко, особенно, когда п и d велики. Для получения более обозримых результатов при больших п и d эту лемму удобно переформулировать в следующем виде: 12.12. Лемма. Пусть I (q, п, d.) — число информационных сим- волов в q-ичном БЧХ-тгойе с блоковой длиной п и конструктивным расстоянием d. Определим |_ i J уравнениями i == L i J mod тг, 0 L i J н — 1- Тогда I (g, n, d.) — число таких чисел i, что О С i С п — 1 и |_ if/1 J < < п + 1 — d для всех к. Доказательство. 1 si / п и Г iqk~] d для всех к тогда и только тогда, когда О п — j п — 1 и L (П - 7) qh J тг — d для всех к. Положим i — п — j. а *12.2. Сведение задачи для случая примитивных БЧХ-кодов к перечислению некоторых </-ичных последовательностей Мы покажем, как найти число информационных символов при- митивных БЧХ-кодов путем перечисления последовательностей неко- торого определенного вида над алфавитом из чисел 0, 1, 2, . . ., q — 1. Этот метод был предложен Манном [1962]. Начнем с определения необходимых операций над такими последовательностями. Для обозначения последовательностей будем использовать про- писные буквы. Символ (Q — 1) обозначает последовательность, состоящую из единственной буквы (q — 1). До тех пор, пока не будет оговорено противное, допускаются как конечные, так и бесконечные последовательности.
284 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах Пусть V = V1V2V3 . . . — некоторая ^-ичная последовательность, О Уг sC q — 1. Обозначим через V = V1V2V3 . . . дополнение к V, где Vг = (q — 1) — V, для всех i. Если W = W±W2 . . Wh — конеч- ная <?-ичная последовательность, то под ее циклическими сдвигами понимаются W2W3 . . . WkWr, W3Wi . . . WkWr, W2.........Если X = . X} — конечная <?-ичная последовательность, то мож- но построить сцепление X * V = Х±Х2 . . . XjV-J^Vz .... Сцепле- ние можно строить независимо от того, является ли V конечной или бесконечной <?-ичной последовательностью. Если при этом V конечна, то V * X является циклическим сдвигом X * V. Пусть Y есть <?-ичная последовательность. Она называется пре- фиксом X, если X = Y * Z для некоторой последовательности Z; Y называется суффиксом X, если X = Z * Y. Префикс всегда коне- чен (или пуст), а суффикс может быть пустым, конечным или беско- нечным. Y называется собственным префиксом X тогда и только тогда, когда ни У, ни Z не являются пустыми. Аналогично, У— соб- ственный суффикс X тогда и только тогда, когда и У и Z не пусты. Если X — конечная <?-ичная последовательность, то можно образо- вать бесконечную последовательность, являющуюся ее многократ- ным сцеплением'. X = ХхХ2 . . . XhXxX2 . . . Xk ... . В частности, {Q — 1) означает бесконечную последовательность, всеми буквами которой является число q — 1. Введем упорядочение: X < У тогда и только тогда, когда суще- ствует такое у, что X, = У, для г = 1, 2, . . ., j — 1, но Xj<zYj. Если X <£ У и У <£ X, то одна последовательность — префикс другой. Это упорядочение аналогично числовому упорядочению <?-ичных дробей, но имеются и существенные различия. Например, 1/4 = = 0,01 <0,0101 = 5/16, но последовательности 01 и 0101 несрав- нимы, так как одна является префиксом другой. С другой стороны, 0,0111111... = 0,1 = 1/2, но 0111... <1. Примеров, аналогичных этим, можно избежать, если всюду, где это возможно, принять запись в виде конечной дроби. Отсюда немедленно выводится следующее утверждение: 12.21. Теорема. Пусть u=%Uiq-', v=^Viq-\ U = UlU2U3 . .., V = VlV2V3 ..., г i и пусть (Q—1) не является суффиксом последовательностей U и V. Тогда U <V и<и, 5=^ {U<V или U — префикс V}.
12.2. Сведение задачи для случая примитивных БЧХ-кодов 285 Назовем X субпоследователъностъю для У, если X = ХГХ2 . . . . . . Xk конечна и Хг = У1( Х2 = У2, . . Х^-г = Уй_1, но Xh <zYk- Последовательность У имеет Ух субпоследовательностей длины 1, У2 субпоследовательностей длины 2, . . Уй субпоследо- вательностей длины к. Если последовательность У имеет только конечное число ненулевых букв, то можно определить наибольшую суб последовательность для У. Если Уд — последняя ненулевая бук- ва последовательности У — У1У2..., то УХУ2 . . . Уд_х (УА — 1) — наибольшая субпоследовательность для У. Если последователь- ность У содержит бесконечно много ненулевых букв, то У имеет бес- конечно много субпоследовательностей. Каждая из них меньше У, но ни одна не является наибольшей. Аналогично, У называется суперпоследователъностъю для X, если У = УХУ2 ... Уд, где Ух = У2 = Х2, . . ., УА_Х = Х^, но Уд > Хк. Если X = ХТХ2 . . . Хк и Xk (Q — 1), то наимень- шей суперпоследователъностъю для X является У = УХУ2 ... Уд, где Уг = Х; для i = 1, 2, . . ., к — 1 и Yh = Xh + 1- Ясно, что наименьшая суперпоследовательность лежит среди наиболее длин- ных суперпоследовательностей, а наибольшая субпоследователь- ность — среди наиболее длинных субпоследовательностей. 12.22. Определение. Если q — некоторое натуральное чис- ло и U — некоторая бесконечная <?-ичная последовательность, то определим J (q. U, т) как число g-ичных последовательностей дли- ны т, все циклические сдвиги которых меньше U. 12.23 (Манн). Лемма. Если n—-qm — i, п+1-d^ 2 Uyf1-*, O^UtCq, 1—1 U = иг112 . . . Um uY — некоторая q-ичная последовательность, то I (q, п, d) = J (q, U * У, т). Доказательство. Лемма 12.23 сводится к лемме 12.12 с помощью следующего соответствия. Согласно условию, последова- тельности U соответствует число п + 1 — d. Другой <?-ичной после- довательности W = 1¥г1¥2 . . . Wm длины т можно сопоставить чис- т ло w = 2 Wiqm~l. Тогда последовательности W2W3 . . . WmWlt i= 1 являющейся первым циклическим сдвигом W, будет соответствовать число т — 1 2 Wiqm+1-l + Wi = qiv-(qm-l}Wi, 1=2
286 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах сравнимое по модулю n — qm — i с числом qw. Следовательно, соот- ветствующим циклическим сдвигам W отвечают числа |_wJ, 1_*г’7_|, L«V2J, Эти числа исчерпывают все числа <«-{- 1 — d тогда и только тогда, когда W < U * Y для любого Y. R Выбор в качестве Y последовательности U имеет интересную интерпретацию: т тп ос ОО m 3 2 Ui4m~l у У, У и, „-(г-rmk) _ г~ 1--__ _ 1 _ Д__ Xi Х1 X 1Ч 1 — qm— 1 П ’ i=l h=0i=l т. е. последовательность U является (/-ичным представлением числа 1 — (d — 1)/тг. Это позволяет при больших п и d и фиксированном отношении (d — i)/2n свести исследование числа I (q, п, d) к изуче- нию J (q, U, иг) как функции от m при фиксированных q и U. Временно будем пренебрегать периодичностью U и рассматри- вать J (q, V, m) для произвольной 7-ичной последовательности V. Мы будем предполагать только, что последовательность V не имеет на конце нулей. Из определения субпоследовательности для V ясно, что если q-ичная последовательность W длины т меньше V, то некоторая субпоследователъностъ для V является префиксом W. Действительно, если W <z V, то существует номер к, такой, что Wt = V, для i = 1, 2, . . ., к — 1, но Wk < Vt, и последовательность . . . W& является одновременно префиксом W и субпоследовательностью для V. Предположим теперь, что некоторая последовательность W дли- ны т и все ее циклические сдвиги меньше V. Так как сама последо- вательность W меньше V, то некоторый ее префикс является субпо- следовательностью для V. Являются ли все возможные субпоследо- вательности W возможными префиксами W? Вообще говоря, нет, так как некоторые субпоследовательности могут иметь суффиксы, которые больше, чем V. Если X * Y является субпоследовательно- стью для V и Y больше V, то X * Y не может быть префиксом W. Действительно, если W = X * Y * Z, то одним из циклических сдвигов W является последовательность Y * Z * X > V. Например, рассмотрим троичную последовательность V = 20212. Ее субпоследовательностями являются 0; 1; 200; 201; 2020; 20210 и 20211. Субпоследовательность 20210 имеет суффикс 210, который больше V, следовательно, если 20210 является префиксом W, то вто- рой левый циклический сдвиг W больше, чем V. Аналогично субпо- следовательность 20211 имеет суффикс 211, который также больше V. Для некоторых последовательностей V такая трудность не воз- никает. Если V превосходит все свои собственные суффиксы, то спра- ведливы следующие теоремы 12.3.
12.3. Теоремы о числе последовательностей 287 *12.3. Теоремы о числе последовательностей Пусть V — некоторая q-ичная последовательность, превосходящая все свои собственные суффиксы. Тогда 12.31. Никакая субпоследователъностъ для V не является соб- ственным префиксом никакой другой субпоследователъности для V. 12.32. Каждый суффикс любой субпоследователъности для V является сцеплением других субпоследователъностей для V. 12.33. Если последовательность W и все ее циклические сдвиги меньше V, то W однозначно представима в виде сцепления субпосле- дователъностей для V, включая (возможно, пустую) окаймляющую субпоследователъностъ. А именно W = W(1) * W(2) * . .. W(l) * iy(i+1) * . .. * W<3>, Ж1), W(2\ . . ., PF(3-1> — субпоследователъности для V; * * W1-1) * W(2) * . . . — окаймляющая субпоследователъностъ. Окаймляющая субпоследователъностъ имеет префикс PF(3>, который является суффиксом для W, и суффикс * И^2) * ... * который является префиксом для W как сцепление более коротких субпоследователъностей И7^2), . . ., И7*3). 12.34. Каждое сцепление субпоследователъностей для V, вклю- чающее (возможно, пустую) окаймляющую субпоследователъ- ностъ, дает последовательность, обладающую тем свойством, что все ее циклические сдвиги меньше V. Никакая из таких последова- тельностей длины т не может превышать максимального сцепления субпоследователъностей для V длины т. Если Y — максимальное сцепление длины т субпоследователъностей для V и Y U V то J (q, V, т) — J (q, U, т). 12.35. J (q, V, т) = mVm-v S — к), где V, = 0, если j k=i превосходит длину последовательности V. 12.36. Пусть n = qm-l, d=^lDiqm~1, 0<А<<7, D = D-Pz . . . Dm. Если (П А. f) I наименьшее сцепление длины тп! 3 "" (суперпоследователъностей для V J ’ то I (q, п, d) = J (q, V, т).
283 Гл- 12. Нахождение числа информационных символов в БЧХ-кодах Доказательство. 12.31. Это свойство субпоследователь- ностей даже не зависит от условий, налагаемых на суффиксы V. Согласно определению субпоследовательностей, каждая субпосле- довательность должна отличаться от V только своей последней циф- рой, и, следовательно, ни одна субпоследовательность не может быть префиксом некоторой другой. 12.32. Докажем сначала более слабое утверждение: 12.321. Каждый собственный суффикс любой субпоследователъ- ности для V имеет префикс — более короткую субпоследователъ- ностъ для V. Пусть S — некоторая субпоследовательность для V, и пусть S<2) — суффикс для S. Можно записать S = ST) * S<2). Так как S отличается от V только своей последней цифрой, то S(1) является префиксом для V и V = St1) * ПО. Так как S <; V, то SO < ПО. Так как V превосходит свои собственные суффиксы, то ПО <; У. Отсюда следует, что SO <; У. Следовательно, некоторый префикс для SO является субпоследовательностью для У. 12.322. Если каждый суффикс субпоследователъности имеет пре- фикс, являющийся субпоследователъностъю, то каждый суффикс каждой субпоследователъности является сцеплением субпоследова- телъностей. Действительно, предположим, что F — суффикс некоторой суб" последовательности. Тогда F = Bt1) * Ft2), где Bt1) — субпоследо" вательность. Так как Ft2) является суффиксом для F, то Ft2) являет' ся также суффиксом для субпоследователъности, и Ft2) = Bt2) * Ft3), где Bt2) — субпоследовательность ..., F = Bt1) * Bt2) * Bt3) * . . . • 12.33. Так как W <Z У, то существует префикс PT(1), который является субпоследовательностью для У. После сдвига этого префик- са в конец слова можно аналогично поступить с РУ2) РГ<3). . . . . . ., РУ3-1), каждая из которых является субпоследовательностью для У. Последовательность Wt1) * РУП) * РУ<2) * ... * РУС3'1) есть циклический сдвиг W и, следовательно, имеет префикс Р, являющий- ся субпоследовательностью для У. Р не является префиксом для Wt3), так что ТУТ) должна быть префиксом для Р. Предположим, что Wt1) * Wt1) * ... * Wt1) — префикс для Р, a Wt1) * РУ1) * . . . ... * Wtl+1) не является префиксом Р (это определяет i). Тогда Р = pyJ) * РУП) * ... * Wt1) * S, где (возможно, пустая) последо- вательность S является собственным префиксом для РУ1+1). Так как S — суффикс для Р, а Р в свою очередь является субпоследователь- ностью для У, то S — сцепление субпоследовательностей для У. Но так как никакая субпоследовательность для У не есть собствен-
12.3. Теоремы о числе последовательностей 289 ный префикс любой другой субпоследовательности для V, то 5 долж- на быть пустой. 12.34. Это утверждение является обратным по отношению к утверждению 12.33. Предположим, что дана последовательность W = S'1') * W'1') * И7*2)...ИЛ’"1) * Р(’), где ИЛ1), ИЛ2), . . . . . ., ИЛ’-1) и ИЛ’)=.Р(’)* £(’)—субпоследовательности для V. Нуж- но показать, что все циклические сдвиги W меньше V. Произволь- ный циклический сдвиг имеет вид С = 5<ft) * И7^11) * ... * ИЛ’) * * ИЛ1) * W(2> * ... * И7*'1"1) * P(ft), где И7<'!) = P<fe) * S'k). Если 5(ь) — пустая последовательность, то С имеет префикс И7</1+1) — субпоследовательность для V. Если последовательность S'h) не пустая, то, согласно утверждению 12.32, она имеет префикс, который является субпоследовательностью для V и префиксом для С. В любом случае С имеет префикс — субпоследовательность для V. Следова- тельно, С < Vt 12.35. Последовательность V имеет Vm субпоследовательностей длины т, каждая из которых имеет т различных циклических сдвигов. Таким образом, окаймляющая субпоследовательность для V может быть выбрана mVm способами. Если И7 — сцепление нескольких субпоследовательностей для V, т. е. И7 = И7*1) * ИЛ2) «... * И7*’"1) * W'1), где ИЛ1), И7*2), . . . . . ., W'1') — субпоследовательности для V и ИЛ’) — (возможно, пустой) собственный префикс субпоследовательности И7^’) * ИЛ1) * * W'2) * ... * ИЛ1), то длина W равна сумме длин И7^’-1) и ИЛ1) * * W(2) * ... * ИЛ*-2) * ИЛ’). Для каждого к существует Vk спо- собов выбора последовательности И7<3-1) длины к и J (q, V, т — к) способов выбора ИЛ1) * W'2) * ... * ИЛ’-2) * ИЛ’). 12.36. Наименьшая последовательность. Предположим, что D — наименьшая последовательность длины т, большая чем V * (Q — 1). Введя обозначения d = 2 В^т~г, v = 2 и = 3 получаем, что d + v = n + 1 или v = n + 1 — d. Согласно лемме 12.23, I (q, n,d) = J (g, V, m). 12.36. Наибольшая последовательность. Пусть D — наименьшее сцепление суперпоследовательностей для V длины т. Тогда D — наибольшее сцепление суперпоследовательностей для V длины т. В обозначениях леммы 12.23 D = Y. Полагая d — 2 ^дт~г, имеем d = п — d. Полагая п + 1 — d = 3 получаем, что U > Y, так как и + 1 — d^> п — d. Теорема вытекает из утверж- дения 12.34 и леммы 12.23. 12.36. Справедливость утверждения в общем случае следует из монотонности J (q, U, т) как функции от U, а 19-658
2 90 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах 12.37. Пример. Положим V = 1101. Тогда имеет место Таблица 12 1 Расстояние Боуза 1) Конструктивное расстояние т J (7, V, тп) бинарное десятичное бинаоное десятичное 1 1 1 1 1 1 2 3 01 1 01 1 3 4 011 3 010 2 4 И ООН 3 ООН 2) 32) 5 16 00111 7 00110 6 6 30 001101 13 001100 12 7 50 0011011 27 0011000 24 8 91 00110011 51 00110000 48 9 157 001100111 103 001100000 96 10 278 0011001101 205 0011000000 192 И 485 00110011011 411 00110000000 384 12 854 001100110011 819 001100000000 768 I) Определение дается ниже. 2) Этот код совпадает с двоичным БЧХ-кодом с блоковой длиной п и конструктивным расстоянием 2. Здесь J (q, V, тп) подсчитано, согласно теореме 12.35, а конструк- тивные расстояния — в соответствии с теоремой 12.36 при V = 0010 с субпоследовательностями 1, 01 и ООН. V * ((? - 1) = 001011111111... . Очевидно, что двоичный БЧХ-код с п=212—1 и конструктивным расстоянием 768 совпадает с двоичным БЧХ-кодом с п=212—1 и конст- руктивным расстоянием 769 или 770, или ..., или 819, но отличается от двоичного БЧХ-кода с п=212—1 и конструктивным расстоянием 820. Это справедливо в общем случае, так как наименьшее сцепление длины т суперпоследовательностей для V необходимо является минимальным среди всех его собственных циклических сдвигов. Это наибольшее конструктивное расстояние называется расстоянием Б оу за. Двоичный БЧХ-код с блоковой длиной 212 — 1 и конструктив- ным расстоянием 768 отличается также от двоичного БЧХ-кода с блоковой длиной 212 — 1 с конструктивным расстоянием 767, поскольку двоичное представление числа 767 длины 12 является минимальным среди всех его циклических сдвигов. Это, однако, не выполняется в общем случае. Например, двоичный БЧХ-код с бло- ковой длиной 24—1 и конструктивным расстоянием 3 не отличается от двоичного БЧХ-кода с блоковой длиной 24—1 и конструктивным
12.3. Теоремы о числе последовательностей 291 расстоянием 2, так как двоичное представление О010 (длины 4) числа 2 не'является минимальным среди своих циклических сдвигов (минимальный среди сдвигов равен 0001). В общем случае нам необходимо определить число информа- ционных позиций личного БЧХ-кода с блоковой длиной п = qm — 1 и конструктивным расстоянием d = У Dtqm~\ Теоремы 12.23 и 12.35 дают решение этой задачи, если удастся найти последователь- ность V, которая больше всех своих собственных суффиксов и обла- дает тем свойством, что _ • (наименьшее сцепление длины т (<? 1) < (суперпоследовательностей для V Переход к дополнениям в этом условии* дает V>D> наибольшее сцепление длины т субпоследовательностей для V или _ ((наибольшее сцепление’ длины тп] 7>Z>* ((>—1)>< ‘ Л>Х, (субпоследовательностей для У) * 0J где X — наибольшая субпоследовательность для У. Можно пред- положить, что У не имеет нулей на конце и что длина У не превосхо- дит длины D. Так как X и У имеют одну и ту же длину, то X — префикс D. Так как У — наименьшая суперпоследовательность X, то задача отыскания У сводится к нахождению последовательности X, являю- щейся префиксом D. Решение этой задачи дается теоремой 12.38. 12.38. Теорема. Пусть X — кратчайший префикс D, такой, что D = X * F, F * (Q — 1) D * (Q — 1), и пусть У — наимень- шая суперпоследователъностъ для X. Тогда 12.381. У * (Q — 1) < D наименьшего сцепления длины т суперпоследователъностей для У. 12.382. У превосходит все свои собственные суффиксы. Доказательство 12.381. Так как X — префикс D и У — суперпоследовательность для X, то У — суперпоследовательность для D. Таким образом, У > D и У > D * (Q — 1). Дополнение’ дает неравенство У * (Q — 1) < D * 0, так что У * (Q - 1) < D. 19*
292 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах <------k------> . Пусть X(fc) = X * X * ... * X. Тогда неравенство F * (Q — 1) D * (Q — 1) эквивалентно неравенству Х<°) * F * (Q — 1) Х<х) » * F * (Q — 1). Следовательно, X * Х<°) * F * (Q — 1) X * Х<х) * * F ♦ ((? - 1) или Х<х) * F * (Q - 1) > Х<3) * F * (Q - 1). Исполь- зуя индукцию, получаем, что Х</г) * F * (Q — 1) X<fe+1) * F * * (Q — 1) и D * (Q — 1) ХС) * F * (Q — 1) для всех к. Так как это справедливо для произвольно большого к, то D * (Q — 1) X. Переходя к дополнениям, получаем, что D * 0 X любого бесконечного сцепления суперпоследовательностей для V. Следова- тельно, _ D {любое сцепление длины т суперпоследовательностей для Г}. Доказательство 12.382. Пусть X = Y * Z * L, где Y, Z — произвольные (возможно, пустые) последовательности и L — последняя цифра последовательности X. Тогда V = Y * Z * (L + 1), D = Y * Z * L * F, F * ((? - 1) > У * Z * Л * Е * ((? - 1) = X * Е * ((? - 1); X * F * ((? - 1) = Y * Z * L * F * (<? - 1) > Z * L * F * (Q — 1); другая последовательность Y была бы более коротким, чем X, префи- ксом, удовлетворяющим тем же самым условиям. Никакой собственный суффикс V не совпадает с V, так как суф- фикс должен быть короче. Если некоторый собственный префикс V, скажем Z * (L + 1) (Z, возможно,— пустая последовательность), превосходит V, то Z * (L + 1) > У * Z * (L + 1) > У * Z * L = X. Если Z * L > X, то Z * L * F * (Q — 1) > X * F * (Q — 1), что дает противоречие. Если Z * L — префикс для X, тоХ = Z * L * G и из неравенства X * F * (<? - 1) > Z * L * F * ((? - 1) выводим, что Z * L * G * F * (<? - 1) > Z * L * F * (Q - 1); G * F * ((? - 1) > F * (Q ~ 1) > X * F * ((? - 1).
12.4. Примеры 293 Теперь Z * L — префикс, более короткий, чем X, что приводит к противоречию. Таким образом, Z « (L ф 1) < У * Z * (L + 1) и, следовательно, V превосходит все свои собственные суффиксы. я *12.4. Примеры 12.41. Пример. Пусть q = 9, п = 728 = 93 — 1, d = 217. Тогда D = 261, D = 627, D * 8 = 627888..., X = 62, V = 63, V = 25. Расстиояние Боуза т Л) д-ичное десятичное 1 6 3 3 2 42 26 24 3 270 263 219 1) В этой и последующих таблицах для обо- значения J (qt V, т) используется единственная буква J. 12.42. Пример. Пусть q = 2, п = 511, d = 185. Тогда D = = 010111001, D = 101000110, ОН = 101000 110111111, X = = 101000, V = 101001, V = 010110. Суперпоследовательности: 010111, 011, 1. т J Расстояние Боуза Наименьшее конструк- тивное расстояние 1 1 1 1 2 1 11 11 3 4 он 011 4 5 0111 0111 5 6 01111 они 6 16 010111 010111 7 22 0101111 0101110 8 29 01011111 01011100 9 49 010111011 010111000 12.43. Пример. Пусть q = 2, п = 511 = 29 — 1, d = 187. Тогда D = 010111011. D = 101000100 = X, V = 101000101, V = = 010111010.
294 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах 771 J Расстояние Ьоуза 1 1 1 2 1 11 3 4 011 4 5 0111 5 6 01111 6 10 011011 7 22 0101111 8 29 01011111 9 49 010111011 Ответ согласуется с примером 12.42, хотя рекурсии различны. Это иллюстрирует тот факт, что хотя теорема 12.38 описывает один удовлетворительный метод отыскания V, но как показывают неко- торые примеры, результирующая последовательность V не опреде- ляется однозначно. Простейшее рекуррентное правило отталкивается от возможно кратчайшей последовательности, что соответствует наи- большей V или наименьшей последовательности D. Такая последо- вательность в общем случае может быть найдена путем максимально возможного уменьшения D. 12.44. Пример. Пусть п = 211 — 1, d = 411. Тогда D = = 00110011011. Можно было бы взять D — 11001100100 = X и дей- ствовать согласно рекуррентному правилу. Рассмотрим, однако, d = 410 и D = 00110011010. Так как эта последовательность D имеет циклический сдвиг, меньший чем она сама, то код не меняется. Но так как последовательности Ъ = 11001100101, X = 1100110010 не проще предыдущих, то продолжим процесс дальше. Отметим штрихом начальную точку наименьшего циклического сдвига. D 0011001101'0 00110011'001 00110011'000 0011'0010111 0011'0010110 0011'0010000 0011'0001111 0011'0000000 00101111111
12.4. Примеры 295 Так как последовательность 00101111111 не имеет циклических сдвигов, меньших чем она сама, то она определяет конструктивное расстояние, которое совпадает с расстоянием Боуза для отличного от исходного БЧХ-кода. Поэтому вместо первоначальных мы должны использовать D = 00110000000, D = 11001111111, X = = 1100, V =1101. Эта последовательность приведена в примере 12.37. Здесь J (2, 211—1, 411) = 485. Такая же последовательность V получается, если начинать с D = 00110011000 или любой последова- тельности £), такой, что 00110000000 <£> < 00110011000. 12.45. Пример. Пусть <7 = 2, n = 215— 1, £> = 001010010100111, 7=110101101011001, V = 001010010100110 D * 1 = 1101011010110001111..., X = 110101101011000. ТП J Расстояние Боуза 1 1 1 2 3 01 3 4 011 4 И ООН 5 16 00111 6 36 001011 7 61 0010101 8 115 00101011 9 211 001010011 10 378 0010100111 И 694 00101001011 12 1256 001010010101 13 2276 0010100101011 14 4112 00101001010111 15 7474 001010010100111 Хотя использованный сейчас грубый метод прямого вычисления приводит к правильному ответу, более легким оказывается окольный путь. Рассмотрим вместо D = 001010010100111 последовательность D = 001010010100101, X = 11010, V = 11011, ~7 = 00100. Это при- водит к множеству кодов (рассмотренных выше) со значительно более простой рекурсией. Код с D = 001010010100111 имеет на пять инфор- мационных позиций меньше, чем код с D = 001010010100101, в соответствии с пятью различными циклическими сдвигами после- довательности 001010010100101.
296 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах т J Расстояние Боуза 1 1 1 2 3 01 3 4 он 4 И ООН 5 21 00101 6 36 001011 7 64 0010101 8 115 00101011 9 211 001010011 10 383 0010100101 11 694 00101001011 12 1256 001010010101 13 2276 0010100101011 14 4126 00101001010011 15 7479 001010010100101 *12.5. Определение числа информационных символов в непримитив- ных БЧХ-кодах Хотя число информационных символов произвольного БЧХ-кода всегда может быть найдено в соответствии с леммой 12.12, во многих случаях счет удается значительно упростить путем сведения к задаче перечисления g-ичных последовательностей. Для примитивных БЧХ-кодов такая редукция дается теоремой 12.23 и позволяет при- менять все теоремы разд. 12.3. Аналогичный результат для неприми- тивных БЧХ-кодов дает теорема 12.51. 12.51. Теорема. Пусть заданы числа q, ntd,m — мультипли- кативный порядок q mod п, j = (qm — 1)/п, D — q-ичная последова- тельность, координаты которой совпадают с коэффициентами q-ичного представления числа jd = 2 V — последовательность, г определенная последовательностью D в соответствии с теоремой 12.38. Тогда число I (q, п, d) равно числу q-ичных последовательностей W длины т, одновременно удовлетворяющих двум условиям'. 1) W — сцепление субпоследователъностей для V, включая (воз- можно, пустую) окаймляющую субпоследовательностъ', 2) число w = 2 W;?1 делится на j. Доказательство. Согласно лемме 12.12, число I (q, п, d) равно числу целых г, таких, что 0 г п — 1 и ljqhJ < n + 1 — d для всех к. Умножив это неравенство на /, получим, что I (q, п, d)
12.5. Определение числа информационных символов 297 равно числу целых чисел w, кратных j и таких, что 0 w j (п — 1) и L_wqkJ < j (п + 1 — d) для всех к, где число теперь опре- деляется условиями: = wqk mod п и 0 LwfeJ ]п — 1. Так как между / (п — 1) и jn или между / (n + 1 — d) и j (п — d) нет чисел, кратных /, то последние два условия эквивалентны нера- венствам 0 ш /п — 1 = д”1 — 2 и < jn + 1 — jd = = qrn — jd. Так как g-ичное представление числа есть цикли- ческий сдвиг д-ичного представления числа w, то теорема 12.51 выте- кает из теорем 12.38, 12.33 и 12.34. а Для пересчета g-ичных последовательностей длины т, удовлетво- ряющих теореме 12.51, полезно ввести следующие обозначения: 12.52. Определение. Обозначим через КС) fa V, т, j) число q-ичных последовательностей длины т, являющихся сцеплением суб- последовательностей для V, которым соответствуют числа, сравни- мые с г mod /. Пусть F/Д (/) — число субпоследовательностей для V, сравнимых с г mod /. При фиксированных q, j и V теорема 12.53 дает рекурсивное пра- вило вычисления КС) fa F, т, j) для всех значений г при соответ- ствующих значениях т. Условимся, что все арифметические опера- ции над верхним индексом чисел К выполняются по модулю j. 12.53. Теорема О, если m<Z0, О, если т~0 и г=£0, 1, если т — 0 и г=0, КС) fa V, т, 7)= ’ ь ^^K^faV,m-k,j}V^'\j) в I к остальных случаях. Доказательство. При делении на / пустая последова- тельность длины 0 дает остаток 0. При т > 0 имеется Vkx> (j) спо- собов выбора такой последней субпоследовательности в сцеплении, что ее длина равна к, а остаток при делении на j равен х. Предшест- вующий ей (т — А:)-мерный вектор является сцеплением субпосле- довательностей для V. Если это сцепление длины т — к имеет оста- ток I, то сцепление длины т имеет остаток qkl -|- х, который равен г тогда и только тогда, когда х = г — q I. а 12.54. Теорема. В предположениях теорем 12.51 и 12.53 и в обозначениях определения 12.52 имеет место равенство I fa п,О) = ^Ъ кК<" fa V, т—к, j) (/). I k
298 Гл. 12, Нахождение числа информационных символов в БЧХ-кодах Доказательство. Так как j | qm — 1, то делимость д-ич- ной последовательности длины т на j не зависит от фазы ее окайм- ляющей (или конечной) субпоследовательности. Поэтому теоре- ма 12.54 вытекает из теоремы 12.53 и того факта, что каждая данная окаймляющая (или конечная) субпоследовательность длины к имеет к возможных фаз. g При малых / теоремы 12.51, 12.53 и 12.54 и определение 12.52 дают простой метод вычисления I (q, (qm — i)/j, d). Для больших j такое вычисление требует уже больших усилий. 12.55. Пример. Сколько информационных символов имеет БЧХ-код с блоковой длиной 1365 и конструктивным расстоянием 260? Решение. п= 1365; ш = 12; j = 3; 3 X 260 = 001100001100 (в двоичной записи), так что D — 001100001100, D = 110011110011, X = 1100, V = 1101. Субпоследовательностями для V являются 0, 10, 1100, так что У)0’ (3) = (3) = (3) = 1; в остальных слу- чаях (3) = 0. Выпишем Vk~2 (3) в виде таблиц: г = 0 г = 1 г= 2 4 1 0 0 4 0 1 0 4 0 0 1 3 0 0 0 3 0 0 0 3 0 0 0 2 0 1 0 2 0 0 1 2 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 W / 1 0 1 2 h 1 0 1 2 h 1 0 1 2 Теперь можно вычислить 7С('>^(2, 1101 3): т, 0 1 2 6 7 5 6 7 И 10 10 8 18 18 19 9 32 32 32 10 57 56 56 11 100 98 98 1365, 260)= 100 + 2 х 56 + 4 х Согласно теореме 12.54, I (2, X 18 = 284. Для определения расстояния Боуза для этого кода найдем наи- меньшее сцепление длины т суперпоследовательностей для V, раз-
12.6. Асимптотические результаты 299 делим соответствующее число на j и произведем округление. В дан- ном примере V = 0010. Наименьшим сцеплением длины 12 ее супер- последовательностей является последовательность 001100110011, рав- ная 3 X 273, так что расстояние Боуза равно 273. 12.6. Асимптотические результаты Определим нумератор J (q, U; z) — 2 J (Q, U, т) zm, m=l и сопоставим заданной последовательности V, превосходящей все свои собственные суффиксы, ряд r(z) = 2n?. k Тогда zV' (z) = ^kVkz\ k Рекуррентное соотношение J (q, V, m) =rnVm+ 2 VbJ (q, V, m — k) k= i приводит к уравнению J (q, V; z) = zV (z) + V (z) J (q, V; z), откуда (12-61) J{q,Viz) = -^^y Пусть px, p2, . . .— (не обязательно различные) комплексные корни многочлена 1 — V (z). Тогда 1-F(z) = n(l-P.z), г -V' (z)= — 2р/ II (1-PjZ), I ОО оо ^=2-^-2 2 (М"= 2 2р"2"- г г тп=1 тп—1 г Следовательно, /(?, 7;г)= 2 2рГЛ тп=1 г
300 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах что доказывает такую теорему: 12.62. Теорема. J(q, V, 7п) = ЗрГ, г где рг — комплексные числа, определенные уравнением 1-Т(2)=-П(1-М- Эта теорема дает точное выражение для J (q, V, пг), но оно зави- сит от комплексных чисел рг. Для конечных значений пг вычислять J (q, V, т) обычно легче по рекуррентному соотношению теоре- мы 12.35, так как эти вычисления относятся только к целым числам. Однако полученное уравнение очень полезно для получения асимп- тотических результатов. 12.63. Определение. Пусть р = тах| рг | и s = loggp. г Так как все коэффициенты многочлена V (z) неотрицательные числа, не превосходящие q — 1, то легко видеть, что числа р, с макси- мальным модулем вещественны и положительны и 1 р j. Ясно, что для больших пг J (q, V, т) ~ рт в том смысле, что lira p-’nJ(g, V, т)= 1. m-yoo Аналогично, logg J (q, V, m) ~ m logg p = ms. Если oo u= 2 i=i и где V превосходит все свои собственные суффиксы и X — макси- мальная подпоследовательность V, то I (q, qm - 1, uqm) ~ qms.
12.6. Асимптотические результаты 301 Другими словами, если фиксировать отношение din = и и считать п и d быстрорастущими, то I ~ 71s, или, более точно, (12.64) . . logq I (?, qm — 1, uqm) s (и) = lim ------------------------ m->oo m Для данного q функция s (и) является довольно сложной. Для того чтобы ее найти, надо сначала написать g-ичное представление числа и. Если U превосходит все свои собственные суффиксы, то полагаем V = U; в противном случае полагаем U = X * F, где X — наименьший префикс, для которого U F. В качестве V выби- рается затем наименьшая суперпоследовательность для X, a s опре- деляется как логарифм (по основанию q) максимального взаимного корня многочлена 1 — V (z). Пример функции s (и) для q — 2 приведен на рисунке 12.1. Рис. 12.1. График поведения s (и) как функции от и.
302 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах Легко показать, что s (и) — непрерывная монотонно невозрастаю- щая функция от и. Нетрудно также показать, что производная от $ по нв каждой точке либо равна 0, либо не определена; при этом имеют- ся точки неопределенности s' (н) двух видов. Во-первых, концы интервалов, на которых s («) постоянна. Точка и — левый конец такого интервала тогда и только тогда, когда U — конечная после- довательность, превосходящая все свои собственные суффиксы; и — правый конец такого интервала тогда и только тогда, когда U — периодическая последовательность, равная некоторому своему суффиксу, но меньшая, чем все остальные суффиксы. В указанных концах интервалов s («) не определена потому, что s (и) имеет произ- водную только слева или только справа. Число точек такого типа счетно. Более интересными представляются точки, в которых s (к) не имеет ни левой, ни правой производной. Это имеет место тогда и только тогда, когда U — бесконечная последовательность, пре- восходящая все свои собственные суффиксы, и 0 не является суффик- сом и. Множество точек и, в которых функция s (и) не дифференцируема, несчетно, но имеет меру 0. Питчер [1966] доказал также, что это мно- жество имеет размерность по Хаусдорфу 1. Это обусловливается большой плотностью множества этих точек в окрестности точки и — 0. В общем случае можно высказать гипотезу, согласно которой размерность по Хаусдорфу множества точек на интервале а и Ь, [где s(a)#=s (b)] равна s (а). В некотором смысле представляется справедливым, что множество точек недифферен- цируемости функции s (и) в любом интервале сосредоточено вблизи левого конца этого интервала. Для частного случая и —q~h изложенные выше результаты впер- вые были получены Манном. Он также показал, что р — единствен- ный взаимный корень многочлена 1 — V (z), модуль которого боль- ше 1. Таким образом, не только I ~ Рт, но для достаточно больших т I = <рт>, где {х) означает ближайшее целое к х. К сожалению, зтот более сильный результат не имеет места в общем случае. Для некоторых значений и многочлен 1 — V (z) имеет только один взаимный корень с модулем, большим единицы, а для других значений и многочлен 1 — V (z) имеет много таких взаимных корней. Мало также известно о том, какими функциями от и являются комплексные корни много- члена 1 — V (z) с меньшими модулями, хотя в этом направлении Логан [1967] получил некоторые предварительные неопубликован- ные результаты.
12.1. Истинные расстояния 303 *12.7. Истинные расстояния Если увеличивать конструктивное расстояние, то число инфор- мационных символов кода либо остается постоянным, либо умень- шается. Поэтому справедливо утверждение: 12.71. Т е о р е м a. I (q, п, d) равно максимальному числу инфор- мационных символов во всех БЧХ-кобШ с конструктивным расстоя- нием * ~^d. Будем отличать величину I от величины I, определенной следую- щим образом: 12.72. Определение. I (q, п, d) — максимальное число информационных символов для всех g-ичных БЧХ-кодов с истинным расстоянием ^d. Очевидно, I (q, п, d) I (q, п, d). Б[апример, есть три двоичных БЧХ-кода с блоковой длиной 23 и соответственно с 23, 12 и 1 информационными символами. Читателю нетрудно проверить, что 23, если d=l; Z(2, 23, d) = < 12, если 2<Jd<;5; , 1, если 6cd^23. В разд. 15 2 будет показано, что 1(2, 23, d) = < 23, если d= 1; 12, если 2<d<7; 1, если g<;d<;23. Следовательно, I (2, 23, 7) > I (2, 23, 7). Случаев, когда I (q, п, d) > I (q, п, d), известно сравнительно немного. Базами, Лин и Питерсон [1966] высказали гипотезу о том, что I (2, 2т — 1, d) = I (2, 2т — 1, d) для всех т и d, и доказали ее для некоторых частных случаев. Хотя^в общем случае эта гипотеза остается гипотезой, можно получить некоторые результаты об асимп- тотическом поведении функции I (2, 2т — 1, и2т), отталкиваясь от известных частных случаев, когда I (2, 2т — 1, d) = I (2, 2т — — 1, d). Удобно было бы положить ТП—^7 но, к сожалению, у нас нет никакой уверенности в существовании этого предела. Поэтому для того, чтобы иметь возможность рассмо-
304 Гл. 12. Нахождение числа информационных символов в БЧХ-кодах треть асимптотическое поведение лучших БЧХ-кодов, используем следующее определение: (12.73) тп—krv-i Очевидно, что s (u) s (н). Подобно s (п), функция s (и) — невоз- растающая функция от и, так как при d' > d кодовые слова д-ичного БЧХ-кода с расстоянием d' образуют подмножество кодовых слов #-ичного БЧХ-кода с расстоянием d. Мы докажем, что s (u) = s (и) для некоторых значений и, указан- ных в теореме 12.74. 12.74. Теорема. Если и 2~\ то s (и) s (2'h). Доказательство. Пусть и 2~\ Согласно следствию 11.63, для любого т к 1(2, 2т~\ и2т)^Ц2, 2т-1, 2m-ft-l) = /(2, 2m-l, 2m-ft-l). Следовательно, log / (2, 2m-l, u2m) < log/(2, 2m —1, 2m-k~i) m m ’ так что в силу непрерывности функции s(u) log / (2, 2m-l, 2m~k~i) ,9_ь s(u)^ lim -5-3-------------->- = s (2 *). e m->oo ' Это показывает, что s (и) == s (и), если и = 1/2, 1/4, 1/8, .... Используя теоремы 11.66 и 13.12, можно также доказать, что s (и) = = s (и) для различных других значений и. Представляется верной гипотеза о том, что s (и) — s (и) для всех и. Эта гипотеза является ослаблением предположения Питерсона о том, что I (2, 2т — 1, d) = = I (2, 2т — 1, d) для всех т и d. Согласно равенству (12.73), примитивный БЧХ-код с большой блоковой длиной п и конструктивным расстоянием d = ип имеет приблизительно ras(u> информационных символов. Скорость передачи для этого кода приблизительно равна Так как s (и) < 1 для всех и > 0, то при фиксированном и = d/n скорость передачи для длинных БЧХ-кодов стремится к 0 при п -> оо. Аналогично для длинных примитивных БЧХ-кодов с истинным расстоянием ип скорость передачи стремится к 0 как гаТ<“)-Ч. Хотя функция s (и) и не известна, согласно теореме 12.74, s (и) <; 1 для всех и 2> 0. В гл. 13 будет показано, что «оптимальные» блоковые коды с боль- шой блоковой длиной асимптотически намного лучше, чем примитив-
Задачи 305 ные БЧХ-коды с большой блоковой длиной. Скорость R (и) лучших блоковых кодов с большой длиной и истинным расстоянием ип не зависит от га. Хотя соотношение между R nd/гав общем случае не известно, эти величины могут быть описаны с помощью различных границ, которые будут выведены в гл. 13. Задачи 12.1. Показать, что результаты разд. 12.5 совпадают с результатами разд. 12.3, если j = 1. 12.2. Для каждой из приводимых ниже пар блоковых длин и конструктив- ных расстояний вычислить число информационных символов в двоичном БЧХ-коде любым из подходящих способов. Для каждого из этих кодов вычис- лить также расстояние Боуза. (а) п = 511, d = 65, (Ь) п = 511, d = 88, (с) п — 1365, d = 200, (d) п = 341, d = 50, (е) п = 13107, d = 2180, (f) п = 819, d = 137, (g) га = 79, d = 11. 12.3 (Манн [1962]). Пусть V (z) ирг определены так же, как в разд. 12.6. Показать, что если и = q~h, то существует единственное число р;, модуль кото- рого больше 1. 12.4. Графически показать примерное поведение logg/(g, qm— 1, uqm) hm --------------------- m->oo m как функции от и для q = 3, 4, 5. 12.5. При q =2 исследовать верхние границы для s (и). Начертить пример- ный график наиболее точной из границ, которую удастся получить. (Использо- вать теоремы 12.74 и 11.66.) 20—658
Глава 13 Скорость передачи информации для оптимальных кодов 13.1. Граница сферической упаковки Хэминга — Рао для больших скоростей Как метрика Хэмминга, так и метрика Ли определяют расстояния между точками в n-мерном пространстве слов над алфавитом из q букв. В любой из этих метрик шар радиуса t с центром С опреде- ляется как множество всех точек, расстояние от которых до точки С не превосходит t. Поверхность этого шара {сфера радиуса t) — мно- жество точек, расстояние которых до центра С равно точно t; число точек на сфере обозначается через Л<п). По определению число точек, принадлежащих шару, называется объемом Vtn> шара. Ясно, что Vtn> = У, АгП). Пусть А(п> (z) = ^АгП)гг. Так как расстояние является аддитивной функцией на множестве координат, то произ- водящая функция А(п) (z) на множестве координат мультипликатив- на и поэтому А(п) (z) = [Л(1) (z)]n. Значит, в метрике Хэмминга А(п) (z) = [1 + (q - 1) z]n, а в метрике Ли (n) J (1 + 2z 4-2z2 + ... если q нечетно; [ (1 + 2z -~2z24 .. . J-2z(«~2E24-z?/2)n, если q четно. В любом случае можно определить А^ с помощью разложения Л(п) (z) в степенной ряд по z. Для метрики Хэмминга Л(т1) (z) — п = [1 + (q — 1) z]n = ( nt) (Ч — так что ^(П)= ( ”) (9 — 1)'. <=о Для метрики Ли аналогичная формула имеет значительно более сложный вид. Если расстояние между любыми двумя кодовыми словами ^2< -J- 1, то любая точка находится на расстоянии не более чем от одной кодовой точки. Если Д — скорость передачи кода, то он содержит qRn кодовых слов. Все сферы радиуса с центрами в кодо- вых словах не пересекаются. Следовательно, qRnVin) qn, или (13.11)
13.1. Граница сферической упаковки Хэмминга — Рао 307 Неравенство (13.11) называется границей по объему или границей сферической упаковки. Это неравенство появилось в работе Рао [1947] по экспериментальным конструкциям. К кодам с исправлением оши- бок его впервые применил Хэмминг [1950]. Одним из приложений границы сферической упаковки является теорема 13.12, согласно которой двоичный БЧХ-код с большой ско- ростью передачи не хуже любого другого кода с той же скоростью и той же блоковой длиной. 13.12. Теорема. Если , (f~Tl) (* + 2) т (q—1)«+1 2 ’ то любой код с блоковой длиной qm—l и скоростью R~^ 1 — ~ содержит кодовые слова с весом Хэмминга ^.2t-\-2. Доказательство. Мы утверждаем, что > > Единственной нетривиальной частью этого утвер- ждения является неравенство gm;. Так как то At+l (<-]-1)! _ 1) (gm_2) (g™—3) ... (g”*~ <—1) _ (g—1/+1дш Qmi 1 1 ” qm П (i - ^m) > (1 - 2 “T”) = i=i i=i > (согласно предположению теоремы 13.12). Следовательно, > qml, так что и теорема 13.12 вытекает из нера- венства (13.11). в Иногда бывает полезной другая форма неравенства (13.11) При фиксированном Р = t/п для больших п это дает (13.14) где (13.15) Я<С(Р), С(Р) = 1 —lim 10ggV^ П-+оо п 20*
308 Гл. 13. Скорость передачи информации для оптимальных кодов Для вычисления этого предела необходимо получить асимптоти- чески точную оценку величины Одну из таких оценок дает лемма 13.16, которая является модификацией более общих границ Чернова [1952] и Феллера [1943]. 13.16. Лемма. Если Л(п) (z) = [1 + (9- 1) z]n = J А<п)гг, Vf(n) = i=0 t — S и к (я— mo i—0 min ——< V;n)^min z_M(n) (z). 05^1 n + ] o^i ' Эскиз доказательства. Для произвольного z, 0<z^l, имеем V(tn) = 2 A< 3 A^z^^z^ 2 4n)z‘ <z'M'n)z. Мы утверждаем, что существуют такие значения z, что (13.161) A(tn)zl > A[n)zl для всех i+=t. Если соотношение (13.161) выполняется, то 4{п)г;>Лг(1'12^1 и A^zt>A(^1zi+1, так что (13.162) А^\ Л(п) • Так как А^/А^—монотонно неубывающая функция от i для 0<i < (?—1)/г/д, то найдутся значения z, удовлетворяющие (13.162), а из (13.162) вытекает (13.161). Следовательно, существует некоторое значение z, скажем z, для которого Л(п)(г)= ЗД(П)?^ 3 Л^п)? = (ге+1)4'п)?, г=0 1=0 и тогда min z-tA^(z) г-М<п’ (I) п+1 < п+1 Значение z, минимизирующее выражения z~Pn [ 1 ф- (q—1) z]n и z~p[l + (q—1) z], обращает в нуль производную - Pz~p~1 [ 1 + (9 -1) z]+ z~p (g - 1) = 0. Отсюда z ~ (1-P) (q-1) и Л(П’ <г>-( l-p) •
13.1. Граница сферической упаковки Хэмминга — Рао 309 Подставив эти выражения в формулы леммы 13.16, получим [(д—1)р Р~р(1—Р)(1~р)]п «4-1 < [(?- 1)Р Р~Р (1 - Р)~(1-р’]п- При этом уравнение (13.15) принимает вид (13.17) С (Р) = 1 - Р logq (q - 1) + Р log. Р + + (1 - Р) ^ogq (1 - Р). Рис. 13.2. Асимптотические границы корректирующей способности для двоич- ного симметричного канала без обратной связи. Если положить q = 2, то читатель, знакомый с теорией информа- ции, узнает в этом выражении для С (Р) пропускную способность двоичного симметричного канала, показанного на рис. 13.1.
310 Гл. 13. Скорость передачи информации для оптимальных кодов Используя аналогичные методы, можно получить асимптотиче- ские формулы для границы сферической упаковки в случае метрики Ли. Однако в этом случае вычисления и конечные результаты являют- ся значительно более сложными. В некоторых приложениях желательно выразить границу (13.14) не через R, а через t/n. Такое выражение можно получить, если ввести величину 6 (7?) — наименьшее решение уравнения (13.18) R = С (б (/?)). Тогда соотношение (13.14) запишется в виде (13.19) и-™ где d = 2t 4- 1 — наименьшее из расстояний между кодовыми сло- вами. Неравенства (13.19) дают асимптотические формулы для гра- ницы сферической упаковки. В случае двоичного симметричного канала, представленного на рис. 13.1, функции б (Л) соответствует верхняя кривая, изображенная на рис. 13.2. *13.2. Совершенные коды Получив некоторую границу, естественно попытаться найти слу- чаи, когда эта граница достигается. Коды, для которых в границе сферической упаковки (13.11) достигается равенство, называются совершенными или плотно упакованными. Двоичный код с повторениями при нечетной блоковой длине п исправляет вплоть до (га — 1)/2 ошибок. Для t = (га — 1)/2 и R = 1,'ге (п-1)/2 имеем Vt(n) = — 2n-1 = 2П(1-Й). Таким образом, двоич- i=0 ный код с повторениями и нечетной блоковой длиной является совер- шенным. Как будет показано в разд. 13.6, все другие совершенные коды должны иметь либо большую скорость передачи, либо малую блоковую длину. Теорема 13.21 описывает бесконечный класс совер- шенных кодов с большой скоростью и малой корректирующей спо- собностью (t = 1); теорема 13.25 описывает бесконечный класс совер- шенных кодов в метрике Ли с малой блоковой длиной (и = 2) и про- извольной корректирующей способностью. Многие из кодов, указанных в теореме 13.21, представляют собой множество многочленов, кратных порождающему многочлену g (х) mod (хп — j), где § £ GF (q). Если (Со, Clt . . ., Cn_J — кодо- вое слово такого кода, то его констациклический сдвиг (£СП_17 Со, Сг, . . ., Сп_2) также принадлежит коду. Поэтому мы будем такие коды называть констациклическими. Класс констацикличе- ских кодов содержит в качестве собственных подклассов класс цикли- ческих кодов и класс негациклических кодов.
13.2. Совершенные ходы 311 13.21. Т е о р е м а. В метрике Хэмминга совершенный система- тический х) код с исправлением одной ошибки и блоковой длиной п над алфавитом из q букв существует тогда и только тогда, когда (13-22) = для некоторого числа г. Если q — степень простого числа и п удовлетворяет равенству (13.22), то в метрике Хэмминга существует совершенный линейный констациклический код * 2), исправляющий одну ошибку. Циклический совершенный код, исправляющий одну ошибку в метрике Хэмминга, существует тогда и только тогда, когда имеет место равенство (13.22) и (п, q — 1) = 1. Если q Z> 2, то совершенный код, исправляющий одну ошибку в метрике Ли, существует только тогда, когда для некоторого числа г Если q — любое нечетное число и блоковая длина п удовлетворяет равенству (13.23), то в метрике Ли существует совершенный код, исправляющий одну ошибку, линейный над кольцом классов вычетов по mod q. Если qlnpocmoe, то этот код является негациклическим. Доказательство. Так как в метрике Хэмминга Fin) = = 1 4* (q — 1) тг, то число кодовых слов совершенного кода, исправ- ляющего одну ошибку, равно 4 1 + (9-1)п- Так как Rn — целое число, то число 1 + (д — 1) и — степень q и п удовлетворяет равенству (13.22). В метрике Ли V{n> = 1 -j- 2га и, значит, число кодовых слов совершенного кода, исправляющего одну ошибку, равно лП 0Rn _ __2-. 7 1 + 2п Так как Rn — целое число, то число 1 Ч- 2га — степень числа q и га удовлетворяет уравнению (13.23). Существование совершенных нега- циклических кодов с блоковой длиной га, исправляющих одну ошиб- ку, для нечетного простого q гарантируется теоремой 9.34. х) Код называется систематическим, если его символы разделяются на информационные и проверочные. Над конечными полями все линейные и неко- торые нелинейные коды [см. (13.83)] являются систематическими. Если g про- стое, то длина несистематического совершенного кода также удовлетворяет условиям (13.22) или (13.23). 2) Эти коды были построены Голеем [1949, 1954, 1958], Зарембой [1952] и Коком [1959].
312 Гл. 13. Скорость передачи информации для оптимальных кодов Если q — составное нечетное число, то qr — 1 ненулевых г-мер- ных последовательностей над кольцом классов вычетов по mod q можно разбить на (qr — 1)/2 подмножеств, каждое из которых содержит векторы вида (а1; а2, . . ., аг) и (—а1; —а2, . . ., —аг). Если в качестве столбцов проверочной матрицы выбрать по одно- му представителю из этих (qr — 1)/2 множеств, то получим в метри- ке Ли линейный совершенный код с блоковой длиной п = (qr — 1)/2 и скоростью передачи (п — г)/п, исправляющий одну ошибку. Покажем теперь, что если q — степень простого числа, то над GF (q) для чисел п вида (13.22) существует линейный совершенный код с блоковой длиной п, исправляющий одну ошибку в метрике Хэмминга. Пусть а — примитивный элемент поля GF (qr), и пусть код задается проверочной матрицей (13.24) <$? = [!, а, а2, а3, ...,а”-1]. Любой ненулевой синдром может быть записан в виде а3 = а,ап+\ где 0 а <<? — 1 и 0^6<п. Так как ап £ GF (q), то этот син- дром, очевидно, соответствует одной ошибке величины аап с лока- тором аь. При q = 2 этот совершенный код с исправлением одной ошибки является циклическим примитивным двоичным БЧХ-кодом. Однако, при q 2 он уже не циклический, так как ап 1, а констацикли- ческий и его кодовые слова — многочлены некоторого идеала в коль- це многочленов по mod (хп — ап). Если (n, q — 1) = 1, то над полем GF (q) в метрике Хэмминга существует циклический совершенный код с блоковой длиной п, исправляющий одну ошибку. В качестве корней порождающего многочлена этого кода могут быть выбраны элементы 0, 0е 0^2 , . . ., 0^ , где 0 Е GF (qr) и 0 — примитивный корень п-й сте- пени из единицы. В этом случае мы получим БЧХ-код с конструк- тивным расстоянием Хэмминга 2. Однако можно положить 0 = а3, где а — другой примитивный корень п-й степени из единицы, a j — решение сравнения (q — 1)У = 1 mod п. Тогда 0 = а3, 09 = а3+1, ... и среди корней порождающего многочлена имеются две последова- тельные степени элемента а. При этом возникает БЧХ-код общего вида с расстоянием Хэмминга 3, согласно разд. 10.3. Если н. о. д. (n, q — 1) = j 1, то над полем GF (q) в метрике Хэмминга никакой совершенный код с блоковой длиной п, исправ- ляющий одну ошибку, не может быть циклическим. Порождающий многочлен такого кода должен быть неприводимым делителем много- з члена хп — 1. Но хп — 1 = Q (хп^ — гДе а —при- г=0 митивный элемент поля GF (q). Следовательно, любой неприводи- мый делитель многочлена хп — 1 имеет делитель степени n/j, вес Хэмминга которого равен 2. ।
13.2. Совершенные коды 313 Известны также и другие классы совершенных кодов с исправле- нием одной ошибки. Васильев [1962] и Шёнгейм [1968] построили много систематических нелинейных совершенных кодов, исправляю- щих одну ошибку. Ллойд [1957] и Рус [1965] показали, что если существуют некоторые другие нелинейные совершенные коды, то они также должны иметь определенную алгебраическую структуру. Представляется также возможным существование совершенных ко- дов с метрикой Хэмминга, исправляющих одну ошибку над алфави- том, порядок которого не есть степень простого числа. В настоящее время не известно ни одного примера таких кодов. Голомб и Поз- нер [1964] показали, что при q = 6 и п = 7 в метрике Хэмминга нет ни одного кода, исправляющего одиночные ошибки. Часть своего доказательства они приписывают Р. Блоку и М. Холлу. Теорема 13.25 доказывает существование коротких совершенных кодов над алфавитом составного порядка, исправляющих несколько ошибок в метрике Ли. 13.25. Теорема. Для любого натурального t над кольцом классов вычетов mod q = 2t2 + 2t + 1 в метрике Ли существует совершенный код с блоковой длиной п = 2, исправляющий t ошибок. Этот код является негациклическим и порождается многочленом g (х) = х + (2t + 1). Доказательство. Как видно из рис. 13.3, множество векторов ошибок [£о, ^il, Для которых | Ео | + | Ех | t, может f быть разбито на пять классов: класс 1: Ео 0, Ег > 0; класс 2: Ео <0, 0;
314 Гл. 13. Скорость передачи информации для оптимальных кодов класс 3: Ео < 0, < О; класс 4: Ео >0, Ех 0; класс 5: Ео = Ех = 0. Число векторов ошибок в каждом из классов 1, 2, 3 и 4 равно t 2 i = t (t + l)/2, так что общее число векторов ошибок с весом ! = 0 Ли t равно У/2) = 1 + 4i (t + 1)/2 = q. Следовательно, любой код длины п = 2 над кольцом вычетов mod q = 2t2 + 2t + 1, исправляющий t ошибок в метрике Ли, является совершенным. Покажем теперь, что минимальный вес для пегациклического кода с порождающим многочленом g (х) — х + (2< -j- 1) и h (х) = = х — (2t + 1) равен 2t 1. Действительно, пусть [Со, CJ — ненулевое кодовое слово веса 2t. Предположим, что Сх — коорди- ната с меньшим модулем (в противном случае можно было бы рас- смотреть негациклический сдвиг [—Сь Со]) исходного слова. Если I Со | + I (\ | 2t и | С11^| Со |, то | Сг так что | С} | = t — а, где 0^ а<С Так как С (х) кратен g (х), то Со = (2t 1) G mod q. Так как (2t + 1) (i — d) = q — (2a + 1) t — a — 1, то либо | Co | > 2t 4-1 и | Co | + | Cj | > 2t + 1. либо | Co | = (2a + 1) t + a + + 1 и | Co | + | Cj |= (2a + 2) t + 1 2t + 1, причем равенство достигается тогда и только тогда, когда а = 0. Следовательно, минимальный вес любого ненулевого кодового слова равен 2t1. Он достигается на словах [— (t 1), i], [(i -4- 1), — /] и их нега- циклических сдвигах. в 13.26. Следствие. Если число 2t2 2t + 1 делит q, то над алфавитом вычетов mod q в метрике Ли существует совершенный код длины п = 2, исправляющий t ошибок. Доказательство. Пусть q = k (2t2 + 2t + 1). В качест- ве кода можно взять множество из к2 (2t2 + 2t + 1) слов вида [Со + i (2t2 + 2t + 1), С1 + у (2t2 + 2t + 1)], где 0 i <^k, 0 j <Z к и С = [Co, Cj] — слово совершенного кода над кольцом вычетов mod (2t2 ф- 2t-\-1), исправляющего t ошибок в метрике Ли. в Теорема 13.25 гарантирует существование совершенных линей- ных кодов в метрике Ли над некоторыми кольцами чисел, не являю- щимися полями. Хорошие линейные коды над такими алфавитами весьма исключительны. Например, Леви [1964] показал, что лучшие из длинных линейных кодов над некоторыми алфавитами, не являю- щимися полями, обеспечивают минимальное расстояние, лежащее существенно ниже известных нижних границ (теорема 13.71) для нелинейных кодов над такими алфавитами. На рис. 13.4 дается геометрическая интерпретация совершенного кода длины 2 над кольцом вычетов mod 25, исправляющего 3 ошибки в метрике Ли. 25 кодовых слов обозначены жирными буквами А,
24 А А А D Н Н Н Н И Н Н L 0 0 0 0 0 S S S V V V А А 23 А А D D D Н Н н н Н К 0 0 0 0 0 0 0 S V V V V V А 22 А D D D D D Н н н К К К 0 0 0 0 0 R V V V V V V V 21 D D D D D D D и к к К К К 0 0 0 R R R V V V V V Y 20 Y D D D D D G к к к К К К К 0 R R R R R V V V Y Y 19 Y Y D D D G G G к к к к К N R R R R R R R V Y Y Y 18 Y Y Y D G G G G G к к к N N N R R R R R и Y Y Y Y 17 Y Y С G G G G G G G к N N N N N R R R и и и Y Y Y 16 Y С С С G G G G G J N N N N N N N R и и и и и Y Y 15 С С С С С G G G J J J N N N N N Q и и и и и и и Y 14 С С С С С С G J J J J J N N N Q Q Q и и и и и X С 13 С С С С С F J J J J J J J N Q Q Q Q Q и и и X X X 12 X С с С F F F J J J J J М Q Q Q Q Q Q Q и X X X X 11 X X с F F F F F J J J М М М Q Q Q Q Q т X X X X X 10 X В F F F F F F Г J м м м М М Q Q Q т т т X X X X 9 в В В F F F F F I м м м м м М м Q Т Т т т т X X X Л 8 в В В В F F F I I I м м м м М р т т Т т т т т X В 7 в В В В В F I I I I I м м м Р р Р Т т т т т W в В 6 в В В В Е I I I I т I I м р Р р Р Р т т т W W W В 5 в В В Е Е Е I I I I I L р р Р р Р Р р т W W W W W 4 W В Е Е Е Е Е I I I L L L р Р р р Р S W W W W W W 3 А Е Е Е Е Е Е Е I L L L L L Р р Р S S S W W W W W 2 А А Е Е Е Е Е И L L L L L L L р S S S S S W W W А 1 А А А Е Е Е Н И И L L L L L 0 S S S S S S S W А А 0 А А А А Е Н И И Н И L L L 0 0 0 S S S S S V А А А 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Рис. 13.4. Геометрическое представление совершенного негациклического кода в метрике Ли; п — 2, q = 25, t = 3.
316 Гл. 13. Скорость передачи информации для оптимальных кодов В, С, . . V (Например, А = [О, О], J = [9, 13].) Буква в каждой из 625 клеток таблицы соответствует тому слову, которое должен выбирать декодер, исходя из полученного слова. Например, если получено слово [11,7], то декодер декодирует его как М, так как слово М = [12,9] является к нему ближайшим. Аналогично, получен- ное слово [0,4] будет декодировано как [—3,4] = [22,4] = W. Верхняя строка на рис. 13.4 является соседней с нижней, а ле- вый столбец — соседним с правым: пространство, изображенное на рис. 13.4, топологически эквивалентно тору. С этой точки зрения задача конструирования совершенных кодов в метрике Ли экви- валентна задаче сферической упаковки тора. Рис. 13.4 иллюстри- рует упаковку тора размерами 25 X 25 25 двумерными сферами радиуса 3. Голомб и Велч [1968] показали, что эта задача является частным случаем более общей задачи об упаковке (polyomino-packing problem). Они высказали гипотезу, что при i>l,n>2Hg,>3He существует совершенных кодов в метрике Ли, и доказали несколько частных случаев этого предположения. Помимо двоичных кодов с повторением известны только два совершенных кода с / > 1 и тг > 2 — так называемые коды Голея. Оба они являются циклическими. Двоичный код Голея имеет бло- ковую длину 23, скорость передачи 12/23 и совпадает с БЧХ-кодом, исправляющим две ошибки, рассмотренным в примере 5.6. БЧХ- конструкция этого кода гарантирует, что минимальное расстояние этого кода 5. Однако истинное минимальное расстояние кода равно 7. Он является совершенным и исправляет три ошибки. Троич- ный код Голея имеет блоковую длину 11, скорость 6/11. Это совер- шенный код с исправлением двух ошибок. Оба кода Голея принадле- жат к кодам, построенным с помощью квадратичных вычетов, кото- рые мы будем рассматривать в разд. 15.2. Другие совершенные коды не известны. Числа п и i, для которых V\n> делит qm, редки. Но даже для таких чисел может не существо- вать совершенных кодов. Например, в двоичном случае У2в0, = 212. Однако Голей [1949], Кохен [1964]иЭлтер [1968] доказали, что для q = 2, 3, 4, 5, 7 и 9 троичный код Голея является единственным нетривиальным совершенным кодом, исправляющим две ошибки. Для линейного совершенного кода с исправлением t ошибок каждое слово веса t должно быть лидером смежного класса и каждый лидер смежного класса должен иметь вес t. Если каждое слово веса t является лидером смежного класса и вес каждого лидера смежного класса £ -г 1, то код называется квазисо вершенным. Двоичных квазисовершенных кодов оказалось значительно больше, чем двоичных совершенных кодов. Горенстейн, Питерсон и Цирлер [1960] показали, что все двоичные примитивные БЧХ-коды с исправлением двух ошибок являются квазисовершен- ными, а Вагнер [1966, 1967] построил несколько нециклических
13.3. Границы d п -f- 1 — к 317 квазисовершенных двоичных кодов. Как будет показано в разд. 13.6, очень длинные коды могут быть квазисовершенными только тогда, когда их скорость передачи очень велика. *13.3. Границы d п + 1 — fc Как было показано в разд. 1.2, каждый линейный код с длиной п и размерностью к может быть задан с помощью проверочной матри- цы с п столбцами и п— к линейно независимыми строками. Если к этой матрице дописать к — 1 дополнительных строк, представляю- щих собой n-мерные единичные векторы, то получится проверочная матрица некоторого подкода исходного кода. Этот линейный подкод ненулевой размерности состоит из тех кодовых слов, у которых в соответствующих к — 1 позициях расположены нули. Так как ненулевые координаты в словах этого подкода расположены только в п — (к — 1) позициях, то для кодового расстояния выполняется неравенство (13.31) d п + 1 - к. Это неравенство сохраняется также и для исходного кода. Рассмотрим теперь коды, для которых (13.32) d = п + 1 - к. Такие коды мы будем называть кодами с достижимым максималъ ным расстоянием г). Коды этого класса обладают и другими свой- ствами. Для любых заданных d позиций такой код должен содер- жать q — 1 кодовых слов веса d, все ненулевые символы которых расположены в заданных d позициях. Размерность подкода, состо- ящего из этих слов, равна 1; размерность объемлющего подкода, состоящего из кодовых слов, содержащих в произвольных задан- ных п — w позициях нули (w d). равна w + 1 — d. Любой код, удовлетворяющий условию (13.32), имеет точно одно слово веса d, содержащее символ 1 в произвольно заданной позиции, и ненулевые символы точно в d — 1 других позициях; он содержит точно п — (d — 1) = к кодовых слов веса d, имеющих символ 1 в произвольно заданной позиции и ненулевые символы в каждой из d — 2 наперед заданных позиций. Если бы какая-либо пара из этих к кодовых слов имела бы один и тот же ненулевой символ в одной и той же из d — 2 фиксированных позиций, то разность этих слов дала бы кодовое слово веса <_ d. Следовательно, к q — 1. Таким образом, (13.33) если d = n -|- 1 — /с>2, то /с + 1. х) Некоторые авторы называют такие коды оптимальными или максималь- ными (в русской литературе встречается термин «максиминные» — перев.'). Мы не будем использовать столь общих названий для этих кодов с весьма спе- циальными свойствами.
318 Гл. 13. Скорость передачи информации для оптимальных кодов Используя аналогичные рассуждения для дуального кода Д, Синглтон [1964] показал, что (13.34) если d = п i — k <Zn — 1, то q п\- i — к. Из соотношения (13.33) следует, что уравнение (13.32) не выпол- няется ни для одного двоичного кода, за исключением случаев к — 1 (двоичный код с повторением) и d = 2 (код с одной проверкой на чет- ность). Однако для больших алфавитов известны нетривиальные коды, для которых выполняется равенство d = п + 1 — к. Один из классов таких кодов дает теорема 13 35. 13.35. Теорема. Расстояние, блоковая длина и число информа- ционных позиций любого кода Рида — Соломона (БЧХ-кода с q = = п + 1) связаны соотношением d = п — k + 1. Доказательство. Порождающий многочлен БЧХ-кода d—1 по определению равен g (а?) = |J Л/ЧБ (а:), где ЛЛ1) (а?)—минималь- г-—1 пый многочлен элемента а{, а а — примитивный корень п-й степени из единицы в расширении поля GF (q). Для PC-кодов а С GF (q), (х) = х — аг и deg g (х) = d — 1. в Другие классы кодов с достижимым максимальным расстоянием были предложены Синглтоном [1964]. В разд. 16.5 будет показано, что для этих кодов удается полностью определить их весовую струк- туру- 13.4. Граница Плоткина для малых скоростей (граница среднего расстояния) Минимальное расстояние между любыми двумя кодовыми слова- ми не может превышать среднего расстояния по всевозможным парам кодовых слов. Это замечание, принадлежащее Плоткину, лежит в основе вывода другой границы для минимального расстояния. Для метрики Ли эта граница впервые была получена Грэхемом и Вай-* пером [1968]. Предположим, что код состоит из К слов С(1), С(2), С<3), ..., Ск, где C(t) = [С<Д, Ср>, ..., С<Д1]- Тогда полное расстояние по всем ’) Словами кода, дуального к линейному коду, являются векторы про- странства строк его проверочной матрицы. Легко проверить, что дуальным к дуальному коду является сам исходный код.
13.4. Граница Плоткина для малых скоростей 319 парам кодовых слов задается формулой dt0l = 3 Зй(С<1>,С<’>) - К К п-1 = 335 Й(СО).СО))- г=1з=1т=0 =п3 5 3 d(c^,c^. т—0 г—1;=1 Обозначим через (7 = 0, 1,2, q — 1) число появлений 7-й буквы алфавита среди букв СС), С$, С!$, Cffi. Тогда вероят- ностный вектор P<m) = J(™ ’, ..., характеризует m-ю координату случайно выбранного из кода слова. Имеем К К q-tq-i 5 ^d(CWC^=-K^ 2 = г— 1 з-i г=0 ;=0 — t где 5>г> j — элемент на пересечении г-й строки и /-го столбца в матри- це 33 расстояний между буквами входного алфавита. Например, для q = 5 в метрике Ли ГО 1 2 2 1 1 2 2 11 0 12 2 10 12 2 10 1 2 2 10. а в метрике Хэмминга ’0 1 1 1 .1 1 1 1 Г 0 111 10 11 110 1 1110. В любом случае полное расстояние задается формулой п— 1 dtot = № 2 P<m>^P<m>£. 771=0 Это полное расстояние содержит сумму по всем № парам кодо- вых слов. Среди них К пар содержат одинаковые слова, а № — К пар — различные слова. Среднее расстояние по всем К {К — 1)
320 Гл. 13. Скорость передачи информации для оптимальных кодов парам различных кодовых слов удовлетворяет соотношению = KW=ii s'Р’ЭР'"'‘рЯР‘, 771 = 0 где Р — «лучший» из возможных векторов Р<т), т = 0, 1, . . п — 1. Так как минимальное расстояние не превышает среднего расстоя- ния, то (13.41) ^n^jr^P^P'. Соотношение (13.41) называется границей Плоткина для минималь- ного расстояния. Из соображений симметрии естественно предположить, что наилуч- ший из возможных вероятностных векторов задается равенством Р = i/q — [1, 1, . . ., i}/q. Однако существуют симметричные матри- цы 3, для которых i/q не является наилучшим вектором. В общем случае вопрос об оптимальности вектора i/q для данной матрицы 3 может быть решен с помощью ее собственных чисел. В случае адди- тивного шума по mod q для матрицы 3) выполняется условие 3>it } = =^й, m при I — j ~к — т mod q. В этом случае собственные векто- ры матрицы 3/ равны p<ft> = [1, e2mk^, einih^,. . .], где к = 0, 1, 2, . . ., q - 1, i = V~^~i; л = 3,14159. . ., e = 2,71828. ... При к = 0 получаем собственный вектор р<°) = 1. Собственное число, соответствующее собственному вектору p<ft>, равно— '^13/а,]е2лгкй<1. з=о Легко проверить, что ^p<h) = Хйр(к>для всех к ~ 0, 1, 2, . . ., q— 1. Легко также проверяется ортогональность собственных векторов, т. е. тот факт, что p(J)p*(h)( = 0, если у к. (Здесь р*(Ь> — вектор, комплексно сопряженный с p(h).) В общем случае величина = kq_h комплексно сопряжена с Если 3 — симметричная матрица, то все ее собственные числа вещественны. В этом случае вместо комплексно сопряженных соб- ственных векторов p(k) и р<®~к) можно использовать вещественные собственные векторы p<h> + p<®~h) и i (p(k) — p(9-fi>), но это дает весьма малые преимущества. Собственные числа матрицы 3 легко вычислить и в случае метри- ки Хэмминга, и в случае метрики Ли. Полагая и — е2111/? в случае метрики Хэмминга, получим, что при к 0 (13.42) и (13.43) ч — 1 Su икч^ик__ U ~ ик-1 " -1 д-1 31-9-1- 3=1
13.4. Граница Плоткина для малых скоростей 321 Хо — главное собственное число, т. е. собственное число с макси- мальным модулем. Для вычисления X* в метрике Ли рассмотрим сумму j = i j=o 3=0 2 [(« + !) 2n(2_i)_(zn+i—1)] “ (2—1)2 или (13.44) V = 2+(»+1). При нечетных q неглавные собственные числа матрицы 35 в мет- (0-1)/2 рике Ли задаются формулой Xft = 2Re( 2 iul) > гДе u = e2nih-lq. з=1 Так как н^2 = (—l)h и и1?2—и~3г = 2гsin, топри/с^О, исполь- зуя (13.44), получим Г1 (13.45) Xfe = 2Re[- — 1 + (— l)fe cos (лк/q) ~~ 2 sin2 (лк/q) ? + 1 . .лк , ... / як . . зхЦ, —g—(—l)fe2i sin —---(-l)fe ^cos y + tsinyj — 4 sin2 (nk/q) Главное собственное число равно (о- D/2 (13.46) Х0 = 2 2 = = 3=1 Для четных q .неглавные собственные числа матрицы 35 в мет- рике Ли определяются формулой (0-2)72 (13.47) Xfe-Re(|ir<i/2 + 2 = =в. {№2)(-i)O^"^,;“-^<-lw} - _ Г 2—2( —1)Ь-К9/2) (—1)Ь(ц—и-1)-! _ -neL — 4sin2(3X*/3) J~ _ -l+(-l)fe 2sin2 (зхА/д) ’ 21-658
322 Гл 13. Скорость передачи информации для оптимальных кодов а главное собственное число— формулой (9-2)/> /1 о /ох ) — А _ 9 V , - ± ± (1~Л —11 (13.чЬ) 21 1 2 2 2 4 = 1 Из равенств (13.42), (13.45) и (13.47) следует, что все неглав- ные собственные чиста матрицы 1 неположительны и в метрике Хэмминга, и в метрике Ли. Поэтому квадратичная форма PlPf — выпуклая функция ог вектора Р, т. е., если н>0, 5>0, «-}-&= 1, 1Р'= 1, IQ' = 1, то (аР-1 bQ) 1 (аР + 5Q)' • aPSP' -&QUQ'. Для доказательства этого факта выразим Р и Q через вещественные соб- q-l 9—1 ственные векторы матрицы 3). Полагая Р — У Q= У /-и i=o по лучим 9-1 (аР bQ) 3 (аР --bi^ q У (аР} — bQj)2, 1 = 0 9-1 9-1 аР2Р( -bQ^Q' - aq У XjP^-bq У з—() з~о Так как собсшенные векторы ортогональны и 1Рг = 1QZ -1, то Po~=Qo аР0 bQa - l/q и 7vo(^jot Ь(>0)2=-а/^0Ро -ЬХ0(2о. Предпо- ложение о выпуклост квадратичной формы при этом сводится к у тверж щнию, чго у1 X, (аР} Т bQrf > У X, (аР* + Ъ($). j 1 1-1 Так как х'— выпуклая функция от х, то (aPj -ф- bQrf^aP2-,- bQ* для всех j Так как все собственные числа, кроме главного, непо- ло,кше 1Ы1Ы, ю д-bQjY- ^(aP’ + bQ*) для всех / О 1 и Р1Р( — выпек 1ая функция вектора Р. В <И1\ вынук юсги ква циничном формы стационарная точка являемся точкой абсо потною максимума, а ввиду симметрии вектор Р— 1 у ia iaei сыционарпую точку. Таким образом, наибольшее значение функции РТР1 из (13 41) можно онреде шть из уравне- ний (13 43) (13 4G) и (1.3 4S) Мы поцчплп- 13.49. Г е о р е м a Mtniinta гьное расстояние dmia произвольного коОа с блоковой Олиной п и К кодовыми словами над алфавитом из q буке удовлетворяет неравенству 1 Чп
13 5 Эквидистантные коды 323 где постоянная Z) = 2 ^о, г/Ч задается формулой г=1 f для метрики Хэмминга, I 92—1 л тг D - J - для метрики Ли и нечетного q, I для метрики Ли и четного q. *13.5. Эквидистантные коды Для того чтобы код достигал границы, указанной в теореме 13 49, его минимальное расстояние должно совпадать со средним расстоя- нием Это возможно только тогда, когда расстояние между любыми двумя различными кодовыми словами одно и то же (такой код назы- вается эквидистантным) Наиболее важный класс эквидистантных кодов описывается опре- делением 13 51 и теоремой 13 52 13.51. Определение Регистровым кодом максимальной длины называется циклический, негациклический или констацикли- ческий код, проверочный многочлен h (х) которого является прими- тивным многочленом степени к над полем GF (q) Если п — блоковая длина кода, то h (х) делит хп — где g f GF (q) и порядок £ равен (qk — 1)/п 13.52. Теорема. Каждое ненулевое кодовое слово циклическо- го, негациклического или констациклического регистрового кода максимальной длины является циклическим, негациклическим или констациклическим сдвигом любого другого ненулевого кодового слова Таким образом, в метрике Хэмминга все регистровые коды максималь- ной длины, а в метрике Ли все циклические и негациклические регист- ровые коды максимальной длины являются эквидистантными. Доказательство Код содержит qh — 1 ненулевых кодо- вых слов, ка/кдое из которых кратно поро/кдающему многочлену g (х) = (хп — 1-)/h (х) Достаточно показать, что qk — 1 констацикли- ческих сдвигов порождающего многочтена дают различные значения Если это не так, то xlg (х) = xmg (х) mod (хп— £) и существует число ] — т — I, ] <Zqh — 1, такое, что (х3 — 1) g (х) = 0 mod (хп — g) Так как хп — £ = g (х) h (х), то х3 — 1 == 0 mod h (.г) Но при- митивный многочлен h (х) делит х3 — 1 только когда у кратно qh — 1 Стедоватетьно, qh — 1 ненулевых слов кода получаются путем кон- стациктических сдвигов порождающего многочлена и имеют один и тот /ке вес Хэмминга Если кодовые слова получаются путем 21*
324 Гл. 13. Скорость передачи информации для оптимальных кодов циклических или негациклических сдвигов порождающего много- члена, то они имеют равный вес в метрике Ли. Однако при £ ± 1 констациклические сдвиги порождающего многочлена имеют разные веса в метрике Ли. н Для некоторых регистровых кодов максимальной длины теоре- ма 13.52 указывает истинный минимальный вес, больший, чем можно было бы предположить из других соображений. Например, рас- смотрим негациклический регистровый код максимальной длины с блоковой длиной 63 над GF (127). (Этот код приведен в табл. 9.1.) Согласно теореме 9.34, код исправляет в метрике Ли 63 ошибки. Однако, согласно теореме 13.52, вес каждого ненулевого слова этого кода равен 32 х 63. Следовательно, код исправляет в 16 раз больше ошибок, чем это следует из теоремы 9.34. По заданному эквидистантному коду с К словами и блоковой длиной п с помощью простого повторения каждого слова исходного кода у раз можно построить эквидистантный код с К кодовыми слова- ми и блоковой длиной ]П. Если исходный код был циклическим, то и результирующий код будет циклическим с тем же проверочным многочленом. Над полем GF (2) регистровые коды максимальной длины имеют блоковую длину п = 2ft — 1 и содержат К = 2к кодовых слов. Для многих других значений К эквидистантные двоичные коды из К слов с блоковой длиной К — 1 могут быть построены на основе матриц Адамара. Матрицей Адамара называется ортогональная (К X К)~ матрица, элементами которой являются числа -(-1 и —1. Например,
13.6. Граница Элайеса 323 Без потери общности можно предположить, что все элементы первой строки и первого столбца матрицы Адамара равны 4-1. Отбра- сывая первый столбец (А X Х)-матрицы Адамара, получим К строк длины К — 1, образующих двоичный эквидистантный код. Если К не есть степень числа 2, то получается нелинейный код. Легко показать, что (К X Х)-матрицы Адамара существуют только тогда, когда К = 2 или К кратно 4. Не доказана и не опро- вергнута гипотеза, что для всех таких К существуют матрицы Ада- мара. Первый контрпример возможен при К = 188; для всех меньших значений К (и многих больших значений) матрицы Адамара могут быть построены с помощью методов, предложенных Холлом [1967] или в более ранних работах Спенсом [1967] и Гёталсом и Зейде- лем [1967]. В то время как полное расстояние произвольного линейного кода равно DK2n, где D задается теоремой 13.49, нелинейный код может иметь и меньшее полное расстояние. Нелинейный код может быть эквидистантным даже в тех случаях, когда его кодовое расстояние лежит намного ниже границы Плоткина. Например, двоичный код, словами которого являются строки единичной матрицы, является эквидистантным с расстоянием 2. Хотя этот код является тривиаль- ным, ничего лучшего построить нельзя, если потребовать, чтобы каждый вектор имел вес 1. Вообще, если на вес каждого кодового слова наложить некоторые ограничения, среднее расстояние между парами слов не может быть большим. Это замечание лежит в основе вычисления границы Элайеса, которая выводится в следующем разделе. 13.6. Граница Элайеса Мы видели, что граница, полученная с помощью сферической упаковки, является точной при больших скоростях передачи и не- точной при малых, а граница Плоткина точна при малых скоростях передачи и неточна при больших. Комбинируя эти границы и исполь- зуя одну высказанную в 1960 г. плодотворную идею Элайеса, можно получить более строгую границу для средних скоростей. Некоторое уточнение этой границы было предложено Вайнером [1965]. Мы выведем границу Элайеса в двух леммах. В лемме 13.61 на основе границы сферической упаковки мы покажем, что код должен содержать критический шар, включающий много кодовых слов. Затем в лемме 13.61 мы покажем, что среднее расстояние между кодовыми словами этого критического шара мало. 13.61. Лемма. Для заданных числа t и кода с блоковой длиной п и скоростью Н существует критический шар радиуса t, содержащий К > кодовых слов. С помощью подходящего сдвига кода центр этого критического шара может быть перенесен в точку 0.
326 Гл. 13. Скорость передачи информации для оптимальных кодов Доказательство. Каждую из qn точек пространства окру- жим сферой радиуса t и обозначим через Kt (i = 1, 2, . . qn) число кодовых слов в i-м шаре. Так как каждое из qRn слов появляет- qn ся в шарах, то 2 &г = qRnVtn^ и К = max Kt F$n)/g'(1-R)n. г=1 г Шар, содержащий наибольшее число кодовых слов, называется критическим 1). Если из каждого кодового слова вычесть центр критического шара, то центр критического шара переместится в О, а минимальное расстояние кода не изменится. н Вычислим теперь среднее попарное расстояние между кодовыми словами в критическом шаре. Так как каждое из таких слов находит- ся на расстоянии t от центра, то они должны располагаться близко друг к другу. Поэтому среднее попарное расстояние кодовых точек в критическом шаре значительно меньше среднего попарного рас- стояния кода. Точный подсчет содержится в лемме 13.62. 13.62. Лемм а. Если вес каждого из К кодовых слов не превос- _ _ ч-1 ходит Dxn, где D = 3)^xlq, то расстояние между некоторыми 1—1 ______________________________ парами из этих К кодовых слов не превосходит х (2 — х) Dn /(1 — АГ-1). Доказательство. Как и в разд. 13.4, dmin dtot/(A2—К), где dtot — полное расстояние для всех К2 упорядоченных пар кодо- вых слов. Если через Р(т) опять обозначить вектор вероятностей, описывающий т-м столбец кода, то dtot-- 2 №P(m)^P(m)(, 171=1 где 3j— расстояние между г-й и j-й буквами входного алфавита. Полный вес по всем кодовым словам определяется выражением 2 A'D(0)P(m)‘, где D(0) = [£$0,0, 35011, ..., S/o.g-i] —первая строка т=1 матрицы 3. Если вес каждого из К кодовых слов не превосходит п Dxn, то полный вес не превосходит KDxn и 2 AD(0)P(m)( <KDxn. va= 1 Найдем теперь вероятностные векторы Р(1), Р(2), ..., Р(п), максими- зирующие сумму 2 P(m)<25P(,n)( при условии 2 AD(0)P(m)( < Dxn. 771=1 m=l Эту задачу будем решать в два этапа. Сначала определим максимум J) Иногда его называют критической сферой.— Прим, перев.
13.6. Граница Элайеса 327 p("i)^jp(m)i ПрИ уСЛОВИИ D(0)P(m), = Z)a:m, а затем выберем максими- п зирующие {хт} при условии 2 хт^.хп. m—i Согласно ограничениям на искомый максимум, (13.63) 1Р(т),= 1 и (13.64) D(0)P(m)'==Zbm, где 1 = [1, 1, ...,1]. В силу этих условий, для отыскания макси- мума функции P(m)35P(m),= 2 2 Pim)P,m)2)i,j надо рассмотреть функцию 2 2 p^p^^t,} ч а (5хт - 2 ^о, iP^) +5(i-2 A(m)), i 3 i г где А и В — постоянные множители Лагранжа. Для определения стационарной точки этой функции приравняем к нулю ее частную производную по Рдп). Так как 3+ь = 0, то для всех к получим 2 P^i, ъ + 2 P^&h. J-A3)o, ft - в = о, г 3 или (13.65) 2 2Л(т)35г>/г = Л350,;г4В. г Полагая 6 = [1,0, 0, ..., 0], можно проверить, что одним из решений задачи (13.63) — (13.65) является р(т)=^1 + (1_м6> (13-66) А = 2(1-хт), В = 2xmD, P(m)3>P(m)t = xm(2-xm)D. Согласно разд. 13.4, РЗ^Р'— выпуклая функция вероятностного вектора Р. Следовательно, стационарная точка (13.66) является точкой максимума функции Р(т) 35Р(т)( при условиях (13.63) и (13.64). Для завершения доказательства надо определить xt, хг, ..., хп, п п максимизирующие 2 5zm(2— хт) при условии 2 хт^пх. Из сооб- т=1 г=1 ражений симметрии выберем хт = х для всех т. Такой выбор задает стационарную точку, а так как х (2 — х) — выпуклая функция от х, то выбор является правильным.
328 Гл. 13. Скорость передачи информации для. оптимальных кодов Таким образом, максимум полного расстояния rftot — = № 2 при условии 2 D(0)P(m)<^Dxn достигается, m=l т=1 если хт = х для всех т и Р(т) задается равенством (13.66). Полное расстояние при этом равно К2х (2 — х) Dn, а среднее попарное расстояние между К2 —К различными словами равно К2х (2 — х) х хбп/(К-1)К. , Для эффективного сочетания лемм 13.61 и 13.62 необходимо прежде всего выбрать радиус t критического шара. Такое t должно минимизировать Dxn(2 — z)/(l — К"1), где x = t/Dn, а К — наимень- шее целое число, большее или равное Т(П)/?"(1~Й>. При больших блоковых длинах объем Р(П) быстро растет с ростом t, так что хоро- шо выбранное число t лишь незначительно превышает наименьшее целое число, для которого Vtn) >д'п(1~й). Согласно (13.15) и (13.18), iim-iog— =о. П ° _n(l—R) п->оо 9 Следовательно, если отношение Ип становится постоянным, как только его значение превосходит б (/?), то 7г(п)/д>п(1-й) стремится к бесконечности при увеличении п. При этом К"1 <(( 1. Пренебрегая этим членом в знаменателе выражения х (2 — х) Dn/(1 — Кг1) (из леммы 13.62), получаем следующую асимптотическую форму границы Элайеса. 13.67. Теорема. При произвольно выбранных s> 0 и ско- рости R для достаточно больших п < б (Я) [2 —+ е, где б (7?) определяется условиями (13.18) и (13.15), a D — теоре- мой (13.49). Сравнение полученной границы с асимптотической формой грани- цы сферической упаковки (уравнение (13.19)) показывает, что гра- ница Элайеса равномерно более точная, хотя с увеличением скорости разница становится практически неощутимой. Для малых скоростей граница Элайеса стремится к границе Плоткина, так как lim б (7?) = _ R-+0 = D. На рис. 13.2 показана асимптотическая граница Элайеса для двоичного случая.
13.7. Граница Гилберта 329 13.7. Граница Гилберта Границы Хэмминга, Плоткина и Элайеса являются верхними границами для минимального расстояния произвольного блокового кода, линейного или нелинейного. Граница Гилберта задает ниж- нюю границу для кодового расстояния. 13.71. Теорема (Гилберт [1952]). Если у(п) nn(i-R) У d-i<.4 1 то произвольный код с блоковой длиной п, минимальным расстояни- ем du скоростью R является собственным подкодом другого кода с тем же минимальным расстоянием. Доказательство. Каждое из qnR кодовых слов окружим сферой радиуса d — 1. Объем каждой сферы равен Vd-i, а полный объем всех сфер — qnRVd-t. Если полный объем меньше, чем qn, то существуют точки, не входящие ни в какую сферу. Расстояние каж- дой такой точки до произвольной кодовой точки d, так что без уменьшения минимального расстояния кода любая из этих точек может быть добавлена в качестве кодовой. н В соответствии с границей Гилберта, к коду с малой скоростью и минимальным расстоянием d можно прибавлять кодовые слова до тех пор, пока скорость не возрастет до 1 — (1/n) loggp^i. Расстоя- ние такого кода будет совпадать с расстоянием исходного кода. Однако, к сожалению, регулярная математическая структура исход- ного кода при таком расширении может нарушиться. Если к исход- ному коду применимы алгебраические методы декодирования, то они могут оказаться непригодными для увеличенного кода. Если исходный код— циклический, то расширенный код, вообще говоря, уже не циклический. В общем случае увеличенный код не является линейным, даже если исходный код — линейный. Однако если посту- пать более осторожно в соответствии с леммой 13.72 и теоремой 13.73, то последней неприятности можно избежать. 13.72. Лемма. Для каждого линейного кода, содержащего qnR кодовых слов, можно построить расширенный1) линейный код из д>1+йп слов, который получается путем присоединения к исходному коду всех ненулевых скалярных кратных слов из некоторого смежного класса исходного кода. Доказательство. Пусть G — множество слов исходного кода, V =^= G — смежный класс, a v — его лидер. Каждое слово клас- са V имеет вид v + g, g g G, а каждое слово из расширенного кода ;) См. далее примечание переводчика на стр 338.
330 Гл. 13. Скорость передачи информации для оптимальных кодов имеет вид s (v + g) или sg, где s — скаляр. Так как sg Е G, то слово принадлежит расширенному коду тогда и только тогда, когда оно имеет вид sv + g, g Е G. Отсюда ясно, что расширенный код — так- же линейный. Он содержит q1+nR слов, соответствующих (/возможным выборам s и qnR возможным выборам g в выражении sv + g. а 13.73. Теорема. Пусть либо q — степень простого числа и в метрике Хэмминга либо q — степень нечетного простого числа и в метрике Ли y(n) \ I 2(дп^ —1) < 1 “I--- либо q — степень числа 2 и в метрике Ли Тогда каждый линейный код с расстоянием d, скоростью R и блоковой длиной п над GF (q) является собственным подкодом расширенного линейного кода с тем же минимальным расстоянием. Доказательство. Любой код со скоростью R имеет лидеров смежных классов, а все пространство содержит дп точек и среди них только слов веса <; d. Следовательно, если в метрике Хэмминга Vd-i <zqn(1~RG то имеется лидер смежного класса с весом d. Вес всех скалярных (ненулевых) кратных слов этого смежного класса также d. Согласно лем- ме 13.72, исходный линейный код можно расширить, превратив этот смежный класс и его скалярные кратные в кодовые слова. В метрике Ли смежный класс с лидером веса d может содер- жать слова, вес скалярных кратных которых будет меньше, чем d, так что расширение кода надо производить определенным образом. Множество qn(1-R) — 1 собственных смежных классов (исключается сам код) можно разбить на подмножества, каждое из которых содер- жит q — 1 ненулевых скалярных кратных каждого из элементов. Элемент наименьшего веса в данном подмножестве можно выбрать в качестве лидера. Если q нечетно, аи — лидер, то (—и) также может быть выбран в качестве лидера; в этом случае подмножество содер- жит два лидера. Если число лидеров превосходит число ненулевых слов с весом Ли d — 1, то существует лидер веса d. Элементы подмножества, содержащего этот лидер, могут быть выбраны в каче- стве кодовых слов расширенного кода. а Для конечных значений п, d и R Варшамов [1957] и Сакс [1958] доказали несколько более строгие варианты теорем 13.71 и 13.73.
13.8. Асимптотические границы для вероятности ошибки. 331 Если d — минимальное расстояние исходного кода, то шары радиу- са d —1, описанные вокруг кодовых точек, будут мало пересекаться, и учет этих пересечений позволяет улучшить границу. Однако ни одно из предложенных до сих пор улучшений не изменяет асимп- тотического поведения границы. Из теорем 13.71, 13.73, 13.75 и 13.18 вытекает 13.74. Теорема. Над GF (q) х) существуют линейные коды с произвольно большой блоковой длиной п, скоростью R и минималь- ным расстоянием d, которые удовлетворяют соотношению Асимптотическая форма границы Гилберта для двоичных кодов изображена на рис. 13.2. Не известно, существуют ли циклические коды с произвольно большой длиной, удовлетворяющие соотношению теоремы 13.74. С практической точки зрения теорема 13.73 не дает легкого спо- соба построения хороших кодов. Хотя для данного линейного кода может быть известно, что существуют смежные классы с большим, чем кодовое расстояние, весом, однако какие-либо легкие способы отыскания этих смежных классов не известны. Числа же кодовых слов и смежных классов при больших блоковых длинах и умеренных скоростях столь велики, что полный перебор невозможен. 13.8. Асимптотические границы для вероятности ошибки и конечные частные случаи Хотя минимальное расстояние характеризует корректирующие возможности кода, оно не раскрывает их полностью. Большинство кодов с расстоянием d позволяют исправлять не только все ошибки кратности d/2, но также и многие ошибки более высокой кратно- сти. Часто оказывается возможным исправлять столь много ошибок кратности, большей чем d/2, что вероятности отказа от декодирова- ния и ошибки декодирования существенно меньше, чем вероятность того, что в канале произойдет более d/2 ошибок. Для большинства кодов, включая и большинство БЧХ-кодов, при использовании полного алгоритма декодирования вычислить вероят- ность ошибки декодирования очень трудно. При таком алгоритме декодирование происходит правильно всякий раз, когда вектор ошибки является лидером смежного класса. Для большинства кодов распределение весов лидеров смежных классов мало изучено. С некон- структивной точки зрения последняя задача больше поддается реше- нию. Оказывается, скорее можно построить точную верхнюю грани- цу для вероятности ошибки «наилучшего» кода, чем найти такой код! ;) См. замечания, следующие за доказательством следствия 13.26.
332 Гл. 13. Скорость передачи информации для оптимальных кодов Ситуация напоминает график, изображенный на рис. 13.5. С первого же взгляда можно легко заметить, что минимум функции / (х) равен примерно 0,10; однако при определении точки, в которой достигается этот минимум, возникают существенные трудности. Легко определить, что / (0, 4) = 0,2, но невозможно с большой точ- ностью указать / (0,5) или / (0,6). Хотя аналогия между вероятностью ошибки для ансамбля всех кодов и функцией / (х), изображенной на рис. 13.5, не очень глубока, представляется полезным подчеркнуть следующее: ____।—।__।___।__।__। । 1 । 1 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 X Рис. 13.5. Графический аналог вероятности ошибки по ансамблю кодов. 1. Ансамбль всех кодов с заданными скоростью и блоковой дли- ной содержит много кодов, вероятность ошибки для которых близка к минимуму. 2. Очень трудно вычислить вероятность ошибки для любого кода, за исключением нескольких случаев несомненно плохих кодов. 3. Используя специфические методы, иногда удается получить точную оценку вероятности ошибки для всех кодов из некоторого частного множества кодов. Если для большинства кодов этого множе- ства вероятность ошибки близка к минимальной, то средняя вероят- ность ошибки по ансамблю таких кодов дает хорошую оценку минимума. Таким образом, о вероятности ошибки для «наилучшего» кода известно достаточно много, несмотря на то, что о самом наилучшем
13.8 . Асимптотические границы для вероятности ошибки 333 коде не известно ничего. Большинство сведений о вероятности ошиб- ки для наилучшего кода получено с помощью неконструктивных вероятностных методов, не являющихся ни алгебраическими, ни комбинаторными. Зачастую они запутанны и длинны, так что мы дадим только краткую аннотацию наиболее важных результатов. Интересующийся читатель может найти доказательства большинства этих результатов в статьях Шеннона, Галлагера и Берлекэмпа [1967] и приведенной в них литературе или в выходящей книге Галлаге- ра [1968] и в книге Джелинека [1968]. Пусть Ре (N, М, 1) — вероятность ошибки наилучшего кода с блоковой длиной N и М кодовыми словами. Функция Ре (N, М, 1) — частный случай функции Ре (N, М, L), представляющей собой вероятность ошибки наилучшего кода с блоковой длиной N и М кодовыми словами при декодировании «списком» длины L. При таком декодировании декодер на базе полученного слова составляет список всех возможных переданных кодовых слов в порядке убывания их апостериорных вероятностей. Если переданное слово появится в любом месте этого списка, то декодер правильно примет его. Ошиб- ка декодирования произойдет только тогда, когда фактически пере- данное слово не содержится в списке. Декодирование списком для двоичного симметричного канала впервые рассматривалось Элайе- сом [1957]. Скорость передачи (в натуральных единицах) для кода с М кодо- выми словами, блоковой длиной N и списком длины L определяется равенством Наибольший интерес вызывает поведение функции Ре (N, М, L), когда R фиксировано, a N принимает произвольно большие значения. В 1949 г. Шеннон доказал свою классическую теорему кодирования, согласно которой для любого дискретного канала без памяти (так же как и для большинства других каналов) существует пропускная способность С, зависящая только от статистики шума в канале и не зависящая от кода. Эта пропускная способность обладает тем важ- ным свойством, что если R <ZC, то lim Pe(N, [exp7?7V], 1)=0, N-юо где [exp 7?jV] — наименьшее целое число, не превосходящее exp RN. Шеннон [1948, 1949] показал также, что если R >» С, то lim Pe(N, [explLV], 1)>0. N-юо Вольфовиц [1961] доказал, что при 7? > С lim Pe(N, [ехр7?Лг], 1) = 1. N-юо
334 Гл. 13. Скорость передачи информации для оптимальных кодов Файнстейн [1954, 1958] показал, что если R < С, то Ре (N, [exp 7?7V1, 1) < exp { - NEr(R)}, где ET(R) — положительная функция от R, стремящаяся к 0, ког- да R стремится к С. Граница Файнстейна была затем уточнена и улучшена Фано [1961], Галлагером [1965], Шенноном, Галлагером и Берлекэмпом [1967] и другими. Существенный интерес представляет функция надежности Е (R, L), которую нам удобно определить равенством (13.81) E(R,L) = lim {-InРе (N, [Zexp RN], Z)|• К сожалению, равенство (13.81) не может служить строгим опреде- лением Е (R, L), так как до сих пор не доказано существование этого предела! Тем не менее мы будем использовать соотноше- ние (13.81) в качестве эвристического определения, мысленно подразу- мевая, что все верхние границы для Е (R, L) по существу являются верхними границами типа lim sup, а все нижние границы для Е (R, L) — нижними границами типа lim inf. Функция Е (R, оо) = lim Е (R, L) известна точно для всех скоро- L~+oo стей из диапазона <^R <ZC, где Roo — скорость, ниже которой Е (R, оо) = оо. Функция Е (R, оо) называется границей сферической упаковки и получается как верхняя граница для Е (R, L) при конеч- ных L. Эта граница достигается при достаточно больших R. В част- ности, существует последовательность критических скоростей О si 7?оо < • < <; Ro — С, такая, что Е (R, L) = Е (R, оо) для всех R из интервала RL <C.R <ZC. При скоростях, лежащих в интервале Rr < С, функция Е (R, L) не зависит от L. Однако при достаточно малых скоростях функция Е (R, Е) уже зави- сит от L. Функция Е (R, 1) вычислена для всех скоростей только для мало- го числа патологических каналов. Для большинства каналов извест- ные точные границы для Е (R, 1) различны для всех R из диапазона О 7?j, хотя Е (Ях, 1) и Е (0, 1) совпадают. (Е (0, 1) определяет- ся как lim Е (R, 1).) При очень малых скоростях вероятность ошибки К-+0 связана с числами Ем = lim ! —r?-ln Pe(N, М, 1) . В противопо- ложность пределу из формулы (13.81) об этом пределе известно, что он существует. Числа Ем точно не известны, за исключением несколь- ких случаев простых каналов, включающих двоичный симметричный канал. Тем не менее известно простое общее выражение для предела Е<х> = lim Ем, а именно ЕГХ1 = Е (0, 1). Однако единственное извест- Л1—>00 ное доказательство этого факта очень трудоемко.
13.8. Асимптотические границы для вероятности ошибки 335 Все данные говорят за то, что функция Е (R, L) должна быть выпуклой функцией от R, хотя это пока и не доказано. Лучшие из известных верхних и нижних границ для Е (R, L) являются выпук- лыми, и функция Е (R, оо) выпукла. Известно также, что если / (R, L) — верхняя граница для Е (R, L), то ее выпуклая обо- лочка и Е (R, оо) — также верхние границы для Е (R, L). Для выяснения связи между асимптотическими границами для вероятности ошибки и асимптотическими границами для минимально- го расстояния (рис. 13.2) введем функцию е (R), эвристически опре- делив ее равенством (13.82) e(7?) = lim d{n' [^рДге]) . П->оо Здесь d (п, М) — минимальное расстояние двоичного кода, обладаю- щего максимальным минимальным расстоянием среди всех двоичных кодов с блоковой длиной п и М кодовыми словами. Как и раньше, в зависимости от ситуации предел в (13.82) интерпретируем как lim sup или lim inf. Функция Е (R, L) неявно зависит от канала. Пусть Е (R, L\ Р) есть Е (R, L) для двоичного симметричного канала с вероятностью Р перехода символов друг в друга. Тогда ,. £(Я, 1;Р) hm "-inf = ^(R). p-i-o — ш р Отсюда видно, что асимптотические границы, изображенные на рис. 13.2, в действительности дают функции надежности. Действи- тельно, если Р стремится к нулю, то —Е (R, оо; P)/ln Р превращает- ся в границу Хэмминга для е (R); в точке с нулевой скоростью —Е (0; 1, Р)/1п Р превращается в границу Плоткина для е (Я); граница Элайеса для —Е (R; 1; Р)/1пР становится границей Элайеса для е (Ry, нижняя граница для — Е (R; 1; P)/ln Р, полученная мето- дом «выбрасывания», становится границей Гилберта для е (R). Часто выдвигается гипотеза, что функция е (R) в действительности лежит па границе Гилберта. Это эквивалентно предположению о том, что Е (R, 1) совпадает с границей для двоичного симметричного канала, полученной методом выбрасывания. Доказательства обоих этих предположений, высказанных несколько лет назад, представляются очень трудными. Хотя функция е (R) известна только в пределах границ, указан- ных на рис. 13.2, соответствующая функция для случая канала с бесшумной мгновенной обратной связью определена точно. Эта функция изображена на рис. 13.6, а детали ее поведения описаны Берлекэмпом [1964 а; 1968 Ь]. Так как функция, изображенная на рис. 13.6, превосходит границу Элайеса на рис. 13.2, то использова- ние бесшумной обратной связи в двоичных симметричных каналах с относительно невысоким шумом позволяет получить экспоненциаль-
336 Гл. 13. Скорость передачи информации для оптимальных кодов но малую вероятность ошибки для всех скоростей, лежащих ниже пропускной способности, несмотря на то, что Шеннон [1956] показал, что бесшумная мгновенная обратная связь не увеличивает пропускной способности любого прямого дискретного канала без памяти. Лучшие известные асимптотические границы для е (7?) — границы Гилберта и Элайеса — применимы к линейным и к нелинейным Скорость Рис. 13.6. Асимптотика корректирующей способности для двоичного сим- метричного канала с обратной связью (сплошная линия). кодам. Предполагается, что нелинейные коды асимптотически не лучше линейных кодов, однако до сих пор это не доказано. Для некоторых конечных случаев Грин [1966], Джулин [1965], Нейдлер [1962 а, Ь], Нордстром и Робинсон [1967] построили нелинейные коды, которые лучше любых линейных. Особый интерес представляет нелинейный «квадратичный» код Нордстрома над GF (2) с блоковой длиной 15, восемью информационными символами Хо, Хп . . ., Х7 и семью проверочными символами Уо, Ух, . . ., Ye. Первый провероч- ный символ Уо определяется соотношением (13.83) Уо = Хо + X, + Х3 + Хе + Х7 + (Хо + Х4)(Хх + +Х2 + х3 + Х5) + (Хх + Х2) (Х3 + Х5). Остальные координаты вычисляются путем подстановки в (13.83) Xf+j (mod 7, вместо Хг.
13.8. Асимптотические границы для вероятности ошибки 337 Препарата [1968] и Редди [1968] показали, что кодовое расстояние этого кода равно 5. Особый интерес этот код представляет потому, что Джонсон [1962] показал, что ни один двоичный код с п = 15 и d = 5 не может иметь более чем 28 кодовых слов, а Вагнер [1965] показал, что лучший линейный код с п = 15 и d = Ь содержит только 27 кодовых слов. Некоторые соображения подсказывают, что соотношения типа (13.83) позволяют строить другие хорошие нели- нейные коды, однако никакие конструкции общего типа до сих пор пока не найдены. Большое число работ посвящено определению функции w (п, к) — максимального минимального веса для множества произвольных линейных двоичных кодов с блоковой длиной п и скоростью В = к/п. Для некоторых малых значений п и к предложено много способов вычисления w (и, к). Нижняя граница для w (п, к) может быть полу- чена либо путем подбора специальных хороших кодов, либо с помо- щью модификации Варшамова [1957] или Сакса [1958] для границы Гилберта. Верхняя граница для w (п, к) исследовалась с помощью большого числа разнообразных методов. Для малых п — к граница сферической упаковки и ее «квазисовершенный вариант» дают точные результаты. Для малых к Мак-Дональд [1960] и Грисмер [1960] получили точные границы с помощью модификации рассуждений Плоткина [1960]. Соломон и Стиффлер [1965] предложили класс кодов с малыми скоростями, достигающих границы Грайсмера. Краткое описание кодов Соломона — Стиффлера дается в § 14.2. Для многих п и к точная верхняя граница для w (п, к) получена с помощью методики Джонсона [1962, 1963]. В ряде случаев оказалась полезной граница Вакса [1959]. Некоторые результаты о возможных локальных изменениях w (п, к) при малых изменениях п и к были получены Калаби и Мирваанесом [1964]. Они также построили таблицу известных значений w (п, к). Некоторые элемен- ты в этой таблице были найдены Вагнером [1965]. Представляется правдоподобным, что вместе с появлением новых быстродействующих вычислительных устройств будут продолжаться попытки отыскания функции w (п, к) для других пар п и к. Но пока функция е (7?) остается неизвестной, мало что можно сказать о w (п, к) при больших значениях п и к. 22—658
Глава 14 Коды, полученные путем модификации и сочетания других кодов Во многих прикладных вопросах возникают специфические допол- нительные ограничения на коды. Например, может оказаться, что блоковая длина п или число информационных символов к должны иметь некоторые частные значения, отличные от тех, которые полу- чены при построении кода. Хотя с точки зрения кодовика-теоретика ограничения подобного рода представляются излишне жесткими и нелогичными, не всегда удается от них избавиться. Эти ограниче- ния могут быть учтены в некоторых других частях системы связи, но иногда легче изменить модель кода, чем переконструировать дру- гие блоки системы. На рис. 14.1 представлены шесть основных способов модифика- ции кодов. Добавляя проверочные или информационные символы, можно увеличить блоковую длину кода, а опуская информационные или проверочные символы, можно ее уменьшить; можно также при фиксированной блоковой длине увеличивать или уменьшать число слов кода. Для этих шести основных типов преобразований кода мы будем соответственно использовать термины: 1-удлинение, 2-удли- нение, 1-укорочение, 2-укорочение, расширение, сужение х). Эти преобразования кодов описаны в литературе, но, к сожалению, использование соответствующих терминов не во всех работах оди- наково. Так, Казами, Лин и Питерсон используют термин «модифика- ция» там, где Соломон и Стиффлер используют термин «1-укороче- ние». Мы предпочитаем использовать термин «модификация» в качест- ве общего для всех шести преобразований. 14.1. 1-удлинение кода (добавление проверочных символов) Любой код может быть удлинен путем добавления проверочных символов, причем минимальный вес удлиненного кода не увеличит- ся, если не позаботиться о хорошем выборе дополнительных провероч- ных символов. Добавление общей проверки на четность — наиболее распространенный метод 1-удлинения кода, переводящий исходный г) Автор использует соответственно терминологию «extend, lengthen, punctu- re, shorten, augment, expurgate», однако мы предпочитаем избежать буквального перевода этих терминов.— Прим, перев.
339 Рис. 14.1. Простейшая иллюстрация к терминам «1-удлинение, 1-укорочение, 2-удлинение, 2-укорочение, расширение, сужение». Здесь % — порождающая матрица кода, т. е. матрица, пространство строк которой образует код. (п — блоковая длина, fc — число информационных символов, Aj — число кодовых слов веса i.) 22*
340 Гл. 14. Коды, полученные путем модификации других кодов код с блоковой длиной п в новый код с блоковой ДЛИНОЙ N = п + 1 1). В двоичном случае вес каждого слова такого кода есть четное число. Если исходный линейный двоичный код имел нечетный вес, то при п— 1 1-удлинении кодовое расстояние возрастает. Пусть 2 С}Хг— слово 4 = 0 исходного кода. Тогда остаток от деления этого многочлена на х — 1 п— 1 равен— 2 а 1-удлинение кода равносильно добавлению одного 4 = 0 п— 1 символа, равного — 2 £«• 4 = 0 В некоторых случаях целесообразно дальнейшее 1-удлинение кода путем добавления дополнительных символов, равных остатку от деления слов исходного кода на некоторый данный многочлен. Например, Андрианов и Сасковец [1966] обнаружили, что двоичный циклический БЧХ-код с блоковой длиной п и конструктивным рас- стоянием Сможет быть путем многократного 1-удлинения преобразован в код с блоковой длиной п + 1+ deg М^. После передачи исход- ного кодового слова передается остаток от деления этого слова на х + 1, а затем остаток от деления исходного слова на (х). Такой 1-удлиненный код имеет минимальное расстояние d + 2, так как любая конфигурация ошибок с весом не более, чем (d + 1)/2 может быть исправлена с помощью следующей процедуры. Сначала декодер пытается декодировать первые п 1 символов, не обращая внимания на остальные deg №d) символов. Если среди них искажено не более чем (d — 1)/2, то попытка заканчивается успехом и остальные символы (возможно и искаженные) игнорируют- ся. Если среди первых п + 1 символов искажено точно (d -}- 1)/2, то начальное декодирование приводит к отказу. Декодер предполагает, что последние deg символов приняты правильно, и по этим символам определяет Sd—сумму d-x степеней локаторов ошибок для первых п + 1 позиций. Используя эту дополнительную информацию, декодер может исправить любые (d + 1)/2 ошибок в канале с помо- щью одного из прямых методов, описанных в гл. 7 и 10. 14.2. 1-укорочение кода (выбрасывание проверочных символов) Любой код можно 1-укоротить путем выбрасывания проверочных символов, причем минимальный вес 1-укороченного кода будет значительно меньше минимального веса исходного кода, если только не позаботиться о хорошем выборе оставляемых проверочных симво- г) Именно такое 1-удлинение в литературе называется «расширением» (extended) кода.— Прим, перев.
14.2. 1-укорочение кода 341 лов. В общем случае вес каждого слова исходного кода умень- шается на вес выбрасываемых символов. Следовательно, 1-укорочение линейного кода с минимальным весом d на р позиций приводит к 1-укороченному коду с минимальным весом d — р. Мини- мальный вес 1-укороченного кода больше d — р тогда и только тогда, когда в исходном коде ни одно из слов веса d не содержит единиц во всех выбрасываемых позициях. Соломон и Стиффлер [1965] показали, что при достаточно малых скоростях хорошие линейные коды могут быть получены путем 1-укорочения регистровых кодов максимальной длины. Например, рассмотрим двоичный регистровый код максимальной длины с бло- ковой длиной 31 и порождающей матрицей XX Y Y Y Y X Y YY (14.21) £= 0000100101100111110001101110101 0001001011001111100011011101010 0010010110011111000110111010100 0100101100111110001101110101000 .1 001011001111100011011101010000 Нулевой вектор и 31 столбец этой матрицы образуют 5-мерное векторное пространство над GF (2). Множество из трех столбцов, отмеченных буквой X, и нуль-вектор образуют в нем 2-мерное под- пространство, а множество из семи столбцов, отмеченных буквой У, и нуль-вектор — 3-мерное подпространство этого пространства. Каждое слово исходного кода или не содержит ни одной единицы, или имеет две единицы в позициях, отмеченных буквой X, и не имеет ни одной, либо имеет четыре единицы в позициях, отмеченных бук- вой У. Вообще, любое кодовое слово регистрового кода максимальной длины с блоковой длиной 2fe — 1 не содержит ни одной единицы, либо имеет 2г-1 единиц в 2/-1 позициях, соответствующих ненулевым точкам /-мерного подпространства. Следовательно, если выбросить из регистрового кода максимальной длины точки, соответствующие линейно независимым подпространствам размерностей Zt, Z2, l3, ..., где (14.22) 2/г</с, то блоковая длина и минимальное расстояние изменяется в соответ- ствии с формулами (14 23) ^2~1’ ~'^-1-2(2“-1), d=2ft-1, <r=2fe-i-32“-1. Например, если выбросить из матрицы (14.21) позиции, отмеченные буквами X и У, то получим укороченный код с блоковой длиной 21,
342 Гл. 14. Коды, полученные путем модификации других кодов минимальным расстоянием 10 и порождающей матрицей ГО 1 00 1 1 1001 1 1 00 1 1 0 1 1 1 о (14.24) £' = 100101001110011011101 001010011110110111010 010110111110101110101 101101111101011101010 Используя границу Грисмера, Соломон и Стиффлер показали, что каждый линейный код, полученный выбрасыванием подпрост- ранств различных размерностей из регистрового кода максимальной длины, является оптимальным в том смысле, что никакой линейный код с тем же числом кодовых слов и тем же минимальным расстоя- нием не может иметь меньшую блоковую длину. Процедура 1-укорочения, предложенная Соломоном и Стиффле- ром, позволяет построить многие оптимальные коды, но в силу огра- ничения (14.22) все эти коды обладают малой скоростью или малой блоковой длиной. 14.3. Присоединение дополнительных кодовых слов Циклический код, порожденный многочленом g (х), может быть расширен до циклического кода с той же блоковой длиной, порожда- ющий многочлен которого делит многочлен g (а:). Наиболее часто встречается расширение циклического кода путем перехода к коду с порождающим многочленом g (х)1(х — 1) (см. рис. 14.1). В соответствии с границей Гилберта (лемма 13.72 и теорема 13.73) и известными асимптотическими свойствами БЧХ-кодов (разд. 12.7) к любому достаточно длинному БЧХ-коду со средней скоростью можно присоединить много кодовых слов, не изменяя его минималь- ного расстояния. К сожалению, решительно ничего не известно о том, как находить эти дополнительные кодовые слова. 14.4. Выбрасывание кодовых слов Любой циклический код, порожденный многочленом g (х), может быть сужен до циклического кода путем умножения порождаю- щего многочлена g (х) на дополнительный множитель. Наиболее распространенное сужение дает переход от g (х) к g (х) (х — 1). В двоичном случае при этом получаем подкод, состоящий из всех слов четного веса исходного кода. Часто минимальный вес сужен- ного кода на единицу больше минимального веса исходного кода, однако возможны случаи, когда минимальный вес суженного кода сохраняется или превосходит минимальный вес исходного кода более чем на 1. Все эти случаи можно проследить на двоичном циклическом коде с блоковой длиной 15, веса которого приведены в табл. 16.1.
14.7. Подкоды над подполями 343 Шеннон [1959] и Галлагер [1965] исследовали границы надежно- сти (см. разд. 13.8) при выбрасывании кодовых слов достаточно малого веса из случайно выбранного кода. При малых скоростях эта граница — одна из лучших известных, а при нулевой скорости она является точной. Подобно методу расширения кодов, который также очень полезен при неконструктивном исследовании границ, метод сужения кодов за исключением тривиальных случаев не может быть конструктивно использован в алгебраической теории кодов. 14.5. 2-удлинение кодов (добавление информационных символов) Если порождающий многочлен двоичного циклического кода с блоковой длиной п содержит множитель х + 1, то этот код может быть 2-удлинен до линейного кода с блоковой длиной N = п 1. Соответствующий 2-удлиненный код строится путем добавления единичного вектора длины N к порождающей матрице кода. Как видно из рис. 14.1, этот код получается из расширенного цикличе- ского кода с порождающим многочленом g (х)1(х + 1) путем 1-удли- нения с помощью общей проверки на четность. В большинстве слу- чаев минимальный вес 2-удлиненного кода совпадает с минимальным весом исходного кода. Однако в некоторых случаях 2-удлинение кода приводит к уменьшению минимального расстояния. Хотя нетрудно найти модифицированную границу Гилберта, из которой следует, что любой достаточно длинный код с малым объемом и средней скоростью может быть 2-удлинен до лучшего кода, метод 2-удлинения оказывается безрезультатным в нетривиальных случаях алгебраической теории кодов. 14.6. 2-укорочение кода (вычеркивание информационных символов) Любой код можно 2-укоротить с помощью вычеркивания инфор- мационных символов, причем минимальное расстояние 2-укорочен- ного кода будет не больше минимального расстояния исходного кода, если не позаботиться о специальном выборе вычеркиваемых символов. С теоретической точки зрения мало что известно о целесо- образном выбрасывании позиций. Практически циклические коды, как правило, 2-укорачиваются путем вычеркивания последователь- ных позиций, так как это упрощает их реализацию. 14.7. Подкоды над нодполчми 14.71. Определение. Если Jt — код длины п над GF (ps), где р — степень простого числа 1), то подкод кода состоящий из слов, все координаты которых лежат в GF (р), называется подкодом кода Л над подполем GF (р). !) Особый интерес представляет случай р = 2.
344 Гл. 14. Коды, полученные путем модификации других кодов Свойства. 14.72. Подкод линейного кода над подполем линеен. 14.73. Если код Л инвариантен относительно некоторой группы подстановок, то любой подкод над подполем также инвариантен относительно этой группы. 14.74. Пусть Л — циклический код длины п над GF (ps) с поро- ждающим многочленом (14.741) £(*)- П k£K где а — примитивный корень п-й степени из единицы, а К — мно- жество вычетов по mod п. Тогда подкод кода Л над GF (р) является циклическим кодом с порождающим многочленом (14.742) g(x)= П (*—ак). где к £ К тогда и только тогда, когда крг £ К для некоторого целого i. Доказательства. Пусть ЗР — множество всех га-мерных векторов над GF (р). Тогда подкод 98 кода Л над подполем GF (р) определяется равенством 98 = Л П 8F. 14.72 . u, v б. Л => u ± v Л, u, v£ =ф U ± V £ еТ5, и, у£Л() u ± v б. Л По- следовательно, J? = Л П О — линейный код. 14.73 . Пусть л (и)—такая перестановка координат, что л(и)£ Л. Так как л — перестановка, то и £ О л (и) £ О, так что и £ 98 л (и) £ . 14.74 . Если Л — линейный циклический код, то, применяя циклическую перестановку и учитывая свойства 14.72 и 14.73, полу- чим, что 98— линейный циклический код. Пусть порождающие мно- гочлены кодов Л и 98 заданы в виде (14.741) и (14.742). Покажем, что V 00 . tU v К = U р{К. Так как 98 S Л, то К s К. Так как 98 S 8Р, то рК - К, 1=0 так что plK s К для всех i и (14.743) К=>()ргК = J ргК. г г=0 Для того чтобы показать, что К— (Jp’-ff, рассмотрим многочлен г c(*)= П (г —а*)- *EUPltf
14.8. Прямое произведение кодов и его свойства 345 Так как (J р1К К, то с (ж) С Л; так как р {\}ргК}= {\}ргК}, 1 г г то с(^)С<^. Следовательно, с (х) Q <^ = 98. Так как каждый корень многочлена g(x) есть корень с(х), то (14.744) К^[]р'К. г Из (14.743) и (14.744) вытекает, что К= \)р1К. в Если через К и К обозначить соответственно дополнения К и К (т. е. #U#=#U# = {0> 1, 2, ...,«-!} и К[\К=к[\К=0, то к= пр*£. Иными словами, aft— корень проверочного многочлена подкода кода Jk над подполем GF (р) тогда и только тогда, когда а\ akp, ahP2, . . ., aftP®-1 — множество всех корней проверочного много- члена кода <Л. Один частный класс подкодов над подполями будет рассмотрен более подробно в разд. 15.5. 14.8. Прямое произведение кодов и его свойства 14.81. Прямое произведение кодов г). В боль- шинстве случаев координаты кодового слова длины п удобно записы- вать в виде С = [Со, С\, С2, . . ., Сг, . . ., 2). Однако, если n = n1x«2— составное число, то иногда удобнее записывать кодовое слово С в виде (nx X п2)-мерной матрицы б'о, 0 Со, 1 • • • ^0, П2— 1 G, о Ct, 1 • • • ^1, П2~ 1 П1—1, о ^П1—1, 1 • • • kni—1, П2“1« Если символы этого кодового слова должны передаваться после- довательно, то одномерная природа времени заставляет нас перевести эту двумерную матрицу в одномерную строку. Для отождествления Ct,j с Ci надо определить! и j как функции от I. Это можно сделать различными способами. Каноническое упорядочение получается при выборе в качестве i и j частного и остатка от деления I на п2. Это х) Некоторые авторы используют название кронекеровское произведение. 2) Везде в разд. 14.8 во избежание путаницы с двумерной записью мы будем использовать знак v для обозначения одномерных кодовых слов и их координат.
346 Гл. 14. Коды., полученные путем модификации других кодов упорядочение имеет вид Со С\ ... Cn2_i ^П2 СП2-|-1 • • • С2П2—1 -^(щ—1)П2 ^(ni— 1)пг+1 ••• Cn—1 Циклическое упорядочение, рассмотренное Бартоном и Велдоном [1965], определяется условиями (48.811) Zssimod/ij, Z = jmodn2. Например, если nY = 3 и «2 = 7, то -со С15 С9 С3 С18С12Св- С7 Cj С16 С10 G с19 с13 • - Ci4 С8 С'2 С(7 Ctl Съ C2q- Если п} и п2 взаимно просты, то, согласно китайской теореме об остатках 2.16, при 0 I <; п циклическое упорядочение устанав- ливает взаимно однозначное соответствие между числами I (О СI < п) и парами (i, j), где 0 i <Zn}. Для не взаимно простых п± и п2 циклическое упорядочение не имеет смысла. Среди двумерных кодов наиболее интенсивно изучалось введен- ное Элайесом [1954] прямое произведение кодов. 14.812. Определение. Пусть Л — линейный код с длиной пу, a S — линейный код с длиной п2. Прямое произведение кодов Л, St обозначается черезЛх$ и представляет собой «двумерный» код, состоящий из всех кодовых слов длины п1п2, удовлетворяющих следую- щим условиям: 1) [Со,С1, j, C2,j, . . ., C'nj-i.j] g Л для всех j', 2) [Cit0, Cia, C^2, . . ., Ci>n2_!] g для всех i. He представляет труда проверить следующие два свойства пря- мого произведения кодов 1): (14.813) dim {Л X ^) = (dim Л} (dim ^). (14.814) {минимальное расстояние (ЛхЗЦ} — — {минимальное расстояние Л} • {минимальное расстояние Si }. Наиболее естественным способом декодирования канонически упорядоченного прямого произведения является представленное на рис. 14.2 каскадное декодирование. На первом этапе каскадного декодера используется декодер для кода а на втором —декодер для кода Л, в котором каждый элемент единичной задержки заменен Здесь dim обозначает размерность. Размерность кода равна числу его информационных символов.
14.8. Прямое произведение кодов и его свойства 347 линией, состоящей из п2 элементов единичной задержки. Последнее позволяет декодировать все п2 столбцов синфазно. Все элементы, появляющиеся на выходе второго декодера в фиксированный момент времени, принадлежат одному и тому же столбцу кода. На первом этапе декодируется каждая строка кода; а на втором этапе — каждый столбец кода. Если даже среди поступающих на первый декодер сим- волов содержится много искаженных, то от первого декодера ко второму (к счастью) передается уже значительно меньше ошибок, а информация, поступающая на выход декодера, по существу вообще не содержит ошибок. Эта простая процедура декодирования в каналах без памяти оставляет желать лучшего. Она приводит к отказу от декодирова- ния при многих ошибках, которые код может исправлять Если Рис. 14.2. Каскадный декодер для прямого произведения кодов, передаваемого в каноническом виде. составляющие коды имеют нечетные минимальные расстояния dr и d2, то имеются векторы шума веса (dj-J-l) (d2-|-l)/4, которые] данной процедурой декодируются неверно, хотя код может исправлять все ошибки веса (d±d2 — 1)/2 и меньше. Однако процедура каскадного декодирования прямого произве- дения кодов дает эффективный метод построения реализуемых систем связи для каналов с группирующимися ошибками, так как такие искажения не могут поражать слишком много строк кода. Если прямое произведение передается в циклическом порядке, то пакеты ошибок будут поражать и строки и столбцы. В силу этого обстоятельства циклическое упорядочение часто бывает пред- почтительней канонического. Другое интересное свойство цикличе- ского упорядочения описывается в разд. 14.82. 14.82. Циклическое произведение кодов. В общем случае прямое произведение двух циклических кодов не является циклическим кодом. Но если блоковые длины исходных кодов взаимно просты, а символы прямого произведения упорядоче- ны согласно правилам (14.811), то такое произведение будет цикли- ческим. Это составляет содержание теоремы 14.821.
348 Гл. 14. Коды, полученные путем модификации других кодов 14.821. Теорема (Бартон — Велдон ([1965]). Если П1р1 + П2?2 -= 1 m°d П1П2> Л — циклический код с длиной пх и порождающим многочленом а (х), 98 — циклический код с длиной пг и порождающим многочленом Ъ (х), то циклически упорядоченное прямое произведение кодов У. 98 является циклическим кодом с длиной п1га2 и порождающим много- членом g (х) == н. о. д. (а (ж1’2"2) b (xPrni), хтпг — j). Доказательство. Согласно Элспасу [1968], компоненты двумерного кодового слова С можно представить как коэффициенты многочлена от двух переменных: Щ—1 П2—1 с(х,у)=% 2 i=0 j=0 С другой стороны, компоненты С можно рассматривать как коэф- фициенты многочлена от одной переменной: ЩП2— 1 C(z) = 3 С*1, 1=0 где Ci и Citj связаны правилами (14.811) циклического упорядо- чения. Пусть а — примитивный корень (nxn2)-fi степени из единицы; Р = аП2 и у = ani. Тогда эквивалентны следующие утверждения: 14.822. CU Х$. 14.823. а (х) b (у) | С (х, у). 14.824. Из а (Рг) Ъ (yJ) = 0 следует, что С (Р1, yJ) = 0. 14.825. Из g (PryJ) — 0 следует, что С (PryJ) = 0. 14.826. g (z) | C (z). Эквивалентность утверждений 14.822 и 14.823 следует из опреде- ления 14.812. Утверждения 14.823 и 14.824 эквивалентны потому, что каждый корень многочлена а (ж) является степенью р, а каждый корень многочлена Ъ (у) есть степень у. Если I определено соотношениями (14.811), то Ип2 + jJn-i == lln2 + Unx mod прг2. Имеем С (Р1, YJ) = 3 2 Ci, = П12 CiaWn+Jni)' i j 1=0 Таким образом, (14.827) C(p', yJ) = C(pY). Согласно определению g(x), (14.828) g(P¥) = a(PW/)'
14.8. Прямое произведение кодов и его свойства 349 Эквивалентность утверждений 14.824 и 14.825 следует из равенств (14.827) и (14.828). Наконец, эквивалентность утверждений 14.825 и 14.826 вытекает из того факта, что каждый корень многочлена g (х) является корнем (прг^-й степени из единицы, а каждый корень (щпу-м степени из единицы может быть записан в виде PryJ, где I и J — подходящим образом подобранные целые числа. а 14.829. Следствие. В условиях теоремы 14.821 g (х) — н. о. к. (d (хП2), / (яП1)), где d (х) = и. о. д. (а(хР2), хп' — 1), /(;г) = н. о. д. (6(;гр1), хП2— 1). Доказательство. н. о. к. (d (Р/П2у7п2), / (PInryJni)) = а (Р1) Ъ а Пусть S и — циклические коды с порождающими многочле- нами d (х) и / (х). Согласно результатам разд. 5.8, 3 и являются перестановками Л и J?; следовательно, deg d (х) = deg а (х) и deg / (х) = deg b (х). Поскольку циклическое упорядочение отличается от канониче- ского, то декодер для циклического произведения кодов несколько отличается от каскадного декодера, изображенного на рис. 14.2. Так как из канала связи символы поступают в последовательности Coo, Со,пр Со.гщ, • • • , то, как заметил Эбрамсон [1968], на первом этапе каскадного декодера должен использоваться декодер для кода ур, в котором единичные элементы задержки заменены линиями задержки из пх элементов, а на втором этапе каскадного декодера — декодер для кода 3>, в котором каждая единичная задержка заме- нена линией задержки из ге2 элементов. Теорема 14.821 и следствие 14.829 позволяют определить, можно ли заданный код с блоковой длиной прг^ представить в виде произве- дения двух циклических кодов с длинами и п2. Для этого надо выписать все корни исходного порождающего многочлена в виде набора пар (7, J) и проверить выполнение условий теоремы 14.821 и следствия 14.829. Многие неразложимые коды являются подкодами больших кодов, которые разложимы в произведение циклических кодов. Эта задача о разложении изучалась с более абстрактной точки зрения Гёталсом [1967]. 14.83. Среднее число ошибочно декодируе- мых символов в коде Хэмминга. Чтобы рассчитать характеристики прямого произведения кода Хэмминга и некоторого другого кода, полезно прежде найти среднее число ошибочно декоди- руемых символов в 1-удлиненном коде Хэмминга с блоковой дли-
350 Гл. 14. Коды, полученные путем модификации других кодов нот 2т при передаче по двоичному симметричному каналу без памяти с вероятностью Р ошибки в одном символе. Если в канале искажается четное число символов блока дли- ны 2т, то декодер для кода Хэмминга не изменяет принятого вектора; если число ошибок нечетно, то декодер изменяет один символ на противоположный. Если в канале произошла только одна ошибка, то она будет исправлена. Однако, если ошибок несколько, то деко- дер либо исправит одну из них, либо внесет новую ошибку. Декодер исправит ошибку тогда и только тогда, когда вес вектора ошибок равен i + 1 и он находится на расстоянии 1 от кодового слова веса i; декодер внесет дополнительную ошибку тогда и только тогда, когда вес вектора ошибок равен i — 1 и вектор находится на расстоянии 1 от кодового слова веса г. Обозначим через Aim> число кодовых слов веса i в 1-удлиненном коде Хэмминга с длиной 2т, и пусть А<т) (г) = 2 A[m,z’. Среди 2”* i слов, расположенных на расстоянии 1 от данного кодового слова веса i, точно i слов имеют вес i — 1 и точно 2”1 — г слов имеют вес i + 1. Следовательно, нумератор ошибок, приводящих декодер к дополнительной ошибке, равен 2 iAi^z* = zA{my (z), а нумератор г исправляемых декодером ошибок равен 2 (2т — i) A^z1 = 2тА<т> (г)— - zA(m)' (z). Если вероятность ошибки в канале равна Р, то среднее число ошибок равно е = 2тР. Вероятность того, что декодер внесет допол- нительную ошибку, равна 2 iA^P' (1—Р)2 -г = (1—Р)2 А(т) (х), г где х = Р/(1 —Р). Аналогично, вероятность исправления ошибки равна (1 — Р)2”1 X [2тА<7П) (х} — хА(т) (х)]. Используя эти веро- ятности, можно вычислить е — среднее число искаженных символов в принятом блоке. Соответствующая формула имеет вид (14.831) е = е — (1 — е2’т)2т [2тА<т> (х)- 2хА(т)> (ж)], где х = е2-”7(1 - е2~т). Формула для А<т) (z) будет выведена в разд. 16.2. Мы не приво- дим здесь этого вывода, поскольку не хотим отвлекать читателя гро- моздкими деталями доказательства. Функциональное соотношение между е и е зависит от т, при m —> оо существует предельное соотношение, график которого изо- бражен на рис. 14.3. Две точки этой кривой заслуживают особого внимания: (14.832) е<е, если е< 2,1779; (14.833) е<у, если 0,6246-
14.8. Прямое произведение кодов и его свойства 351 Согласно (14.832), при 2,1779 <е < 2"1 более вероятно, что декодер внесет дополнительную ошибку, чем исправит происшедшую ошибку. Рис. 14.3. Соотношение между средним числом искаженных символов в блоке до и после декодирования для длинных 1-удлиненных двоичных кодов Хэмминга. Это не должно быть слишком удивительным, так как декодер, исправ- ляющий одиночные ошибки, будет декодировать любой вектор оши- бок веса 3 в кодовое слово веса 4. 14.84. Коды Элайеса. Конструкция прямого произведе- ния кодов легко распространяется на любое число множителей. Например, прямое произведение кодов 98 и определяется как (Л X X Чэ. Следуя замечательной идее Элайеса [1954], рассмотрим прямое произведение 1-удлиненных двоичных кодов Хэмминга с блоковыми длинами 2’, 2l+1, 2’+2, .... Так как скорость прямого произведения равна произведению скоростей сомножителей, то для бесконечного произведения 1-удлиненных кодов Хэмминга получаем оо 7?г = П [1 —(т+1)2--]. тп=г Ясно, что это произведение сходится к положительному пределу, так как оо оо У т2-<т-1> = ГА у гт1 = 4#<оо. ZJ L dz ZJ Jz=i/2 2’-1 m=i+l Примерные значения скоростей таковы: Rs = 0,92; Т?7 = 0,86; Яв = 0,77: Я5 = 0,63; Я4 = 0,43; R3 = 0,21; Т?2 = 0,05. Бесконечный каскадный декодер для бесконечного прямого про- изведения показан на рис. 14.4. На первом этапе такого декодера
352 Гл. 14. Коды, полученные путем модификации других кодов используется декодер для 1-удлиненного кода Хэмминга с блоковой длиной 21, на втором этапе — декодер для 1-удлиненного кода Хэмминга с блоковой длиной 2г+1, ... . Пусть гт — среднее число искаженных символов в блоке, посту- пающем на вход декодера для кода Хэмминга с длиной 2"1. Тогда вероятность ошибки в символе равна em/2m, и среднее число ошибок в блоке длины 2m+1 равно ет+1 = 2m+1em/2m = 2ещ. Эти ошибки не являются статистически независимыми, так как в пределах любого блока 1-удлиненного блока кода Хэмминга с длиной 2”1 содержится четное число искаженных символов. Более того, иногда эти ошибки образуют кодовые слова. Однако ошибки внутри одного блока ста- тистически независимы от ошибок, расположенных внутри другого Рис. 14.4. Каскадный декодер для кода Элайеса. блока кода. Следовательно, ошибки, расположенные внутри блока из 2m+1 символов, поступающего на вход декодера следующего кода Хэмминга, статистически независимы. Это позволяет использовать равенство (14.831) для расчета вероятности ошибки в символе на каждом этапе каскадного декодера. В силу свойства (14.833) заключаем, что если ет <; 0,6246 для любого достаточно большого т, то <?m+i = 2em В этом случае среднее число ошибок на декодируемый блок уменьшается на каж- дом этапе каскадного кода не менее чем в 2 раза. Поэтому хотя бло- ковый «объем» соответствующих кодов Хэмминга увеличивается, среднее число ошибок на блок стремится к нулю. С другой стороны, если 0,6246 < ет для достаточно большого т, то ет+1 > ет и ет+1 <Zem+z <ст+з- • • • В конце концов мы найдем такое к, что em+k >- 2,1779. После этого любые дальнейшие попытки декоди- рования будут приводить лишь к увеличению среднего числа ошибок в блоке. Таким образом, для достаточно больших т величина 0,6246 является критической точкой для ет. На основе равенства (14.831) с помощью вычислительного устройства нами получены следующие критические значения:
14.8. Прямое произведение кодов и его свойства 353 т Критические значения для ет Критические зна- чения для Рт СО 0,6246 11 0,6246 0,000305 10 0,6248 0,000610 9 0,6251 0,00122 8 0,6257 0,00244 7 0,6268 0,00489 6 0,6290 0,00983 5 0,6336 0,0192 4 0,6429 0,0402 3 0,6628 0,0828 Как видно из этой таблицы, каскадный декодер для бесконечного прямого произведения 1-удлиненных кодов Хэмминга длин 24, 25, ... обеспечивает безошибочное декодирование, если вероятность ошибки в символе в канале не превосходит 0,0402. Если Р = 0,0402, то вероятность ошибки в каждом символе после соответствующего блока каскадного декодера становится равной 0,0192, 0,00983, . . . . Коды Элайеса — единственный известный класс кодов, обеспе- чивающих безошибочное кодирование в одностороннем двоичном симметричном канале с положительной скоростью передачи. 14.85. Тензорное произведение кодов. Любая проверочная матрица из г строк и п столбцов над GF (qm) может быть продолжена до проверочной матрицы из тг строк и п столбцов над GF (q), как это сделано в примере (5.21) на стр. 134 для г = 2, q — 2, т = 4 и п = 15. Соответствующий код над GF (q) будем назы- вать продолжением кода над GF (qm), а код над GF (qm) будем называть сжатием кода над GF (q). Каждый код над GE (qm) имеет единственное продолжение, но некоторые коды над GF (q) имеют несколько сжатий на GF (qm), в частности, если избыточность кода над GF (q) не кратна т. Если и SS — коды над GF (qm) и ^—продолжение кода ё над GF (q), то тензорным произведением называется продолжение кода, дуального к прямому произведению дуальных к Л и 38 кодов. Если длина и избыточность кода 3k равны и г1( а длина и избы- точность кода ё равны и2 и г2, то длина и избыточность кода ^0® равны и1и2 и ггг2. Практически часто для кода ё полагают г2 = т, а в качестве выбирается код Рида — Соломона. В декодере сначала декодируется код причем грп символов синдрома над GF (д) рассматриваются как символов синдрома над GF (qm), а получен- ные «значения ошибок» лежат в GF (qm). Каждое из этих «значений ошибок» рассматривается затем как г2-символьный синдром над 23—658
354 Гл. 14. Коды, полученные путем модификации других кодов GF (q) и используется для декодирования кодовых слов длины п2 кода (€>. Хотя для односторонних каналов связи без памяти использование тензорного произведения не представляется особо привлекательным, Вулф [1965 а] показал, что некоторые коды такого сорта позволяют исправлять кратные пакеты ошибок. Элспас и Вулф [1963] и Вулф [1965 Ь] построили тензорные произведения кодов, которые могут быть использованы для локализации искаженных подблоков. При использовании таких кодов в двухпутевых каналах связи приемник может запрашивать передатчик о ретрансляции только искажен- ных подблоков. 14.86. Прямая сумма кодцв. Если Л и 98 — коды над одним и тем же полем, то прямой суммой Л (+) 9? называется код, состоящий из всех слов вида а * Ь, где а £ Л, обозначает композицию 2). Длина кода Л @98 равна сумме длин кодов Л и 98, а его размерность — сумме размерностей этих кодов; минимальное рас- стояние кода Л + 98 равно наименьшему из минимальных расстоя- ний кодов Л и 98. Хотя прямая сумма кодов мало схожа с прямым произведением кодов, вместе эти два понятия употребляются очень часто. Код 3) называется разложимым, если после некоторой переста- новки координат он может быть записан в виде прямой суммы 'ё ~ = Л @ 98. Слепян [1960] показал, что ни один разложимый линей- ный код не имеет большее минимальное расстояние или меньшую вероятность ошибки, чем лучший неразложимый линейный код с той же скоростью и блоковой длиной. 14.9. Каскадные коды Если прямое произведение кодов кодируется и декодируется каскадным образом, как показано на рис. 14.2, то такая система Внешний канал Рис. 14.5. Система с каскадным кодированием и декодированием. передачи является частным случаем системы, представленной на рис. 14.5 и исследованной впервые Форни [1966 Ь]. Этот раздел представляет собой краткое введение в работу Форни. х) Действия над словами а*Ь производятся так: a*b + ai*b4 = (а + а4)* *(Ь + bi), А (а*Ь) = Аа*АЬ (А — элемент поля).— Прим. ред.
14.8. Прямое произведение кодов и его свойства 355 Предположим, что устройства внутреннего кодера и внутреннего декодера, выделенных на рис. 14.5, заданы заранее и фиксированы, и остановимся на задаче выбора внешних кодера и декодера, улучша- ющих характеристики их выходного канала. Внутренний кодер разбивает поток поступающих данных на блоки по к символов и кодирует каждый из этих блоков более длинными блоками по п символов. Блок длины п передается затем по внутрен- нему каналу и декодируется во внутреннем декодере. Поток данных, поступающих на выход внутреннего декодера, состоит из блоков по к символов, представляющих собой информационные символы декоди- руемых блоков длины п. Хотя ошибки внутри одного такого блока статистически не зависят от ошибок в других блоках, в пределах одного блока они статистически зависимы. Большинство декодируе- мых блоков длины п вообще не будет содержать искаженных симво- лов, но немногие пораженные блоки скорее всего будут содержать несколько искаженных позиций. Ошибки внутри любого блока длины п должны составлять кодовое слово. Предположим, например, что в качестве внутреннего кода используется регистровый код максимального периода с блоковой длиной п = 2* — 1. Этот код эквидистантен, и вес всех его ненуле- вых слов равен 2ft-1. Следовательно, если в декодируемом блоке из п символов искажена любая позиция, то он содержит точно 2fe-1 иска- женных символов. В силу эквидистантности кода вектор ошибок в пределах к информационных символов с равной вероятностью принимает любое из 2k — 1 возможных ненулевых значений. Други- ми словами, каждый из блоков по к информационных символов, передаваемых от внутреннего декодера к внешнему, либо полностью не искажен, либо полностью случаен. В силу этих причин внешний декодер может рассматривать каж- дый поступающий к нему блок из к символов как одну букву выход- ного алфавита порядка 2h. Если внутренний код эквидистантен, то все ошибки в этом внешнем алфавите равновероятны. В общем случае, если внутренний код содержит к информацион- ных символов в блоке над GF (q^, то можно рассматривать внутрен- ний кодер, внутренний канал и внутренний декодер как единый внеш- ний канал, входные и выходные элементы которого принадлежат алфавиту порядка q2 = q%. Выходной канал не имеет памяти. В общем случае вероятности переходов символов в друг друга вычис- лить трудно, так что удобно полагать, что внешний код подобран так, что все искажения символов равновероятны. Будем считать, что внешний код — код над GF (<?2) с метрикой Хэмминга. Так как q2 достаточно велико, то в качестве выходного кода мож- но выбрать код Рида — Соломона (PC-код). Из результатов разд. 13.3 известно, что PC-код имеет наибольшее минимальное расстояние среди всех линейных кодов с той же скоростью и той же блоковой длиной. В гл. 10 было показано, что к PC-кодам, как и ко всем 23*
356 Гл. 14. Коды, полученные путем модификации других кодов БЧХ-кодам, применимы эффективные алгебраические методы коди- рования и декодирования. Взятые вместе, PC-код над GF (q2) и внутренний код над GF (qr) образуют очень длинный каскадный суперкод над GF (gj. Скорость передачи информации такого суперкода равна произведению скоро- стей PC-кода и внутреннего кода. Для построения каскадного суперкода со скоростью R и длиной N над GF (q^ надо соответствующим образом выбрать блоковую длину и скорость внутреннего кода и построить этот код. Для целей анали- за можно взять случайно выбранный внутренний код. Даже если для декодирования такого кода придется использовать перебор всех кодовых слов, то по сравнению с длиной N суперкода это количе- ство вычислений не является чрезмерным. Если к — алгебраическая функция от log N, то количество вычислений на декодируемый блок внутреннего кода будет алгебраической функцией от N. Число вычис- лений на суперблок относительно внутреннего декодера — степен- ная функция от N, и, конечно, общее число вычислений на суперблок, необходимое для декодирования PC-кода, также степенная функ- ция от N. Вычисление вероятности ошибки декодирования на суперблок, т. е. вероятности того, что каскадный декодер не сможет правильно декодировать все информационные символы суперблока, зависит как от вида границ для вероятности ошибки случайного кода, так и от частного выбора скоростей и блоковых длин для внутреннего и внешнего кодов. Форни [1966b] получил очень интересный ре- зультат, согласно которому для всех скоростей, меньших пропу- скной способности канала, вероятность ошибки декодирования на блок стремится экспоненциально к нулю с ростом длины N супер- блока. Форни [1966b] вычислил также характеристики системы, в кото- рой внутренний декодер может передавать выходному декодеру некоторые дополнительные сведения. Улучшение экспоненты вероят- ности ошибки при каскадном декодировании можно получить, если позволить внутреннему декодеру передавать выходному декодеру, помимо каждого декодируемого блока, оценку вероятности его правильного декодирования. Если такую оценку не передавать, то максимальная экспонента каскадного декодирования уменьшается вдвое. Если внутренний декодер не передает оценки вероятности правильного декодирования, но стирает все неоднозначные внутрен- ние блоки, то общая экспонента составляет две трети от максимально достижимой. Читателя, заинтересованного в более подробном изучении каскад- ных кодов, мы отошлем к монографии Форни [1968]. Каскадные коды Форни и итеративные коды Элайеса не являются единственно известными методами построения реализуемых систем связи, сложность декодирования в которых растет сравнительно
14.8. Прямое произведение кодов и его свойства 357 медленно с ростом блоковой длины. Эпштейн [1958а] предложил такую систему для двоичного канала со стиранием; Хорстейн [1963], Берлекэмп [1964а] и Шелквик с Кейласом [1966] построили такие системы для каналов с бесшумной обратной связью. Возенкрафт и Рейффен х) [1961], Фано х) [1963], Галлагер х) [1963], Зив [1962, 1966, 1967], Пинскер х) [1968] и Фэлконер [1967] предложили такие системы для каналов без обратной связи и без стирания. См. разд. 15.65.
Глава 15 Другие основные методы кодирования и декодирования 15.1. Коды Сривэставы — нециклические коды с алгебраическим алгоритмом декодирования Как было показано в разд. 10.1, в качестве локаторов кода над GF (Q) удобно взять элементы поля GF (дт). При этом задача декоди- рования сводится к отысканию минимального множества локаторов ошибок Xi, Х2, . . ., Хе [Xt С GF (д'"1)] и соответствующего множества величин ошибок Уг, У2, . . .,Ye [Yt Е GF (д)], удовлетворяющих про- верочным соотношениям. Для БЧХ-кодов более удобным оказывается не непосредственный поиск множеств {X} и {У}, а отыскание много- члена локаторов ошибок (15.11) о(2)^П(1-^) г и многочлена значений ошибок (15.12) = П (1-ад. г Степень^многочлена (15.12) всегда меньше числа ошибок. Используя формулы (15.11) и (15.12), получаем, что (15-13) v ' a (z) XJ 1 1 — Xtz Сривэстава [1! проверочной мат (15.14) = )67] предложил класс линейных кодов, эицей вида bl3 bln - 1 — albi 1 — 1 — alt>3 ' ’ ' 1 — aibn bj bl2 bl3 bln 1—fl2^1 1 — ^2^2 1 — fl2^3 1 а2^П b\ ь'2 bl3 bn .1 — ad-ibi 1 — ad_ib2l — ad-163 ’ ’ ’ 1 —, задаваемых где I — некоторое целое число, а2, . . ., а</-1 — различные эле- менты пота GF (qm) и bu b2, . . ., Ьп — элементы множества
15.1. Коды, Сривэставы — нециклические коды ‘ 359 GF (qm) \ {0, а'1, а2\ а~\ . . ., ajLi}. Блоковая длина кода равна qm — d. Проверочные соотношения кода Сривэставы связаны с урав- нением (15.13). Они определяют величины g (at)/o (аг) для I = = 1, 2, . . ., d — 1. Задача декодера состоит в определении много- членов g (z) и о (z) по этим известным величинам. При deg £ < < deg о (d — 1)/2 существует не более одной пары многочленов о (z) и £ (z), удовлетворяющих этим условиям. В самом деле, если существует и другое решение [6 (z), ср (z)], то для i = 1, 2, . . ., d — 1 (15.15) 6 (аг) £ (аг) — а (af) ср (аг) = 0. Согласно теореме 2.15, любой многочлен степени <_d — 1, об- ладающий d — 1 корнями, есть тождественный нуль. Так как deg (б£ — Оф) <_d — 1, то из (15.15) вытекает, что g (z)/o (z) = = ф (z)/6 (z). В силу взаимной простоты многочленов g (z) и о (г) это означает, что существует не более одной пары многочленов £ (z) и о (z), таких, что deg £ < deg о (d— 1)/2, при заданных значениях £ (аг) (i=l, 2, . . ., d— 1) . Следовательно, код с проверочной матрицей (15.14) исправляет любые комбинации из (d — 1)/2 ошибок. Читатель легко может проверить, что минимальное расстояние кода равно по меньшей мере d. Берлекэмп [1967] предложил эффективный метод декодирования кодов Сривэставы, основанный на использовании последовательно- сти многочленов, сходящихся к о (z) и g (z). Можно также построить эффективную процедуру декодирования, основанную на численном методе отделимых разностей, описанном Милном [1949]. Любой из подходов приводит к декодированию, которое в случае длинных кодов Сривэставы лишь незначительно сложнее, чем для сравнимых БЧХ-кодов. При I = 1 двоичные коды Сривэставы с проверочной матрицей (15.14) на самом деле исправляют d — 1 ошибок. В двоичном случае все ненулевые значения Уг равны 1 и уравнение (15.12) записывается в виде g (z) = о' (z) = о (z)/z [здесь о' (z) — производная от о (z) по z, а о (г) — нечетная часть о (г)]. Проверочные соотношения тогда дают значения о (z) = z a (z) в точках z = аг, а2, . . ., а^. Эти условия определяют не более одного многочлена локаторов ошибок степени < d — 1. Если существуют два таких многочлена о (z) и б (z), то (15.16) ------- (a;L------------, «4 [о (at) + а (а;)] а; [6 (аг) + 6 (аг)1 откуда (15 17) q (аг) (ai ) (ad q (аг) _ Q ai ai
360 Гл. 15. Другие основные методы, кодирования и декодирования для i = 1, 2, .. ., d — 1. Но (15.18) ° + -S (z)zq---~ = / (za) = If (z)]2, где deg / < (d — l)/2. Следовательно, ввиду формулы (15.16) и тео- ремы 2.15, 6 (z) = о (z). Каждая из d — 1 строк проверочной матрицы (15.14) является элементом поля GF (qm). Если эту матрицу продолжить на GF (<?), то код Сривэставы будет иметь (d — 1) т проверочных символов. Однако в общем случае строки проверочной матрицы линейно зависимы. Ранг системы строк матрицы S3 будет зависеть от выбора элементов аг, а2, . . Пока не известно ни одного метода хоро- шего выбора этих элементов. Мало что известно и о числе информационных символов кодов Сривэставы. Во всяком случае они лишь незначительно хуже БЧХ- кодов, а в лучшем случае обеспечивают значительно большую ско- рость передачи информации. Коды Сривэставы, несомненно, заслуживают дальнейшего иссле- дования. 15.2. Вычетные коды — хорошие коды с трудным декодированием 15.21. Определение. Если п — простое число, а е делит п — 1, то число г, 1 г <; п, называется вычетом степени е по модулю п, если разрешимо сравнение хе = г mod п. Пусть порядок q по mod п делит (и — 1)/е, а — примитивный корень степени п в расширении поля GF (q), a Ro — множество всех вычетов степени е по mod п. Тогда можно образовать два е-вычетных кода с блоковой длиной и над GF (q). Они определяются как циклические коды с порождающими многочленами П (х— аг) — расширенный код; , . г6Но 8 \х)= ). рг / г\ (х — 1) ц (х—а )—суженный код. г£Но i-удлиненный е-вычетный код длины N = п + 1 может быть по- строен путем присоединения общей проверки на четность к расши- ренному е-вычетному коду. 15.22. Теорема. Пусть d — минимальный вес Хэмминга для кодовых слов расширенного е-вычетного кода длины п над GF (q), не принадлежащих суженному коду, и предположим, что е 2. Тогда d* > п. Доказательство. Так как п простое, то множество классов вычетов по mod п образует конечное поле GF (и), содержащее элемент а с мультипликативным порядком и — 1. Пусть Rt— множе-
15.2. Вычетные коды — хорошие коды с трудным декодированием 361 ство вычетов вида ale+l (i = 1, 2, . . . , е — 1), где О j <Z(n — i)/e. Тогда Ro состоит из вычетов степени е по моду- лю п. Положим g<1) (х) = [J (х —- аг). Тогда g<*> (ж)[J (х — аг) = П к — (““У]. г£агВ0 геНо Циклические коды, порожденные _ многочленами g(0> (х), gC1) (х), . . g(e-1) (х), эквивалентны. В двоичном случае эта экви- валентность вытекает из теоремы 5.81 и следствия 5.82, а в недвоич- ном случае — из непосредственного обобщения этих результатов. Если С<°) (х) — кодовое слово расширенного кода, не принадлежащее суженному коду, то С(0) (х) кратно g<°> (х) и не кратно (х — 1). Эквивалентные коды, порожденные многочленами g<°> (х), g<1> (х), . . ., g(e-1> (х), соответственно содержат кодовые слова С(0) (х), С(1> (х), . . ., С(е-1> (х), являющиеся перестановками кодового слова С(0> (х). Все эти слова не кратны многочлену х — 1. е— 1 Рассмотрим произведение [{ С^(х). Оно кратно многочлену е—1 г=0 fjg(t)(;c) и не кратно х—1. Следовательно, 1=0 П1^ (awtA, i=0 1=0 где /(!)=$—ненулевой скаляр поля GF (q). Так как е—1 Q С(!) (х) = sn mod (х — 1) 1=0 И [J С<1) (ж) = 0 mod 2 г=0 1=0 то из китайской теоремы об остатках вытекает, что е—1 п-1 (15.221) (х) = s 2 mod (жп—1). i=0 г=0 Так как вес Хэмминга произведения нескольких многочленов по mod (я" — 1) не превосходит произведения весов сомножителей, то из сравнения (15.221) следует, что е— 1 П d~^n. г=0 Так как п — простое, то имеет место строгое неравенство. в
362 Гл. 15. Другие основные методы кодирования и декодирования Наиболее важный класс вылетных кодов получается при е = 2. Эти коды называются квадратично-вычетными кодами (КВ-кодами). Для KB-кодов теорема 15.22 означает, что d2 > п. Если п = = —Imod 4, то эту границу можно улучшить с помощью теоремы 15.23. 15.23. Теорема (Мэттсон — Соломон [1961]). Если п простое и п = —1 mod 4, то минимальный вес Хэмминга кодовых слов расширенного КВ-«о5а с блоковой длиной п, не принадлежащих сужен- ному KB-коду, удовлетворяет неравенству d2 — d + 1 п. Доказательство. Как и в доказательстве теоремы 15.22, каждое слово кода с порождающим многочленом £<0) (а:) соответствует некоторому слову кода с порождающим многочленом g<x) (а:). Так как п =—1 mod 4, то —1—квадратичный невычет по mod п и С(1> (х) = = С(0) (х) — взаимному многочлену С(0) (х). При этом уравнение (15.221) запишется в виде п— 1 С<0) (х) С(0) (х) = s 2 mod (хп — 1). г=0 Если d—вес С<0) (х) и С<0) (х), то вес С(0> (х) С<0> (х) не (превосходит d2 — d + 1, так как в произведение входят d членов с x^cw\ и Согласно теореме 6.54, KB-коды длины п над GF (2) существуют тогда и только тогда, когда п— простое число, сравнимое с ±1 по mod 8. Хотя порождающая матрица двоичного KB-кода может быть построена путем соответствующих сдвигов порождающего многочлена кода, выбор проверочной матрицы в виде, показанном на рис. 15.1, дает некоторые преимущества. 15.24. Теорема. Пусть N = п + 1, Ro — множество (нену- левых) квадратичных вычетов по mod п, a Rr — множество квадратич- ных невычетов. Тогда (N хХ)-матрица определенная равенствами ^оо, v = 1 для всех V, за исключением и = сю; ( 0, если п = 1 mod 8; о° | 1, если —lmod8; с 1, если v — и£Л0; v — 0, если v — uQRi, t 0, если v — и — 0, является порождающей для 1-удлиненного двоичного KB-кода с блоко- вой длиной N. Замечание. Хотя такая матрица содержит X строк, размер- ность пространства ее строк равна только NI2.
15.2. Вычетные коды — хорошие коды с трудным декодированием 363 Так как каждый 1-удлиненный двоичный KB-код эквивалентен своему дуальному, томатрица, описанная в теореме 15.24, может быть также выбрана в качестве проверочной матрицы 1-удлиненного КВ-кода. Доказательство. Как видно из примера, указанного на рис. 15.1, строки матрицы не отмеченные символом оо, являются циклическими сдвигами многочлена / (х) = 2 хг . Если а — прими- геяо тивный корень ге-й степени из единицы, то [/ (а)]2 = / (а), так что / (а) £ GF (2), и, если г £ Ий, то/ (а*) = / (а). Если г £ R1, то / (аг) = = 1 + / (а), так как / (а) + / (аг) — сумма всех примитивных кор- ней ге-й степени из единицы и она равна 1, потому что совпадает с коэффициентом при х п~2 в круговом многочлене (?(") (х). Следова- тельно, существует такой примитивный корень а ге-й степени из еди- ницы, что / (аг) = 0, если г £ Но, и / (аг) = 1, если г £ Кратные многочлена / (х) совпадают, таким образом, с кратными порождающего многочлена расширенного КВ-кода или суженного КВ-кода в зависимости от того, будет ли / 1) равно 0 или1. Если п == 1 mod 8, то (п — 1)/2 четно и / (1) = 0. В этом случае кратные многочлена / (х) суть слова суженного КВ-кода с блоковой длиной п. Расширенный KB-код с блоковой длиной N может быть построен путем 2-удлинения этого кода путем дописывания единичного векто- ра длины N к порождающей матрице кода. Это приводит к матрице, описанной в формулировке теоремы. Если п = —1 mod 8, то (ге — 1)/2 нечетно и / (1) = 1. В этом случае кратные многочлена / (х) являются словами расширенного КВ-кода с блоковой длиной п. Расширенный KB-код с блоковой длиной N может быть построен из него путем добавления общей проверки на четность. Это также при- водит к порождающей матрице, указанной в формулировке теоремы. а Если г — квадрат примитивного элемента поля GF (re), a s — квадратичный невычет из GF (ге), то N элементов множества GF (п) (J сю можно упорядочить следующим образом; сю, 0, 1, г, г2, г3, . . ., s, sr, sr2, .... Как и на рис. 15.1, такое упорядочение координат приводит к порождающей матрице вида где Л, S8 и $ — квадратные циркулянтные матрицы размерности (ге — 1)/2, причем матрицы Л и симметричны. Если Л, S& или Ъ обратимы, то с помощью подходящего линейного преобразования
СО 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 оо 1 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 2 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 3 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 4 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 5 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 6 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 7 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 8 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 9 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 в 0 10 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 И 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 12 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 13 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 14 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 15 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 16 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 С помощью подходящей перестановки строк быть приведена к виду: и столбцов эта матрица может оо 0 1 2 4 8 16 15 13 9 3 6 12 7 14 и 5 10 оо 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 1 2 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 4 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 1 0 8 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 1 16 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 15 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 13 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 9 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 3 0 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 6 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 12 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 0 1 7 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 14 0 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 11 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 5 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 10 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 Рис. 15.1. Порождающая матрица 1-удлинениого КВ-кода длины 18.
15..2. Вычетные коды — хорошие коды с трудным декодированием 365 порождающую матрицу можно привести к виду (15.242) где J — единичная матрица размерности (re — 1)/2, a Sb — квадрат- ная циркулянтная матрица такой же размерности. Карлин [1969] показал, что такая форма порождающей матрицы двоичного КВ-кода очень полезна при исследовании весовой структуры кода. Так как порождающие матрицы многих хороших двоичных KB-кодов могут быть представлены в виде (15.242), то Мак-Вильямс [1968, 1970] недавно предприняла попытку изучения новых кодов такого вида. Преимущество записи порождающей матрицы в форме, приведен- ной в теореме 15.24, показывает также доказательство следующей теоремы. 15.25. Теорема. Каждый i-удлиненный двоичный КВ-коЗ инвариантен относительно перестановок Си C_u-i, где арифмети- ческие операции над индексами производятся, в множестве GF (re) (J сю, причем +0-1 = сю, а + оо-1 = 0. Доказательство. Мы утверждаем, что „ ( V "Ь &0, о если и £ Rp, (15.251) = \ " ° I Эи, v Зо, с 4“ если и £ Ro. Если один из индексов и или и равен 0 или сю либо если и = и, то равенство (15.251) непосредственно вытекает из теоремы (15.25). Для разбора остальных случаев заметим, что - 0 тогда и только тогда, когда (и — и) (—и'1 + u-1) Е Ro- Так как (и — и) (—у-1 + и-1) = —1 + u/v -j- и/и — 1 = (и/у)[(и/у)-1—I]2, то J/-U-1, -с-14- Su, о =0 тогда И только тогда, когда (и/и) £ Ro, что эквивалентно формуле (15.251).в Так как матрица в правой части (15.251) получается из J/Ui „ путем линейного преобразования строк, а матрица в левой части (15.251) получается из „ с помощью описанных в теореме перестановок строк и столбцов, то теорема доказана. в Глизон, Прейндж, Ассмус и Мэттсон показали, что если в каче- стве С.» выбрать скалярное кратное общей проверки на четность, то 1-удлиненный недвоичный KB-код инвариантен относительно пре- образования Си + C_u-i, где выбор знака определяется квадра- тичным характером и. Все арифметические операции (за исключением 0 X сю) можно определить в множестве GF (п) (J оо очевидным образом. [Если а £ GF (тг), то а Д сю = сю; если а £ GF (п) \ 0, то аоо = сю.] Эти
366 Гл. 15. Другие основные методы кодирования и декодирования арифметические операции порождают дробно-линейную группу, состоя- щую из преобразований и -+ (аи + Ь) Деи + d), где и £ GF (re) (J оо, а, Ь, с, d £ GF (n), ad =/= cb. Эта дробно-линейная группа трижды транзитивна-. любая упорядоченная тройка может быть переведена в любую другую упорядоченную тройку с помощью преобразования из группы. Для того чтобы это показать, заметим предварительно, что любую упорядоченную тройку можно перевести в (сю, 0, 1). Для этого достаточно перевести первый элемент тройки в 0, прибавив к нему подходящий элемент, и сдвинуть его затем в сю путем пере- хода к обратному. Для перевода второго элемента тройки в 0 доста- точно прибавить к нему подходящую величину. Наконец, третий элемент тройки может быть переведен в 1 путем выполнения соот- ветствующего умножения. Таким образом, дробно-линейная группа содержит преобразование, переводящее любую упорядоченную трой- ку в (сю, 0, 1). Так как в группе содержится и обратное преобразова- ние, то тройка (сю, 0, 1) может быть переведена в любую упорядочен- ную тройку. Следовательно, любой вектор (и, v, ш) может быть пере- веден в произвольный вектор (х, у, z) путем последовательных пре- образований (и, v, w) -+ (сю, 0, 1) —>- (х, у, z). Так как единственным преобразованием дробно-линейной груп- пы, оставляющим на месте каждую координату вектора (сю, 0, 1), является тождественное преобразование, то порядок этой группы равен N (N — 1) (N — 2). Дробно-линейная группа содержит под- группу индекса 2 всех подстановок вида и -> (аи Ь)Дси d), где ad — cb = 1. Ее порядок равен N (N — 1) (N — 2)/2. Эта под- группа называется проективной унимодулярной группой. Она поро- ждается подстановками и -* — и'1 и и а2и, где, а — примитивный элемент поля GF (п). Каждый 1-удлиненный двоичный циклический код инвариантен относительно подстановки Си -* Си¥1, так как эта подстановка есть циклический сдвиг. Согласно теореме 15.25, 1-удлиненный двоич- ный KB-код инвариантен также относительно подстановки Си -> C_u-i, а по теореме 5.81 этот код инвариантен также относительно всех под- становок вида Си -+ Cru, г £ Ro. Это дает теорему 15.26. 15.26. Теорема. Каждый 1-удлиненный двоичный KB-код ин- вариантен относительно дважды транзитивной проективной уни- модулярной группы Си -> C(au_|_b)/(Cuj-d), где и £ GF (п) (J сю, а, Ь, с, d б. GF (п), ad — be = 1. 15.27. Следствие. Минимальный вес d расширенного двоич- ного KB-кода с блоковой длиной п есть четное число, удовлетворяющее неравенству d2 > п, если п = -pl mod 8, и неравенству d (d — 1) IJs п — 1, если п == —1 mod 8.
15.2. Вычетные коды — хорошие коды с трудным декодированием 367 Следствие 15.27 немедленно вытекает из теорем 15.26, 10.39, 15.22 и 15.23. В силу следствия 15.27 минимальное расстояние расширенного двоичного КВ-кода с блоковой длиной 23 (кода Голея) равно по меньшей мере 7. Согласно границе сферической упаковки (разд. 13.1), ни один двоичный код с такой же блоковой длиной и скоростью передачи информации не может иметь большее минимальное расстоя- ние, так как (22j -ф (22j -ф (22) + (22j = 211. Поэтому коды Голея совершенны: на них достигается граница сферической упаковки. Скорость передачи информации для всех 1-удлиненных КВ-кодов равна R = 1/2. Эти коды включают в себя 1-удлиненный двоичный код Хэмминга с блоковой длиной 8, исправляющий одну ошибку, 1-удлиненный двоичный код Голея с блоковой длиной 27 и 1-удли- ненный троичный код Голея с блоковой длиной 12. Минимальное расстояние, которое гарантирует следствие 15.27, слабо растет с ростом N. Однако KB-коды часто имеют минимальный вес, превос- ходящий эту границу. Например, мы видели (теорема 16.33), что минимальное расстояние 1-удлиненного двоичного КВ-кода с бло- ковой длиной 48 равно 12, а следствие 15.27 гарантирует минималь- ный вес d = 10. Так как 2-укороченные KB-коды также имеют хорошие пара- метры, то много исследований посвящено определению минимального веса 2-удлиненных двоичных КВ-кодов. Лучшие из известных резуль- татов в этом направлении были получены Глизоном, Прейнджем (неопубликовано); Ассмусом, Мэттсоном и Турином [1965, 19661; Плесе [1963] и Карлином [1969]. Большинство из них подытожено на рис. 15.2. Результаты для п 761 получены Ассмусом и Мэтт- соном [1966] на основе хитроумного метода, использующего табли- цы круговых чисел, построенные Маскетом. Этот метод позволил им определить кодовые слова малого веса в некоторых KB-кодах длины п == 1 mod 4 при больших п. В общем случае минимальное расстояние КВ-кодов с умеренными блоковыми длинами незначительно лучше минимального расстояния сравнимых БЧХ-кодов. Однако, к сожалению, KB-коды значительно труднее декодировать. Теоремы 15.22, 15.23, 15.27 и 16.33 дают нижнюю границу для минимального расстояния некоторых КВ-кодов, по их доказательства не приводят к реализуемым алгоритмам деко- дирования. В общем случае декодеру нет необходимости определять ошибки в проверочных позициях. Это замечание лежит в основе так называе- мого перестановочного декодирования,, введенного Мак-Вильямс [1964]. Декодер подходящим образом переставляет позиции полученного слова до тех пор, пока ошибки не окажутся сдвинутыми в провероч- ные позиции кода, после чего слово исправляется. Перестановочное декодирование хорошо применять к кодам, инвариантным относи-
368 Гл. 15. Другие основные методы кодирования и декодирования п Я d п 7 d 7 2 3 761 2 17 2 5 1 361 2 23 2 7 1 381 3 31 2 7 6 841 2,3 . п 1 41 2 9 8 821 3 10 47 2 И 21401 5 71 2 И 30 941 7 73 2 <ЛЗ 49 921 2 79 2 15 89 2 17 2 521 2 103 8 089 2 2 19 47 521 3 12 ИЗ 2 15 49 681 2 127 2 <..19 137 2 <21 8 221 5 151 2 19 18 541 3 167 2 <.23 22 621 5 п— 1 191 2 <27 25 261 5 12 193 2 <27 44 269 7 199 2 <31 223 2 <31 1 289 2 233 2 <25 6 301 49 057 з п— 1 239 2 <39 2 14 241 2 <41 4 801 15 937 2 3 п — 1 47 713 2 16 8 821 3 п— 1 "" 20 9 601 2 18 433 2 ! 21 313 2 34 849 37 057 2 2 " 24 42 961 2 48 817 2 Рис. 15.2. Минимальное расстояние Хэмминга для некоторых расширенных KB-кодов длины п над GF (?).При п >761 результаты получены Ассму- сом и Мэттсоном [1966]. тельно большой группы подстановок. Как будет видно из задачи 15.3, некоторые 1-удлиненные KB-коды инвариантны относительно зна- чительно более мощной группы подстановок, чем проективная унимо- дулярная группа. Однако, как показал Шаугнесси [1968], некоторые другие 1-удлиненные KB-коды инвариантны только относительно простой *) проективной унимодулярной группы. Хотя перестановоч- !) Простой называется группа, не имеющая нормальных делителей. Под- робнее см., например, Диксон [1901].
15.3. Коды Рида — Моллера 369 ное декодирование — один из наиболее простых методов декодирова- ния KB-кодов (включая и код Голея), он значительно сложнее деко- дирования сравнимых БЧХ-кодов. С практической точки зрения, относительно большое минимальное расстояние KB-кодов и трудно- сти в их декодировании делают эти коды более приемлемыми в тех приложениях, где пригодны неполные алгоритмы декодирования. 15.3. Коды Рида — Маллера — слабые коды с легким декодированием Хотя 2-укороченные коды Рида — Маллера были введены впер- вые в 1954 году, их циклическая природа выявлена лишь недавно. Нам представляется педагогически более правильным обращение исторической последовательности событий и определение этих кодов через корни их порождающих многочленов. Обобщение кодов Рида — Маллера на недвоичный случай было дано Казами, Лином и Питерсоном [1967а]. 15.31. Определения. 2-укороченным обобщенным кодом Рида — Маллера порядка т с блоковой длиной п = qm — 1 (обозначает- ся через ОРМ-код) называется циклический код над GF (р), поро- ждающий многочлен которого задается равенством g(*) = П (*-«’)» 5, 0^w(j)<(q-l) тп-r, где_ w (/) — сумма цифр в g-ичном представлении числа у, а а — примитивный элемент поля GF (qm). ОРМ-код порядка г с блоковой длиной N = qm получается из 2-укороченного ОРМ-кода путем добавления единичного вектора к его порождающей матрице. РМ-«о5ол4 порядка г называется ОРМ-код порядка г над GF (2). 15.32. Свойства ОРМ-к о д о в, 15.321. РМ-«оЗ порядка г является {-удлиненным БЧХ-кодом с конструктивным расстоянием d = 2т~г. Доказательство» Если j = 1, 2, 3, , . 2m“r — 2, то w (j) <Z т — г. 15.322. ОРМ-«оЗ порядка г есть подкод {-удлиненного БЧХ-кода с конструктивным расстоянием d = (р — R) qm-Q~l, 3ge Q и R — соответственно частное и остаток от деления г на q — 1. Доказательство. Полагая г = Q (д — 1) + R, полу- чаем, что (д — 1) т — г = (q — 1) (т — Q — 1) q — 1 — R\ w ([g — /?] — 1) = (p — 1) (m — Q — 1) + (p — R — 1), но если / = 1, 2, 3, . . ., (q — R) qm~Q-t — 2, to w (j) <Z (q — P) m — r. 24—658
370 Гл. 15. Другие основные методы кодирования и декодирования 15.323. Код, дуальный ОРМ-коду порядка г, эквивалентен ОРМ- коду порядка [(? — 1) т — г — 1]. Доказательство» П(*-а’)= П(ж-а"3). 3. 3. (q—1) ш—r^w(3)<(g—1) ш, 0<w(3)<r-f-l, 0=5з=59т-1 0S3<Qm-1 15.324. Число информационных символов РМ-коЗа порядка г равно 3(7)- 1=0 Доказательство. Существует точно ( ) чисел у, та- ких, что 0 у < 2т и w (у) = I. 15.325. Число информационных символов ОРМ-коЗов порядка г равно Т 2 Р (i + m, т, q), 1=0 где Р (i + т, т, q) — число разбиений числа i + т на т слагаемых, каждое из которых не превосходит q. т— 1 Доказательство. Количество целых чисел j = 2 ikq\ та- fc=0 ких, что 0 jh < q для всех к и 2 jk — i (или 3(1 + /ь) = i + т) равно Р (i -f- т, т, q). 15.326. ОРМ-коЗ нулевого порядка — код с повторением. 15.327. ОРМ-коЗ первого порядка — 1-удлиненный регистровый код максимальной длины. 15.328. ОРМ-коЗ порядка [(<у — 1) т — 2] есть 1-удлиненный БЧХ-коЗ, исправляющий одну ошибку. 15.329. ОРМ-ко5 порядка [(тп — &)(<? — 1)] содержит точно ь-1 (*-1^11 1=о кодовых слов, вес Хэмминга которых равен qh. Каждое из этих кодо- вых слов может быть записано в виде скалярного кратного характери- стической функции к-мерного аффинного подпространства простран-
15.3. Коды Рида — Моллера 371 ства GF (qm) над GF (q). А именно С (х) = I 3 х\ t, сЛл где £ g GF (q) \ 0 и А есть к-мерное аффинное подпространство в GF (qm) над GF (q). Если а°° Q А, то общая проверка на четность задается равенством Сх = если а°°^А, то Сх = О. Утверждение 15.329 является непосредственным следствием тео- рем 11.64, 11.61 и 11.52. Читатель, пропустивший отмеченные звез- дочкой разделы в гл. 11, должен принять это предложение без дока- зательства. Свойство 15.329 показывает, что минимальное расстояние каждо- го PM-кода (и некоторых ОРМ-кодов) не превосходит границы 15.322 для БЧХ-кодов. Используя теорему 11.61, можно доказать, что минимальное расстояние каждого ОРМ-кода не превосходит границы для БЧХ-кодов. Так как доказательство этого факта аналогично доказательству теоремы 11.66, то оно опускается. Согласно 15.327 и 15.328, класс ОРМ-кодов содержит некоторые хорошие коды как для малых, так и для больших скоростей. Однако при умеренных скоростях ОРМ-коды становятся плохими. При чет- ном т минимальное расстояние PM-кода порядка (т — 1)/2 с бло- ковой длиной N — 2т равно d = У2N. Этот код содержит N/2 про- верочных символов, а 1-удлиненный БЧХ-код с блоковой дли- ной N и расстоянием d = У2N — только 1 + (d — 2)12 — 1 -f- + (УN/2 — 1) log2 N проверочных символов. При У-> оо РМ-код со скоростью 1/2 обеспечивает такое же минимальное расстояние, как и БЧХ-код со скоростью, стремящейся к 1. Даже при умеренных N разница весьма существенна. РМ-код третьего порядка длины 128 имеет скорость 64/128, а 1-удлиненный БЧХ-код длины 128, исправляющий 7 ошибок, имеет скорость 78/128. Минимальное рас- стояние обоих кодов равно 16. Тем не менее имеются две причины, благодаря которым РМ-коды занимают важное место в алгебраической теории кодирования: (1) изучение PM-кодов дало дополнительную информацию о неко- торых связанных с ними БЧХ-кодах; (2) скорость PM-кодов незна- чительно меньше скорости сравнимых БЧХ-кодов, но зато РМ-коды допускают более легкий алгоритм декодирования. Кодовые слова любого PM-кода интересным образом связаны с кодовыми словами PM-кода первого порядка. Пусть иг, н2, . . . . . ., ит — некоторый базис пространства GF (2т) над GF (2), a At (i = 1, 2, . . ., т) — его (т — 1)-мерное подпространство, т состоящее из всех элементов вида 2 U}и}, где U, g GF (2) и =0. j=l 24*
372 Гл. 15. Другие основные методы кодирования и декодирования Пусть С<*) — С]*), . . CWj, Сгс] — характеристическая функ- ция множества At, определенная равенствами: (15.331) {1, если [а3 £ Ар О, если a’&At. Здесь п — 2т — 1 и по определению а°° = 0. Определим, далее, покомпонентное произведение х) СР) и СР) как слово, задаваемое умножением соответствующих компонент р(г) /-»(г) Г»(1) р(г) Ъ Uq , Сг j , . . . , I/ п— 1 , ^00 f (15 332) С(3) = ^3), С(Д ..., Cpli, Ср’, c(l)®co) = tTc(03), С(?С\3\ ..., сМ. 15.34. Теорема. Каждое кодовое слово двоичного РМ-коЗа порядка г может быть записано в виде многочлена степени не выше г от переменных СР), С<2), . . ., С<т). Замечания. В качестве свободного члена многочлена выби- рается единичный вектор 1. Пазами, Лин и Питерсон доказали также теорему 15.34 для недвоичных ОРМ-кодов. В недвоичном случае в качестве Ct1), С<2), . . ., СР") выбираются некоторые специальные кодовые слова PM-кода первого порядка; эти слова не могут быть определены соотношением (15.331), но их произведение определяется форму- лой (15.332). Доказательство, Слово (15.341) с(11) ® c(t2) ® ® с(г? — характеристическая функция (т — ;)_мерного подпространства Ач f| Л12 f| . . . f| АХ) пространства GF (2m) над GF (2). Если 7 г, то по теореме 11.64 (или свойству 15.329) слово (15.341) являет- ся кодовым словом PM-кода порядка г. Число слов вида (15.341) Г равно ( 7 ) ’ и’ согласно 15.324, оно совпадает с числом информа- 3=0 ционных символов PM-кода порядка г. Для доказательства того, что все слова вида (15.341) линейно независимы, заметим, что характери- т стическая функция любого элемента из GF (2т), скажем, 2 Uxut, г=1 т может быть представлена в виде многочлена П [С(г> + (1+ 17,) 1] г=1 от СР) степени т. Таким образом, 2т слов вида (15.341) линейно г) Казамп, Лин и Питерсон употребляют термин «векторное произведение».
15.3. Коды, Рида — Моллера 373 независимы, и 2 ( "^ ) из этих слов> степени которых г, обра- 3=0 зуют базис векторного пространства PM-кода порядка г. н 15.35. Теорема. Каждый РМ-коЭ с блоковой длиной N = 2т инвариантен относительно любой подстановки, переводящей все аффин- ные подпространства пространства GF (2т) над GF (2) в аффинные подпространства. Группа всех таких подстановок трижды транзи- тп— 1 тивна, и ее порядок равен 2т (2т—2’). i=0 Доказательство. Каждое кодовое слово PM-кода поряд- ка г есть сумма слов, представляющих собой характеристические функции аффинных подпространств размерностей т — г, и каж- дая сумма характеристических функций аффинных подпространств размерности т — г является кодовым словом. Следовательно, каж- дая подстановка, переводящая аффинные подпространства из GF (2т) в аффинные подпространства, должна сохранять РМ-коды. Любой из 2т линейных сдвигов пространства GF (2т) переводит аффинные подпространства в аффинные подпространства; следова- тельно, порядок группы всех подстановок равен порядку подгруппы, сохраняющей нуль пространства GF (2т), умноженному на 2т. Эта подгруппа переводит любое линейное подпространство GF (2т) в другое линейное подпространство. Любой упорядоченный базис пространства GF (2т) под действием подстановок этой подгруппы должен переходить в другой упорядоченный базис. Следовательно, порядок подгруппы, оставляющей на месте нуль из GF (2т), равен числу упорядоченных базисов двоичного m-мерного векторного про- т—1 странства, которое по теореме 11.52 равно П (2т — 2’). н i = 0 Л1 ’ Ло + ^41«+Я2а-ЬЛза > ^4з4~(^4о”Ь^4з)а-Ь^41®2-Ь Л2сс® (оо) (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14) (Подразумевается, что а°° -> а°°, а® -► а1 -► а2 -► ... а -►14 -► а®) л2 '• + Л2а2-|-Л3а2 —> Aq -J-Лза-р (Л1-|-у1з)а2-]-у12а8 (оо)(0)(1,2,3,5,6,11,9)(4,8,14,10,13,12,7) лз • ^4оЧ“ 4~^3aS—* Яо+Л1«-|-Л3а2+ (А2 -|-Лз)а* (оо) (0) (1) (4) (2,3,6) (5,9,11) (7,10,12) (8,14,13) * ^4о+“Ь Л2сс2 ЛзС£2 —Ло Л^сс-|-Л2сс2 -|- (Лз-|- 1)сс® (оо,3) (0,14) (1,9) (2,6) (4,7) (5,11) (8,13) (10,12) Рис. 15.3 Некоторые подстановки, сохраняющие РМ-коды длины 16. Для иллюстрации теоремы 15.35 на рис. 15.3 приведен пример некоторых подстановок, сохраняющих РМ-код с блоковой длиной 16. Для записи подстановок используется описание поля GF (24), при- веденное в столбце 7 таблицы 4.1.
374 Гл. 15. Другие основные методы кодирования и декодирования 15.4. Пороговое декодирование — лучший из известных алгоритмов декодирования некоторых кодов Так как кодовые слова PM-кодов образуют подмножество множе- ства кодовых слов БЧХ-кода, то к PM-кодам применимы алге- браические алгоритмы декодирования БЧХ-кодов. Однако к PM-кодам с малыми скоростями применим и более простой алго- ритм, известный под названием порогового декодирования. Впервые один из вариантов порогового декодирования для кодов Рида — Маллера был описан Ридом [1954]. Для некоторых других классов блоковых кодов процедуры порогового декодирования были впервые введены Месси [1963]. Метод порогового декодирования мы объясним на последователь- ности примеров. 15.41. Двоичные коды длины п = 2т — 1с повто- рением. Начнем с простейшего случая 1-укороченного РМ-кода нулевого порядка, представляющего собой двоичный код с повторе- нием. При декодировании для этого кода достаточно подсчитывать число единиц среди п — 2'п —’ 1 полученных символов. Если получе- но более п/2 единиц, то принимается решение, что передавалось единичное кодовое слово; если получено меньше п/2 единиц, то при- нимается решение, что передавалось нулевое кодовое слово. Непо- средственный метод реализации этого решающего правила представ- лен на рис. 15.4. Декодер содержит нг-разрядный счетчик и т-ячееч- ный регистр сдвига с обратной связью (ОСР). В начальном состоянии счетчик установлен на нуль, а ОСР содержит 00 . . . 01. Символы, поступающие из канала связи, складываются в счетчике. Переход ОСР снова в состояние 00 ... 01 означает, что все 2т—1 символов
15.4. Пороговое декодирование 375 приняты. Наивысший разряд счетчика равен 1 тогда и только тогда, когда среди принятых символов содержалось не менее 2”1-1 единиц. Наивысший разряд счетчика выдается на выход, а сам он устанав- ливается в нулевое положение, чтобы приготовиться к приему сле- дующего блока из 2™ — 1 символов. Двоичный код с повторением описывается следующими прове- рочными соотношениями: (15.42) О = Со + С15 О = Сд -j- С2, О = Со 4- С3, Каждое из этих проверочных уравнений связывает Со и один из дру- гих символов. Более того, никакая пара проверочных соотношений не содержит общих символов, за исключением Со. Поэтому каждое из уравнений определяет независимое значение Со: ' Hi, если Ei = 0; r R2, если £’2 = 0; 7?з, если £’3 = 0; Если не более половины координат вектора шума Ео, Ег, . . ., Еп_г равны 1, то решение о Со можно принять «по большинству голосов» для {7?}. Уравнения (15.42) представляют собой простейший пример систе- мы ортогональных проверок. В общем случае имеет место следую- щее определение: 15.43. Определение. Множество проверочных уравнений называется ортогональным на множестве позиций Р = {i, j, . . ., k} тогда и только тогда, когда 1) Et входит во все проверочные уравнения множества для любо- го i £ Р; 2) Et входит не более чем в одно проверочное уравнение множе- ства для любого i $ Р. 15.44. ОСР-к оды максимальной длины. Рассмо- трим далее 2-укороченные PM-коды первого порядка, совпадающие с ОСР-кодами максимальной длины. Так как совершенные коды Хэмминга, исправляющие одну ошибку, дуальны к этим кодам, то такой код удовлетворяет проверочному уравнению 2 Ci = 0 тогда i£P и только тогда, когда 2 а* = 0- В частности, для любой задан- »е₽ ной пары позиций {i, j} код содержит проверочные соотношения
376 Гл. 15. Другие основные методы кодирования и декодирования Р {i, j, к} веса 3, связывающие эти символы, где ah — а’ + а3. Следовательно, для любой заданной позиции можно выбрать (п — 1)/2 проверочных соотношений веса 3, ортогональных на зтой позиции. Например, предположим, что т = 4 и а4 = а + 1. Тогда ортогональными на нулевой позиции будут следующие семь прове- рочных множеств: {0, 1, 4}, {0, 2, 8}, {0, 3, 14}, {0, 5, 10}, {0, 6, 13}, {0, 7, 9}, {0, И, 12}. Если в канале произошло не более трех ошибок, то Со может быть определено «по большинству голосов» из следующих восьми равенств: (15.45) Pi -Г Р4, если Pi + P4 = 0; Рг + Р«? если Рг 4“ Ре= 0; Рз + Р14, если ts го + о Р5 + Рю, если Ре4- Рю = 0; Ре 4~ Рю, если Ре + Рю = 0; Р7 Н- Ре, если Р7 Pg = 0; Р11 + Р12, если Рп 4~Р12 — 0 Pfl, если Р0 = 0. Если не менее пяти из этих величин совпадут, то «голосование» обеспечит наиболее вероятное значение Са. Если четыре из этих равенств дадут Со = 1, а остальные четыре — Со = 0, то пороговая процедура приведет к нарушению декодирования, что позволит обнаружить четыре или более ошибок в канале. Для того чтобы избежать зтой «пробки», рассмотрим вероятности различных оценок (15.45). В двоичном симметричном канале с вероят- ностью ошибки Р имеем Рг (£0 = 0) = 1 - Р, Рг (Et + Ej = 0) = (1 - Р)2 + Р2. Если 0 < Р < 1/2, то (1 — Р)2 4- Р2 < 1 — Р, так что значение Со = Ро имеет большую вероятность, чем все остальные. На зтой основе можно построить более тонкий пороговый декодер, который при делении голосов «четыре на четыре» дает оценке Со = Ро допол- нительный голос. Декодер на рис. 15.5 вычисляет согласно 15.45 все восемь оценок. Сначала к нулевому состоянию счетчика добавляется 2Р0. Затем вычисляется величина Pj + Р4 и складывается с содержимым счет- чика. После этого кодовое слово подвергается подстановке л-1, показанной на рис. 15.3. Эта подстановка не трогает позиции 0, но переставляет 2-ю и 8-ю позиции соответственно с 1-й и 4-й. Затем вычисляется новая проверочная сумма и добавляется к содержимому счетчика. После вычисления всех восьми величин по большинству голосов» определяется Со. Далее осуществляется циклический
15.4. Пороговое декодирование 377 сдвиг кодового слова и процесс повторяется для определения Сг, . ., Сп-1- Хотя схема декодирования рис. 15.5 использует только один сумматор полученных символов, для декодирования с ее помощью одного символа слова требуется осуществить 7 перестановок. На Рис. 15.5. Перестановочно-пороговый декодер для ОСР-кода, п = 15. рис. 15.6 приведена схема с большим быстродействием, позволяющая вычислять все восемь оценок одновременно. Счетчик на рис. 15.5 заменен на рис. 15.6 пороговым элементом — элементом без памяти, Рис. 15.6. Пороговый декодер для ОСР-кода, п = 15. мгновенный выход которого равен единице тогда и только тогда, ког- да не менее Т из его входов равны единице. Хотя конструкция поро- гового элемента, основанная на элементах И, ИЛИ и НЕ (см. рис. 2.1), очень сложна и требует многих компонентов, существует много технологических способов построения порогового элемента в виде единственного компонента. Например, пороговый элемент может быть выполнен в виде единого металлического тора. Каждый
378 Гл. 15. Другие основные методы кодирования и декодирования вход выполняется в виде проволоки, обернутой вокруг тора опре- деленное число раз. Ток проходит по каждому входному проводу (во всех проводах в одном направлении) тогда и только тогда, когда соответствующий ему вход равен 1. Дополнительный провод имеет в Т раз больше витков, чем каждый из входных. По нему всегда проходит ток в противоположном направлении. Выход порогового элемента определяется направлением потока в торе. Декодер рис. 15.7 отличается от декодера рис. 15.6 тем, что поро- говый элемент с девятью входами заменен на несколько дополнитель- Р и с. 15.7. Синдромно-пороговый декодер для ОСР-кода, п = 15. ных сумматоров и пороговый элемент с семью входами, выход кото- рого равен 1 тогда и только тогда, когда не менее пяти из его вхо- дов равны 1. Декодер, изображенный на рис. 15.7, называется синдромным пороговым декодером, так как входы порогового элемента представляют собой символы синдрома Ro -|- Rt 4- Т?4, Ro 4- R2 + 4-7?8, . . ., Ra 4- 7?u 4- R12, значения которых равны соответственно £"0 4- 4* ЕЕо 4- Е2 4- Eg, . . ., Ео 4- Е1г 4- Е12. Выход поро- гового элемента равен принимаемой величине символа Ео. Алгоритмы декодирования с исправлением t ошибок (рис. 15.4— 15.7) используют существование 2t проверочных соотношений, орто- гональных на декодируемой позиции. Для большинства кодов, исправляющих t ошибок, не существует 2t проверочных уравнений, ортогональных на любой заданной позиции. Однако, как показывает следующий пример, иногда мажоритарное решение позволяет опреде- лить вектор ошибок, если использовать в декодере многоступенчатую процедуру. 15.46. Двухступенчатое пороговое декодиро- вание РМ- (31,16)-к ода. Рассмотрим 1-укороченный код вто- рого порядка с блоковой длиной 31, исправляющий 3 ошибки. Мы покажем, что этот код можно декодировать с помощью синдромного порогового декодера рис. 15.8, где связи внутри «цепей суммирова- ния» могут быть определены из рис. 15.9 способом, который будет объяснен ниже.
15.4. Пороговое декодирование 379 Задачей всех цепей на рис. 15.8 является получение величины символа Ео вектора шума. Как только это будет сделано, символ в нулевой позиции может быть исправлен, и, используя цикличе- ский сдвиг, на той же схеме можно будет получить величины Еи Е2, ..., Еп^. Величина Ео получается как выход оконечного порогового эле- мента с шестью входами. Каждый вход этого оконечного порого- вого элемента равен двоичной сумме четырех символов вектора ошиб- ки, соответствующих одному из множеств, указанных в крайнем Рис. 15.8. Двухступенчатый декодер для РМ-(31,16)-кода левом столбце верхней таблицы на рис. 15.9. На первый вход подается величина Ео Et + Е12 + Е13' на второй E0-\-Es + E2i-±- + Е30, . . ., на шестой Ео + Ео + Еи + Е13. Каждая из четверок на рис. 15.9 определяет аффинное подпро- странство в GF (25). Любые две четверки из одной и той же строки могут быть переведены друг в друга. Следовательно, объединение любых двух четверок из одной и той же строки на рис. 15. 9 определяет трехмерное аффинное подпространство в GF (25). Например, объеди- нение первых двух четверок на рис. 15.9 дает {0, 4, 12, 15, 1, 17, 8, 13}, что соответствует трехмерному аффинному подпространству {а0, а4, а12, а15, а, а17, а8, а13}. Используя приложение А, читатель может проверить, что это дей- ствительно аффинное подпространство. Согласно теоремам 15.323 и 15.329, код удовлетворяет проверочному соотношению, которое определяется любым трехмерным аффинным подпространством, не содержащим а°°. Иными словами, декодер может вычислять символы
6 двумерных аф- финных подпро- странств, ортого- нальных на пози- ции 0 Их сдвиги Неисполь- зованные сдвиги (вклю- чающие позицию оо) 0 4 12 15 1 17 8 13 2 27 22 9 3 25 И 26 18 30 20 14 7 5 16 6 19 28 29 21 оо 10 23 24 0 8 1 12 2 3 И 27 4 13 5 29 6 19 оо 20 24 30 14 10 16 26 21 7 23 18 9 28 22 25 15 17 0 16 1 21 2 24 18 25 23 22 15 5 12 7 оо 9 17 29 4 6 28 20 10 27 14 И 8 26 13 19 30 3 0 18 23 8 2 19 3 6 4 30 12 20 13 24 оо 1 7 28 9 21 10 17 14 15 5 И 16 25 29 27 22 26 0 20 1 23 2 29 3 5 18 12 15 30 6 И оо 8 21 22 16 28 14 4 10 13 9 26 19 27 17 24 25 7 0 9 1 25 18 21 3 17 4 27 23 7 6 10 оо 16 11 13 2 15 5 24 12 22 28 8 29 30 20 26 19 14 Три дополнитель- ных подпрост- ранства, ортого- нальных на по- зиции О 0 1 3 27 23 20 19 5 2 И 8 12 7 26 4 24 4 17 25 9 15 13 28 22 10 30 21 16 оо 18 29 6 0 2 6 23 1 И 29 20 14 21 28 17 3 8 18 19 4 22 16 24 15 9 7 10 13 25 26 30 со 5 27 12 0 5 14 25 1 19 24 9 23 27 17 26 3 20 7 4 6 12 28 30 15 16 18 11 8 29 10 22 оо 2 13 21 Рис. 15.9. Аффинные подпространства пространства GF (26).
15.4. Пороговое декодирование 381 синдрома $х = Яо4* #4 4* Ец 4- £"15 4~ 4~ Е17 4- 2?8 4- Е13 как суммы «х = 7?0 4- 7?4 4- -^12 4- ^15 4- #х 4- Кц 4- Я8 4- ^хз- Аналогично может быть вычислена двоичная сумма ошибочных симво- лов в позициях {0, 4, 12, 15, 2, 22, 27, 9), {0, 4, 12, 15, 3, 25, И, 28}, . . ., {0, 4, 12, 15, 19, 26, 29, 21}. Так как эти шесть проверочных соотношений ортогональны на {0, 4, 12, 15}, то при условии, что в канале произошло не более трех ошибок, выход первого предвари- тельного порогового элемента равен Ео -}- Е± 4- Ехз 4- Ехз. Каждый из шести предварительных пороговых элементов опре- деляет соответственно величину двоичной суммы ошибочных симво- лов, указанных в крайнем левом столбце верхней таблицы рис. 15.9. Если в канале произошло не более трех ошибок, то каждая из этих величин правильна и выход оконечного порогового элемента дает правильное значение символа Е3. Если в канале произошло четыре или более ошибок, то декодер рис. 15.8 может произвести как пра- вильное, так и ошибочное декодирование (см. задачу 15.5). Декодер рис. 15.8 осуществляет двуступенчатое пороговое декоди- рование, так как рассматриваемый код ортогонализируем в два шага в соответствии со следующим определением. 15.47. Определение. Линейный код, исправляющий t оши- бок, называется ортогонализируемым в 1 шаг, если для него сущест- вует 2t проверочных уравнений, ортогональных на каждой позиции I, i = 0, 1, 2, . . ., п — 1. Код называется ортогонализируемым в L шагов, если существуют множества позиций PC1), Р(2), . . ., такие, что: 1) для всех i код имеет 2t проверок, ортогональных на Р<1); 2) подкод исходного кода, удовлетворяющий этим проверкам ( С] — 0 для всех j}, ортогонализируем в L — 1 шаг. Для PM-кода порядка г и длины 2т — 1, исправляющего 2”г-г'1—1 ошибок, в качестве множеств могут быть выбраны г-мерные аффинные подпространства пространства GF (2т). Подкод, удовлет- воряющий проверкам Cj = 0 для всех I, является РМ-кодом порядка г — 1. Отсюда непосредственно (индукция по г) вытекает следующее утверждение: 15.48. Теорема. РМ-коЗ порядка г с длиной 2т, исправляю- щий (2m-r‘1 — 1) ошибок, и i-укороченный РМ-коЗ порядка г с дли- ной 2т— 1, исправляющий (2т-г-1 — 1) ошибок, ортогонализируемы в r+ 1 шагов-, 2-укороченный РМ-коЗ порядка г с длиной 2т — 1, исправляющий (2m-r-1 — 1) ошибок, ортогонализируем в г шагов.
382 Гл. 15. Другие основные методы кодирования и декодирования Как видно из примера 15.46, некоторые РМ-коды порядка г ортогонализируемы меньше чем в г + 1 шагов. Однако ни один из 2-укороченных PM-кодов при г > 1 не допускает ортогонализацию в один шаг. Для некоторых кодов, исправляющих несколько ошибок и допу- скающих ортогонализацию в несколько шагов, пороговое декодиро- вание хуже алгебраических процедур декодирования. Например, коды Хэмминга являются 1-укороченными PM-кодами, и поэтому к ним применимо пороговое декодирование. Однако такие декодеры оказываются сложнее, чем декодер, схема которого представлена на рис. 5.3. С другой стороны, для многих легко ортогонализируемых кодов с исправлением t ошибок пороговые декодеры значительно проще реализуемы, чем алгебраические. К сожалению, для большинства кодов легкая ортогонализация неосуществима, а у тех кодов, кото- рые легко ортогонализируемы, минимальное расстояние значительно хуже минимального расстояния сравнимых БЧХ-кодов. Во многих случаях, однако, эти недостатки порогового декодирования окупа- ются преимуществами легкой реализации. В случаях, когда помимо всех ошибок веса sC t необходимо исправлять многие ошибки более высокого веса, преимущества порогового декодирования еще больше. Как отмечалось в разд. 10.5, алгебраические алгоритмы декодирова- ния требуют в этих случаях введения дополнительных остроумных правил. Пороговые алгоритмы позволяют исправлять многие ошиб- ки веса > t автоматически. 15.5. Ортогонализируемые коды, основанные на конечных геометриях Относительная простота некоторых пороговых декодеров послу- жила стимулом к поиску кодов, ортогонализируемых в малое число шагов. Этот поиск привел к открытию нескольких важных классов ортогонализируемых кодов, включающих квазициклические коды Таунсенда — Велдона [1967], евклидово-геометрические коды и про- ективно-геометрические коды. Впервые некоторые проективно-геометрические коды исследовал в конце 1950 г. Прейндж. Им были получены многие результаты о распределении весов кодовых слов и лидеров смежных классов для некоторых двоичных кодов, основанные на использовании про- ективных геометрий, а также подстановок, относительно которых эти коды инвариантны. К сожалению, эти работы Прейнджа не были опубликованы. В 1966 г. Велдон ввел в рассмотрение разностные коды, являющиеся подклассом проективно-геометрических кодов. Более общие классы кодов, основанные на конечных геометриях, были предложены Рудольфом [1964, 1967]. Дальнейшие результаты в этой области были получены Чоу [1967], Гёталсом и Делзартом [1968], Грэхемом и Мак-Вильямс [1966], Мак-Вильямс и Манном [1968], Смитом [1967, 1969] и Велдоном [1968 а, Ы.
15.5. Ортогонализируемые коды 383 К сожалению, в работах этих авторов одни и те же обозначения имеют разный смысл. Приводимые ниже определения охватывают только работы автора. 15.51. Определения. Евклидово-геометрическим кодом (ЕГ-коЗол) над GF (р) порядка (г, s) длины п = р™ называется код, дуальный к подкоду над подполем GF (р) ОРМ-кода над GF (<?) порядка [(g — 1) (т — г — l)j (q = ps). 15.52. Теорема. Минимальное расстояние ЕГ-кода порядка (г, s) не меньше d = (qmr — l)/(q — 1). Этот код ортогонализируем за (г + 1) шаг. Доказательство. Согласно теоремам 11.61 и 15.329, характеристическая функция каждого (г Д- 1)-мерного подпростран- ства из GF (qm) над GF (q) является кодовым словом ОРМ-кода порядка [(g — 1) (т — г — 1)]. Так как все координаты таких кодовых слов равны 0 или 1, то эти слова также принадлежат под- коду ОРМ-кода над подполем GF (р). Следовательно, ЕГ-код г поряд- ка (г, s) удовлетворяет проверочному соотношению на каждом (г-|- + 1)-мерном аффинном подпространстве. Каждое заданное r-мерное аффинное подпространство в GF (qm) над GF (д) имеет qm~r линейных сдвигов. Данное r-мерное аффинное подпространство и любой из его qm~r — 1 непересекающихся с ним сдвигов лежат в некотором (г + 1)-мерном аффинном подпростран- стве, состоящем из r-мерного подпространства и q— 1 его линейных сдвигов. Следовательно, существует d различных (г 4- 1)-мерных аффинных подпространств, содержащих любое заданное г-мерное аффинное подпространство. Характеристические функции этих аффинных подпространств образуют множество d проверочных урав- нений, ортогональных на данном r-мерном подпространстве. Таким образом, если в канале произошло не более d/2 ошибок, то декодер для ЕГ-кода порядка (г, s) может вычислить проверки на всех r-мерных аффинных подпространствах с помощью одного уровня пороговых элементов. Индукция по г завершает доказатель- ство теоремы. а 15.53. Определение. Пусть а — примитивный элемент поля GF (qm), q = ps, а V — циклический код над GF (q), корни порождающего многочлена которого имеют вид а<9-1) *, wq ([g—l]i) > > г (q—1), где wq (х) — сумма цифр в q-ичном разложении числа х. Тогда р-ичным проективно-геометрическим кодом (ПГ-кодол) поряд- ка (г, s) с блоковой длиной п = (qm—1)/(?—1) называется код, дуаль- ный к подкоду кода V над подполем GF (р). 15.54. Теорема. Минимальное расстояние р-ичного ПГ-кода порядка (г, s) равно по меньшей мере d = (qr41 — l)/(g — 1), где q = ps. Этот код ортогонализируем в г шагов.
384 Гл. 15. Другие основные методы кодирования и декодирования Доказательство. Пусть q = ps, п — (qm — l)/(q — 1), пусть а — примитивный элемент поля GF (qm) и у = а11. Тогда у — примитивный корень степени q — 1 из единицы. Каждый нену- левой элемент поля GF (qm) может быть однозначно записан в виде aV для некоторых i и j, 0 / < п, 0 <Z q"'1. Так как у — при- митивный элемент поля GF (q), то каждое /-мерное линейное под- пространство в GF (qm) над GF (q) имеет вид S = О U | j £ g А, к = 0, 1, . . ., q — 2}, где А — некоторое подмножество мно- жества {0, 1, . .., n—1}. Если | S | = q1, то 15\01 = q1 — 1 i—1 и |Л I = (<?г —!)/(<? — 1) = S Проекцией множества S называется множество Р = {a11 i £ А) элементов поля. Множество Р называется t-мерным проективным подпространством пространства GF (qm) над GF (q), если оно является проекцией (/ -f- 1)-мерного линейного подпространства в GF (qm) над GF (q). В частности, если 0 j < п, то а3 есть 0-мерное проективное подпространство. Множество {а0, а1, а2, . . ., а”-'1} является (п — 1)-мерным проективным под- пространством. Так как пересечение двух линейных подпространств — линейное подпространство, то пересечение проективных подпространств — также проективное подпространство. Так как любое /-мерное линей- ное подпространство содержится в {qm~l — !)/(<? — 1) различных (i -J- 1)-мерных линейных подпространствах, то и любое (/ — 1)- мерное проективное подпространство содержится в (qm~l —!)/(<? — 1) различных i-мерных проективных подпространствах. Декодер для ПГ-кода вычисляет проверки для символов, соот- ветствующих любому /-мерному проективному подпространству. Если полученное слово содержит не более (qm~l')/2 (q — 1) ошибочных сим- волов, то декодер может определить проверки над любым (/— 1)- мерным проективным подпространством. Они соответствуют различ- ным /-мерным проективным подпространствам, пересекающимся только по этому (/ — 1)-мерному подпространству. После этого при- нимается пороговое решение по известным (qm~l —i)/(q — 1) различ- ным проверкам. Полагая i = т — г — 1 и используя индукцию по г и лемму 15.541, отсюда получим доказательство теоремы 15.54. а 15.541. Лемма. Любой р-ичный ПГ-код порядка (г, з) с блоко- вой длиной п = (qm — i)/(q — 1) = (psm —l)/(ps— 1) удовлетворяет проверочному уравнению на каждом (т — 1 — г)-мерном проектив- ном подпространстве из GF (дт) над GF (q). Доказательство. Достаточно показать, что характери- стическая функция любого (т — г — 1)-мерного проективного под- пространства поля GF (qm) над GF (q) представляет собой кодовое слово кода, дуального к ПГ-коду порядка (г, з). Пусть Р — множест- во элементов поля, лежащих в (т — г — 1)-мерном проективном
15.5. Ортогонализируемые коды 385 подпространстве пространства GF (qm) над GF (q), и пусть S есть (т — г)-мерное линейное подпространство в GF (qm) над GF (q), проекцией которого является Р. Пусть С[х] —характеристическая функция Р: С(Р>(*) = 2 х*. аг£Р Аналогично пусть C(S) (х) — характеристическая функция 5 \ 0 (5 с исключенной точкой 0): C(S\x)= 2 **• a’£S\0 Согласно теореме 15.329, C(S) (х) — кодовое слово циклического кода с блоковой длиной — 1, порождающие корни которого содер- жат а’ для всех тех у, для которых 0 < wq (/) г (q — 1). Отсюда следует, что если wq (j) г (q — 1), то 0 = C(S)(a’)= 2 ? I, ses\o Если j = (q—1) г, то получаем о=2^(9-1)1= 2 2(М”“1)г- g£S а, Лс-Р (q)\0 = 3 2 = 2 Ti(’-1)i =—С(Р) (a(9-1)l). a, r)EP ngP r)EP a£GF (q)\0 Мы показали, что для характеристической функции С(Р) (х) (т—г— — 1)-мерного проективного подпространства Р из GF (qm) над GF (q) выполняется равенство С(Р) (сс*®-1)г) = 0, если wq ([<?—l]i) г (q—1); следовательно, С(Р) (х) — кодовое слово кода, дуального к ПГ-коду порядка (г, s). а 15.55. Пример. Рассмотрим двоичный ПГ-код порядка (1, 2) с блоковой длиной 21, для которого р = 2, s = 2, q = 4, т = 3, п = (43—1)/(4—1). Пусть д — примитивный элемент поля GF (4), a — корень примитивного кубического многочлена х3 4~ z2 + дх 4~ + д2 над GF (4). Минимальный многочлен элемента а над GF (2) равен М(1> (х) = (х3 4- х2 + дх 4- д2) (з? 4- х2 4- д2х 4- д) = х6 4- х 4- 1. Минимальный многочлен элемента а3 равен №> (х) ==rc6-f-rc44- 4- х2 4- z 4- 1; минимальный многочлен для а9 равен Af(9> (х) = = it3 4~ z2 4~ 1- Числами вида 3i (mod 63), для которых (3i) > 3, являются (по основанию 4) 033, 124, 222 и их циклические сдвиги. Двоичная система записи дает 001111, 011011, 011110, 101010 25—658
386 Гл. 15. Другие основные методы кодирования и декодирования и их двукратные сдвиги. Таким образом, для двоичного ПГ-кода порядка (1,2) имеем g (х) — Мш (х)Л7<3) (х) (х) = (х + 1) (х8 Д- + X4 + х2 -Lх-j-1) (х3 4- х2 -J-1) и h (х) = М<15) (х) Л-/'271 (х) Л/<21) (х) = = (х21 + !)/§ (х) = 1 4~ z2 + х7 + + я11- Каждый ненулевой эле- мент поля GF (43) может быть записан в виде а’= Лга2 -j- 5га +Сг, где At, Bt, Ct g GF (4). Для i = 0, 1, 2, . . ., 20 получаем i 0 1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 16 17 18 19 20 Ai 0 0 1 1 д2 д 0 1 0 д 1 д 1 1 д д2 д2 д2 0 д2 1 Bi 0 1 0 д 1 д 1 1 д д2 д2 д2 0 д2 1 0 0 д2 д2 д 1 Ct 1 0 0 д2 д2 д 1 0 д2 0 1 д2 1 д2 д2 1 д д д 0 д Множество элементов вида Ba Д- С, где В, С £ GF (4), образует двумерное линейное подпространство пространства GF (43) над GF (4). Проекция этого подпространства является одномерным про- ективным подпространством Р = {а°, а1, а8, а8, а18}, характери- стическая функция которого задается равенством (i) = 1 Д j Д Д- х8 Д- х8 Д- х18 = (1 -|- х х3 + х5 -|- х7) /г (х-1) х11. Так как мно- гочлен (х) кратен h {х~г), то код удовлетворяет проверочному уравнению на одномерном проективном пространстве Р. Применимость процедуры порогового декодирования к ЕГ- и ПГ- кодам определяется только тем, что эти коды удовлетворяют прове- рочным уравнениям на всех аффинных или проективных подпро- странствах данной размерности. Известны и другие коды, также удовлетворяющие проверочным уравнениям на всех аффинных или проективных подпространствах, однако, как показали Делзарт, Гёталс и Мак-Вильямс [1968], любой такой код — подкод либо ЕГ-кода, либо ПГ-кода, определенных согласно 15.51 и 15.53. Исторически характеристическая функция проективного про- странства Р раньше чаще обозначалась через 0 (х), а не через С(Р) (х). Этот многочлен обладает рядом интересных свойств, что показывает следующая теорема: 15.56. Теорема. Пусть Р — одномерное проективное под- пространство в GF (qm) над GF (q), и пусть Р содержит точку а0. Пусть п = {qm—l)/(q— 1) и 0(i) = 2^1- Тогда над полем рацио- г, аг£Р налъных чисел 0 (х)0 (х-1) =г q 4- 1 + £ (х) (mod хп — 1), где £ (х) — сумма q (q 4- 1) различных ненулевых степеней х. Доказательство. 0 (х) 0 (х-1) = x-i0 (х). •хДн
15.5. Ортогонализируемые коды 387 По модулю хп — 1 каждый из многочленов 0 (х), х~3в (х), x~2Q (z),... является характеристической функцией некоторого одномерного проективного подпространства из GF (qm) над GF (q). Так как пере- сечение любых двух одномерных проективных подпространств обра- зует нульмерное проективное подпространство, состоящее из одной точки, то x~zQ (х) и x~]Q (х) mod (хп — 1) (исключая случай i = = / mod п) имеют не более одного общего члена. Если а1, а3 £ Р, то х° — единственный общий член многочленов z_l6 (я) и х~3 0 (х). a 15.561. Следствие. В предположениях теоремы 15.56 при т — 3 п— 1 0 (х) 0 (ж-1) == q -|-1 4- 2 mod (хп — 1). г=1 Доказательство. При п = (q3 — l)/(q — 1) — q2 + q -f- + 1 существует точно q (q + 1) различных ненулевых степеней х mod (хп —1). а Сопоставим проективному подпространству Р пространства GF (qm) над GF (q) множество D целых чисел mod п с помощью сле- дующего правила: (15.562) dQD тогда и только тогда, когда ad £ Р. Так как 0 (х) = 2 то 0 (ж) 0 (ж-1) = 2 3 xd~d'' d£D d'ED Таким образом, согласно следствию 15.561, для одномерного про- ективного подпространства Р пространства GF (q3) над GF (q) раз- ности q (q + 1) различно упорядоченных пар элементов из D должны пробегать все ненулевые числа по mod (q2 + q + 1) точно один раз. В силу последнего свойства D называют простым совершенным разностным множеством по mod (q2 + q + !)• Если q — степень простого числа, то простое совершенное разностное множество по mod (g2 + q + 1) может быть построено по одномерному проектив- ному подпространству в GF (q3) над GF (q) в соответствии с определе- нием (15.562). Разностные множества этого типа впервые изучались Зингером [1938] с несколько иной точки зрения. Удивительно, что зингеровские разностные множества включают в себя все известные простые совершенные разностные множества. Эванс и Манн [1951] показали, что при \D | 1 600 все совершенные разностные множе- ства являются зингеровскими, однако, пока что никому не удалось доказать (или опровергнуть), что для некоторых больших значений q, не являющихся степенью простого числа, не существует простых совершенных разностных множеств по mod (q2 + <? + !)• 25*
388 Гл. 15. Другие основные методы кодирования и декодирования В силу взаимосвязи с простыми совершенными разностными мно- жествами р-ичные ПГ-коды порядка (1, s) с блоковой длиной п — =(p3s — — 1) называются разностными кодами. Так же, как и все ПГ-коды порядка (1, s), разностные коды ортогонализируемы в один шаг, а множество проверок, ортогональных на данном симво- ле, получается с помощью циклического сдвига единственного про- верочного порождающего многочлена 0 (х). Многие ЕГ- и ПГ-коды являются собственными подкодами БЧХ- кодов с той же блоковой длиной и тем же конструктивным расстояни- ем. В общем случае большинство ЕГ-и ПГ-кодов содержит меньшее число информационных символов, чем сравнимые БЧХ-коды. Эта потеря в скорости передачи информации является той ценой, кото- рую приходится платить за преимущества порогового декодирова- ния. К счастью, при малых блоковых длинах эта цена не очень велика. Все двоичные ЕГ- и ПГ-коды с длинами 32 совпадают с БЧХ-кода- ми. Велдон [1968 Ь] построил следующую таблицу для сравнения 1-укороченных ЕГ-кодов длины 63 с соответствующими БЧХ-кодами. d Т S т Информационные символы Проверочные сим- вО1Ы ЕГ БЧХ ЕГ БЧХ 3 4 1 6 57 57 6 6 5 1 2 3 48 51 15 12 7 3 1 6 42 45 21 18 9 0 3 2 37 39 26 24 15 2 1 6 22 24 41 39 21 0 2 3 13 18 50 45 31 1 1 6 7 7 56 56 ЕГ- и ПГ-коды ухудшаются с ростом блоковой длины гораздо скорее, чем БЧХ-коды. Подсчет числа информационных символов в ЕГ- и ПГ-кодах в общем случае чрезвычайно труден. Мы остано- вимся только на двух частных случаях, представляющих наибольший практический интерес: на классе ПГ-кодов, содержащем разностные коды, и на классе ортогонализируемых в один шаг ЕГ-кодов. (Еще один класс ЕГ-кодов рассматривается в задаче 15.8.) Для определе- ния числа информационных символов в этих кодах необходимо преж- де доказать некоторые свойства весовых функций. В некоторых слу- чаях нам придется различать wp (х) — сумму цифр р-ичного пред- ставления числа х и wq (х) — сумму цифр ^-ичного представления этого числа. Для доказательства теорем 15.58 и 15.599 необходимы только леммы 15.571—15.573. Остальные леммы включены потому, что их
15.5. Ортогонализируемые коды 389 доказательства оказываются полезными для вычисления числа инфор- мационных символов в некоторых ЕГ- и ПГ-кодах высокого порядка. 15.571. Лемма. Если q — ps, 0 j < sm, 0 х < q — 1 и \_хр3J определены условиями 0 CJ LXP3J < qm — 1 и LXP3J = == хр3 mod (qm — 1), mo wq (L^p’j) = wq (XP3)- ms— 1 Доказательство. Пусть x— 2 O^.Xt<zp, Тогда г = 0 ms— 1 ms—j—1 ms— 1 xp3 = 3 ХгРг+3 = 3 XlPz+3 + qm 3 XlPl+]-ms, так что г=0 1=0 i=ms—j ms—j—1 ms—i ML*Z<J)= 3 XlP^+ 3 XtplJt3~ms =wq(xp3). . i=0 x~ms—3 15.572. Лемма. Если q = ps, O^j<Zs и m— 1 s— 1 x= % %Xh,lPhql, Q<.Xh,l<P, Z=0 fc=o mo S— 1 S — 3— 1 Wq(xp3)^ 3 Yhpk+3-S+ 3 Yhpk+3, h=s~3 fe=0 m—1 где Yk= 3 Xh, t. z=o m— 1 s— 1 Доказательство. Имеем xp3 — 2 3 Xk< ipk+3~'ql+1 4- Z=0 h=s — j m— Is—3— 1 m—1 s— 1 + 23 Xki ipk+3-sql, так что wq(xp3) = 2 3 Xh, ipk+3~s + /=0 h—Q Z=0 k=s — j m— 1 s—3— 1 + 2 2 Xk, ipk+3. Z=0 h=0 15.573. Лемма. wq (x) = x mod (q — 1). Доказательство. Так как ql = 1 mod (q — 1) для всех i, то . г i s 15.574. Лемма. Справедливо неравенство wq (x) x, причем равенство достигается тогда и только тогда, когда х <Z q.
390 Гл 15. Другие основные методы кодирования и декодирования Доказательство. Так как 1 ql, а равенство достигает- ся тогда и только тогда, когда i = 0, то J 2 Yt. г г 15.575. Лемм а. Справедливо неравенство ivq (х + у) ioq (х) + wq (у), причем равенство достигается тогда и только тогда, когда Xt + Yt < У для всех i. Доказательство. Положим c_j = 0 и для i 0 опре- делим сг и г, равенством (15.5751) С1д + гг -c^ + X^'rY,, где O^.Zt<q и сг>0. Умножая (15.5751) на уг и суммируя по i, получим J Ztql — х-\-у и, значит, wq(x^-y) = '^iZl. Непосредственно г г суммируя равенства (15.5751), получаем (д— 1) 2сг + 3^« ~ г г = 2Х^25Л, так ЧТ0 Wq(^ + y)=Wq(X) YWq(y) ~ (q — 1) 2 Сг. а г г г 15.576. Лемма. Если х'0>, х(1), х<2>, ...- произвольные целые числа k k и х<-г} = q}, 0 ^ Х(р <Zq, то wq ( 2 z(l)) 3 wq(x<1''), причем j г = 0 г — 0 h равенство достигается тогда и только тогда, когда 2 Х^ <Zq 1 = 0 для всех ]. Доказательство. Лемма 15.576 вытекает непосредственно из леммы 15.575, если применить индукцию по к. а 15.577. Лемма. Если q = p\ то wp{x')^-wp(Wq(x')). Доказательство. Пусть S— 1 Тогда Wq(«)-=3 2 Y^jP1. По J г = 0 <2 34(x<,,/) = 3 3 j 1=0 i i=o х=2%Х^Рг<1\ 0<.XltJ<p. Э 1 = 0 s — 1 лемме 15.576 ыр(^ 2 X, ? i = o = тр(х). а 15.578. Лемма. Если а>0 и s>0, то wp(a[ps -— l])>s(p — 1). Доказательство. Пусть q = p’, z<0) = а (р3— 1) и х<г+1} = — iVqtxt1'1). Ввиду леммы 15.574, а:(1+1) ^х(1>, причем равенство
15.5. Ортогонализируемые коды 391 достигается тогда и только тогда, когда х(Ч <Zq- Положим х(х> = = Нтхт. Ясно, что х<г' = х(х,> для всех достаточно больших i. Согласно лемме 15.573, z(l+1) = х{^ mod (q—1), так что х<00) = х(0) = == 0 mod (q — 1). Так как из х^ 0 следует, что х(*+1> 0, то z(O0) О и, значит, x'x, = q—1. По лемме 15.577 wv (z(l+1)) = wp (wq (xw))^. <шр(ж<г)), так что wp (x^)^.wp (z<0)). Так как x<°°> = q—1 = s — 1 = (p—1) 3 p\ T0 wp(x^) = (p — l)s. a i = 0 15.58. Теорема (Грэхем, Мак-Вильямс [1966], Мак-Вильямс, Манн [1968], Гёталс, Делзарт [1968] и Смит [1967, 1969]). р-ичный ПГ-код порядка (т—1, s) с длиной n=(psm—i)/(ps—1) имеет [р-\-т — 2\s 4 /р-\-т — 2\ 1 -ь J проверочных и п—1— ( ] у информацион- ных символов. Доказательство. Пусть q = ps, |3 — примитивный ко- рень п-й степени из единицы, а р Q GF (qm). В силу определения 15.53, теоремы 14.74 и леммы 15.571 рг — корень порождающего много- члена кода тогда и только тогда, когда для всех у (15.581) Wq([q~ l]ip3)^q-l. Для вычисления числа проверочных символов кода достаточно найти число целых чисел i по mod п, удовлетворяющих условию (15.581). - - ... модулю Однако легче найти число целых чисел х = [q — 1] i по q™— 1, удовлетворяющих условиям О qm— 1, (q — 1) I*, Wq (XP}) C ? — 1 ДЛЯ всех у. (q — 1) | x, то (q — 1) | хр3 для всех у. По лемме 15.573 1). (15.582) (15.583) Если (q — 1) | хр3 тогда и только тогда, когда wq (хр3) ~ 0 mod (q — Поэтому условия (15.582) для всех у можно заменить условиями 0<x<<f-l, , Г?"1, Шд (ХР3) = । 0 Если т > 1, то х = qm— 1 не удовлетворяет условию wq(x) = = q — 1, так что условие 0 х < qm— 1 можно заменить неравен- ством 0 х <Z qm. Если для некоторого j имеем wq (хр3) = 0, то
392 Гл. 15. Другие основные методы кодирования и декодирования х = 0. Следовательно, любое ненулевое решение системы (15.583) должно быть также решением системы О z < qm, (15.584) wq (xp3) = 7 — 1 для всех /. m—1s—1 Положим теперь х— У, У Ху, iphq\ где Согласно 1=0 Ь-0 лемме 15.572, S—1 S—з— 1 (15.585) wq (хр3) — у Уйр^-5+ 2 Ykph+3, k=s—j k=0 где т-1 (15.586) У-Пм. 1=0 Если YK^ р для некоторого К, то в силу (15.585) wq (xps~K~l) У^р®-1 7, что усиливает условия (15.584). Из равенства (15.585) вытекает также, что wq (xps~K) = YK mod p. Так как (q — 1) s= = — 1 mod p, то заключаем, что YK — p — 1 для всех К. Следова- тельно, условие (15.584) эквивалентно условиям (15.5871) У Ху, i = p— 1 для всех к = 0, 1, ..., s—1. 1=0 Последовательность Ху,0, Xytl, . . ., Ху,т^ длины т можно запи- сать в виде последовательности Ху,0 единиц, за которыми следует запятая, за ней Xytl единиц, затем снова запятая, .... Следова- тельно, число способов выбора неотрицательных чисел Ху, 0, Ху, 15 .. . . . ., Ху, т_1; в сумме дающих р — 4, равно числу способов, которы- ми можно разместить р — 1 единиц и т — 1 запятых в (р т — 2) позициях. Следовательно, число чисел х, удовлетворяющих усло- виям (15.587), или число ненулевых решений системы (15.583), равно /рД-т— 2\ s V р-1 / В заключение этого раздела опишем процедуру вычисления чис- ла проверочных символов в ЕГ-кодах порядка (0, з). 15.59. Вычисление числа проверочных сим- волов в ЕГ-коде порядка (0, з). Пусть q = р' и а — примитивный элемент поля GF (qm). Согласно определению 15.51, свойству 14.74 и лемме 15.571, ах — корень порождающего много- члена 1-укороченного р-ичного ЕГ-кода порядка (0, з) и длины qm— 1 тогда и только тогда, когда для всех j (15.591) wq (xp3) ^7 — 1.
15.5. Ортогонализируемые коды 393 Число проверочных символов 1-укороченного ЕГ-кода равно, таким образом, числу целых чисел х, O^x<Zqm— 1, удовлетворяющих условию (15.591). В неукороченный ЕГ-код входит, кроме того, общая проверка на четность, которую можно связать с числом х = qm— 1. Так как wq ([<7™— 1] р1) (<? — 1) для всех J, то число проверочных символов в ЕГ-коде равно числу таких целых х, что 0 х <Z qm т—1 s — 1 и выполняются условия (15.591). Если положить х = 2 3 Xk,ip\l> 1=0 h = 0 где 0 Xh, i р, то в силу леммы 15.572 условия 0 х <_ qm и (15.591) могут быть записаны в виде (15.592) (15.593) 2 Ykph+1 s+ 2 YkPk+1>(q — 1) ДЛЯ всех j, k=s—3 k=Q Yу= 2 Xh.i, O^Xy,i<ip. 1=0 Пусть By — число последовательностей Xo, Xlt . . ., Xm-i дли- ны m, удовлетворяющих уравнениям ТП— 1 У=М 0<Xl<P 1=0 для I = 0, 1, 2, . . ., m — 1. /лг\ Число By зависит от р и т. Если р = 2, то Ву = j. Если у С р, то, как следует из заключительных рассуждений в доказа- /y-L-т— 1\ тельстве теоремы 15.58, Ву = I. При 2 <; р у точное выражение для Ву имеет более сложный вид. Рекурсивные формулы и производящие функции для Ву были получены Риорданом [1958], причем он рассматривал Ву как число разложений величины у + т точно на т слагаемых, каждое из которых не превосходит р. Для заданной последовательности неотрицательных чисел Y^, Ys_2, . . ., Yo, удовлетворяющих неравенству (15.592), величины Ху, 8— 1 удовлетворяющие условию (15.593), можно выбрать Ц Byt способами. 1=0 Условие (15.592) на самом деле относится к последовательности У8_1, Ps-2, • • •, Yo и всем ее циклическим сдвигам. Как и в гл. 12, мы будем рассматривать эту последовательность как спепление нескольких базисных последовательностей. Они вводятся следующим образом:
394 Гл. 15. Другие основные методы кодирования и декодирования 15.594. Определение. Последовательность Y^, Yh_2, . . . з . . ., Уо называется дефектной, если 2 Уь-гр3~г <р] — 1 для i=i j = 1, 2, . . ., к. Если Уй_г, Yh_2, . . ., Уо — дефектная последова- к тетьность, то ее дефектом называется число ph — 1— 2 г= 1 Базисной называется недефектная последовательность, все собствен- ные префиксы которой дефектны. Пусть О3(г) — число выборов чисел Xhii, 0 I < т; 0 к <; j, для которых последовательность У7_15 У7_2, • • • , Уо, определенная оо согласно (15.593), имеет дефект г. Пусть Б^г~> (z) = 2 Рз^- Так как 3=о дефект пустой последовательности равен 0, то положим (15.595) Z)<°> (z) = 1. Если дефект последовательности У}_г, У7_2, . . ., Ух равен t и Уо< < pi + р — 1, то дефект последовательности Y^, У7_2, . . ., У1? Уо равен I тогда и только тогда, когда/ = р1 + р —1 —Уо. Отсюда заключаем, что для 4^1 (15 596) Dlh (z) = z 2 (z). г Для любых заданных р и т можно определить производящие функции /У1) (z), ZX2) (г), . . . как решения системы линейных урав- нений (15.595) и (15.596). Если через V} обозначить число выборов чисел Xk i, 0 I < т, О к < j, которые в соответствии с условием (15.593) приводят к базисной последовательности Y}^, Y}^2, . . . , Уо, то для производя- оо щей функции V(z) = V^z\ очевидно, выполняется равенство ОО ос (15.597) V(2)-zS( 2 = г = 0 3=pi+p-l оо р— 2 ОО оо = z(S в}- S B^+z 2 ( 3 57)№(Z)=. 3 = 0 3 = 0 1=1 3=ip,-p—1 -Xm-(ra+^~2)l+z S ( S ^)^<г’(2). L \ / J i = i i=ip+p—1 Используя определение 15.594 и непосредственную аналогию с доказательством теоремы 12.23, можно доказать следующую лемму:
15.6. Сверточные коды — обзор 395 15.598. Лемма. Любая последовательность неотрицательных чисел У8-1, У«~2, • • ч ^о, удовлетворяющая условию (15.592), одно- значно представима в виде сцепления базисных последовательностей (включая окаймляющую последовательность). Так же, как теорема 12.33 сразу приводит к теореме 12.35 (или, в обозначениях производящих функций, к уравнению (12.61)), так и лемма 15.598 сразу приводит к теореме 15.599. 15.599. Теорема. Если г (р, т, у, s) — число проверочных символов р-ичного ЕГ-кода порядка (у, s) с длиной п = psm, то оо 2 г(р, т, 0, з)2^^_^_, s=0 где V (z) определяется уравнением (15.597) и V (z) = dVIdz. Примеры. Если т = 1, то V (z) = z; г (z) ~ 2 zs- 8 = 1 Если т = 2 х), то 'Й-ЗП1)';’. S—1 \ ^ / Если 772 = 3 и р=2, ТО ^’(3) = ^; z2 7(2)=7z+^3t; 7z + 40z2 + 60z3 _ / 10 —40z 3 \ r\Z>— (1 — 10z + 20z2) (1 — 3z)~Z I 1 —10z+20z2 — 1— 3z / " 15.6. Сверточные коды — обзор 15.61. Введение. Кодер блокового кода со скоростью пере- дачи 7? и длиной п разбивает поступающие из источника данных сим- волы на блоки по k = Rn символов. Каждый из блоков кодируется более длинным блоком из п символов и передается затем по зашум- ленному каналу. 1) Этот случай совпадает с частным случаем задачи 15.8.
396 Гл. 15. Другие основные методы кодирования и декодирования В кодере для кодов другого типа, так называемых сверточных или рекуррентных кодов, поступающие символы разбиваются на блоки большой (а не малой, как в предыдущем случае) длины к. После получения из источника к символов кодер передает п символов, которые зависят не только от этих к символов, но и от многих ранее полученных символов. Точнее, если входом кодера была последова- тельность данных [над GF (9)] Л1’, /(л 4°, Л1’, Л2), ЛЛ Л1’, то выходом кодера является последовательность /->(2) z->(l) z->(2) z^(n) т-dl) Сд , С] , • ••, Cl , C-2 , C-2 r •••, C2 , C3 где если если 1 </<*, к < j (Предполагается, что Л-3 = 0, если /> г.) Как и в случае линейных блоковых кодов, будем обозначать через полученные символы, а через Е)-" = — Сг0) — ошибки в канале. Для / = кД-\,кД-2, . .., п определим символы синдрома с помощью равенств Ясно, что Многочлены h т 1= 1 h=0 k т 1= 1 л=о k т ^H^\y'zh i = i /1=0 назовем проверочными многочленами кода. (Некоторые авторы назы- вают их порождающими многочленами.) Память кодера равна т бло- кам; кодовым ограничением называется число N = п (т + 1). Кодо- вое ограничение для сверточного кода, грубо говоря, играет ту же роль, что и блоковая длина для блокового кода. Сверточные коды впервые рассматривались Элайесом [1955]. Кро- ме этого, их изучали Хегельбергер [1959], Месси [1963], Вайнер и Эш [1963], Саллайвен [1966], Редди [1968] и др. 15.62. Пример (Хегельбергер 11959]). Пусть q — 2; R — = 1/2, к = 1, п = 2, Ж2) (у, z) = у (1 -f- z2 z5 + z6). Память равна
15.6. Сверточные коды — обзор 397 шести блокам; кодовое ограничение равно 14. Кодер для этого кода показан на рис. 15.10. 15.63. Пороговое декодирование. Сравне- ние прямого декодирования и декодирова- ния с обратной связью. Среди проверочных уравнений, которым удовлетворяет код предыдущего примера, содержатся уравнения 5<2> - ‘ЕД‘ ‘1100101000000 1 - С(2) г+2 £(2> *^1+2 0011001010000 Е"\ 0(2) *\+5 — £<2> *^г+5 0000011001010 Е^ 0(2) *\+6 J £<г> - <+с Looooooi 100Ю1 _ -EZ Так как эти проверочные уравнения ортогональны на Е'1’, то этот код может быть декодирован с помощью порогового декодера, пока- занного на рис. 15.11. Полученный из канала информационный сим- вол 7?'1’ поступает в регистр сообщения. Поступающий из канала е проверочный символ 7?'2) прибавляется к jRf-j и запоминается j=i в регистре синдрома. При подходе й'1’ к выходу из буфера сообщения мажоритарный х) элемент выбирает символ ЕД голосованием по большинству среди символов синдрома ЕД, 5'2)2, ЕД6, S^. Если три или четыре из них равны 1, то и ЕД принимается равным 1; если менее чем два равны 1, то полагаем ЕД = 0. Декодер сможет пра- вильно декодировать символ, если в 26 последовательных позициях Е'Д, 7?Д6, ЙД6, . . ., ЙДС произойдет не более трех ошибок. Описан- ный декодер называется прямым, поскольку решение о символе ЕД принимается в результате анализа полученной конечной последова- тельности символов без учета прошлой работы декодера. г) Мажоритарный элемент (MDE) — это пороговый элемент, порог которого равен половине числа его входов.
398 Гл. 15. Другие основные методы кодирования и декодирования Другой тип декодера, так называемый декодер с обратной свя- зью получается из прямого декодера путем добавления в регистр синдрома обратных связей (пунктирные линии на рис. 15.11). Новые связи позволяют исправлять ошибки не только в информационных символах, но и в символах синдрома. Это позволяет увеличить вероят- ность правильного декодирования последовательных-символов. Так, например, если декодер с обратной связью, показанный на рис. 15.11, правильно нашел Е£.’в, Е‘1’6, . . ., Е^, то символ Е™ зависит только от 14 последовательных символов 7?“’, R™, R1^, . . ., R®t. Если Рис. 15.11. Пороговый декодер для кода с рис. 15.10. (Прямой декодер полу- чается из декодера с обратной связью, если опустить обозначенную пунктиром связь.) среди этих 14 символов искажено не более двух и декодер с обратной связью ранее не ошибался, то символ Е)1' будет правильным. Однако если декодер с обратной связью декодировал символ неправильно, то эта ошибка может привести к неправильному декодированию целой последовательности символов. Этот эффект распространения ошибки не возможен в прямом декодере, поскольку текущие оценки прямого декодера не зависят от прошлых ошибок. Используя метод проб и ошибок, Месси [1963] нашел много свер- точных кодов, к которым применимы простые пороговые декодеры, аналогичные изображенному на рис. 15.11. Используя более систе- матические методы, основанные на разностных множествах 2), Робин- сон и Бернстейн [1967] и Редди [1968] нашли еще много дополнитель- ных кодов этого типа. i) Этот термин, введенный Робинсоном [1967] и Редди [1968] для обозначе- ния обратных связей внутри декодера, не следует путать со схемой кодирования — декодирования, допускающей обратные связи от декодера к кодеру. 2) Придирчивый читатель может заметить, что показатели переменного z, {0, 2, 5, 6}, в многочлене примера 15.62 образуют совершенное простое раз- ностное множество по mod 13.
15.6. Сверточные коды — обзор 39» Хотя пороговое декодирование оказалось очень эффективным для декодирования многих частных кодов с малым и умеренным кодовым ограничением, оно представляет собой весьма слабый метод декодирования кодов с большим кодовым ограничением. Месси [1963] показал, что вероятность ошибки для лучших пороговых декодеров независимо от длины кодового ограничения отлична от нуля. 15.64. Отыскание «хороших» сверточных ко- дов. Все известные алгебраические процедуры декодирования для блоковых кодов основаны на ряде сведений о математической струк- туре этих кодов. К сожалению, среди известных сверточных кодов лишь очень немногие обладают известной структурой. Берлекэмп [1963] построил класс сверточных кодов с хорошо обозримой струк- турой, исправляющих пакеты стираний; однако эти коды не очень эффективны для каналов без памяти со случайными ошибками. Вайнер и Эш [1963] построили класс сверточных кодов, исправляю- щих одну ошибку при минимальном возможном защитном интервале. Эти коды аналогичны блоковым кодам Хэмминга, исправляющим одну ошибку. К сожалению, сверточные аналоги БЧХ-кодов, исправ- ляющих несколько ошибок, пока не известны. Эпштейн [1958 Ь] и Бассгенг [1965] нашли «лучшие» двоичные сверточные коды для некоторых скоростей передачи и малых кодовых ограничений, однако для N > 32 подобных результатов нет. Несмотря на то что о методах построения «хороших» сверточных кодов почти ничего не известно, многое известно о «наилучших» свер- точных кодах. Эти результаты получены на основе исследования случайно выбранных сверточных кодов. Элайес [1954] показал, что такие коды позволяют получать произвольно малую вероятность ошиб- ки декодирования при всех скоростях, меньших пропускной способ- ности канала. Месси [1963] показал, что для сверточных кодов справедлива граница, аналогичная границе Гилберта для блоковых кодов (см. разд. 13.7). Юдкин [1964] и Витерби [1967] получили точ- ные границы вероятности ошибки для таких кодов. Результаты Витер- би показывают, что вероятность ошибки для случайно выбранного сверточного кода с большой скоростью и кодовым ограничением N существенно меньше, чем вероятность ошибки для лучших блоковых кодов с длиной N х). 15.65. Последовательное декодирование. По- мимо порогового декодирования и нескольких других конструктив- ных методов, к сверточным кодам применим важный метод декоди- х) Точнее, результат Витерби получен при условии, что допустимы беско- нечные задержки декодирования. Если же снять это допущение, то, как показал М. С. Пинскер («Границы вероятности и числа исправляемых ошибок для небло- ковых кодов», Проблемы передачи информации, № 4, 1967), вероятность ошибки для сверточных кодов асимптотически при N -> оо ведет себя так же, как и вероятность ошибки для блоковых кодов.— Прим, перев.
400 Гл. 15. Другие основные методы кодирования и декодирования рования, известный под названием последовательного декодирования. Введенный Возенкрафтом и Рейффеном [1961], этот алгоритм был вскоре модифицирован и улучшен Фано [1963]. Конструктивные методы декодирования всегда опираются на математическую структуру кода, а последовательное декодирование — вероятностный алгоритм, почти всегда пригодный для почти всех случайно выбранных сверточных кодов. Грубо говоря, при после- довательном декодировании производится попытка принять решение для каждого полученного символа, но при этом учитываются ранее принятые решения. Если при декодировании последовательности сим- волов на некотором шаге невозможно сделать разумный выбор, то декодер возвращается назад и изменяет некоторые из ранее принятых решений. Последовательный декодер Фано [1963] декодирует сверточный код с бесконечным кодовым ограничением. При этом с вероятностью единица любой данный символ будет в конце концов декодирован правильно и с некоторого момента будет оставаться неизменным. К сожалению, число операций, необходимых для декодирования любого данного символа,— случайная величина, зависящая от шума в канале. Полученные Джекобсом и Еерлекэмпом [1967], а также Джелинеком *) [1968] границы показывают, что распределение этой случайной величины примерно описывается равенством Рг (число вычислений L) ж L~v, где р — функция от скорости передачи и статистики шума в канале. Если скорость достаточно мала, то р > 1 и среднее число вычисле- ний на декодируемый символ ограничено. Однако сама случайная величина может принимать бесконечные значения. Даже в случае конечной дисперсии число вычислений для декодирования данного символа часто бывает очень большим. Именно эта проблема вычисле- ний, а не вероятность ошибки, ограничивает возможности после- довательного декодирования. Некоторые нежелательные свойства распределения числа вычис- лений при последовательном декодировании можно исключить с помо- щью гибридных схем декодирования, сочетающих сверточные коды и последовательное декодирование с другими способами кодирова- ния и декодирования. Такие схемы были предложены Пинскером [1965] и Фэлконером [1967]. Подробное исследование последовательного декодирования мож- но найти у Возенкрафта и Джекобса [1965] или у Джелинека [1968]. 15.66. Сверточные коды для исправления пакетов ошибок. Хотя для канала без памяти со случайны- В Граница Джелинека основана на лемме Юдкина [1964]; частный случай этой границы был получен Сэведжем [1967а, Ь] и Фэлконером [1967].
15.6. Сверточные коды — обзор 401 ми ошибками не известны методы построения лучших сверточных кодов, предложены точные методы построения лучших сверточных кодов, исправляющих пакеты ошибок. При передаче информации по некоторым каналам связи наблю- даются длинные периоды, в течение которых сигнал замирает. Такой фединг приводит к стиранию последовательных символов, что назы- вается пакетом стираний. После окончания пакета стираний опять наступает возможность передачи информации по каналу связи без ошибок и стираний до тех пор, пока следующий глубокий фединг не приведет к новому пакету стираний. Система кодирования для такого канала должна исправлять каждый пакет стираний до тех пор, пока не начнется новый пакет. Если за пакетом стираний из Е символов следует правильный отрезок сообщения из Q символов, то исправле- ния будут не возможны, если число проверочных символов, входя- щих в защитный интервал, будет меньше числа стертых информацион- ных символов. Отсюда следует, что скорость кода должна быть столь малой, чтобы выполнялось неравенство ER Q (1 — R). Берлекэмп [1963] показал, что для любого заданного R можно пост- роить сверточный код с величинами Е и R, удовлетворяющими этому неравенству. В двоичном случае эта конструкция приводит к един- ственному коду с такими свойствами. Он допускает очень простой алгоритм декодирования, основанный на структуре кода. Оптималь- ные сверточные коды с исправлением пакетов стираний оптимальны также и для обнаружения пакетов ошибок максимально возмож- ной длины. Первая попытка построения сверточных кодов, исправляющих пакеты ошибок, была сделана Хегельбергером [1959]. Вайнер и Эш [1963] больше математизировали задачу и для лучших сверточных кодов с данной скоростью вывели границы для минимальной вели- чины защитного интервала между исправляемыми пакетами сти- раний. Берлекэмп [1964а] и Препарата [1964] построили затем класс кодов, достигающих границы Вайнера — Эша для пакетов с задан- ным фазовым расположением относительно блоков сверточного кода. Месси [1965] предложил простой алгоритм декодирования этих кодов. Экономи [1965] и Сю [1969] построили некоторые сверточные коды, исправляющие пакеты с меньшими фазовыми ограничениями по сравнению с кодами Берлекэмпа — Препараты. Однако общие методы построения фазово-независимых сверточных кодов, исправ- ляющих пакеты ошибок и удовлетворяющих границе Вайнера — Эша, пока не найдены. Галлагер [1966] показал, что граница Вайнера — Эша применима не только к сверточным, но и к блоковым кодам. Он также построил класс сверточных кодов, исправляющих многие (но не все) пакеты заданной длины при значительно меньшем защитном интервале, чем требуется согласно границе Вайнера — Эша. 26—658
402 Гл. 15. Другие основные методы кодирования и декодирования Задачи 15.1. Суженный двоичный KB-код с блоковой длиной 31 можно задать порождающим многочленом М(1> (х)М^ (х)М^ (х) = 1 Z3-ЬZ8-Ьz9 -]-z13-H14 + z15- (а) Выписать 7 кодовых слов веса 8 для 1-удлиненного двоичного КВ-кода с длиной 32, содержащего единицы в позициях {оо, 0, 1}. Ответ: {оо, 0, 1} (J {26, 13, 29, 9, 16} или {26, 23, 6, 7, 5}, или {26, 17, 30, 20, 25} или {26, 21, 27, 2, 18}, или {21, 23, 17, 9, 14} или {27, 17, 29, 7, 19}, пли {12, 29, 21, 5, 25}. (Ь) Сколько из 21в смежных классов 1-удлиненного двоичного КВ-кода длины 32 содержат точно по одному лидеру веса 4? Сколько из них имеют 2, 3, 4, 5, . . . слов веса 4? (с) Сколько из 21в смежных классов PM-кода второго порядка длины 32 содержат 1, 2, 3, ... слов веса 4? 15.2. Используя результаты задачи 15.1а, показать, что каждая переста- новка, сохраняющая 1-удлиненный двоичный KB-код длины 32, содержится в проективной унимодулярной группе. Указание. Позиции 1, 2, . . ., 30 можно разбить на два подмножества так, что если существует не менее трех кодовых слов веса 8 с единицами в позициях {оо, 0, х, у}, то хпу относятся к различным множествам. Следовательно, ни одна подстановка, сохраняющая код, не может фиксировать позиции х и у и изменять вычеты и невычеты. Более того, любая подстановка, сохраняющая код и фиксирующая каждую из позиций {оо, 0, 1}, должна фиксировать пози- ции 26, 12, 28, 17, 7, 19, 14, 9, . . .; иными словами, она должна быть тожде- ственной. 15.3. (Ассмус, Мэттсон [1966]). Группа всех подстановок на множестве из 2.4 символов, сохраняющая 1-удлииенный двоичный KB-код (1-удлиненный код Голея), называется группой Матъе. (а) Показать, что группа Матье 5-транзитивна. (Ь) Показать, что порядок группы Матье равен 16 х 15 х 14 X 12 х 8 • х у. 23x11x3. Указание. Пусть А и В — подмножества позиций, соответствующих нулям и единицам некоторого фиксированного кодового слова веса 8. Тогда | А | = 16, | В 1 = 8. Пусть а — фиксированный элемент из А, b — фиксированный эле- мент из В- Пусть (5 — подгруппа группы Матье, относительно которой А в 11 инвариантны, — подгруппа группы оставляющая на месте каждый эле- мент В, а У — подгруппа группы g, фиксирующая а. Пусть 30 А, УА и Йв, 30 в, 3в — подгруппы подстановок соответственно множеств А и В, индуцированные группами 30, У (30в ~ единичная подгруппа). Каждое из 212 кодовых слов кода Голея может быть спроектировано на А и В- Вес кодового слова равен сумме весов его проекций А и В. Вес проекции любого кодового слова на А либо равен 0, либо j>4. Множество 2П различных проекций кодовых слов 1-удлиненного кода Голея на А образует линейный код с длиной 16 и минимальным весом 4. Так как этот код эквивалентен 1-удлиненно- му коду Хэмминга, то множество А можно представить в виде 4-мерного вектор- ного пространства над GF (2), нулевой вектор которого соответствует точке а. Множество 27 различных проекций кодовых слов 1-удлиненного кода Голея на В должно быть эквивалентно коду длины 18 с единственной проверкой на чет- ность. Если проекция кодового слова на В есть нуль-вектор, то его проекция на А — кодовое слово PM-кода первого порядка с длиной 16. Согласно теореме 15.35, $д и 30 А — подгруппы группы 31 всех обратимых аффинных преобразований поля GF (24) над GF (2); У А — подгруппа группы
Задачи 403 X всех обратимых линейных преобразований поля GF (24) над GF (2). Порядок равен 16 х 15x14x12 X 8; порядок равен 15 х 14 X 12 х 8 = 8!/2. Сравнительно просто показать, что — группа аддитивных сдвигов на GF (24) порядка 16. Труднее доказать, что У А = X ts. .7в = “Зв — знакопеременная группа над множеством из 8 символов. (Эти факты можно проверить с помощью перебора всех 35 кодовых слов 1-удлиненного кода Голея веса 8, содержащих в позициях а и Ь единицы.) Отсюда следует, что порядок .Ж равен порядку Так как код Голея совершенен, то для любых пяти позиций 1-удлиненный код содержит слово веса 8, содержащее единицы в этих позициях. Всего он содержит 24 х 23 х 22 х 21 х 20 х 20/8 X 7 х6х5х4 = 23хИхЗ кодовых слов веса 8. Нетрудно показать, что эти слова веса 8 переводятся друг в друга некоторой подстановкой из унимодулярной проективной группы &>. Согласно теореме 15.26, 3й — подгруппа группы Матье. Чтобы найти подстановку л, осуществляющую отображение xt -> yt, х2 -> ->• у2, . . ., х5 -* у5, надо сначала определить множества X = {xt, х2, . . . . . ., х5, хъ, x-j, z8} и Y = {yt, у2, . . ., у8}, соответствующие номерам еди- ничных позиций кодовых слов веса 8. После этого полагаем л = л4л2Лз, где Л1 л3-1 л4 g 3й, X —> В, Y------>В, л2 — подходящая подстановка из $. 15.4. Определить порядок группы всех подстановок, оставляющих инва- риантным 1-удлиненный двоичный KB-код длины 18. 15.5. Используя рис. 15.9, указать, какие из следующих ошибок могут быть исправлены с помощью декодера рис. 15.8. (а) {0, 1, 2, 3}; (Ь) {0, 1, 2, 3, 4}; (с) {0, 1, 2, 3, 4, 5}; (d) {0, 1, 2, 3, 4, 5, 6}; (е) {0, 1, 2, 3, 4, 30}; (f) {0, 1, 3, 27}. Ответ. Да; да; да; нет; нет; нет. 15.6. Предположим, что декодер рис. 15.8 может быть улучшен включением на первом уровне девяти пороговых элементов с шестью входами, осуществляю- щих соответственно оценку девяти подпространств, ортогональных на нулевой позиции (см. рис. 15.9). Величина Ео вычисляется затем на пороговом элементе с девятью входами и Т = 5. Прокомментируйте такую возможность. 15.7. Построить совершенные простые разностные множества по mod 7, 13, 21, 31, 57, 73. Какие из этих множеств могут быть использованы для построения разностных кодов над GF (2)? 15.8. (Мак-Вильямс, Манн [1968] и Смит [1967]). В условиях теоремы 15.599 , „ . —1\в показать, что г (р, m, m — 2, s) = I 1 I . 26*
Глава 16 Нумераторы весов 16.1. Соотношения между нумераторами весов и вероятностью отказа от декодирования В некоторых случаях ошибки декодирования играют очень серьез- ную роль, в то время как отказ от декодирования является всего лишь досадной неприятностью. В таких случаях целесообразно использо- вать очень неполный алгоритм декодирования, который декодирует принятое слово только тогда, когда оно является кодовым:. Этот алгоритм декодирует правильно тогда и только тогда, когда вектор ошибки — нулевой, декодирует неправильно тогда и только тогда, когда этот вектор совпадает с кодовым словом, и приводит к отказу от декодирования в остальных случаях. Для двоичного симметрич- ного канала и кода длины п вероятность того, что вектор шума совпа- дает с некоторым кодовым словом веса i, равна Рх (1 — P)n-i, где Р — вероятность искажения одного символа. Если код содержит Ло = 1 слов веса О, Аг слов веса 1, Л2 слов веса 2, . . ., А/ слов веса i, то вероятность того, что вектор шума совпадет с кодовым словом, п равна 2 AiP* (1 — Р)п~г. Удобно ввести в рассмотрение нумера- i=0 п тор весов кода A (z) = У 4гг’. В терминах нумератора весов вероят- г=0 ность того, что ошибка в канале равна кодовому слову, задается формулой (1 — Р)п А (Р/(1 — Р)). Вероятность правильного деко- дирования равна (1 — Р)п; вероятность ошибки декодирования рав- на (1 — P)n [А (Р/(1 — Р)) — 1]. Вероятность отказа от декодиро- вания равна 1 — (1 — Р)п А (Р/(1 — Р)). Таким образом, при использовании неполного алгоритма декодирования, когда полу- ченное слово декодируется лишь тогда, когда оно кодовое, вероят- ности правильного и неправильного декодирования и отказа от деко- дирования легко выражаются через нумератор весов кода. Нумератор весов кода можно также использовать для вычисления вероятностей ошибки и отказа от декодирования таких алгоритмов декодирования, которые всегда исправляют до t ошибок включи- тельно, и ничего более. В этом случае вероятность правильного деко- t дирования равна 2 ( г ) — Р)п~1 — вероятности того, что i=0 вес вектора шума в канале не превосходит t. Вероятность отказа
16.1. Соотношения между нумераторами весов 405 от декодирования равна вероятности того, что вектор шума принад- лежит смежному классу веса х), вероятность ошибки декодиро- вания равна вероятности того, что вектор шума не является лидером смежного класса веса ^С. Пусть W£’kn~l) — число слов веса к, находящихся на расстоянии j от некоторого фиксированного слова с весом i и длиной п. Тогда найдется А^(У'ьп~г) слов веса к, i находящихся на расстоянии / от кодовых слов. Если кодовое рас- стояние + 1, то ни одно слово не может находиться на рас- стоянии от двух различных кодовых слов, так что число слов веса к, принадлежащих смежному классу веса задается форму- t п лой 2 2 AiW^’k1^. Вероятность декодирования (правильного, ;=0 г=0 или неправильного) соответственно равна '(16.11) 2 2 2 А^;^Рк {1-Р)п~к. fe=0 j=Q i=Q Положим п-° (у) = 2 и W(i' (х, у) = 2 2 W'W- k j k Так как W^'i? l) — аддитивные величины на п координатах кода то производящая функция W^’ п (ж, у) мультипликативна на этих координатах и W(i’ п~{> = (Ж(1’ 0)){ (Ж(0> ‘’Г* = (ж + у)1 (1 + ху)п~*. Тогда п п п (16.12) 2 2 2 ^<y-i)pft(i-p)n-ft*j= fc=0 i=0 г=0 i=0 (16.13) 2 2 2 AiW^kn-i)Pk(i-P)n^xi = h=0 j=0 г=0 n = 2 Ai (X-xP + py (1 - P+ хР)п-< = (1 - P + xP)n A ( 1 zf+tp-) - i=0 Пусть (16.14) (ж)==^_(1_р+а:р)п a (;zf++J). -1) Здесь и в дальнейшем автор называет весом смежного класса минимальный вес его элементов.— Прим, перев. -
406 Гл. 16. Нумераторы весов Согласно (16.12) и (16.13), (а:) — многочлен от х степени Разлагая его по формуле Тейлора, получим, что п (16.15) /<o>(z) = 2 j=o Используя (16.11) — (16.15), приходим к следующему выражению для вероятности отказа от декодирования: (16.16) 1-2 2 2 А^уп~1)рк(1-р)п-к= h=0j=0i=0 j=0 Формула (16.16), полученная Мак-Вильямс [1963], определяет вероятность отказа от декодирования в случае, когда число t меньше половины минимального расстояния кода. Случай t = 0 соответ- ствует очень неполному алгоритму декодирования, который деко- дирует лишь тогда, когда полученное слово является кодовым. К сожалению, нумератор весов не дает полной информации, которую нам бы хотелось иметь о коде. Например, он ничего не говорит о вероятности ошибки декодирования при использовании полного алгоритма декодирования, преобразующего каждое полу- ченное слово в лидер смежного класса. В частности, суженный двоич- ный KB-код с длиной 31 и 2-укороченный PM-код второго порядка с длиной 31 имеют один и тот же нумератор весов, хотя, как показы- вает задача 15.1, распределения весов лидеров смежных классов у этих кодов различны. Тем не менее нумератор весов кода дает о нем значительную информацию, включающую минимальный вес, число кодовых слов каждого веса, вероятности ошибки и отказа от декодирования для случая, когда декодируются ошибки веса но никакие другие. Поэтому исследованию нумераторов весов посвящено большое коли- чество работ. В этой главе рассмотрены некоторые основные резуль- таты, полученные в этом направлении. Все известные результаты о нумераторах весов относятся к нуме- раторам весов Хэмминга, причем большинство из них касается двоичных кодов. За исключением нескольких тривиальных теорем типа теоремы 13.52, решительно ничего не известно и о нумераторах весов Ли. ♦ Нумераторы весов Ли некоторых двоичных кодов приведены в табл. 16.1; формулы для нумераторов весов некоторых классов двоичных кодов с малыми и большими скоростями собраны в табл. 16.4 и 16.5 х). -1) Таблицы 16.1—16.6 сгруппированы в конце главы.
16.2. Уравнения Мак-Вильямс — Плесе 407 16.2. Уравнения Мак-Вильямс — Плесе для нумераторов весов дуальных кодов Нумераторы весов кодов с малым числом кодовых слов и кодов с малым числом классов эквивалентности относительно некоторой известной группы подстановок могут быть найдены путем полного перебора классов эквивалентности. Этот подход оказывается весьма - эффективным для некоторых классов кодов с малой блоковой длиной или малой скоростью. В частности, нумераторы весов для большин- ства кодов со скоростью <1/2, приведенные в табл. 16.1, были впервые получены этим способом путем использования цикличе- ской группы подстановок и группы подстановок вида Xt -> XI (следствие 5.82). К сожалению, число кодовых слов в большинстве кодов с боль- шой скоростью и умеренной или большой блоковой длиной на много порядков превосходит число всех подстановок, относительно,которых код инвариантен. Поэтому нумераторы весов этих кодов не удается определить даже с использованием больших быстродействующих вычислительных машин. Однако, даже если число qRn велико, число g(i-R)n может быть относительно мало. Таким образом, может оказаться, что нумератор весов дуального кода, кодовые слова которого образуют проверки исходного кода, вычисляется сравни- тельно просто. Например, если скорость исходного кода >1/2, то вообще легче вычислить нумератор весов дуального кода, так как он инвариантен относительно той же группы подстановок, что и исходный код. В частности, код, дуальный к циклическому коду с порождающим многочленом g (х), есть циклический код с порож- дающим многочленом h(x), где h (х) = (хп — i)/g (х) и h (х) — много- член, взаимный к h (х). Аналогично, если g (х) не делится на х — 1, то код, дуальный к 1-удлиненному циклическому коду с порождаю- щим многочленом g (х), есть 1-удлиненный циклический код, порож- денный многочленом, взаимным к многочлену (хп — i)/g (х) (х — 1). Если нумератор весов дуального кода известен, то нумератор весов исходного кода может быть определен с помощью замечатель- ной формулы, полученной Мак-Вильямс [1963]. 16.21. Теорема (Мак-Вильямс). Пусть Л — линейный код размерности к над GF (q) с нумератором весов Хэмминга A (z), и пусть 9S — его дуальный код с 'нумератором весов Хэмминга В (z). Тогда где р = (q — i)/q.
408 Гл. 16. Нумераторы весов Замечание. Формула Мак-Вильямс симметрична; подста- новка у = (1 — z)/[l + (q — 1) z] приводит к формуле Доказательство теоремы Мак-Вильямс основано на лемме 16.213, которая в свою очередь базируется на лемме 16.212 и определе- нии 16.211. 16.211. Определение. Пусть v15 v2, . . ., vn — базис пространства GF (qn) над GF (q), а скалярное произведение векторов n n n задается равенством (2 ^-Л') = 2 а^‘' 3=i г=1 1=1 Пусть рукописные буквы обозначают подпространства GF (qn) над GF (q). Пусть Jp^ — подпространство, дуальное к ер, т. е. х £ jp^ тогда и только тогда, когда х-у = 0 для всех у С jF. Пусть ер © "S — прямая сумма ер и © т. е. элемент х £ ер © однозначно записывается в виде х = у + z, где у £ ер, г £ 16.212. Лемма. Доказательство. A n = Л1-, ^5(^0 ^)Х. Таким образом, (^©^еИ П ^)±. С другой стороны, &1- = © jr© (^± © .F1-)1 = Л11, jr1-1-; П ^±± = ^ П jf; f| s (И1 © jfV)1 = © Jr±. 16.213. Лемма. Пусть ер и Jk — подпространства в GF (qn) HadfGF (q) размерностей j и k соответственно, $ = U9S = AL. Тогда \$ n = jf p( ss\. Доказательство. dim (j©- f) ^) = n — dim (^r1- f] ^)-L.
16.2. Уравнения Мак-Вильямс — Плесе 409 Согласно лемме 16.212, П •^)± = ^ri±’©^± = ^©^±> dim(j^@ Лх) = dim jr-|-dim Jk^—dim(j^ p так что dim(*/ 0 .4) = n — dim jr — dim SS + dim (jr f) J?) = = & —7 + dim(JT fl 98}. B Доказательство теоремы 16.21. Пусть 9Fm {т = 1, . . ., (”))—некоторое фиксированное /-мерное подпро- странство в GF (qn), состоящее из всех векторов, содержащих нули в га— j фиксированных координатах. Тогда дуальное к подпро- странство сЗт состоит из векторов, содержащих нули в дополнитель- ном множестве координат. Если а —некоторый фиксированный вектор веса i из кода то а £ &т тогда и только тогда, когда множество, состоящее из координат, соответствующих нулям ^т, образует подмножество множества, состоящего из га — i нулевых координат вектора а. Если положить | 0, если a$gm; |а Л ^т|=| если то т=1 И (”) (16.214) 2 2 М М = 3^(71). a£^m=1 i Аналогично, (?) (16.215) 2 2 |ьл^т|=2^(7/)- ье^9 т~1 ’ Комбинируя равенства (16.213) —(16.215), получим (7) (?) (16.216) 2^(n/l) = S Slan^m|=-2l^n^ml = i a£t^m=1 m=l (?) (?) - ^’2 1^ П = 3 2 |Ь П^т| = ^'2^ (7j)- m=i b6j8 m=l i
410 Гл. 16. Нумераторы весов Так как j произвольно, то равенство (16.216) выполняется при любом j. Умножив его на х1 и суммируя по у, получим, что г 7 3 г s я. 3 (7; ШГ’ - S А (1+-)"- “ =/(7)”2М‘ ЧГ- I Деление всех членов равенства на (14-z)n дает равенство г г Полагая z = 1/(1 х), х — (1 —z)/z, p = (q—l)/q, получаем 2 Л, aW(, г г Формула Мак-Вильямс позволяет получить распределение весов в любом линейном коде по известному распределению весов дуаль- ного ему кода. Например, код, дуальный к 1-удлиненному двоичному коду Хэмминга длины 2т, есть PM-код первого порядка. Нумератор весов последнего, очевидно, равен В (z) = 1 + (2m+1 — 2) z2m-1 + z2”1. Следовательно, нумератор весов 1-удлиненного кода Хэмминга равен (16.22)^(z) = 2-^22W(14-z)2m[14-(2^i--2);(^)2”l'14-(^|)2’nj. Формула Мак-Вильямс дает систему п 4- 1 уравнений, связываю- щих п 4- 1 коэффициентов функции A (z) с п 4- 1 коэффициентами функции В (z). Если функция A (z) известна, то формула Мак-Вильямс позволяет определить В (z), и наоборот. Во многих случаях, однако, бывает трудно определить все коэффициенты и A (z) и В (z), но сравнительно просто определяются некоторые из коэффициентов этих многочленов. Например, могут быть изве- стны все коэффициенты А}, за исключением некоторых s коэффициен- тов, и Вв, Blt . . ., Bs-i- Тогда формула Мак-Вильямс определяет систему п 4- 1 уравнений относительно s неизвестных коэффициентов Aj и п 1 — s неизвестных коэффициентов В}. Для решения этой системы сначала находятся s уравнений, связывающих s неизвестных коэффициентов Aj с известными коэффициентами Во, Вг, . . В^. Это осуществляется с помощью моментно-степенных тождеств, кото- рые мы сейчас определим. Эти тождества, введенные Плесе [1963],
16.2. У равнения Мак-Вильямс — Плесе 411 п выражают r-е «сдвинутые» моменты величин Aj, 2 (№— f)rAj> з=о через коэффициенты Bt. Константа w обычно принимаемся равной О, га/2, (га + 1)/2 или га. Для вычисления r-го сдвинутого момента перепишем формулу Мак-Вильямс в виде S AjZ2 = g* 2 В} (g-1 + pz)"’’ (д'1 — zq-1)1. j=o j=o Умножив обе части равенства на exp 2та: и полагая z = exp (—2а:), получим 2 Л;ехр[2(ю—;)л:] = 1 = 0 = qh 2 Bj [д'1-]-р exp ( — 2а:)]"-’ [g-1 — q~r exp ( — 2a:)]’ exp 2wa:. j=o Продифференцируем обе части равенства г раз и положим х = 0. Тогда (16.225) 2 (2w-2i)r A} = q* 2 B}Fp(n), 3=0 3 = 0 где F<A (га) — многочлен от га, (16.23) F^ (га) = {[g-i + р exp (- 2а:)]"-’ X X [д'1 — q'1 exp (— 2а:)]’ exp 2wx}) х=0. Если r<Zj, то .Е*’) (га) =0. Это позволяет записать уравнение (16.225) в виде п г (16.24) 2 (2го — 2j)T А} — qk 2 BjF^ (га) для всех г. з=о 3=0 Уравнения (16.24) называется моментно-степенными тождествами Плесе. Через производящие функции оно записывается так: оо п оо (16.241) 2 2 (2w— 2j)r zrA} = qh 2 В,Е<’>(га; z), r==0 j = 0 j=0 где 00 (16.242) Fll)(n; z)= 2 F^(n)zr. r=0 Если известны Во, Вг, . . ., Bs_i и не известны точно s коэффи- циентов А}-, то тождества Плесе (16.24) дают систему s уравнений
412 Гл. 16. Нумераторы весов с s неизвестными. Эти уравнения в точности совпадают с уравнения- ми разд. 10.1, причем числа 2w — 2j соответствуют известным лока- торам ошибок, а неизвестные А} — неизвестным значениям ошибок. Следовательно, (10.14) — решения уравнения (16.24). Как будет показано в разд. 16.4, в некоторых случаях уравнение (16.24) удается привести к еще более простому виду. В общем случае вычисление многочлена Fp'> (п) по формуле (16.23) — очень утомительный процесс. Приближенное выражение может быть получено на основе чисел Стирлинга или многочленов Бэлла, свойства которых указаны Риорданом [1958, стр. 43—49]. В двоичном случае выбор w — п/2 приводит к относительно простой рекурсии. Если w = п/2, q = 2 и р — 1/2, то уравнение (16.23) при- нимает вид (16.243) F<A (п) = (-^- ch"-3 хsh3 . В большинстве приложений В} = 0 для малых положительных j, и поэтому вычисления производятся для j — 0, г или г — 2. В слу- чае надобности другие многочлены F^f (п) могут быть выражены через F"» (п) многими способами. Например, используя ряды Тейлора chn2!th3 X — х1 -j- (у — -0 ж’+2+ . .., сразу получаем формулы: F& (n) = rl, (i6-244) F(r~2)(ra) = r!(«_^f Для вычисления 00 F(0,(n; z)= 3 F(°)(n)zr r=0 используем равенство oo (16.245) F‘°> (n; z) = 1 + 3 (zr -gr chn x)^ = r=2 “ 00 = l+z22 (гг r=0 dr dxr d? dx* chnx| /я=0
16.3. Ограничения весов 413 = 1 + z2 2 zr-^-[га2 chn ж —га (га—l)chn 2.г]я=о = г= О = 1 + z2n2F<0) (га; z) — п(п — 1) z22?<0) (га—2; z). Следовательно, 1 , если п — 0, (16.25) F<0’ (га; z) = i—n(n—l)zW<» (п-2-, z) если га > 1. 1 —z2n2 Оказывается, многочлены Е<°> (га) легче выразить не через сте- пени п, а через производные величины ra(f) = ra(ra—1) (га— 2)... . ..(га-{-1— г). Полагая F<°> (п) = 2 ЕГ, можно при г>0 урав- i пение (16.245) записать в виде 2 Ет, П2 2 Ег-2' {П(1) 2 Е/т-2, i г i Применяя тождество га2 = (га — 1 — г) (га — г) + (2г -)-1) (га — г) + г2, полу- чим, что 2 Ет, = 2 (2i т 1) Ет-2, tna+u + 3 ^Ет_2, г г г Таким образом, мы вывели рекурсивную формулу для Ег, г'- 1, если i=0 и (16.26) если 1 = 0 и . (2г — 1) Ет_2, ;-1 -j- i2ET_2, t г —О, г^=0 или г =# О, г = 0, в остальных случаях. Очевидно, что Er, t — 0 для нечетных г. Значения величин ЕГ, t для г — 0, 2, 4, . . ., 12 приведены в табл. 16.2. Производящая функция для г-го столбца этой таблицы имеет вид ^>(г) = 2^,гзг. Г Согласно равенству (16.26), £’(0)(z) = l, Е(1) (z) — z2/(l — z2), Е(2) (z) = 3z4/(l -z2) (1 — 4z2), ..., Е(г) (z) = (2г- 1) z2E^ (z)/(l - i2z2) и г (16.27) ^{>(z) = z2i й= 1 16.3. Ограничения весов Если не известны только s коэффициентов 4, и известны Во, Въ . . ., Bs^, то из тождеств Плесе можно определить s неизве- стных Aj, а остальные коэффициенты В} — по формуле Мак-Вильямс.
414 Гл. 16. Нумераторы весов Но для большинства кодов первые неизвестные значения Bj соответ- ствуют относительно малым /, а большинство из п + 1 коэффициен- тов Aj не известны. Прежде чем применять тождества Плесе для нахождения s коэффициентов Aj, необходимо каким-то иным путем определить п + 1 — s коэффициентов Aj. Для некоторых классов кодов известно несколько методов опре- деления некоторых коэффициентов Aj. Очевидно, что Ао = 1. Если удается показать, что минимальное расстояние кода не меньше чем d, то Aj = 0 для 7 = 1, 2, 3, . . ., d — 1. Полезными границами для минимального расстояния являются БЧХ-граница (см. разд. 7.4) и траница, указанная в теореме 15.22; в некоторых случаях эти гра- ницы могут быть улучшены с помощью сильных методов, развитых Мэттсоном и Соломоном [1961]. 16.31. Теорема (Мэттсон — Соломон). Пусть q — степень простого числа и п взаимно просто с q. В любом циклическом коде над GF (?) длины п вес Хэмминга кодового слова С (z) равен п — г, где г — число корней п-й степени из единицы, являющихся корнями многочлена Мэттсона — Соломона (МС-многочлена) 12 =4 2 Й J Здесь Sf — С (аг) (г = 0, 1, . . ., п) — значения степенных симме- трических функций на кодовом слове С (х). Доказательство. (16.311) Sh = С (с?). Умножая (16.311) на a~k> и суммируя по Л, получим (16.312) 2 Skaik = 3 Ct 2 a(i~3) k. k j k Для любого нечетного J — п!н. о. д. (га, к) сумма всех корней из единицы степени J совпадает с коэффициентом при х в многочлене xJ — 1 и, следовательно, равна 0. С другой стороны, 31ft = ra, к так что (16.313) k 0, если i j mod га, га, если i = j. Из равенств (16.313) и (16.312) вытекает, что 3 Skarik= С}п к или (16.314) (з (з к к
16.3. Ограничения весов 415 Уравнение (16.314) называется формулой обращения Рида и выражает коэффициенты кодового слова С (ж) через значения многочлена Мэттсона — Соломона на корнях n-й степени из единицы. в 16.315. Следствие. Вес каждого ненулевого кодового слова, для которого ST = S2 = . . . = <$dB4x = 0, не меньше <Дзчх- Доказательство. Многочлен Мэттсона — Соломона не может иметь больше корней, чем его степень, которая не превосходит п — <2бчх- Следствие 16.315 дает элегантное доказательство БЧХ-границы для минимального расстояния, но, к сожалению, не приводит к осуществимым процедурам декодирования. Тем не менее подход Мэттсона — Соломона иногда позволяет улучшить БЧХ-границу для минимального расстояния. Теорема 16.32 показывает, что для некоторых кодов с малой скоростью вопрос о достижимости БЧХ-гра- ницы может быть решен только с помощью вычислений в поле GF (q), а не в расширении этого поля. 16.32. Теорема (Мэттсон — Соломон — Сервейра). Пусть q — степень простого числа, п кратно (q — 1) и взаимно просто с q, а — примитивный корень п-й степени из единицы в расширении поля GF (q), J — множество классов вычетов вида qlds4x mod п для i = 0, 1, 2, . . ., пусть dB4x — наименьший элемент в J. (Напри- мер, если q = 2, п = 23, то йБчх = 5 и J = {5, 10, 20, 17, 11, 22, 21, 19, 15, 7, 14}.) Пусть Т (z) = 3 zn“\ a d — истинное минимальное расстояние циклического кода с проверочным многочленом h(x) = (х — 1) П (ж — а3)- Если йБчх и п взаимно просты, то d — с/бчх тогда и только тогда, когда существует ненулевой элемент s g GF (q), такой, что 1 + + sT (—z) делит 1 — zn. Доказательство. Ненулевое кодовое слово может иметь вес dB4x тогда и только тогда, когда степень его многочлена Мэттсо- на — Соломона равна п — ^бчх и все корни МС-многочлена — корни n-й степени из единицы. Согласно предположению, h (х) = (х — 1) X X П (х — а’), так что S, = 0 кроме случая i £ J (J 0- Таким обра- зом, МС-многочлен для каждого кодового слова имеет вид MS(x) = -o+-T^ , где y-dB4X _ SdB4x. Если 5о = О, то 0 — корень МС-многочлена, так что мы предположим, что 50 0 и n-dE4X (16.321) S0 + T(yx) = S0 [j (1-^), i=l
416 Гл. 16. Нумераторы, весов где (так же, как и взаимные к ним) — корни п-й степени из еди- ницы. Приравняв старшие коэффициенты этих многочленов, получим равенство «~dE4X ?n-dB4x = 5o Д (-^). г=1 Так как все элементы — корни п-й степени из единицы, то и их произведение — корень п-й степени из единицы. Так как So £ GF (q) и п кратно q — 1, то So — корень п-й степени из единицы. Следова- тельно, (—y)”~dE4x — корень п-й степени из единицы. Согласно предположению теоремы, п — йБчх и п взаимно просты, так что (—у) — также корень п-й степени из единицы. После подстановок z = —ух, = —Zily и s = S'1 в уравнение (16.321) получим, что ”-dB4X 1Д-зТ(-г) = [J (1-М- i=i Так как — различные корни п-й степени из единицы, то 1 Д- sT (—z) делит 1 — zn. в 16.322. Следствие. Пусть п — простое число, т — мульти- пликативный порядок числа 2 по mod п и с/бчх — БЧХ-граница для минимального расстояния двоичного БЧХ-ко5а с длиной п и скоро- стью (т 4- 1)/п. Если ^бчх < пг < п — 1, то с/бчх < d. Доказательство. Если 1 Д- Т (х) делит хп Д- 1, то сте- пень частного равна с/Бчх- Но степень каждого делителя многочлена (хп Д- 1)/(х Д- 1) кратна числу т, превосходящему йБчх- Единствен- ная возможность йвчх — 1 исключается предположением о том, что т <Zn — 1. । Следствие 16.322 дает другое доказательство того, что минималь- ное расстояние кода Голея больше пяти. Оно также показывает, что минимальное расстояние двоичного БЧХ-кода длины 43 с 15 инфор- мационными и 28 проверочными символами больше БЧХ-границы для этого кода, равной 7. Границы для минимальных расстояний облегчают отыскание нуме- раторов весов кодов в двух направлениях: граница для минималь- ного расстояния кода Jb позволяет исключить некоторые неизве- стные Aj, а граница для минимального расстояния кода увели- чивает минимальное значение s, для которого не известны Bj, j — = s, s Д- 1, ... . Но даже при лучших границах минимальных расстояний все же часто тождества Плесе не позволяют найти нуме- раторы весов, так как неизвестных коэффициентов Aj оказывается слишком много. Тем не менее иногда удается уменьшить количество неизвестных Aj с помощью других методов, к рассмотрению которых мы сейчас перейдем.
16.3. Ограничения весов 417 Если в двоичном коде с нечетной блоковой длиной Ап = 1, то А; = An_j для всех j. Так как п — j нечетно при четных j и наобо- рот, то нумератор весов такого кода можно определить по нумера- тору весов суженного кода, состоящего из кодовых слов четного веса исходного кода. В суженном коде Aj = 0 для всех нечетных В таблице 16.1 содержатся несколько кодов (включая суженный код Голея с п = 23, к = 11), ненулевые веса которых удовлетворяют следующему условию: Aj = 0 не только при / 0 mod 2, но и при mod 4. Используя методы проективной геометрии, Глизон доказал, что этим свойством обладают все KB-коды с длиной п = —1 mod 8. Этот результат позволяет определить нумераторы весов КВ-кодов с блоковыми длинами 8, 24, 32 и 48 с помощью тождеств Плесе. Например, согласно следствию 15.27, минимальный нечетный вес KB-кода с длиной 47 не меньше 9. Так как вес каждого кодового сло- ва 1-удлиненного KB-кода делится на 4, то неизвестными являются только коэффициенты И12 = И36, Л16 = Л32, И20 = 428 и И24. Так как код, дуальный к 1-удлиненному KB-коду, эквивалентен этому коду, то Bt = 0 для i = 1, 2, . . ., 11 и неизвестные Aj могут быть определены из тождеств Плесе. Теорема 16.33, доказанная Соломоном и Макэлайсом [1966], обобщает теорему Глизона. Как обычно, через g (ж) обозначается многочлен, взаимный к g (х). 16.33. Т е о р е м а (Соломон — Макэлайс). Если хп — 1 делит- ся на g (ж) g (ж), то вес каждого кодового слова двоичного циклического кода, порожденного многочленом g (ж), кратен 4. Доказательство. По предположению теоремы из g (аь) =^= У= 0 вытекает, что g (а_,<) = 0 и = 0. Следовательно, (16.331) SkS_k — 0 для всех к. Если С (ж) — кодовое слово, то двоичная запись его веса имеет вид w (С) = 2 иц (С) 2\ г Теорема 16.33 утверждает, что из равенства (16.331) вытекает соотношение w0 (С) = г^ДС) = 0 для всех кодовых слов С. Для дока- зательства этого утверждения надо получить выражения для через Sk. Для удобной записи таких выражений Соломон [1962] ввел величины (16. 332) Г7- = 3 3 ... 3 ChCi2 ...Ci. (сумма в GF(2)). U<’2< <lj J Очевидно, что _ 22 • • • 3 • • • Qj (обычная сумма), »1< 1г < • • <ij 27-658
418 Гл. 16. Нумераторы весов так что Гу (С) =ее mod 2. Согласно теореме Лукаса 4.71, 35 Wi (0 m°d 2. так что wt (С) = Г2, (С). Теперь надо выразить величины Г21(С) через Sk. Из формулы 16.331 ясно, что r1(0 = 3G-3Cia°-^ = O. г г В силу (16.332) Г2 (0 = 32 00- Используя равенство (16.314), получим (16.333) г2 (0 = 3 3 (2 Ska-lk) (3 SKa->к) = К 1 k к = 225АЕ2«-(ад- k к к з Используя разбиение 22 = 22+22+2, k К k<K h>K k=K запишем соотношение (16.333) в виде (16.334) г2(0 = 33 5а5к32 (а-^+’х>4 «-<»*+*)) + k<K г < j + 3^22а-'1(1++ k г < j Так как допустимы все паР 0 7), i<7, то сумма i-\-j при- нимает каждое из возможных значений по mod га точно (п — 1)/2 раз. Следовательно, 4 71-1 с 0, если к О, У]уа-НЖ) = !±‘уя-и= (п_1)в 2 | i——1— если J( = o KJ J=0 I 2 и, согласно формуле (16.311), ’ 2 S* ЕЕ а“МЖ) = = °- k i < j Для вычисления других членов в (16.334) заметим, что 3 3 + a-™fe)) = 33 = = (2 «-0 (2 a-jK) + 2 I з l Подставив это выражение в формулу (16.334), в силу соотношения (16.331) получим (п-1)/2 r2(0 = 2200r2a-(ft+K)i= 2 SkS-k^O. . к<К i h=l
16.3. Ограничения весов 419 Соломон иМакэлайс выразили Г4(С), Г8 (С),. . . через Sh. Их фор- мула для Г4 (С) оказалась очень полезной при определении весов нескольких кодов, но большинство формул для Г; трудно использо- вать ввиду их чрезвычайной сложности. Необходимо в качестве следствия из теоремы 16.33 отметить тот факт, что при г вес кажД0Г0 слова PM-кода поряд- ка г кратен 4. Для доказательства достаточно только заметить, что если w (j) (число единиц в двоичной записи числа /) не превосходит т/2, то g (а1) = 0, а если w (/) т/2, то w (2т — 1 — j) — т — — w (у) т/2, так что g (or3) — 0. На самом деле для весов кодовых слов PM-кода можно доказать выполнимость условия сильной чет- ности. Допустимые значения весов PM-кода первого порядка исчер- пываются величинами 0, 2т-1 и 2т. Значения весов PM-кода второго порядка также сильно ограничены, как показывает теорема 16.34. 16.34. Теорема (Казами [1968]). Вес каждого кодового слова любого подкода РМ-коЗа второго порядка с блоковой длиной 2т имеет вид w = 2m-‘+e2(m+l)/2-1, где i > 0, i = т (mod 2), а е = 0, 4-1, —1 в зависимости от кодо- вого слова. Замечание. Согласно теореме 15.34, каждое кодовое слово PM-кода второго порядка может быть записано в виде (16.341) S3 + + г j где Bj, j, Вt и В £ GF (2), xt = С<г) и хгх3 — С<1) ® СС). Для упро- щения выражения (16.341) воспользуемся теоремой 16.35, принадле- жащей Диксону [1901]. Доказательство теоремы 16.34 мы проведем после доказательства теоремы Диксона и следствий из нее. Хотя первая сумма в формуле (16.341) — квадратичная форма над GF (2), мы проведем доказательство теоремы Диксона для поля GF (2т), что вызовет лишь незначительные усложнения. 16.35. Т е о р е м а (Диксон). Любая квадратичная форма от I переменных I I ^=3 3 Bi, jXlXh Bi, J g GF (2m), i=i j=i с помощью линейного невырожденного преобразования переменных над полем GF (2™) может быть приведена к одной из следующих 21*
420 Гл. 16. Нумераторы весов канонических форм: (fc—1)/2 Д 3 x2i_lx2i, к нечетно, F = < 1=1 fe/2 Л.(4-*-4-1) 3 x2i-lZ2i, к четно, V г=1 где к I, а к — нуль или элемент поля GF (2т), для которого Тг (X) = 1. Доказательство. Пусть k — наименьшее число пере- менных, через которые можно записать F при произвольном обра- тимом линейном преобразовании переменных. Докажем прежде всего, что если F зависит от хг и k 3, то, не ограничивая общности рассуждений, можно положить Въ х = 0. Если 0 и В2, 2 = 0, то х± можно заменить на х2. Если Blt j Д- Д- В]у t = 0 для всех пар (i, ]), г =Д у, то F — полный квадрат и к = 1 < 3. Следовательно, можно предположить, что В2,2 =/= 0 и ^2, з + Вз, г =/= 0- Заменяя В1у} Д- В]у г на Biy}, получим Д F — В2, 2х2 х2 В1у2х1-\- 23 BlyJXjX}. ^2, Полагая ж3 — 2 Blt 2xt и Xi — xt для j#=3, преобразуем F к виду 2 22^.,^. где Вг, 2 — 0- Замена х2 = хг Blt т Д- х2 ]/В2, 2 и xt = xt для i 2 исключает В1у1. Таким образом, если F зависит от хг и к 3, то, не ограничивая общности рассуждений, можно предположить, что В1Л = 0. Если В1у } = 0 для всех у, то F не зависит от хъ и можно пред- положить, что В1у 2 Д 0. Полагая х2 = 2 В1у }х} и xt = хг для 1 i #= 2, приведем F к виду хгх2 Д- 22 Bt }xtXj. Замена хг = ^B2tjX} преобразует F к виду хгх2 Д- F, где F — квадратичная форма от •^з’ • • •, хт. Таким образом, мы показали, что любая квадратичная форма, зависящая от трех или большего числа переменных, может быть !) На самом деле, конечно, 2*2+ *2 2 2Х!+ 22 ^1<1Х1ХН но так как значение имеет только вид формы, то можно вернуться к прежним обозначениям. Мы будем пользоваться этой возможностью на протяжении всего доказательства.
16 3. Ограничения весов 421 приведена к виду F = хгх2 + F, где F не зависит от хг и х2. Если F зависит от большего числа переменных, то редукцию можно про- должить: F = х3х4 -f- F и так далее до тех пор, пока в конце концов не получим квадратичную форму, зависящую не более чем от двух переменных. Единственная квадратичная форма, зависящая от одной переменной — это ж2; единственная квадратичная форма, зависящая от двух переменных,— это Ах2 + Вху + Су2. Если АС = 0, то очевидная подстановка приводит эту форму к виду ху; если А С =£ О, то, заменив х на х У А и у на у У С, получим х2 + Вху + у2. Если В = 0, то это полный квадрат. Если В ф 0, то подстановка у — Ву дает F = х2 + ху + уЧВ2. Подстановка х = х 4- иу приводит F к х2 + ху + (и2 + и 4- 1/В2) у2. Если Tr (1/2?2) = 0, то и можно выбрать так, что и2 4- и 4- i/B2 = 0; если Tr (1/В2) = 1, то и можно выбрать так, что и2 4~ и 4- I/#2 = %2. Полагая х — х/УX, у — у/У%, приведем F к виду ху -j- X (х2 4- у2). в 16.351. Следствие. Любой многочлен степени 5^2 от конеч- ного числа переменных над конечным полем характеристики 2 может быть приведен с помощью обратимого аффинного преобразования его переменных к одной из канонических форм (Л—1)/2 Я?! 4~ S x2l-lx2l BkXk 4- В, 1=1 F = < ж14~ 3 x2i-ix2t + ^h+l^A+l 4- В, 1=1 В X Bft+i = 0, Л/2 4~ xk— 1) + 3 x2i-l%2i 4- ^A+l^A+l В, 5Х^А+1=0. 1=1 Доказательство. Тождество •^21-1^21 •^21-14'21-1 + 21&21 = (*^21—1 -®2l) У21 “В Вгг-1) “В В21-1В2г позволяет исключить все лишние линейные члены с помощью соот- ветствующих линейных сдвигов. н Доказательство теоремы 16.34. Так как аффинные преобразования сохраняют многочлены степени ^1, то они пере- водят кодовые слова PM-кода первого порядка в другие кодовые сло- ва PM-кода первого порядка. Например, типичное аффинное преобра- зование может перевести СР) в С<2> 4- С<5> 4- 1. Согласно следствию 16.351 и тому факту, что С(,) ® С(г) = С(г), выражение (16.341) можно
422 Гл. 16. Нумераторы весов привести к одному из видов ’ (° (16.352) 2 С(2Л-1)С(2М_|_ 1 fe=l C(2J+1) j где j'C?n/2. Вес кодового слова 3 C(2ft~1)C(2ft) равен числу коор- i динат, i = 0, 1, 2, ...,п — 1, оо, таких, что 3 = 1, т. е. равен числу способов выбора двоичных координат Ult U2,..., Um, удо- влетворяющих уравнению (16.353) fe=i при i = l. Пусть Nt — число решений уравнения (16.353) для i = 0, 1. Тогда AT0 = 2—2i 2 i четн. Nt = 2™~X 2 (f)3*» i нечетн. (16.354) No +- N{ = 2™-*’ (3 +1/ = 2m, N0-Ni = 2^-2j (3 -1/ = 2m~j, y0 = 2m-1 + 2m-J-i, yi = 2m-1 — 2m~i~l. Далее w( 2 C(2ft-1)C(2ft)) = yi = 2m-1 — 2m~’-1, w ( 2 C(2ft~1)C(2ft) 4-1) = No = 2”1-1 + 2’n-i-1, w (2 c(2ft-1)c(2ft) +C(2j+1))=2^, так.как точно половина из 2171 двоичных последовательностей дли- ны т удовлетворяет уравнению ^2 2k-iU2k — U2/+1« Полагая в формулах для весов j=*(m—i)/2, получим теорему 16.34. а
16.4. Нумераторы, весов Лазами 423 *16.4. Нумераторы весов Казами для некоторых подкодов PM-кода второго порядка 16.41 .Приведение тождеств Плесе. В случае подкодов PM-кода второго порядка теорема Казами 16.34 утверж- дает, что все ненулевые коэффициенты Л; совпадают с 40, An/2, Af (i) и Ац-f (,), где i == m (mod 2) и f (i) = 2m-1 + 2<'п+г>/а-1. При w = 2m_1 тождества Плесе принимают вид (16.411) (Ao + An)2w+ 3 (_2^Ул/(0 + i=m (mod 2) + 3 (2^,2Y AN.f (i) = 2k 2 BjF^ (N), (mod 2) j=Q где во избежание путаницы с блоковой длиной п — 2т — 1 1-укоро- ченных кодов блоковая длина обозначена через N = 2т. Если пред- положить, что = 1, то Aj = An^j для всех j. Так как единичный вектор задает общую проверку на четность для дуального кода, то Bj — 0 для всех нечетных j. Заменяя г на 2г и / на 2/, перепишем (16.411) в виде (16.412) 2(22mr+ 2 2mr+irЛ/(i)) = 2ft 2 B?jf№(N), r>0. i=m (mod 2) j=0 Положим (16.413) v=k^. Используя (16.413) при N = 2m, запишем равенство (16.412) в виде 2 2irAf (i) = №- 2 (N) - AT. i=m (mod 2) 3=0 16.414) на z2r и суммируя по г от 1 до оо, получаем, что у 2izM/ <i> 2j 1 —2*z2 — t=m (mod 2) равенство (16.242) и табл. 16.2, можно показать, что р<0) (N- z \ —1 — (1)22 । [3^V<2)+^<n] z* . \ ’ VnI V ' N* г । [15/V(3) -(-15/V<2>+^V<d] _ ' /Vs +------ (16.414) Умножая ( (16.415) Используя (16.416)
424 Гл. 16. Нумераторы весов -z*+(3-4) .• + (й-|+|).' + + (105-f + ^)S-+... • Для того чтобы исключить Aftiz), ...,Af^ y из уравнения I (16.415), можно умножить (16.415) на [] (1 — 24z2) и приравнять 3=1 коэффициенты при z1. Например, если умножить на 1 —2z2 равен- ство (16.415), то в силу формулы (16.244) 5(Z)(1-222)^№[22 + (1-4)z*+...H2!52 (4+--J + + 4!В4 (^+ • . .)]-7Vz2-(A2-27V)Z4- ... . Приравняв коэффициенты при 24, получим 2 21 (2’ - 2) Af (г) = N (N- 2) (TV1"2 - 1) +4! N^B,, г~т (mod 2) если В2 = 0. Это третье уравнение, приведенное в таблице 16.3. Аналогичные выкладки позволяют получить все уравнения табл. 16.3. Эти урав- нения представляют собой тождества Плесе (16.414), приведенные к треугольному виду. 16.42. Нечетное т, некоторые БЧХ - коды с ма- лой скоростью. Начнем с PM-кода первого порядка, отме- ченного в первой строке таблицы 16.4. Распределение весов для этого кода было известно еще Риду и Маллеру. 2-укороченный PM-код первого порядка — циклический. Корнями его провероч- ного многочлена являются а-1, а-2, а-4, . . ., или, что то же самое, ап-!, ап~2, а”-4, . . ., где п — 2т— 1. Как показано в первом столб- це табл. 16.4, двоичные записи логарифмов этих корней по основа- нию а образуют циклические сдвиги последовательности 0111... . Этот циклический код представляет собой суженный БЧХ-код со скоростью (т + 1)/лг, который в свою очередь является 1-укорочен- ным PM-кодом первого порядка. Хорошо известно, что распределе- ние весов PM-кода первою порядка имеет вид А0 = Ах = 1,Ах/2 = = 2N - 2. Рассмотрим теперь 1-удлиненный БЧХ-код со скоростью (2т + 1)/N, приведенный во второй строке табл. 16.4. Распределение весов для этого кода впервые было найдено Базами. Проверочный многочлен суженного БЧХ-кода имеет 2т корней. Двоичная запись логарифмов по основанию а получается циклическими сдвигами после- довательностей 011111111 и 011101111, содержащихся в первом
16.4. Нумераторы весов К азами 425 столбце таблицы. В соответствии с БЧХ-границей минимальное расстояние 1-удлиненного БЧХ-кода со скоростью (2m + 1)IN больше или равно 2т-1 — 2(т-1)/2, так что Л/(г) = 0 для всех i > 1. Так как этот код содержит РМ-код первого порядка, то дуальный к нему код образует подкод кода, дуального к PM-коду первого порядка. Так как на предыдущей линии таблицы В2 = О, то, таким образом, дуальный к PM-коду первого порядка (последний, на самом деле, есть 1-удлиненный код Хэмминга) не имеет кодовых слов веса 2, так что код, дуальный к 1-удлиненному БЧХ-коду со скоростью (2m + 1)AV, тоже не содержит кодовых слов веса 2. Другими сло- вами, В2 = 0. Это позволяет определить Af(i) непосредственно из уравнения (Т2) и AN/2 — из уравнения (Т1) табл. 16.3. Согласно уравнению (ТЗ), 0 = 0 + 4!В4, и мы заключаем, что В4 = 0. Прежде чем переходить к БЧХ-коду с большей скоростью, заме- тим, что для достаточно больших m имеется много 1-удлиненных БЧХ-кодов с малыми скоростями, представляющих собой подкоды PM-кода второго порядка. Ясно, что каждая двоичная последова- тельность длины т, содержащая не менее трех нулей, имеет цикличе- ский сдвиг, который начинается с 0 и содержит следующий 0 не позже, чем в (["у]Н"1)-й позиции. Например, если m = 15, то крайний случай дает последовательность 01111011110111. Пусть v + (т + 1)/2 — ([т/3] + 1) + 2. Образуем v двоичных последова- тельностей длины т: 011111111111111, 011111101111111, 011111011111111, . . ., 011110111111111. Тогда они и все их цикличе- ские сдвиги должны превосходить по меньшей мере один цикличе- ский сдвиг любой двоичной последовательности длины т, содержащей не менее трех нулей. Следовательно, если i?<(m + 1)/2 — [т/3] + 1 и т — нечетно, то 1-удлиненный двоичный БЧХ-код со скоро- стью (тк + 1)/2т — подкод PM-кода второго порядка. Рассмотрим теперь приведенный в третьей строке табл. 16.4 1-удлиненный БЧХ-код со скоростью (3m + i)/N, m 7. Согласно БЧХ-границе, минимальное расстояние этого кода больше или рав- но 2т~1 — 2(т+1)/2, так что = 0 для всех i > 3. Так как дан- ный код содержит 1-удлиненный БЧХ-код со скоростью (2m + i)/N, то дуальный к нему код является подкодом дуального к 1-удлинен- ному БЧХ-коду со скоростью (2m + 1)/7V. Так как на предыдущей линии таблицы В4 = 0, то, следовательно, опять получаем В4 = 0. Это позволяет определить Af(3y из уравнения (ТЗ); А/(1) из уравне- ния (Т2), An/2 из уравнения (Т1). Согласно (Т4), 0 = 0 + 6!56, откуда заключаем, что В6 = 0. Рассмотрим далее 1-удлиненный БЧХ-код со скоростью (4m + 1)/7V, m + И. Согласно БЧХ-границе, Ai(iy = 0 для всех i > 5. В силу предыдущих рассмотрений В6 = 0. Следовательно,, можно определить Лу<5) из уравнения (Т4), Ац3) — из (ТЗ), А;(1) —
426 Гл. 16. Нумераторы весов из (Т2), Ajv/2 —из (Т1). Согласно (Т5), 0— — 30N (N — 2) (2V — 1) х X (N — 4) + 8!58, откуда можно найти В8. Рассмотрим теперь 1-удлиненный БЧХ-код со скоростью (5m[— 1)/N, т~^ П. Согласно БЧХ-границе, Л/<г)=0 для всех i>7. Согласно предыдущему 2?8<2V(2V — 1) (N — 2) (N — 8)/(8 х 7 х 6 X 4). С другой стороны, этот код является подкодом PM-кода второго порядка, и поэтому дуальный к нему код есть надкод для кода, дуального к PM-коду второго порядка. Этот дуальный код, согласно теореме 15.329, содержит точно N(N — 1) (N — 2) (2V — 8)/(8 х 7 х 6x4) кодовых слов веса 8. Поэтому 58 =2V (2V—1) (2V — 2) (2V —8)/(8 х X 7x6x4). Затем вычисляем Л/(7) из уравнения (Т5), 4/(5) — из (Т4), А/о, — из (ТЗ), Л/(1) — из (Т2), AN/2 — из (Т1). Согласно уравнению (Тб), О = N (N - 2) [150 (N - 1) (N - 4) (252V + 48)] - - 8! (1252V + 240) В8 + ЮШ10, откуда В10 = 0. Наконец, рассмотрим 1-удлиненный БЧХ-код со скоростью (бт- 4- 1)/2V, т 23. Согласно БЧХ-границе, Af(i) — 0 для i > 9. В силу предыдущих рассмотрений В10 — 0. Следовательно, можно определить Л/(9) из уравнения (Тб); Л/(7) из (Т5), ... . Для каждого кода этой последовательности вычисляется следую- щее Bj. Благодаря чрезвычайно благоприятному стечению обстоя- тельств каждое Bj оказывается равным числу слов веса j в коде, дуальном к PM-коду второго порядка. Тот факт, что для каждого следующего кода величина Bj оказывается ограниченной сверху и снизу двумя равными величинами, позволяет продолжать вычисле- ния и определять нумераторы весов последовательности БЧХ-кодов с малыми скоростями. Наши вычисления заканчивались на БЧХ-коде со скоростью (6m + i)/N, т 23, не потому, что мы не хотим даль- ше искушать судьбу, а потому, что это достаточно однообразное занятие. Конечно, мы не беремся наверняка утверждать, что благо- приятные условия, сопутствовавшие нам пять раз, должны выпол- няться и впредь. Но можно сделать 16.43. Предположение. Если т &v — 13, то число слов веса 2н в коде, дуальном к i-удлиненному РАРХ.-коду со скоростью (то ]-l)AV, равно числу слов с весом 2н в коде, дуальном к РМ-коду второго порядка. Из этого предположения вытекает, что для нечетных т нумера- торы весов последовательности тех БЧХ-кодов с низкими скоростя- ми, которые являются подкодами PM-кода второго порядка, могут быть вычислены с использованием только тождеств Плесе. Будучи оптимистом, автор надеется не только на доказательство предположе- ния 16.43, но и на вывод простых точных формул для нумераторов.
16.4 Нумераторы весов Казама 427 Согласно табл. 16.4, число кодовых слов наименьшего ненулевого веса в 1-удлиненномБЧХ-коде со скоростью(ут,1)/2'т‘, —13, для нечетных т, очевидно, задается равенством (i—D/2 АМ= П ' 2’ 21—223”1 i=i где i = 2у — 3. Хотелось бы найти прямое доказательство этой фор- мулы. Хотелось бы также найти характеристики кодовых слов мало- го веса, аналогичные теореме 15.329. 16.44. т — нечетное; БЧХ - коды с большими скоростями. При фиксированном т только три из 1-удлинен- ных БЧХ-кодов имеют дуальные коды, содержащиеся в РМ-коде второго порядка,— это БЧХ-коды с исправлением одной, двух и трех ошибок. Если /^4, то код, дуальный к 1-удлиненному БЧХ-коду с исправлением t ошибок, не является подкодом РМ-кода второго порядка, так как а2 * * * * 7 — корень порождающего многочлена БЧХ-кода, а двоичная запись 111 числа 7 — слово веса 3. При нечетном т нумераторы весов кодов, дуальных к 1-удлинен- ным БЧХ-кодам с исправлением двух и трех ошибок, могут быть определены по формулам, приведенным в табл. 16.3. Для дуального к коду с исправлением двух ошибок v = 2 и, согласно БЧХ-границе, Вг = 54 — 0. Уравнение (ТЗ) при этом принимает вид 2 2'(2‘ —2)4/(ь = 0. г нечетн. Так как 2' (21 — 2) Afa> 0 для всех нечетных i, то для этих i 2‘ (2‘ — 2) Afily = 0 и Af(i) = 0 для всех i > 1. Это позволяет теперь определить Af(ly из уравнения (Т2) и А^/2 из уравнения (Т1). Теперь рассмотрим код, дуальный к 1-удлиненному БЧХ-коду с исправлением трех ошибок. Так как, согласно БЧХ-границе, = 54 = Ве = 0, то уравнение (Т4) можно записать в виде 2 2l(2i-2)(2‘-8)4/(i> = 0. i нечетн Отсюда следует, что A= 0 Для всех г >• 3. Затем определим вели- чины 4/(3), 4/(1) и 4jv/2 из уравнений (ТЗ), (Т2) и (Т1). Результаты приведены в табл. 16.5. Найденное распределение весов для кодов, дуальных к 1-удли- ненным БЧХ-кодам с исправлением двух и трех ошибок, позволяет вычислить распределение весов в 1-удлиненных БЧХ-кодах с исправ- лением двух и трех ошибок на основании формулы Мак-Вильямс (16.'21). Мы опускаем эти непосредственные, но утомительные выкладки. Для нечетных т вывод нумераторов весов 1-удлиненных двоич- ных БЧХ-кодов (являющихся подкодами PM-кодов порядка 2 или
428 Гл. 16. Нумераторы весов дуальных к ним кодов) значительно упрощается благодаря членам Nl~2 — 1 и Nl~3 — 1 соответственно в уравнениях (ТЗ) и (Т4). Аналогичные уравнения для четных т 1(Т7) и (Т8)] не содержат этих членов, и это значительно усложняет вычисление нумераторов весов. Здесь решение найдено для очень малого числа случаев, а полученные результаты могут служить лишь основой для дальней- шего изучения кодов. К таким результатам относятся теоремы 16.45 и 16.46. Как и в разд. 4.7, через М<г) (х) будем обозначать минималь- ный многочлен элемента а1. 16.45. Теорема (Казами). Двоичный циклический код с блоковой длиной 2т—1 и порождающим многочленом g(x) = = Mt1) (х) Ц М{2 +1) (х) содержит точно as = (2m — 1) (2я" 0 д — 2)/3! г кодовых слов веса 3, где н. о. д,— наибольший общий делитель т и всех et. Доказательство. Так как циклический код инвариантен относительно транзитивной циклической группы подстановок, то число кодовых слов веса 3 в (2т — 1)/3 раз больше числа кодовых слов веса 3, содержащих единицу в позиции с локатором а0. Если 1, х и у — локаторы трех единиц в кодовом слове веса 3, то х, у QGF (2m) - GF (2) и (16.451) х 1 = О, (16.452) z2^1 у2^1 -j- 1 = 0 для всех i. Подставляя равенство (16.451) в (16.452), получаем, что для всех i Отсюда у2 4-1 у2 1 у j у2 Ч-i ~ 1 дЛя всех г; Z/2<4~rZ/ = O для всех г; у £ GF (2е’) — GF (2) для всех i; z/£GE(2H'° д )-GE(2). Таким образом, имеется точно 2я* °'д’ — 2 выборов упорядочен- ных пар элементов (х, у) и (2Н> 0 д — 2)/2 способов для неупорядо- ченных пар. 16.453. Следствие. Код с блоковой длиной N = 2т, получен- ный как 1-удлинение кода из теоремы 16.45, содержит точно пН. О. Д q A^N(N-l)2......--4! ~2 кодовых слов всех 4.
16 4. Нумераторы весов Казами 429 Доказательство. Согласно теореме 10.37, 1-удлиненный код инвариантен относительно транзитивной аффинной группы под- становок. Значит, по теореме 10.38 а3 = 4Л4/2У. 16.46. Теорема (Велч [1967]). Уравнение Тг(ж2<1+1) = 0 имеет точно 22аЬ-1-[-( — 1)ь+12аЬ+а-1 решений в GF (22аЬ). Доказательство. Пусть и2, ..., и2аь —базис СЕ(22аЬ) над GF (2). Тогда х= ^Хр^, Xt£GF (2), г=1 2аЬ 2аЪ x2a+i _ (х‘2а\ х == 3 3 X^jU^ , г= 1 1 2аЪ 2аЪ Тг (х2°+1) =33 XtX} Тг (utuf). 1=1 ;=1 Последнее равенство дает квадратичную форму от переменных Xt. Согласно теореме Диксона 16.35, существует такой базис ult и2, ... • • • , ^2аь> такое число с, с^ ab, и такой элемент X С GF (2), что (16.461) Tr(x2a+‘) = Xic+1+ 3^-Л» 1=1 или (16.462) Tr(^a+1)=%(XL-i + ^2c)+ ix^X2l. г=1 В первом случае Тг]^2^1) не зависит от 2аЬ— 2с —1 координат, а во втором — от 2аЬ — 2с координат. Для определения с надо найти такое число v, что для всех w С GF (2аЬ) Тг (w-r.i;)2a+1 = Tr(w2a+i). Имеем Тг [(гр -рк)2 +1 — гс2“+1] — Тг (гр2°р-!-р2агр r р2а-М) — — Тг (гр2“р) Н~Тг (р2“гр) 4-Тг (р2“+4) = — Тг (гр2°р) -[- Тг (v2Zaw2a) J Тг (р2^1) = = Тг [гр2“ (/а--р)] -т- Тг (р2°+1). Это равенство не зависит от w тогда и только тогда, когда v^GF(2?a). Если р £ GF (22Я) \ 0, то (р2^1)20-1 = 1, так что р2а+' £ £GF(2a) и Tr(p2a+1)= 3 (р2а-Н)2’ = 2Ь 3 (р2“+1)2г=0. Следователь- г= 1 г= 1 но, Тг [(гр4-р)2<1+1] = Тг(гр2О+1) для всех w^GF(2?ab) тогда и только
430 Гл. 16. Нумераторы весов тогда, когда г£ GF (22“). Так как Тг (z2<1+1) не зависит от 2а коор- динат, то 2а—2аЬ— 2с и Тг^'Ч-1) задается формулой (16.462), а не (16.461). Согласно равенству (16.354), число Nt способов выбора 2аЬ двоич- ных чисел Xt, Х2, Х2аъ, удовлетворяющих уравнению Х2ь—== С c=^ab — а, h=i задается равенствами ДГ0==22аЬ-1 + 2в&-1, = 22ab+a-1 _ 2°Ь-Н>~1 Следовательно, если % —0, то уравнение Тг(а?2<1+1) = 0 имеет в GF (22аЬ) 22аЬ~1 -(- 2аЬ+а~1 решений; если Л=1, то уравнение 0= Tr(^a+i) = X2c_)X2c-rXL-i + XlJ+ 3 Х2с^Х21^1^(Х2с+1)х г=1 с—1 Х(Х2с-1 + 1)+ 3 X2c-iX2i имеет в GF (22аЪ) 22аЪ — 22аЬ-1 решений. г=1 Чтобы определить, равен ли элемент X нулю или единице, заметим, что число ненулевых решений уравнения Тг(а:2а+1) = 0 должно быть кратно 2а 1. Следовательно, 22аЬ~1 + (— 1)Л 2аЬ~1 — 1 == 0 mod (2a +1) и 2 2ab _ J f 2“b+a _ 2 mod (2“ 1). Так как 2“ == — 1, то отсюда получаем 1 _l (_ l)* (_ 1)(Ь+1> = 2 mod (2° + 1), (__________|)(Л + Ь+1) _ । (-i)M-i)b+1- 16.47. Четное пг, 1-удлиненные БЧХ -коды с малой скоростью. Рассмотрим теперь приведенный в табл. 16.5 1-удлиненный двоичный БЧХ-код со скоростью (Зпг/2 1)/N. Так как, согласно БЧХ-границе, минимальное рас- стояние этого кода равно по меньшей мере 2т~1 — 2(т-2)/2; то = 0 Для всех i > 0. Так как рассматриваемый код содержит PM-код первого порядка, то дуальный к нему код — подкод кода Хэмминга, и В2 = 0. Величины Л/(0> и определяются соответ- ственно из уравнений (Т2) и (Т1) таблицы 16.3 при v — 3/2. Рассмотрим далее 1-удлиненный двоичный БЧХ-код со ско- ростью (5ш/2 1)/N. В соответствии с БЧХ-границей, Л/(г) = 0
16.4 Нумераторы весов Козами 434 для всех I > 2. Так как наибольший общий делитель чисел т, тп!2. и (т/2 — 1) равен 1, то по следствию 16.453 = 0. Величины 4f(2>, 4у(о) и Ajv/2 определяются из уравнений (Т7), (Т2) и (Т1) при v = 5/2. Распределения весов для двоичных БЧХ-кодов со скоростями (7т/2 + 1)//V, (9m/2 + 1)/N, .... к сожалению, не известны. 16.48. Четное т; 1-удлиненные БЧХ - к од исправляющие две ошибки. Для определения распре- деления весов в БЧХ-кодах, исправляющих две ошибки, выберем: относительно обходный путь. Сначала рассмотрим полный алгоритм декодирования для этих кодов. Это позволит вычислить число слов, веса 3 в смежных классах веса 2 и 3. Отсюда легко найти число кодовых слов веса 5 в (циклическом) БЧХ-коде с блоковой длиной п = 2т — 1. Оказывается, этой информации уже достаточно для вычисления нумератора весов по формулам таблицы 16.3. Казами дал более прямой метод вычисления нумератора весов БЧХ-кодов с исправлением двух ошибок. Однако полный алгоритм декодирова- ния и нумераторы для смежного класса представляют существенный самостоятельный интерес, и поэтому мы предпочли более обход- ный путь. Если произошло не более двух ошибок, то, согласно разд. 1.4 (или алгоритму 7.4), многочлен локаторов ошибок для БЧХ-кода,. исправляющего две ошибки, задается равенством 1, если ошибок нет, l+^fZ, если произошла 1 ошибка, 1 + Здесь Ai = S3 + SjSz — S3 4- S{. Если Tr (Aj/^i) #= 0, to no- теореме 6.695 не все корни o(z) лежат в поле GF (п + 1). В этом слу- чае декоде.р фиксирует отказ от декодирования, обнаруживая тем самым существование не менее трех ошибок. Если предположить, что произошли три ошибки с локаторами Хг, Хг и Х3, то, согласно про- верочным уравнениям для Sr и S2, получим Х( -J- Х2 4 Х3 Siy уз I уз | уз _ 0 А1 I А2 I А3 — Полагая w = X34*^i и исключая Х3, приходим к равенствам Х14Х2 = ш, X’+ == S3 4 4-$>+4 W3 • Возведем первое уравнение в куб, прибавим его ко второму и раз- делим сумму на первое. Тогда получим у v А) 4 4 5^4^ если произошли 2 ошибки. 51 ’
432 Гл. 16. Нумераторы весов Элементы y^ — Xjw и y2 = X2/w удовлетворяют уравнению Это уравнение разрешимо в поле тогда и только тогда, когда °=т'У+(А)!+41)- = Tr(^)+Tr(£f + Tr(A)=Tr(^). Полагая u==Aj/ir3, можно начать декодирование с произвольного элемента и, след которого равен 0. Выделив кубический корень w - (Д1/и)1,/з, можно определить локатор ошибки по формуле о (z) = [ 1 + G$i-г ») z] [1 +wz 4- Al) z3j. Для того чтобы выделить кубический корень из Дх/м при про- извольном выборе Дь надо подобрать такие три различных значения и, что Tr (мД = Тг (н2) = Тг (н3) = 0 и и”-73 = и}/3 = д, где д g GF (22) — CF (2). Выбрав эти три элемента и1г и2 и иа, можно внести их в декодер, который декодирует согласно следующему алго- ритму. 16.481. Полный алгоритм декодирования для двоичных БЧХ-кодов с исправлением двух ошибок. Вычисляем Дх = S3 + SXS2. Если At = Sx = 0, то полагаем о (z) = 1. Если 51 т^= 0 и Tr = 0, то полагаем о (z) = 1 -f- Sfi 4- + (Аг/^i) z< Если Sj — 0 и Aj Ф 0 или Tr (Aj/S3) 0, то полагаем w — = (AjM)1/31) и o(z) = [1 4-(Sj + w;)z] [l-wz-; + z2] . Число возможных выборов Uj, u2 и u3 зависит от числа ненулевых кубов и некубов с нулевым следом в поле GF (2'”). Согласно тео- реме Велча 16.46, число ненулевых кубов с нулевым следом равно п — 1 ± 2 УтгДД . 6 ’ 1) Дтя определения w декодер сначала пытается выделить кубический корень из Aj/kj с помощью методов разд. 11.1. Если Aj/щ имеет в GF (2т) три кубических корня, то любой из них может быть выбран в качестве w. Если в GF (2m) нет кубических корней из Aj/ш, то декодер пытается выделить куби- ческий корень из Aj/«2 и т. д. В случае нечетного т этой проблемы не возникает: любой ненулевой эле- мент поля с нулевым следом может быть выбран в качестве и{. В элементах ut и и3 нет надобности, так как Aj/iq всегда имеет единственный кубический корень в GF (2т).
16.4 Нумераторы, весов Кавами 433 число ненулевых кубов с единичным следом равно n+ 1 + 2 Д/«+ 1 6 ’ число некубов с нулевым следом равно п — 1 + 'У" + 1 3 ’ число некубов с единичным следом равно « +1 ± Д/«+1 3 • Здесь ± Уп + 1 = — (—2)т/2. В любом случае недоразумений не произойдет, так как неправильный выбор знака приведет к эле- менту, не являющемуся целым числом. Используя этот результат, можно дать классификацию смежных классов двоичного БЧХ-кода длины 2т — 1, исправляющего две ошибки, как показано в табл. 16.6. Например, рассмотрим случай, когда Sr =4= 0 и — некуб, такой, что Тг (Aj/Sj) = 1. Всего имеется п способов выбора Sx и столько способов выбора Alt сколько существует способов выбора элемента &1/S* — некуба с единичным следом. Как мы видели, в поле GF (п -ф- 1) содержится (п + 1 ± + 1)/3 таких элементов. Эта величина отмечена в столбце «Число смежных классов в типе». Вес смежных классов этого типа, очевидно, равен 3. Сколькими способами смежный класс может быть декодирован в вектор шума веса 3? Сначала надо выбрать элемент и с нулевым следом, для которого в поле существует кубический корень из \г!и. Всего в GF (2т) имеется ((п — 1) + Кп 1)/3 некубов с нулевым следом. Так как квадрат недопустимого элементам также недопустим и наоборот, то точно половина этих (п — 1 йР Уп 4- 1)/3 некубов с нулевым весом недопустима в качестве элемента и. Следовательно, и может быть выбрано (п — 1 + Уп + 1 )/6 различными способами. Хотя имеется три выбора w в качестве кубического корня из Aj/u, каждому кубическому многочлену ошибки также соответствуют три различных выбора w (не обязательно при одном и том же выборе и). Таким образом, происходит сокращение этих двух троек и число слов веса 3 в каждом смежном классе рассматриваемого типа равно (тг — 1 + \/п + 1}/6. Эта величина внесена в столбец «Кратность элементов минимального веса в смежном классе» таблицы 16.6. Остальные члены этой таблицы могут быть получены аналогичным образом. Заметим, что ни один смежный класс не имеет веса >3. Этот факт впервые был отмечен Горенстейпом, Питерсоном и Цирлером [1960], которые доказали, что при четном т двоичный БЧХ-код длины 2”1 — 1, исправляющий две ошибки, является квазисовершенным 28-6а8
434 Гл. 16. Нумераторы весов (см. разд. 13.2). Из алгоритма 16.481 видно, что при нечетном т двоичный БЧХ-код с блоковой длиной 2m — 1 также квазисовер- шенен. Остается еще несколько вопросов. Сколько слов веса 3 принадле- жат смежным классам веса 3? Ответ дает следующая формула: п /п— 1 ± 2«-f-1 \ , 2п /п — 1 + Д/га +1 \ ( Т \ 6 )+ Т \ 6 ; + 4-п (n + V»+ij (n —1 + , j п Д-1 + 2 Д/п Д-1 \ (п — 1 ± 2 Д/п-|-п я2— 5 -Г п ( 6 } ( g ) - у . Общее число всех слов веса 3 во всех смежных классах равно ( ” j — = п (п — 1) (п — 2)/6. Тогда число слов веса 3, принадлежащих смежным классам веса 2, равно п (п — 1) (п — 2)/6 — п (п2 — 5)/12 =* (5 \ ) = = 10 векторов ошибок в смежных классах веса 2, так что код должен содержать п (п — 3)2/5! кодовых слов веса 5. Так как БЧХ-код с исправлением двух ошибок содержит Ь5 = = п (п — 3)2/5! кодовых слов веса 5, то, согласно теореме 10.38, 1-удлиненный БЧХ-код содержит В6 = (п + 1) п (п — 3)2/6! = = N (N — 1) (7V — 4)2/6! кодовых слов веса 6. Уравнение (Т8) из табл. 16.3 соответственно принимает вид 2 2i (2г — 1) (24- 4) Af (г) = 0, откуда следует, что Af(i) ~ 0 для всех i > 2. Величины Afm 'и Лту/2 определяются затем из (Т7), (Т2) и (Т1). Соответствующие результаты приведены в табл. 16.5. 16.49. Четное т; 1-удлиненные БЧХ -коды с исправлением трех ошибок. В заключение раздела рассмотрим код, дуальный к 1-удлиненному БЧХ-коду с исправле- нием трех ошибок при v ~ 3. Согласно БЧХ-границе, В2 = В4 = = В6 = 0. В силу (Т8) 24(24—1)(24—4) Л/(4)-|-2в(2^—1) (2е—4) Л/(6)4- ... =ЗУ(У-1) (ДГ-4), или А '844 JL _A’GV-l)0V-4) AfW -г о4Л.у(б> -j-----64 x15--- ’ Базами [1968] показал, что величины Л/(г> должны делиться на N (N — 1)/16, и, следовательно, если 84 <; (N — 4)/60, то Aj(i) = О для всех i > 4. Это условие выполняется для всех N <1 212. В этих случаях величины A/(i), Л/<2), А /(Ш и AN/2 можно определить из
16.5. Нумераторы весов для кодов Рида — Соломона 435 уравнений (Т8), (Т7), (Т2) и (Т1). Согласно (T9), В8 = N (N - 1) х X (N — 4) (№ + 6Л + 68)/8'. Это уравнение доказано для т 12, и представляется очень правдоподобным, что оно справедливо для всех т. Гипотетическая формула для В8 эквивалентна предположе- нию о том, что Л/(1) = 0 для всех i > 4. Доказательство любой из этих гипотез дает доказательство гипотетической формулы для нуме- ратора весов кода, дуального к 1-удлиненному БЧХ-коду с исправ- лением трех ошибок. Нам представляется, что эту формулу для Bs можно доказать с помощью нумераторов смежных классов для БЧХ-кода с исправлением трех ошибок аналогично тому, как это сделано в разд. 16.48. Однако такое вычисление будет достаточно запутанным, и возможно, что существует более непосредственное дока- зательство. *16.5. Нумераторы весов для кодов Рида — Соломона Согласно теореме 13.35, коды Рида — Соломона достигают общей границы d п + 1 — к. Этот факт позволяет вычислить нумера- торы весов кодов Рида — Соломона на основании теоремы 16.51, доказанной независимо друг от друга тремя группами исследовате- лей: Ассмусом, Мэттсоном и Турином [1965]; Форни [1966]; Казами, Лином и Питерсоном [1967] (часть доказательства принадлежит Глизону и Кохленбергу). 16.51. Теорема. Если минимальное расстояние по Хэммингу кода с блоковой длиной п и размерностью А над GF (q) равно d = = п + 1 — к, то для w d число А,е кодовых слов веса w (в метрике Хэмминга) задается формулой w—d w—d = (-iy(“’71)9“. i=0 Доказательство. Пусть R, S и T — подмножества мно- жества п позиций кода соответственно с мощностями | R | , | S | И I Т I и дополнениями R, S и Т. Пусть MR — число кодовых слов, которые имеют нули в позициях из 7? и ненулевые координаты в пози- циях из R. Полагая, что ненулевые символы нулевого слова лежат в пустом множестве 0, получим, что М0 = 1. Тогда число кодовых слов, нулевые символы которых расположены в координатах мно- жества S, равно (16.52) М-/(Я R, RcS 2 8*
436 Гл. 16. Нумераторы весов где (16.53) [ 1 , если I S —1, /(£) — ) |S|+i-d , , с. [g , если a<| о |. Равенство (16.53) вытекает из того факта, что, как показано в разд. 13.3, существует единственное кодовое слово, символы кото- рого в фиксированном множестве из к позиций принимают любые наперед заданные значения. Для обращения равенства (16.52) умно- жим (16.52) на некоторую функцию ц (5, Т) и просуммируем по S Т. Получим (16.54) S3 H(S,T)MR — 3 |i(V)/(S). R, 8, 8, RCScT 8СГ Если (16.55) 3 = 8, RCS~T 1. если R = T, О, если R с.Т, то уравнение (16.54) м:ожно записать в виде (16.56) Мт= S, StzT Таким образом, вопрос о разрешимости уравнения (16.52) сводится к нахождению функции ц (£, Т), удовлетворяющей (16.56). Разум- ный выбор дает формула: (1'6.57) ц (5, 7’) = (~l)|rHS|. Для проверки того, что эта функция удовлетворяет (16.55), заметим, (| у11_________________I 5 ! \ 1 1 .1 J выборов S, таких, что R s S s Т и | S | = | R | + j. Значит, если | R | < | Т |, то 2 2 8, J=0 f — (1 —1)1 Tl-I R I =0. Следовательно, функция (16.57) удовлетворяет (16.55) и решение уравнения (16.52) задается формулой (16.56). г. Более простое решение, однако, получается, если MR заменить функцией MR, которая определяется равенствами MR = Мв, если R ф 0 и М*? = 0. При этом уравнение (16.52) приводится к виду 2 если d<\S\, r~s I 0, в остальных случаях.
16.5. Нумераторы весов для кодов Рида — Соломона 437 Согласно формуле (16.56), S, S/T, <UJS| Полагая i = |5|, запишем это равенство в виде 1 Т| ж=2! (—1)'т l-i (’f'У (9i+1-d—1)- i—d Подстановка j — | Т | — i дает |T|-d (16.58) М*т= 2 1)5 (!У') (91 — 1)- j=o Если W о, то А,- 2 М*т. Так как существует способов выбора Т, то первая часть фор- мулы 16.51 вытекает непосредственно из равенства (16.58). Для полу- чения второй части рассмотрим равенства w—d 3 (-0s [("71) + ОД)] 1)=- U) i=0 w—d = 2 (-С?1) (^+1-!) + i=o w—d-|-l + 2 (-d3’ (/1!) (<rd-i+1--i)= j=0 w—d w—d = 2 (—!)* (“71) ^w-d~l-1)-2 Г?1) (Г-“-*-1)= i=0 i=0 w—d = 2 (-l)i(U’71)(9-1)9W’d'i- i=0 Читатель может заметить некоторую аналогию между функцией р (5, 7’) — решением уравнения (16.55), и функцией ц (к) из тео- ремы 3.41. Рота [1964] показал, что обе эти функции являются част- ным случаем функции Мёбиуса, которая может быть определена на произвольном частично упорядоченном множестве.
Таблица 16.1 Нумераторы весов некоторых двоичных циклических кодов (отнесенные к блоковой длине) И 8 О Длин Проверочный многочлен 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 БЧХ 7 3 MW Vi 0 1 JMGa 9 6 и 1 3 3 JMG БЧХ 15 6 Ms 0 0 2 1 H 0 JMG 15 6 И 5 0 0 M 2 M и JMG 15 8 Jfuiwu) Ms 0 1 2M 5 4 M JMG 15 8 Ms 0 2 4 7 4 0 JMGБЧХ 15 10 Ms 0 7 29 554 M FJM‘KB 17 8 АПЧ Мт 0 0 4 5 4 2 JMG 21 6 Hi 0 0 0 1 0 2 0 0 0 JMG 21 5 Mi 0 0 0 0 1 M и 0 0 JMG 21 8 Mt 0 0 1 1 6 2 ’M 0 0 JMG 21 9 MWM"> Ml 0 0 0 10 0 0 1 0 JMG 21 9 AfOWo) Ml 0 1 0 7 0 «М 0 0 0 JMG 21 8 М<ПМ'”М»> Hi 0 0 1 1 5 JM и 0 M FJM 21 11 Ml 0 0 8 10 48 1 0 JMG 21 12 Ml 0 1 9 43 57 i«M 19 4 M JMG 21 12 Ml 0 3 10 35 60 61 26 0 0 JMG 21 14 Hl 0 4 44 142 276 «96 6SM 13 M JMG 21 15 Hi 10 10 78 308 518 133^ 170 31 2 FJM KB 23 11 MO) Ms 0 0 0 22 0 56 0 11 0 JMG 25 20 M О Ms 2 41 440 2 610 8 300 13 050 11 000 5 125 1 250 125 0 0 0 0 JMG 27 18 Mu) Mt 1 19 84 378 1 134 2 268 2 916 2 187 729 0 0 0 0 0 JMG 31 10 A/u)Aft3) Hi 0 0 0 0 0 10 0 17 0 6 0 0 0 0 JMG БЧХ 31 10 Hi 0 0 0 0 0 10 0 17 0 6 0 0 0 0 JMG 31 10 Ml 0 0 0 0 1 5 10 7 5 5 0 0 0 0 JMG ВЧХ 31 15 Hi 0 0 0 15 0 280 0 589 0 168 0 5 0 0 JMG KB 31 15 П Mt 0 0 0 15 0 280 0 589 0 168 0 5 0 0 JMG 31 15 '5) Ml 0 0 1 10 36 140 270 303 180 92 25 0 0 0 JMG 31 15 AfO)Afu)AfO) Ml 0 0 0 10 41 140 260 303 190 92 20 0 1 0 JMG БЧХ 31 20 Hi 0 0 26 255 1 342 4 600 8 100 9 741 6 300 2 760 610 85 6 0 JMG 31 20 Л/г')Л/(з)М(5>М(-) Mi 0 0 26 255 1 342 4 600 8 -100 9 741 6 300 2 760 610 85 6 0 FJM 31 20 Ml 0 0 27 245 1 387 4 480 8 310 9 489 6 510 2 640 655 75 7 0
0 2 4 6 8 10 БЧХ 31 25 0 35 728 7 995 44 016 JMG 33 10 ММ Из 0 0 0 0 0 JMG 33 12 мтмм Ив 0 0 0 0 5 JMG 33 12 М&ММ) Ив 0 0 и 0 0 JMG 35 7 мммм Ив 0 0 0 0 0 JMG 35 10 Ив 0 0 0 0 я JMG 35 12 мт Ив 0 0 0 2 0 JMG 35 15 M“WU> Ив 0 0 0 2 0 JMG 35 15 М(»М<») Ив 0 1 0 14 0 JMG 39 12 МП) и» 0 0 0 0 0 JMG 39 14 МММм) Ив 0 0 0 0 3 JMG 39 14 ММММУ и» 0 0 2 0 0 .TMGKB 41 20 ММ И1 0 0 0 0 32 JMG 43 14 ММ Из 0 0 0 0 0 FJMKB 47 23 ММ Иг 0 0 0 0 0 JMG 51 16 мм мм И1 0 0 0 0 0 0 12 16 20 24 JMG 55 20 МП) Ив 0 70 1 048 5 296 JMG 63 12 мммм Из 00 0 0 10 JMG 63 12 мм мм Из 0 0 0 VPC кв 71 35 мм Hi 35 2 345 186 186 4 340 910 JMG 89 И ММ И» 0 0 0 0 JMG 91 12 ММ Hl 0 0 0 0 12 14 16 18 20 22 24 26 28 30 32 34 36 142 415 267 120 303 165 207 760 85 449 20 280 2 665 168 5 5 5 5 10 5 1 0 0 0 12 15 35 35 16 11 15 42 44 5 И1 5 0 0 У» 0 и 1 2 и 0 0 0 и 0 И и 10 3 3 0 0 и И 12 0 43 0 60' 0 0 0 0 0 93 0 439 0 17в% 0 44 0 1 0 98 0 343 0 «0И 0 0 0 0 0 4- 0 27 0 52 0 22 0 0 0 4 36 27 130 52 132 22 14 Из 0 0 1 22 143 132 55 39 Из 0 ’И 0 0 Уз 185 810 2 379 4 760 6 226 5 660 3 570 1 464 405 74 10 0 8 28 49 77 93 77 35 7 7. 0 276 0 7 590 0 49 588 0 81 720 0 35 420 0 3 795 0 92 0 0 30 0 160 0 504 0 480 0 111 0 0 28 32 36 40 44 48 52 56 60 8 080 3 947 600 24 0 49 0 6 24 17 S И 2 37.861 505 .129 893 225 181 404 764 103 914 580 24 093 685 2 170 455 71 610 670 7 0 0 0 11 0 И 0 1 0 0 4 6 12 15 8 а По Гётатсу. b По Мак-Вильямс. с По Плесе.
Таблица 16.2 Величины Erj d’ , > —— chn.z dxT i )x=0= 3 ^r, !«(!> = Wn). г i r 0 1 2 3 4 5 6 0 1 0 0 0 0 0 0 2 0 1 0 0 0 0 0 4 0 1 3 0 0 0 0 6 0 1 15 15 0 0 0 8 0 1 63 210 105 0 0 10 0 1 255 2,205 3,150 945 0 12 0 1 1,023 21,120 65,835 51,975 10,395 Таблица 16.3 Редукция моментно-степенных тождеств для подкодов РМ-кода второго порядка (Tl) 2 2U/(/) = ^ (№-1-1)4-21 №-iB2. (T2) Если B2 = 0, to 2 2’ (21 — 2) Afa> = N(N—2) (№-2 — 1)4-41 №-2p4. (T3) Если В 2 = Bi = 0, to 2 2« (2;—2) (2{ —8) Af(i> =N (N-2) (N—8) (№"3 — 1)4-61 №-»Be. (T4) Если B2~Bi = B6 — 0, to 2 2< (2« — 2) (2< —8) (21-32) Af(i> = N (TV— 2) [— №~* (29№— — 110/V—135) — (№ —40/V 4- 256)] 4- 8! №"<B8. (T5) Если B2 = T?4 = Bq = 0, TO 2 21 (21-2) (21 -8) (21—32) (21-128) H/(i> = = /V(/V—2) [31№-s(121/V3 — 378№ —534^ — 128)—№4-168№ — —5,376/V4-32,768]4-№-s [101 — 1—170x8! /vj B8-|- 4-10!№-5BI0. (T6) 1) /(i) = 2m 1-|-2(т+{>/2—1; N — 2т — блоковая длина; ft —число информационных символов; v—(h— 1)/т. Все суммы берутся по неотрицательным г, сравнимым с т по mod 2.
16 5. Нумераторы весов для кодов Рида — Соломона 441 Если В2 = 0, то 2! (2г — 1) А/а, = N (N—1) (2^-2-1) +4’ №“2Z?4. (Т7> Если В2 = = 0, то 2 2г (21 — 1) (21—4) AfU} = N (2V-1) (ЛГ-4) (4№-»-1)-)-6! №"ЗВв. (Т8) Если В2 = = Вв = О, то 21 (2г — 1) (2‘ —4) (2‘ —16) Л/(„ = — N(N— 1) (N—4) [2№’-«(11Лг-|-34)-|- -J-(2V— 16)]-)-8!№-*В8 (T9)
Таблица 16.4 Нумераторы весов БЧХ-кодов с малой скоростью длины N = 2т, т — нечётное / (i) = 2m-1 — 2(m+i)/2~1 Корни проворочнсго многочлена 1 -укороченного кода!) Начальные данные ' ' Л/<11> А/<»> АУ<7> * 01111111111111111111111 1 PM-код первого порядка . . .0 0 0 * 01111111111111111111111 2 01111111111011111111111 Bz = 0 . . .0 0 0 01111111111111111111111 3 J 01111111111011111111111 01111111110111111111111 В4 = 0 . . .0 0 0 01111111111111111111111 4 J 01111111111011111111111 04111111110111111111111 01111111101111111111111 Вв = 0 . . .0 0 0 01111111111111111111111 5 01111111111011111111111 01111111110111111111111 01111111101111111111111 01111111011111111111111 В8 = N (TV—1) (N-2) (TV—4) . . .0 0 N (N—i) (IV—2) (IV—8) X X (TV-32) 8Х 7X6X4 128X126X120X96 01111111111111111111111 6 01111111111011111111111 01111111110111111111111 01111111101111111111111 01111111011111111111111 01111110111111111111111 Вю = 0 ... 0 N (N— 1) (TV-2) (TV-8) (TV-32JX X (TV-128) 512X510X504X480X384 7 ? < В12<? (?)
V Л/<5> Л/<3> Afw 1/2AN/2 Заключительные данные 1 0 0 0 N — 1 В2 — 0 2 0 W (IV—1) 2 N (N+2) 4 В« = 0 3 N (IV— 1) (IV—2) 8X6 N (IV—1) (5N+8) 2X6 (IV—1) (91V24-61V4-16) 16 Вв = 0 4 IV (N—l) (N— 2) (N—8) N (N— 1) (N—2)Х X (23N—32) N (N-i)x X (1 51№+200Л'+256) § #8 = 30N (N— 1) (N— 2) (АГ—4) 32X30X24 9Х 128 45X8 8! 5 § § § § Вю = 0 6 § § § § В12 = ? 7 1) По одному циклическому представителю. ♦ Известно Риду и Маллеру. ♦ Найдено Казами. § Эти данные можно получить непосредственными вычислениями по таблице 16.3.
Нумераторы весов Казами для некоторых / (i) = 2’n-1-2<m+1)/2—1 Корни проверочного многочлена 1->корочен- _ . ного кода (с точностью v «замечания до циклических сдвигов) Л/<4) А/(3> Дуальные к о 11111111 2 ..0 i-удлинен- 001111111 НЫМ ЬЧХ-hO- 0 шой скоро- 011111111 3 ...0 стью, 001111111 т нечетное. 010111111 N(V-1)(W—2) 8X6 1-удлинея- 0111111111 11/2 ный БЧХ-код 0111101111 с большой ... 0 скоростью, т четное 0111111111 2V2 0111101111 0111011111 . . .0 31/2 Не известно Дуальные 01111111 2 „ N(lV-l) (ЛГ-4)2 к 1-удлинен- 00111111 "в gi ному БЧХ- . . .0 коду с иоль- той скоро- 01111111 3 N(N— 1) (IV— 4)х стью; 00111111 „ X(M+6N+68) т четное. 01010111 в»~~ 8, 31V(1V-I)x X (ЛУ—4) 16Х 15Х 12 Произволь- (2m—1)—1 ный подвод ;97Пич со скоростью (2m+l)/N. - (2е+1) 2 Доказательства Казами не включены в эту кни- гу; gcd = н о.д. (т, е) Если gcd — нечетен, то . N(N-i) /<gcd> 2gcd Если gcd четен, то 4 ‘/<gcd>
Таблица 16.5 подкодов РМ!-кода второго порядка длины N ==2т A/<2> Л/<1> A/<0> 1/2aN/2 N(N-i) 2 (N-t) (N+2) 2 N(N—i) (5ff+8) 2x6 (N-i)(9N2+6N+16) 8 0 N (J/Tv-l) N-1 N(N-i) (2 1<jV—D 4x3 N (/7v-_i)x (N+2 /ЛЦ-4) X 3 < Vn— i) x (2№+№/2_дг + 4 1/77+4) X-- 4 N (N-i) 4x3 3 (ЛГ-П (N-l-4) 4 7№ (N-i) 4x4x3 2N(N-1) (W+8) 15 (N—i) <29W2-4W468) 64 (N-i) (N-N/2Scd + l) <N-i) / /2gcd_j \ 2Pcd IV + 1 V2gC(iv (N—l) (/28С(1+1)
Таблица 16.6 Нумераторы весов смежных классов двоичного БЧХ-кода с длиной п = 2т— 1, т чётное Тип Вес Число смежных классов Число элементов мини- лидера в типе мального веса в смежном смеж- классе него класса 51 = 0, Д1 = 0 1 1 0 Sj=O, Д4 = ненулевой куб п п — l + 2j/n-|-l 3 6 3 Sj =0, Aj = некуб 2п п — 3 6 3 0, Л1 = 0 п 11 Sj=^=O, Aj = некуб Tr(4f)“° п(п-1+ УнЧ-1) 3 z Sj=^=O, Д1 = некуб Tr(4f)-* п (п — 1+ |/пЦ-1) п 1 + "УП4- 1 3 6 3 Sj=^=O, Данену левой куб Tr(40-° п (п — 1 + 2 У« — 1) 6 2 Sj=^=O, Д1 = ненуле- вой куб Тг(4т)-1 п(п 1 1^2V»- 1) »-l±2V«+l 6 6 3
Приложение А Логарифмы и антилогарифмы по основанию а в поле GF (2s), где а5-|-а2+1 =0 1аа2а3а4 а4а3о,2а1 1аа2а3а4 а4а3а2а1 -31 0 10000 00001 00000 оо 00000 оо -30 1 01000 00010 00001 4 00001 0 —29 2 00100 00100 00010 3 00010 1 -28 3 00010 01000 00011 21 00011 18 —27 4 00001 10000 00100 2 00100 2 -26 5 10100 00101 00101 7 00101 5 —25 6 01010 01010 00110 20 00110 19 —24 7 00101 10100 00111 13 00111 И -23 8 10110 01101 01000 1 01000 3 -22 9 01011 11010 01001 30 01001 29 -21 10 10001 10001 01010 6 01010 6 -20 11 11100 00111 01011 9 01011 27 -19 12 01110 OHIO 01100 19 01100 20 —18 13 00111 11100 01101 28 01101 8 -17 14 10111 11101 OHIO 12 OHIO 12 —16 15 11111 11111 они 24 01111 23 —15 16 11011 11011 10000 0 10000 4 -14 17 11001 10011 10001 10 10001 10 —13 18 11000 00011 10010 29 10010 30 —12 19 01100 00110 10011 25 10011 17 -И 20 00110 01100 10100 5 10100 7 —10 21 00011 11000 10101 22 10101 22 -9 22 10101 10101 10110 8 10110 28 -8 23 11110 01111 10111 14 10111 26 —7 24 01111 НПО 11000 18 11000 21 —6 25 10011 11001 11001 17 11001 25 -5 26 11101 10111 11010 27 f ною 9 —4 27 ною 01011 11011 16 11011 16 -3 28 01101 10110 11100 11 11100 13 —2 29 10010 01001 11101 26 11101 14 -1 30 01001 юно 11110 23 11110 24 0 31 10000 00001 11111 15 11111 15
Приложение В Запись элементов поля GF (52) через корень а многочлена ж24-ж4~2 Сопряжен- ный Минимальный многочлен Поря- док а0 = а~24 = ОсхЦ-1 а° х — 1 1 а1 = а-2з = 1а4-0 а5 х2 4~ х 4- 2 24 а2 = а~22 =—1а—2 аю х2 — 2г—1 12 а3 = а-21 = — 1 а+2 а13 х2 —2 8 а4 =а-го= —2а+2 а20 X2 — X 4~ 1 6 а5 =a~is=—1а —1 al х2 4- х 4~ 2 24 а6 =а~1в= 0а-(-2 а® х — 2 4 а7 =а~1’= 2а 4-0 ан г2-]-2г — 2 24 а8 =а~1в=—2а4~1 al® х24- г 4-1 3 а9 =а~15=—2а—1 a2i х2 4-2 8 а10 = а~1*= 1а — 1 а2 х2 — 2г — 1 12 аи = а-1з= —2а —2 а7 г2 4~ 2г—2 24 а12 = а~12= 0а — 1 ai2 г-(-1 2 а13 = а~ы= .— 1а 4-0 ai’ г2— х 4- 2 24 а14=а~ю= 1а-]-2 а22 г2 4~ 2г — 1 12 а1з=а~9 == 1а—2 а3 г2 —2 8 aie = a-s = 2а—2 а8 г2 4- г 4-1 3 а17=а~7 = 1а 4-1 ахз г2 — х 4~ 2 24 а18 = а~в = 0а—2 ai8 X 4-2 4 а19=а~5 = —2a-j-0 а23 г2 — 2г — 2 24 а20 = а-4 = 2а—1 а® г2 — х 4~ 1 6 а21 = а~3 = 2а4-1 а9 г2 4-2 8 а22=а-2 == —1а4-1 а1« г24-2г —1 12 а23 = а"1 == 2а-}-2 ai9 г2 — 2г — 2 24 Разложение квадратных многочленов над GF(5): х2 \-1^(х -2) (г-2) г2 —1 —(г-]-1) (г —1) х2 ± х— 1 = (х =F 2)2 г2±2г —1 = (г±1)2 г2±2гЦ-2 = (г+1)(г + 2) хг + х — 2 = (г + 1) (х ± 2)
ЛИТЕРАТУРА Альберт (Albert А.), [1956] Fundamental Concepts of Higher Algebra, The University of Chicago Press, Chicago; Math. Rev., 20, 5190. Андрианов В. И., Сасковец В. Н., [1966] Дециклические коды, Кибернетика, № 1, 11 —16. Артин (Artin Е.), [1942] Calois Theory, North State Press, South Bend. Ind.; Math. Rev., i, 66. Ac ему с, Мэттсон (Assmus E. F., Jr., Mattson H. F.), [1966] Perfect Codes and the Mathieu Groups, Arch. Math., 17; 121—135. ------, -----, Турин, (Turin R.), [1965] Cyclic Codes, Air Force Cam- bridge Res. Lab. Sum. Rept. 4. ------, -----, -----, [1966] Cyclic Codes, Air Force Cambridge Res. Lab. Final Rept. Бартон, Велдон (Burton H. 0., Weldon E. J. Jr.), [1965] Cyclic Product Codes, IEEE1') Trans. Inform. Theory, IT11, 433—439; Math. Rev., 32, 7340. Бассгенг (Bussgang J. J.), [1965] Some Properties of Binary Convolu- tional Code Generators, IEEE Trans. Inform. Theory, ITli, 90; Math. Rev., 32, 3953. Берлекэмп (Berlekamp E. R.), [1963] A Class of Convolution Codes, Inform. Control, 6, 1 —13; Math. Rev., 28, 2935. ------, [1964a] Block Coding with Noiseless Feedback, Ph. Diss, thesis, Depar- tament of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, Mass. ------, [1964b] Note on Recurent Codes, IEEE Trans. Inform. Theory, IT10, 257-258. ------, [1966a] Distribution of Cyclic Matrices in a Finite Field, Duke Math. J., 33, 45—48; Math. Rev., 32, 2405. ------, [1966b] Practical BCH Decoders (неопубликованный предварительный вариант гл. 7 и 10, «Algebraic Coding Theory»). ------, [1967a] Factoring Polynomials over Finite Fields, Dell System Tech. J., 46, 1853—1859. ------, [1967b] The Enumeration of Information Symbols in BCH Codes, Dell System Tech. J., 46, 1861 —1880. ------, [1967c] Decoding Algorithms for Srivastava’s Codes, unpublished notes. ------, [1968a] Block Coding for the Binary Symmetric Channel with Noiseless, Delayless Feedback, Proceedings of the Symposium on Error-correcting Codes at the University of Wisconsin (May 6—8, 1968), John Wiley & Sons, New York. *) Журнал «IEEE Trans. Inform. Theory» до 1963 г. издавался под названием «IRE Trans. Inform. Theory». В период между 1953 и 1954 г. несколько номеров журнала вышло без указаний номеров тома; в этих случаях в ссылке дается номер журнала без указания номера тома. В большинстве библиотек эти номера журналов объединены в один том. 29—658
450 Литература ------, [1968b] A Construction for Partitions which Avoid Long Arithmetic Progressions, Canad. Math. Bull. 11, N 3, 409—414, 61—88. ------, [1970] Negacyclic Codes for the Lee Metric, chap. 17 in R.C. Bose and T. A. Dowling (eds.,), Proceedings of the Conference on Combinatorial Mathematics and Its Applications (April 10—14, 1967), The University of North Carolina Press, Chapel Hill, N.C. ------, Рамсей, Соломон (Rumsey H., Solomon G.), [1967] On the Solution of Algebraic Equations over Finite Fields, Inform. Control, 10, 553-564. Биркгоф, Маклейн (Birkhoff G., MacLane S.), [1965] A Survey of Modern Algebra, 3d ed., The Macmillan Company, New York; Math. Rev., 31, 2250. Боуз, Рой-Чоудхури (Bose R.C., Ray-Chaudhuri D. K.), [1960] On a Class of Error Correcting Binary Group Codes, Inform. Control, 3, 68—79, 279—290; Math. Rev., 22, 3619. (Русский перевод: Боуз P. К., Рой-Чоудхури Д. К., Об одном классе двоичных групповых кодов с исправлением ошибок, Кибернетический сборник, вып. 2, ИЛ, М., 1961, 83—94; Дальнейшие результаты относительно двоичных групповых кодов с исправлением ошибок, Кибернетический сборник, вып. 6, ИЛ, М., 1963, 7—12.) Брилхарт, Селфридж (Brillhart J., Selfridge J. L-), [1967] Some Factorizations of 2” ± 1 and Related Results, Math. Computation, 21: 87—96. ------, Цирлер (Zierler N.), [1968, 1969] On Irreducible Trinomials Modulo 2, I, Inform. Control, 13, 541—544, II, ibid, 14, 566—569. Бэрти, Шнейдер (Bartee T. C., Schneider D. I.), [1963] Computation with Finite Fields, Inform. Control, 6, 79—98; Math. Rev., 28, 5854. Вагнер (Wagner T. J.), [1965] A Remark Concerning the Minimum Distan- ce of Binary Group Codes, IEEE Trans. Inform. Theory, IT11, 458. ------, [1966a] A Search Technique for Quasi-perfect Codes, Inform. Control, 9, 94—99; Math. Rev., 32, 9151. ------, [1966b] A Remark Concerning the Existence of Binary Quasi-perfect Codes, IEEE Trans. Inform. Theory, IT12, 401. ------, [1967] Some Additional Quasi-perfect Codes, Inform. Control, 10, 334. Вайнер (Wyner A. D.), [1965] Capabilities of Bounded Discrepancy Decod- ing, Bell System Tech. J., 44, 1061 —1122; Math. Rev., 31, 4652. ------, Эш (Ash R. B.), [1963] Analysis of Recurrent Codes, IEEE Trans. Inform. Theory, IT9, 143—156; Math. Rev., 29, 1088. (Русский перевод: Вайнер Э., Э ш Р., Анализ рекуррентных кодов, Кибернетический сборник, новая серия, вып. 5, «Мир», М., 1968.) Вакс (Wax N.), [1959] On Upper Bounds for Error Detecting and Error Cor- recting Codes of Finite Length, IEEE Trans. Inform. Theory, IT5, 168—174; Math. Rev., 22, 1472. Варден, Ван-дер -(Waerden В. L. van der), [1931] Moderne Algebra, Springer-Verlag ONG, Berlin. (Русский перевод: Ван-дер-Вар- д e н Б. Л., Современная алгебра, ч. I и II, Гостехиздат, М.— Л., 1947.) В а р ш а м о в Р. Р., [1957] Оценка числа сигналов в кодах с коррекцией оши- бок, ДАН СССР, 117, № 5, 739-741. Васильев Ю. Л., [1962] О негрупповых плотно упакованных кодах, Проблемы кибернетики, № 8, 337 — 339. Велдон (Weldon Е. J. Jr.), [1966] Difference-set Cyclic Codes, Bell System Tech. J., 25, 1045—1055; Math. Rev., 34, 1101. (Русский перевод: Велдон И. Дж., Циклические коды, задаваемые разностными мно- жествами, сб. «Некоторые вопросы теории кодирования», «Мир», М., 1970, 9—21.) ------, [1968а] New Generalizations of the Reed — Muller Codes, Part II: Non- primitive Codes, IEEE Trans. Inform. Theory, 14, 199—205.
Литература 451 ------, [1968b] Euclidean Geometry Cyclic Codes, chap. 23 in R.C. Bose and T.A. Dowling (eds.), Proceedings of the Conference on Combinatorial Mathematics and its Applications (April 10—14, 1967), The University of North Carolina Press, Chapel Hill, N.C. В ел ч (Welch L. R.), [1967] Частное сообщение. Витерби (Viterbi A. J.), [1967] Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm, IEEE Trans. Inform. Theory, IT13, 260—269. (Русский перевод: Витерби А., Границы ошибок для сверточных кодов и асимптотически оптимальный алгоритм декодирования, сб. «Некоторые вопросы теории кодирования», «Мир», М., 1970, 142—165.) Возенкрафт, Джекобс (Wozencraft J. М., Jacobs I. М.), [1965] Principles of Communication Engineering, John Wiley & Sons, New York. (Русский перевод: Возенкрафт Дж., Д ж е к о б с И., Теоретические основы техники связи, «Мир», М-, 1969.) ------, Рейффен (Reiffen В.), [1961] Sequential Decoding, The М. I. Т. Press, Cambridge, Mass.; Math. Rev., 19, 824. (Русский перевод: Возенкрафт Дж., Рейффен Б., Последовательное декоди- рование, ИЛ, М., 1963.) Вольфовиц (Wolfowitz J.), [1961] Coding Theorems of Information Theory, Springer-Verlag ONG, Berlin; Math. Rev., 26, 1227. Вулф (Wolf J. K.), [1965a] On Codes Derivable form the Tensor Product of Check Matrices, IEEE Trans. Inform. Theory, 11, 281—284; Math. Rev., 32, 9152. ----, [1965b] On an Extended Class of Error-Locating Codes, Inform. Control, 8, 163—169; Math. Rev., 30, 5848. ----, Эл спас (Elspas В.), [1963] Error-Locating Codes — A New Concept in Error Control, IEEE Trans. Inform. Theory, 9, 113—117; Math. Rev., 29, 4623. ал л are p (Gall ager R. G.), [1963] Low Density Parity Check Codes, The M. I. T. Press, Cambridge, Mass, (abberviated version publiched in IEEE Trans. Inform. Theory, IT8, 21—28); Math. Rev., 24B, 2048. (Рус- ский перевод: Г а л л а г e p P. Г., Коды с малой плотностью проверок на четность, сб. «Теория кодирования», «Мир», М., 1964, 139—165.) ----, [1965] A Simple Derivation of the Coding Theorem and Some Applica- tions, IEEE Trans. Inform. Theory., 1ТЦ, 3—18; Math. Rev., 32, 3951. (Русский перевод: Г а л л а г e p P. Г., Простой вывод теоремы коди- рования и некоторые применения, Кибернетический сборник, новая серия, вып. 3, «Мир», М., 1966.) ----, [1966] Binary Codes for Burst Error Corrections, IEEE Trans. Inform. Theory, IT12, 273. ----, [1968] Information Theory & Reliable Communication, John Wiley & Sons, New York. Г Гёталс (Goethals J. M.), [1965] Algebraic Structure and Weight Distribution of Binary Cyclic Codes, MBLE Res. Lad. (Belqium) Rept. R37. , [1966] Analysis of Weight Distribution in Binary Cyclic Codes, IEEE Trans. Inform. Theory, IT12, 401—402. , [1967] Factorization of Cyclic Codes, IEEE Trans. Inform. Theory, IT13, 242—246; Math. Rev., 35, 5252. ,Делзарт (Delsarte P.), [1968] On a Class of Majority Logic Decodable Cyclic Codes, IEEE Trans. Inform. Theory, IT14, 182 — 188. (Русский перевод: Гёталс Дж- M., Делзарт П., Один класс циклических кодов с мажоритарным декодированием, Кибернетический сборник, новая серия, вып. 6, «Мир», М., 1969.) , Зейдель (Seidel J. J.), [1967] Orthogonal Matrices with Zero Diagonal, Canad. J. Math., 19, 1001—1010. 29*
Литература 452 Гилберт (Gilbert Е. N.), [1952] A Comparison of Signalling Alphabets, Bell System Tech. J., 31, 504—522. Голей (Golay M. E.), [1949] Notes on Digital Coding, Proc. IRE, 37, 657. ------, [1954] Binary Coding, IEEE Trans. Inform. Theory, IT4, 23—28; Math. Rev., 19, 622. ------, [1958] Notes on the Penny—weighing Problem, Lossless Symbol Coding with Nonprimes, etc., IEEE Trans. Inform. Theory, IT4, 103—109; Math. Rev., 22, 13354. Голомб (Golomb S. W.). [1967] Shift Register Sequences, Holden-Day, San Francisco, Calif. ------, [1968] On the Cross-correlation of Shift Register Sequences, IEEE Trans. Inform. Theory, IT14, в печати. ------, Познер (Posner E. C-), [1964] Rook Domains, Latin Squares, Affine Planes and Error-distributing Codes, IEEE Trans. Inform. Theory, IT10, 196-208; Math. Rev., 29, 5657. ------, Велч (Welch L. R.), [1968] Error-correcting codes, Proceedings of a Simposium conducted by the Mathematics Research Center United States Army at the University of Wisconsin, Madson, May 6-8, 1968, 175—194. Г о p e н с т e й и, Питерсон, Ц и p л e p (G о r e n s t e i n D. C., Peterson W. W., Z i e r 1 e r N.), [1960] Two-error Correcting Bose— Chaudhuri Codes Are Quasi-perfect, Inform. Control, 3, 291—294; Math. Rev., 22, 9350. (Русский перевод: Горенстейн Д., П и т е р с о и В., Ц и р л е р Н., Квазисовершенность кодов Боуза — Чоудхури с исправ- лением двух ошибок, Кибернетический сборник, вып. 6, ИЛ, М., 1963, 20-24.) ------, Цирлер (Zierler N.), [1961] A Class of Error-correcting Codes in pm Symbols, J. Soc. Indus. Appl. Math., 9, 207—214; Math. Rev., 24B, 450. (Русский перевод: Г о реи стейн Д., Цирлер Н., Класс кодов из рт символов с исправлением ошибок, Кибернетический сбор- ник, вып. 7, ИЛ, М., 1963.) Грайсмер (Griesmer J. Н.), [1960] A Bound for Error-correcting Codes, J. Res. Develop., 4, 532; Math. Rev., 23B, 3081. Грин (Green M. W.), [1966] Two Heuristic Techniques for Block-code Construction, IEEE Trans. Inform. Theory, IT12, 273. Гросс (Gross A. J.), [1963] Augmented Bose-Chaudhuri Codes Which Correct Single Bursts of Errors, IEEE Trans. Inform. Theory, IT9, 121. Грэхем, Мак-Вильямс (Graham R. L., Mac WilliamsF. L), [1966] On the Number of Information Symbols in Difference set Cyclic Codes, Bell System Tech. J., io, 1057—1070; Math. Rev., 34, 1102. (Русский пере- вод: Грехем P., Мак-Вильямс Дж., О числе информацион- ных символов циклических кодов, задаваемых разностными множества- ми, сб. «Некоторые вопросы теории кодирования», «Мир», М., 1970, 22—35.) ------, Вайнер (W i n е г A. D.), [1968] An Upper Bound on the Minimum Distance for a k-ary Code, Inform. Control, 13 , 46 — 52. Давенпорт, Рут (Davenport W. B., Root W. L.), [1958] Intro- duction to Random Signals and Noise, McGraw-Hill Book Company, New York; Math. Rev., 19:1090. (Русский перевод: Давенпорт В., Рут В. Л., Введение в теорию случайных сигналов и шумов, ИЛ, М., 1960.) Дален (Dalen К.), [1955] On a Theorem of Stickelberger, Math. Scand., 3, 124 — 126; Math. Rev., 17, 130. Делзарт, Гёталс. Мак-Вильямс (Delsarte P., Coeth- als I. M., M a c W i 1 1 i a m s F. J.), [1968] Неопубликованная работа. Джекобс, Берлекэмп (Jacobs I. M., Berlekamp E. R.), [1967] A Lower Bound to the Distribution of Computation for Sequential
Литература 453 Decoding, IEEE Trans. Inform. Theory, IT13, 167—174. (Русский перевод: Джекобс И., Берлекамп И., Нижняя граница распределения количества вычислений для последовательного декодирования, сб. «Неко- торые вопросы теории кодирования», «Мир», М., 1970, 230—248.) Джелинек (Jelinek F.), [1968] Probabilistic Information Theory: Discrete and Memoryless Models, McGraw-Hill Book Company, New York. Джиллайс (Gillies D. B.), [1964] Three New Mersenne Primes and a Statistical Theory, Math. Computation, 18, 93—97; Math. Rev., 28, 2990. Джонсон (JohnsonS. M.), [1962] A New Upper Bound for Error-correct- ing Codes, IEEE Trans. Inform. Theory, IT8, 203—207; Math. Rev., 25, 1067. (Русский перевод: Джонсон С., Новая верхняя граница для кодов, исправляющих ошибки, Теория кодирования, «Мир», М., 1964, 208—224.) ------, [1963] Improved Asymptotic Bounds for Error-correcting Codes, IEEE Trans. Inform. Theory, 9, 198—205; Math. Rev., 29, 1089. Джулин (Julin D.), [1965] Two Improved Block Codes, IEEE Trans. Inform. Theory, IT11, 459. Диксон (Dickson L. E.), [1901] Linear Groups with an Exposition of the Calois Field Theory, Leipzig; republished in paperback by Dover Publi- cations, New York, 1958. Дэйкин (Daykin D. E.), [1960] Distribution of Bordered Persymmetric Matrices in a Finite Field, J. Reine Angew. Math., 203, 47—54; Math. Rev., 22, 3734. ------, [1965] Generation of Irreducible Polynomials over a Finite Field, Amer. Math. Monthly, 72, 646—648. Заремба (Zaremba S. K.), [1952] Covering Problems Concerning Abelain Groups, J. Land. Math. Soc., 27, 242—246; Math. Rev., 13, 817. 3 и в (Z i v J.), [1962] Coding and Decoding for Time-discrete Amplitude Conti- nuous Memoryless Channels, IEEE Trans. Inform. Theory, IT8, S199— S205. ------, [1966] Further Results on the Asymptotic Complexity of an Iterative Coding Scheme, IEEE Trans. Inform. Theory, IT12, 168—171. ------, [1967] Asymptotic Performance and Complexity of a Coding Scheme for Memoryless Channels, IEEE Trans. Inform. Theory, IT13, 359. Зингер (Singer J.), [1938] A Theorem in Finite Projective Geometry and Some Applications to Number Theory, Trans. Amer. Math. Soc., 43, 377— 385. К азами (Kasami T.), [1968] Weight Distribution of BCH Codes, chap. 20 in R. C. Bose and T. A. Dowling (eds.), Proceedings of the Conference on Combinatorial Mathematics and Its Applications (April 10—14, 1967), The University of North Carolina Press, Chapel Hill, N.C. ----, Лин, Питерсон (Lin S., Peterson W. W.), [1966] Some Results on Weight Distributions of BCH Codes, IEEE Trans. Inform. Theory, IT12, 274. ----, ------, ------, [1967a] Some Results on Cyclic Codes which are Invariant under the Affine Group and their Applications, Inform. Control, 11, 475—496. ----, ------, -----, [1967b] Weight Distribution of BCH Codes, J. Inst. Commun. Eng. Japan, September. ----, ------, -----, [1968a] Weight Distribution of Certain Cyclic Codes, неопубликованное сообщение. ----, ------, -----, [1968b] New Generalizations of the Reed-Muller Codes, Part I: Primitive Codes, IEEE Trans. Inform. Theory 14, 189—‘198. ----, ------, -----, [1968c] Polynomial Codes, IEEE Trans. Inform. Theory, 14, 809—814. ----, ------, -----, [1968d] Futher Results on Generalized Reed-Muller Codes, J. Inst. Commun. Eng. Japan, 5IC, 98—105.
454 Литература К а л а б и, Мирваанес (Calabi L., Myrva agn es E.), [1964] On the Minimal Weight of Binary Group Codes, IEEE Trans. Inform. Theory, IT10, 385—387. Камьон (Camion P.), [1966] Codes correcteurs d’erreurs, Rev. CETHEDEC, 3 (num. spec.). ——, [1968] A Proof of Some Properties of Reed-Muller Codes by Means of the Normal Basis Theorem, chap. 22 in R. C. Bose and T. A. Dowling (eds.), Proceedings of the Conference on Combinatorial Mathematics and Applica- tions (April 10—14, 1967), The University of Carolina Press, Chapel Hill, N.C., Math. Rev., 35, 5291. Каннингем, Вудэл (Cunningham A. J., Woodal H. J.), [1925] Factorizations of (yn + 1), F. Hodgson, London. Карлин (Karlin M.), [1969] New Binary Coding Results by Circulants, IEEE, Trans. Inform. Theory, IT15 № 1, 81—92. Карлиц (Carlitz L.), [1953] A Theorem of Stickelberger, Math. Scand., 1, 82—84; Math. Rev., 15, 13. -----, Ходжес (Hodges J. H.), [1965 a] Distribution of Bordered Sym- metric, Skew and Hermitian Matrices in a Finite Field, J. Reine A ngew. Math., 195, 192—201; Math. Rev., 17, 828. -----, -----, [1956 b] Distribution of Matrices in a Finite Field, Pacific J. Math., 6, 225-230; Math. Rev., 18, 554. Кац (К a с M.), [1959] Statistical Independence in Probability, Analysis and Number Theory, Carus Monograph. No. 12, Mathematical Association of America and John Wiley & Sons, New York; Math Rev., 22, 996. (Русский перевод: Кац M., Статистическая независимость в теории вероятно- стей, анализе и теории чисел, ИЛ, М., 1963.) Кнут (Knuth D. Е.), [1968] The Art of Computer Programming, I—VII, Addison — Wesley Publishing Company, Reading, Mass. Kok (Cocke J.), [1959] Losseless symbol coding with nonprimes, IEEE Trans. Inform. Theory, 5, 33—34; Math. Rev., 22, 13355. Кохен (Cohen E. L.), [1964] A Note on Perfect Double Error-correcting Codes on q Symbols, Inform. Control, 7, 381—384; Math. Rev., 29, 5656. Ландсберг (Landsberg G.), [1893] Uber eine Anzahlbestimmung und eine damit zusammenhangende Reihe, J. Reine Angeiv. Math., Ill, 87-88. Леви (Levy J.), [1964] Capabilities of Parity—check Codes for Nonprime Alphabets, M.S. thesis, Electrical Engineering Department, Massachusetts Institute of Technology. Лехмер (Lehmer E.), [1936] On the Magnitude of the Coefficients of the Cyclotomic Polynomial, Rull. Amer. Math. Soc., 42, 389—392. Ли (Lee C. Y.), [1958] Some Propereties of Nonbinary Error-correcting Codes, IEEE Trans. Inform. Theory, IT4, 77—82; Math. Rev., 22, 13353. Лин (Lin S.), [1968] Some Codes Which Are Invariant under a Transitive Permutation and Their Connection with Balanced Incomplete Group Block Desing, chap. 24 in R. C. Bose and T. A. Dowling (eds.), Proceedings of the Conference on Combinatorial Mathematics and Its Applications (April 10—14, 1967), The University of North Carolina Press, Chapel Hill, N.C. Логан (Logan B. F.), [1967] Частное сообщение. Ллойд (Lloyd S. P.), [1957] Binary Block Coding, Rell System Tech. J., 36, 517—535; Math. Rev., 19, 465. Лукас (Lucas E.), [1878] Sur Les congruences des nombres euleriennes et des coefficients differentiels des functions trigonometriques, suivant un-module premier, Rull. Soc. Math. France, 6, 49—54. Мак-Вильямс (MacWilliams F. J.), [1963] A Theorem on the Distribution of Weights in a Systematic Code, Rell System Tech. J., 42, 79—94; Math. Rev., 26, 7462.
Литература 455 , [1964] Permutation Decoding of Systematic Codes, Bell System Tech. J., 43, 485—505. (Русский перевод: M а к-В и л ь я м с Дж., Перестано- вочное декодирование систематических кодов, Кибернетический сборник, новая серия, вып. 1, «Мир», М., 1966) , [1965] The Structure and Properties of Binary Cyclic Alphabets, Bell System Tech. J., 6A, 303—332. (Русский перевод: Мак-Вильямс Дж., Структура и свойства бинарных циклических алфавитов, Кибернетический сборник, новая серия, вып. 4, «Мир», М., 1967, 7—42.) , [1968], Codes and Ideals in Group Algebras, chap. 18 in R. C. Bose and T. A. Dowling (eds.), Proceedings of the Conference on Combinatorial Mathe- matics and its Applications (April 10—14, 1967), The University of North Carolina Press, Chapel Hill, N.C. , [1970] Orthogonal Circulant Matrices over Finite Fields, J. Combinatorial Theory, in press. ------, Манн (Mann H. B.), [1968] On the p-rank of the Design Matrix of Difference Set, Inform. Control, 12, 474—488. Мак-Дональд (MacDonald J.E.), [1960] Design Methods for Maxi- mum Minimum-distance Error-correcting Codes, IBM J. Res. Develop., k, 43—57; Math. Rev., 22, 1471. Маккой (McCoy N. H.), [1965] The Theory of Numbers, The Macmillan Company, New York; Math. Rev., 32, 78. M а л л e p (M u 1 1 e r D. E.), [1954] Application of Boolean Algebra to Switching Circuit Design and to Error Detection, IEEE Computers, EC3, 6—12; Math. Rev., 16, 99. Мандельброт (Mandelbrot B.), [1965] Self-similar Error Clusters in Communication Systems and the Concept of Conditional Stationarity, IEEE Trans. Commun. Tech., Com T13, 71—90. Манн (Mann H. B.), [1962] On the Number of Information Symbols in Bose- Chaudhuri Codes, Inform. Control, 5, 153—162; Math. Rev., 26, 4847. ------, [1965] Addition Theorems, John Wiley & Sons, New York; Math. Rev., 31, 5854. ------, [1967] Recent Advances in Difference Sets, Amer. Math. Monthly, 74, 229—235. Месси (Massey J. L.), [1963] Treshold Decoding, The M. I. T. Press, Cambridge, Mass.; Math. Rev., 2R, 4709. (Русский перевод: Me ecu Дж., Пороговое декодирование, «Мир», М., 1964.) ------, [1964] Reversible Codes, Inform. Control, 7, 369—380; Math. Rev., 29, 5660. ------, [1965] Implementation of Burst-correcting Convolutional Codes, IEEE Trans. Inform. Theory, IT11, 416—422. ------, [1969] Feedback Shift Register Synthesis and BCH Decoding, IEEE Trans. Inform. Theory, IT15, 122—128. Милн (Milne W. E.), [1949] Numerical Calculus, Princeton University Press, Princeton, N.J.; Math. Rev.; 10, 483. M э p ш (Marsh R. W.), [1957] Table of Irreducible Polynomials over GF (2) through Degree 19, U.S. Department of Commerce, Washington, D.C. Мэттсон, А сему c (Mattson H. F., Assmus E. F. Jr.), [1964] Research Program to Extend the Theory of Weight Distribution and Related Problems for Cyclic Error-correcting Codes, Air Force Cambridge Res. Lab. Sum. Rept. 3. ------, Соломон (Solomon G.), [1961] A New Treatment of Bose — Chaudhuri Codes, J. Soc. Indus. Appl. Math., 9, 654—669; Math. Rev., 24B, 1705 (Русский перевод: Мэттсон Г. Ф., Соломон Г., Новая трактовка кодов Боуза — Чоудхури, Теория кодирования, сбор- ник переводов, «Мир», М., 1964, 7—29.) Нейдлер (Nadler М.), [1962а] A 32-point n=12, d = 5 Code, IEEE Trans. Inform. Theory, IT8, 58.
456 Литература ------, [1962b] Topics in Engineering Logic, Pergamon Press, New York. Нордстром, Робинсон (Nordstrom A. W., RobinsonJ.P.), [1967] An Optimum Nonlinear Code, Inform. Control, 11, 613—616. Нэджелл (Nagell T.), [1951] [1964] Introduction to Number Theory, Chelsea Publishing Company, New York; Math. Rev., 13, 207. Ope (Ore 0.), [1933] On a Special of Polynomials, Trans. Amer. Math. Soc., 35, 559-584; 36, 275. ------, [1934] Contributions to the Theory of Finite Fields, Trans. Amer. Math. Soc., 36, 243—274. П и н с к e p M. C., [1965] О сложности декодирования, Проблемы передачи информации, вып. 1, 113—116. Питерсон (Peterson W. W.), [1961] Error-correcting Codes, The M.I.T. Press, Cambridge, Mass.; Math. Rev., 22, 12003. (Русский перевод: Питерсон У., Коды, исправляющие ошибки, «Мир», М., 1964.) ------, [1968] Some New Results on Finite Fields and Their Applications to the Theory of BCH Codes, chap. 19 in R. C. Bose and T. A. Dowling (eds.), Proceedings of the Conference on Combinatorial Mathematics and Its Appli- cations (April 10—14, 1967), The University of North Carolina Press, Chapel HiU, N.C. Питчер (Pitcher T.), [1966]. Частное сообщение. Плесе (Pless V.), [1963] Power-Moment Identities on Weight Distributions in Error-correcting Codes, Inform. Control, 6, 147 —152. ------, [1965] On the Invariants of a Vector Subspace of a Vector Space over a Field of Characteristic Two, Proc. Amer. Math. Soc., 16, 1062—1067; Math. Rev., 32, 110. Плоткин (Plotkin M.), [1960] Binary Codes with Specified Minimum Distances, IEEE Trans. Inform. Theory, IT6, 445—450. Math. Rev., 22, 13361. (Русский перевод: Плоткин M., Двоичные коды с заданным мини- мальным расстоянием, Кибернетический сборник, вып. 7, ИЛ, М., 1963.) Прейндж (Р range Е.), [1957] Cyclic Error-correcting Codes in Two Symbols, Air Force Cambridge Res. Center Tech. Note, 57-103. ------, [1958] Some Cyclic Error-correcting Codes with Simple Decoding Algo- rithms, Air Force Cambridge Res. Center Tech. Note, 58-156. ------, [1959] The Use of Coset Equvalence in the Analysis and Decoding of Group Codes, Air Force Cambridge Res. Center Tech. Note, 59-164. ------, [1962] The Use Information Sets in Decoding Cyclic Codes, IEEE Trans. Inform. Theory, 8, S5—S9; Math. Rev., 26, 1226. Препарата (Preparata F. P.), [1964] Systematic Construction of Optimal Linear Recurrent Codes for Burst Error Correction, Calcolo, 1, 147 — 153; Math. Rev., 30, 2954. ------, [1968] Weight and Distance Structure of Nordstrom—Robinson Quadra- tic, Inform. Control, 12, 466 —473; Erratum, Inform. Control, 13, 172. Райзер (Ryser H. J.), [1963] Combinatorial Mathematics, Carus Mono- graph No. 14, Mathematical Association of America and John Wiley & Sons, New York; Math. Rev., 27: 51. (Русский перевод: Райзер Г. Дж., Комбинаторная математика, «Мир», М., 1966.) Рао (Rao С. R.) [1947] Factorial Experiments Derivable from Combinatorial Arrangements of Arrays, J. Roy. Statist. Soc. Suppl., 9, 127 —139; Math. Rev., 9, 264. Редди (Reddy S. M.), [1968] A Class of Convolutional Codes and a New Decoding Algorithm, Ph. D. thesis, Electrical Engineering Department, University of Lowa, Lowa City. Рид (Reed I. S.), [1954] A Class of Multiple-error-correcting Codes and the Decoding Scheme, IEEE Trans. Inform. Theory, IT4, 38—49; Math. Rev., 19, 721. (Русский перевод: Рид И. С., Класс кодов с исправлением нескольких ошибок и схема декодирования, Кибернетический сборник, вып. 1, ИЛ, М., 1960, 189—205.)
Литература 457 ------, Соломон (Solomon G.), [1960] Polynomial Codes over Certain Finite Fields, J. Soc. Indus. Appl. Math., 8, 300—304; Math. Rev., 23B, 510. Риордан (Riordan J.), [1958] An Introduction to Combinatorial Ana- lysis, John Wiley & Sons, New. York; Math. Rev., 20, 3077. (Русский пере- вод: Риордан Дж., Введение в комбинаторный анализ, ИЛ, М., 1963.) Робинсон (Robinson J. Р.), [1965] An Upper Bound on the Minimum Distance of a Convolutional Code, IEEE Trans. Inform. Theory, IT11, 567—571; Math. Rev., 32, 7351. ------, [1968] Analysis of Nordstrom’s Optimum Quadratic Code, Proceedings of the Hawaii International Conference on System Sciences, 157—160. ------, Бернстейн (Bernstein A. J.), [1967] A Class of Binary Recur- rent Codes with Limited Error Propagation, IEEE Trans. Inform. Theory, IT13, 106—113. Рота (Rota G. C.), [1964] On the Foundations of Combinatorial Theory, I. Theory of Moebius Functions, Z. Wahrscheinlickeistheorie, 2, 340—368; Math. Rev., 20, 4688. Рудольф (Rudolph L. D.), [1964] Geometric Configuration and Majority Logic Decodable Codes, M.E.E. Thesis, University of Oklahoma, Normal. Okla. ------, [1967] A Class of Majority Logic Decodable Codes, IEEE Trans. Inform. Theory, IT13, 305—307. Pyc (Roos J. E.), [1965] An Algebraic Study of Group and Nongroup Error- correcting Codes, Inform. Control, 8, 195—214; Math. Rev., 32, 9147. Сакс (Sacks G. E.), [1958] Multiple Error Correction by Means of Parity Checks, IEEE Trans. Inform. Theory, IT4, 145—147; Math. Rev., 22, 13356. Салл айв ен (Sullivan D. D.), [1966] Control of Error Propagation in Convolutional Codes, Univ. Notre Dame Tech. Rept. EE667. Сервейра (Cerveira A. G.), [1968] On a Class of Wide Sense Binary BCH Codes Whose Minimum Distances Exceed the BCH Bound, IEEE Trans. Inform. Theory, IT14, 784. Синглтон (Singleton R. C.), [1964] Maximum Distance Q-nary Codes, IEEE Trans. Inform. Theory, IT10, 116—118; Math. Rev., 29, 2118. Слепян (Slepian D.), [1956] A Class of Binary Signaling Alphabets, Rell System Tech. J., 35, 203—234; Math. Rev., 17, 1100. (Русский перевод: Слепян Д., Класс двоичных сигнальных алфавитов, сб. «Теория передачи сообщений», ИЛ, М., 1957, 82—113.) ------, [1960] Some Futher Theory of Group Codes, Rell. System Tech. J., 9, 1219—1252; Math. Rev., 22, 13351. Смит (Smith K. J. C.), [1967] Ph. D. Thesis, Department of Statistics, University of North Carolina, Chapel Hill, N. C. ------, [1969] On the p-rank of the Matrix of Points and Hyperplanes in a Finite Projective Geometry, J. Combinatorial Theory, 7, 122—129. Соломон (Solomon G.), [1962] A Weight Formula for Group Codes, IEEE Trans. Inform. Theory, IT8, SI—S4; Math. Rev., 26, 2340. ------, Макэлайс (McEliece R.), [1966] Weight of Cyclic Codes, J. Combinatorial Theory, 1, 459—475. ------, Стиффлер (Stiffler J. J.), [1965] Algebraically Punctured Cyclic Codes, Inform. Control, 8, 170—179; Math. Rev., 30, 5847. Спенс (Spence E.), [1967] A New Class of Hadamard Matrices, Glasgow J., 8, 59—62; Math. Rev., 35, 1496. Сривэстава (Srivastava J.N.), [1967] Unpublished remarks at the Combinatorial Symposium, University of North Carolina, Chapel Hill, N.G. (April 10-14). Стиффлер (Stiffler J. J.), [1969] Synchronization in Communication Systems, Prentice-Hall, Englewood Cliffts, N.J.
458 Л итератора Сторер (Storer Т.), [1967] Cyclotomy and Difference Sets, Lectures Adv. Math. 2, Markham Publishing Co., Chicago. Суон (Swan R. G.), [1962] Factorization of Polynomials over Finite Fields, Pacific J. Math., 12, 1099—1106; Math. Rev., 26, 2432. Сэведж (Savage J. E.), [1966a] The Distribution of the Sequential Decod- ing Computation Time, IEEE Trans. Inform. Theory, IT12, 143—147. -----, [1966b] Sequential Decoding — The Computation Problem, Bell System Tech. J., 45: 149-175. Сю (Hsu H. T.), [1969] A New Class of Recurrent Codes, IEEE Trans. Inform. Theory, IT15, 592—597. Таунсенд, Велдон (Townsend R. L., Weldon E. J. Jr), [1967] Self-orthogonal Quasi-cyclic Codes, IEEE Trans. Inform. Theory, IT13, 183—195. (Русский перевод: Таунсенд P., Велдон И., Собственно ортогональные квазициклические коды, сборник переводов, «Мир», М., 1970.) Ф айн сте пн (Feinstein А.), [1954] A New Basis Theorem of Information Theory, IEEE Trans. Inform. Theory, IT4, 2—22; Math. Rev., 19, 516. -----, [1958] Fuondations of Information Theory, McGraw-Hill Book Company, New York; Math. Rev., 20: 1594. (Русский перевод: Файнстейн A., Основы теории информации, ИЛ, М., 1960.) Ф а й р (Fire Р.), [1959] A Class of Multiple-error-correcting Codes for Non- independent Errors, Sylvania Reconnaissance Systems Lab. Rept. RSL-E-2. Фано (Fano R. M.), [1961] Transmission of Information, The M.I.T. Press, Cambridge, Mass; Math. Rev., 24B, 442. (Русский перевод: Фано P., Передача информации. Статистическая теория связи, «Мир», М., 1965.) -----, [1963] A Heuristic Discussion of Probabilistic Decoding, IEEE Trans. Inform- Theory, IT9, 64—74; Math. Rev., 29, 3283. _ Феллер (Feeler W.), [1943] Generalization of a Probability Limit Theorem of Cramer, Trans. Amer. Math. Soc., 54, 361 — 372; Math. Rev., 5, 125. Фишер (Fisher R. A.), [1942] The Theory of Confounding in Factorial Experiments in Relation to The Theory of Group, Ann. Eugenics, 11, 341 — 353; Math. Rev., 4, 127. Форни (Forney G. D., Jr.), [1965] On Decoding BCH Codes, IEEE Trans. Inform. Theory, IT11; 549—557; Math. Rev., 32; 7341. (Русский перевод: Форни Д., Каскадные коды, «Мир», М., 1970). -----, [1966а] Generalized Minimum Distance Decoding, IEEE Trans. Inform. Theory, IT12; 125—131. -----, [1966b] Concatenated Codes, M. I. T. Press, Cambridge, Mass. (Готовится к печати русский перевод в изд-ве «Мир», 1970.) Фэлконер (Falconer D. D.), [1967] A Hybrid Sequential and Algebraic Decoding Scheme, Ph. D. thesis, Department of Electrical Engineering, Massachusets Institute of Technology, Cambridge, Mass. X аффмэн (Huffman D. A.), [1956] The Synthesis of Linear Sequential Coding Networks, 77—95, in. C. Cherry (ed.), Information Theory, Academic Press., New York. Хегельбергер (Hagelbarger D. W.), [1959] Recurrent Codes: Easi- ly Mechanized Burst-correcting, Binary Codes, Bell System Tech. J., 38, 969—984; Mach. Rev., 27, 7812. X оквингем (Hocquenghem A.), [1959] Codes correceurs d’erreurs, Chiffres (Paris), 2, 147—156; Math. Rev., 22, 652. Холл (Hall M. Jr.), [1967] Combinatorial Theory, Blaisdell Publishing Company, Malthman, Mass. (Русский перевод: Холл M., Комбинатори- ка, «Мир», М., 1970.) Хорстейн (Horstein М.), [1963] Sequential Transmission Using Noise- less Feedback, IEEE Trans. Inform. Theory, ITS, 136—143.
Литература 459 Хэмминг (Hamming R. W.), [1950] Error Detecting and Error Correcting Codes, Bell System Tech. J., 29, 147—160; Math. Rev., 12, 35. (Русский перевод: Хэмминг P., сб. «Коды с обнаружением и исправлением ошибок», ИЛ, М., 1956.) Цирлер (Zierler N.), [1958] On The Theorem of Gleason and Marsh, Proc. Amer. Math. Soc., 9, 236—237; Math. Rev., 20, 851. Чень (Chien R. T.), [1964] Cyclic Decoding Procedures for Bose-Chaudhuri- Hocquenghem Codes, IEEE Trans. Inform. Theory, IT10, 357—363. Чернов (Chernoff H.), [1952] A Measure of Asymptotic Efficiency for Tests of a Hypothesis Based on the of Observations, Ann. Math. Statist., 23, 493—507; Math. Rev., 15, 241. Ч о у (Chow D. K.), [1967] A Geometric Approach to Coding Theory with Application to Information Retrieval, Coordinated Sci. Lab., Rept. R-368, University of Illinois, Urbana. Шаугнесси (Shaughnessy E. P.), [1968] Codes with Simple Automor- phism Groups, Notices Amer. Math. Soc., 15, 480. Шелквик, Кейлас (Schalkwijk J.P. M., К a i 1 a t h T.), [1966] A Coding Scheme for Additive Noise Channels with Feedback, IEEE Trans. Inform. Theory, IT12, 172—189. Шеннон (Shannon С. E.), [1948] A Mathematical Theory of Communica- tion, Bell System Tech. J., 27, 379—423, 623—656; Math. Rev., 10, 133. (Русский перевод: Шеннон К., Математическая теория связи, сб. «Работы по теории информации и кибернетике», ИЛ, М., 1963.) -----, [1949] Communication in the Presence of Noise, Proc. IRE, 37, 10—21; Math. Rev., 10, 464. (Русский перевод: Шеннон К., Связь при нали- чии шума, ИЛ, М., 1963.) -----—, [1956] The Zero Error Capacity of a Noisy Channel, IEEE Trans. Inform. Theory, 2, 8—19; Math. Rev., 19, 623. (Русский перевод: Шеннон К., Пропускная способность канала с шумом при нулевой ошибке, сб. «Рабо- ты но теории информации», ИЛ, М., 1963.) -----, [1959] Probability of Error for Optimal Codes in a Gaussian Channel, Bell System Tech. J., 38, 611—656; Math. Rev., 21: 1920. (Русский перевод: Шеннон К., Вероятность ошибки для оптимальных кодов в гауссов- ском канале, сб. «Работы по теории информации», ИЛ, М., 1963.) -----, Галлагер, Берлекэмп (Gallager R. G., В е г 1 е - k a m р Е. R.), [1967] Lower Bounds to Error Probability for Coding on Discrete Memoryless Channels, Inform. Control, 10, 65—103, 522—552; Math. Rev., 39, 1405 and 7728. -----, Уивер (Weaver W.), [1949] A Mathematical Theory of Communi- cation, The University of Illinois Press, Urbana, Ill.; Math. Rev., 11, 258. Шёнгейм (Schonheim J.), [1968] On Linear and Nonlinear, Singleerror- Correcting <?-nary Perfect Codes, Inform. Control, 12(1). Штцкельбергер (Stickelberger L.), [1897] Uber eine neue Eigen- schaft der diskriminaten algebraischer Zahlkorper, Verhandl. Ersten Intern. Math. Kong. Zurich. Эбрамсон (Abramson N. M.), [1959] A Class of Systematic Codes for Non-independent Errors, IEEE Trans. Inform. Theory, IT5, 50—157, Math. Rev., 23B, 2105. -----, [1968] Cascade Decoding of Cyclic Product Codes, IEEE Trans. Commun. Technol., 16, № 3, 398—402. Эванс, Манн (Evans T. A., Mann H. B.), [1951] On Simple Difference Sets, Sankhya (Calcutta), 11, 357—364; Math. Rev., 13, 899. Экономи (EkonomiE. A.), [1965] Phase Independent Burst Correcting Codes, M. S., plan II project report, Univercity of California, Berkeley Calif., June.
460 Литература Э л а й е с (Elias Р.), [1954] Error-free Coding, IEEE Trans. Inform. Theory, IT4, 29—37, Math. Rev., 19, 721. (Русский перевод: Элайес P., Без- ошибочное кодирование, сб. «Коды с обнаружением и исправлением оши- бок», ИЛ, М., 1956, стр. 59—71.) ------, [1955] Coding for Noisy Channels, IRE Conv. Record, pt. 4, 37—46. (Рус- ский перевод: Элайес P., Коды для двух каналов с шумами, сб. «Теория передачи сообщений», ИЛ. М., 1957-) ------, [1957] List Decoding for Noisy Channels, M.I.T. Res. Lab. Electron. Rept. 335; Math. Rev., 20, 5702. Элене н, Кнут (Alanen J. D., Knuth D. E.), [1964] Tables of Finite Fields, Sankhya (Calcutta), 26, 305—328, Math. Rev., 32, 4122. Эл спас (Elspas В.), [1968] A Note on Multidimanthional Coding, IEEE Trans. Inform. Theory, IT14, № 6, 832. Элтер (Alter R.), [1968] On the Non-existense of Close-packed Double Hamming Error-correcting Codes ong = 7 Symbols, J. Computer & System Sciences. Эпштейн (Epstein M. A.), [1958a] Algebraic Decoding for a Binary Erasure Channel, M.I.T. Res. Lab. Electron. Rept. 340. ------, [1958b] Construction of Convolutional Codes by Suboptimization, M.I.T. Res. Lab. Elektron. Rept. 341. Э ш (Ash R. B.), [1965] Information Theory, John Wiley & Sons, New York. Юдкин (Yudkin H. L.), [1964] Неопубликованное сообщение.
ИМЕННОЙ УКАЗАТЕЛЬ Альберт 113 Андрианов В. И. 340 Ассмус 365, 367, 402, 435 Бартон 346 Бассгенг 399 Баумерт 10 Берлекэмп 128, 180, 281, 333, 334, 335, 357, 359, 400 Бернстейн 398 Биркгофф 9, 96 Блок 313 Боуз 5, 7, 11, 216 Брилхарт 10, 163, 164 Бэрти 57 Вагнер 316, 337 Вайнер 325, 396, 399, 401 Вакс 337 Ван-дер-Варден 7, 9, 88, 170, 179 Варшамов Р. Р. 306, 337 Васильев Ю. Л. 313 Велдон 46, 346, 332, 388 Велч 316, 318, 429, 432 Витерби 399 Возенкрафт 9, 215, 357, 400 Вольфовиц 9, 333 Вуделл 184 Вулф 354 Галлагер 9, 333, 343, 357, 401 Гёталс 153, 325, 349, 382, 386, 391, 438 Гилберт 11, 329—331 Глизон 164, 281 Голей 18, 148—149, 316, 367, 371, 402, 416 Голомб 9, 164, 313, 316, 318 Горенстеин 217, 227, 316 Грин 336 Грисмер 337, 342 Гросс 208 Грэхем 10, 318, 382, 391 Давенпорт 215 Дален 180 Даулинг 10 Делзарт 382, 386, 391 Джекобс 9, 215, 400 Джелинек 9, 333, 400 Джилаес 153 Джонсон 337 Джулин 336 Диксон 9, ИЗ, 368, 419—421 Дэйкин 123, 209 Заремба 311 Зейдель 325 Зив 357 Зингер 387 Казами 235, 237, 274, 279, 303, 338, 369, 372, 423-435, 443 Калаби 337 Каннингхем 184 Карлин 365, 367 Карлиц 180, 281 Кац М., 263 Кнут 160 Кохен 316 Ландсберг 270, 280 Левп 314 Лехмер 125 Ли 213 Лин 237, 274, 279, 338, 372 Ллойд 313 Логан 302 Лукас 121, 163, 418 Мак-Вильямс 10, 153, 365, 367, 382, 386, 391, 403, 407-412, 413, 438 Мак-Дональд 336 Маккой 9, 35, 183 Маклейн 8, 9, 98 Мак-Рэй 164
462 Именной указатель Макэлайс 417, 419 Маллер 424, 443 (см. РМ-коды) Манн 283, 285, 302, 305, 382, 387, 391, 403 Маскет 367 Матье 6, 402 Месси 10, 155, 188, 374, 398-399, 407 Милн 359 Мирваанес 337 Мэрш 281 Мэттсон 10, 362, 365, 367, 402, 415- 418, 435 Спенс 325 Спенсер 10 Сривэстава 358—360 Стиффлер 7, 337, 341—342 Сторер 169 Суон 164, 170, 172—181, 185 Сэведж 400 Сю 401 Турин 367, 435 Нордстром 336 Нэджелл 9, 183 Оре 8, 250—263, 281 Пинскер 357, 400 Питерсон 7, 235—238, 274, 275, 279, 303, 338, 369, 372, 433, 435 Питчер 302 Плесе 367, 407, 410—414, 439 Плоткин 318—320 Познер 313 Поллак 10 Прейндж 237, 365, 367, 382 Препарата 337, 401 Фанстейн 334 Файр 155 Фано 334, 357, 400 Феллер 308 Фишер 18, 22 Форни 10, 239, 354—356, 435 Фэлконер 357, 400 Хегельбергер 396, 401 Ходж 281 Хоквингем 7, 21, 216 Холл 9, 169, 313, 325 Хорстейн 359 Хэмминг 18, 22, 213 306—310 Райзер 9 Рамсей 180 Рао 306—309 Редди 337, 398 Рейффен 357, 400 Рид 7, 225, 374, 415, 424, 435, 443 Риордан 9, 393, 412 Робинсон 336, 398 Рой-Чоудхури см. Чоудхури Рота 93, 437 Рудольф 382 Рус 313 Рут 215 Цирлер 7, 164, 217, 227, 281, 316, 435 Чень 142 Чернов 308 Чоу 382 Чоудхури 5, 7, 27, 216 Шаугнесси 368 Шелквик 356 Шёнгейм 313 Шеннон 7, 9, 18, 333, 343 Шнейдер 57 Штикельбергер 8, 170—181 Сакс 327, 333 Саллайвен 396 Сасковец 340 Селфридж 163 Сервейра 415—416 Синглтон 318 Слепни 17, 354 Слоэн 10 Смит 382, 386, 391—403 Соломон 7, 10, 180, 225, 337, 341 — 342, 415-420, 435 Эбрамсон 155, 349 Экономи 400 Элайес 325, 333, 346, 396, 399 Элспас 354 Элтер 316 Эпштейн 357, 399 Эш 396, 399, 401 Юдкин 399
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Адамара матрицы 324—325 Алгебраические декодеры см. Деко- деры Алгебраическое замыкание 119—120 Амплитудная модуляция 212—213 Ансамбль кодов 331—332 Антилогарифмы и логарифмы 58—60 -------поля GF (16) 114—115 -------GF (25) 448 -------GF (32) 447 Арифметика дополнения до единиц 117 Арифметические операции 32 — прогрессии, разбиения 126 Асимптотические границы для БЧХ- кодов 290—302 — — — вероятности ошибки опти- мальных кодов 331—337; см. так- же Граница — — — корректирующей способно- сти оптимальных кодов 309 Ассоциированный многочлен 261—264 Аффинная группа подстановок 235, 428 Аффинное преобразование квадратич- ных форм 421 Аффинные подпространства 275, 371, 373 — — поля GF (25) 379 Аффинный многочлен 251—280 Базисная последовательность 394 Бесконечное поле 92 — — характеристики р 105 Биномы, результант 173 Блоковая длина п 11—18 — —, определение по порождающему многочлену 161 —162 Блоковый код 11—18 Блок-схемы логических цепей 41—42 БЧХ-граница, достижимость 416—417 —, изящное доказательство 415 БЧХ-коды 22, 227, 316 — , асимптотика скорости 299—302 БЧХ-коды. асимптотика числа инфор- мационных символов 299—302 — в узком смысле 185 — — широком смысле 185 — двоичные 185 — , декодирование см. Декодеры - длины 31, 185—186, 248 — , исправляющие две ошибки, пол- ный алгоритм декодирования 432 — , кодовые слова малого веса 275— 280 — , конструктивное расстояние 283 — непримитивные 185 — , нумераторы весов некоторых ко- дов 423—435 — — — смежных классов 432—433, 446 — общего типа 231—232 — примитивные 185 — с большой скоростью 307 — — — —, т нечетное 427 — — — —, т четное 431—435 — — — —, нумераторы весов, т не- четное 427 — — — — — —, т четное 431—435 — , скорость 282—305 — с малой скоростью, т нечетное, 424—426 , 442 — 445 — — — —, т четное 430—431 — — — —, нумераторы весов, т не- четное 424—426, 442—445 -------—-------, т четное 430—431 — совершенные 312 — , сравнение с ЕГ-кодами 388 — — с КВ-кодами 367 — — с РМ-кодами 370 — — с ПГ-кодами 388 — 1-удлиненные 231—237 — 2-укороченные, нумераторы весов 438-439 — , число информационных символов 282—305 Буква J) 204; см. также Символ J) Некоторые авторы употребляют термин «буква» вместо более употре- бительного термина «кодовое слово», а термин «алфавит»— вместо термина «код».
46 Предметный указатель Векторное произведение 372 Вероятностное декодирование 399—401 Вероятность неразложимости кода 354 — отказа от декодирования 12, 404— 406 — ошибки декодирования 12, 331— 337, 356, 404—406 — — для итерации кодов Хэмминга 349—351 — — и отказа от декодирования 12, 404—406 Вес двоичный 16 — Ли 214 — лидеров смежных классов 16, 406, 431-434, 446 — многочлена 56 — Хэмминга 213—214 — числа 289—296 Весов нумераторы 404—446 — — БЧХ-кодов см. БЧХ-коды — — в метрике ЛИ 406 — — дуальных кодов 407—413 — — кодов Хэмминга 404 — —, ограничения на 413—422 — — подкодов PM-кодов второго по- рядка 423—435, 442—446 — — PM-кодов первого порядка 419 — — РС-кодов 435—437 — — циклических 2-укороченных кодов 442—443 Взаимность квадратичная 181—183 Взаимные корни 30 — к элементам поля 28, 96 — — производящим функциям в поле характеристики 2, 201 Взаимный многочлен ИЗ Взвешенные степенные симметриче- ские функции 225 Внешний и внутренний канал (кодер, декодер) 354—356 Вспомогательные умножители 142—145 Второго порядка PM-коды, подкоды 423-435, 442—446 — — — —, весовые ограничения 423—427 Входной алфавит 216 Вычеркивание проверочных позиций 440—442 Вычет квадратичный 171 — степени е по mod п 360 Вычетная граница 414 Вычетпые коды 360—369; см. также КВ-коды Вычислительная проблема при после- довательном декодировании 400 Вычисление корней многочленов 266— 271 Галуа поле см. Конечное поле Геометрическая интерпретация кодов в метрике Ли 315 Геометрические коды 382—395 Гилберта граница 329—331 Главное собственное значение 321 Главный блок управления 142—145 Голея коды двоичные 148—149, 303, 316, 367, 402, 416 — — троичные 316 Граница, БЧХ 299—302, 416—417 — Вакса 337 — Варшамова 330, 337 — Гилберта 329—331 — Грисмера 337, 342 — Джонсона 337 — для вероятности ошибки 331—337 — — — вычетпых кодов 360—362 — — — каскадных кодов 356 — — весов циклических кодов 414— 422 — — корректирующей способности 309 — — среднего расстояния 318—325 — Плоткина 318—323 — по объему 306—310 — Рао 306—310 — Сакса 330, 337 — с обратной связью 328—329 — сферической упаковки 306, 334 — Хэмминга — Рао 306—310 — Чернова 308 — Элайеса 325—328 Грея коды 219 Группа Матье 402 — подстановок аффинная 373 — — дробно-линейная 366 — — проективная унимодулярная 366, 395 — — простая 368 — — транзитивная, 366 — — трижды транзитивная аффинная 373 Групповой код 16—17 Двоичная сумма 13 Двоичные БЧХ-коды см. БЧХ-коды — коды см. Коды — трехчлены 163—164, 180, 281 Двоичный канал со стиранием 356 — неприводимый многочлен, форму- ла для числа 86—89 — симметричный канал 309 — — —, пропускная способность 309 — сумматор 41—42 Двумерные коды 345—347
Предметный указатель 465 Декодирование БЧХ-кодов 181, 187— 196 — — двоичных 200—204 — —, исправляющих более чем t оши- бок 241—246 — — недвоичных 229—231 — — общего типа 233 — — полное для исправления двух ошибок 432—434 — —, примеры 246—249 — —, реализация 204—208 — —, связь с матричными методами 197-200 — —, стираний и ошибок 238—240 — — — 1-удлиненных 233—238 — каскадное 355 — кодов в метрике Ли 216—220 — — Сривэставы 359 — негациклических кодов в метрике Ли 224—225 — перестановочное 367 — перестановочно-пороговое 376 — полное и неполное 13 — пороговое 374—382 — последовательное 399—400 — с исправлением более чем t ошибок 240-246 — списочное 333 Декодер для исправления одной ошиб- ки 19—21 — — реверсивного кода с исправле- нием двух ошибок 150—151 — с обратной связью для сверточных кодов 398 —, сравнение алгебраических с поро- говыми 382 Деления алгоритм 15, 35—36, 131 — схема 130—131 Дефект 394 Длина блокового кода п 11—18 — — —, определение по порождаю- щему многочлену 160—163 Дискриминант 170—180 —, выражение через результант 171 — квадратного трехчлена 178 — кубического многочлена общего ви- да 178 — трехчлена 173—174 Дуальное подпространство 406 Дуальный код 318 — —, связь между весами 407—413 — (к линеаризованному) многочлен 259 Евклида алгоритм 25, 32—40 ЕГ (евклидово-геометрические)-коды 383, 388, 392—395 30-658 Единственность поля GF (q) 111 Защитный интервал между пакетами 399 «И»— элемент 41 Идемпотент 63 «ИЛИ»— элемент 41 Инвертор 41 Информационные символы в БЧХ-ко- дах 282—305 — — в ЕГ-кодах 388, 392—395 ---в ПГ-кодах 388, 387—388 — — в РМ-кодах 370 Искажения (стирания и/или ошибки) 238 — , декодирование 238—240 — , локатор 238 Истинное расстояние 303—304, 414— 417 Итерированное прямое произведение 345—353 Канал внутренний и внешний 354— 355 — , входной алфавит 216 — двоичный симметричный 309 Канонические формы матриц 72 Каноническое упорядочение произве- дения кодов 345—349 Каскадные коды 354—357 Каскадный декодер 246 Квадратичная взаимность 182—183 — форма 419 — — над полем характеристики 2, 421 — характеристика числа 2, 168 Квадратично-вычетные коды (см. КВ- коды) Квадратичные коды, нелинейные 336 Квадратичный вычет 181 — невычет 181 Квадратное уравнение над полем ха- рактеристики 2, 252—253 — — — —---------, дискриминант 178 — — — —---------, неприводимость 178 Квадраты и квадратные корни, вы- числение 60—61 Квазисовершенные коды 316, 434 Квантование по времени 210 КВ-коды 360-369 —, инвариантность относительно под- становок 365—367, 369 —, нумераторы весов 417, 438—439 —, сравнение с БЧХ-кодами 369 — — — РМ-кодами 402, 406 — —, таблица минимальных расстоя- ний 368
466 Предметный указатель KB-коды, 2-укороченные длины 11; см. также Голея код, троичный — 2-укороченные длины 17, 150— 151, 364 -------- 23, 148—149 -------- 31, 302, 406 Китайская теорема об остатках для многочленов 39 — — — — — чисел 39 Классическая теорема кодирования Шеннона 7, 333 Классы вычетов 96 Ключевое уравнение 186—192 — —, алгоритмическое решение 193— 197 — — — — в поле характеристики 2, 200—204 — —, эвристическое решение 192 Кодер внутренний и внешний 354— 355 — для кода Хэмминга 134 — сверточного кода 397 — циклического кода 138, 142 Кодирование с обратной связью 335— 336, 356 Кодирования задача 11 Кодовое ограничение сверточных ко- дов 396 — слово 11 — —, вес 16—17 — —, многочлен локаторов 271 — —, нумератор весов 404—446 — — с малым весом 271—280 Коды 11 — асимптотически безошибочные 351—357 — безошибочные 351—353 — Берлекэмпа — Препараты 401 — Боуза — Чоудхури см. БЧХ-коды — вычетные 360—369; см. также КВ- коды — геометрические 383—395 — Голея 316 — групповые 16—17 — Грэя 215 — двоичные с повторением 11, 310 — ЕГ (евклидово-геометрические) 383, 388, 392-395 , инвариантность относительно груп- пы подстановок 235—237 — , исправляющие одну ошибку 311 — 313 — — пакеты 154, 347, 354, 401 — итерированное прямое произведе- ние 351—353 — каскадные 354—357 — квадратично-вычетные см. КВ-коды Коды квадратичные нелинейные 336 — квазисовершенные 316, 434 — констациклические 310 —, кронекеровское произведение 345 — линейные 14, 17 — модифицированные 338—357 — негациклические 216—226, 277 — нелинейные систематические 313, 336—337 — нециклические, но линейные 329— 330, 358—360 — ПГ (проективно-геометрические) 382—392 — плотно-упакованные 310—317 — примитивные БЧХ 185 — — негациклические 222—223 — , произведение кронекеровское 345 — — прямое 345—354 — — тензорное 353—354 — — циклическое 347, 349 — , прямая сумма 354 — , прямое произведение 345—354 — реверсивные 155 — регистровые максимальной длины 323—325 — рекуррентные 395—401 — Рида — Маллера (см. РМ-коды) — Рида — Соломона 227, 318, 355— 356, 435-437 — с-достижимым минимальным рас- стоянием 317—318 — с одной проверкой на четность 13, 318 — с повторением 11—14, 310 — сверточные 395—401 — систематические 311 — совершенные 310 — Сривэставы 358—360 — , тензорное произведение 353—354 — 1-удлиненные 338—340 — 2-удлиненные 343 — 1-укороченные 340—342 — 2-укороченные 336, 343 — Хэмминга 20 — , циклическое произведение 347— 349 — эквидистантные 323—325 — Элайеса 351—353 Конечное поле (поле Галуа) 96, 111 — —, алгебраическая структура 104— 112 — —, единственность 111—112 — —, подполе 112 — —, примеры, GF (4) 112 --------, GF(16) 112—119 --------, GF (25) 448 --------, GF (32) 447
Предметный указатель 467 Конечное поле (поле Галуа), GF(pn) 111—115 -------, GF(p°°') 119—120 — —, способы задания 111—112, 114—115 — —, существование 90 Констациклические коды 310 Конструктивное расстояние БЧХ-ко- дов 282 Критическая скорость 334 Критический шар 326 Круговые многочлены 98—103 — —, степени делителей 99, 166—169 Кубическая характеристика числа 2, 169 Кубическое преобразование 123—125 Лежандра символ 181—183 Ли вес 214 — метрика 214, 216—226, 306—337 — совершенные коды 313—317 Лидер смежного класса 16 Линеаризированные многочлены 250— 281 — —, ассоциированные 261—264 — —, дуальные 259—263 — —, н. о. д. 258 — —, число корней 266—270 Линейные преобразования квадратич- ных форм 419—421 — уравнения 61—69 Линейный блоковый код 14, 16 Логарифмы и антилогарифмы 58—60 -------, GF(16) 114—115 -------., GF (25) 448 -------, GF (32) 447 Логические цепи 40—46 Локатор а00 234 Локатор 22, 29, 216—218 — искажения 238 — ошибки 238 — стирания 238 Локаторов поле 227 Лукаса теорема 121 Мажоритарный элемент 397 Максимальной длины ОСР-код 323— 324, 341, 375 — — —, пороговое декодирование 375—378 — — регистр сдвигов 323—324 Маркерный регистр 52—53 Матрица Адамара 324—325 — персимметрическая 209 — порождающая 339, 341, 362—365 —, преобразование 62—69 Матрица проверочная 15—17 — расширенная 69—70 Матричный метод декодирования 197— 200 Матье группа 402 Мерсенна простые числа 163 Метрика Ли 214 — Хэмминга 213 Мёбиуса формула обращения 90—94 — — для делителей целых чисел 92 — — — подмножеств данного мно- жества 436—437 — — мультипликативная 93—94 — функция 92 Минимальный многочлен 109 — — для элементов поля GF (25) 125 — —, построение 120—125 Многочлен значений ошибок 229, 238 — локаторов ошибок 29, 188, 216— 218, 228, 238 — — искажений 238 — — стираний 238 Многочлены, алгоритм отыскания кор- ней через аффинные многочлены 250-255 — — — — по процедуре Ченя 142— 145 — — разложения 156—160 — аффинные 251—281 — , вес 56 — , дискриминант 170—181 — , Евклида алгоритм 35—40 —, единственность разложения 38 — квадратные 179, 252—253 —, китайская теорема об остатках 39 — круговые 98—103, 166—169 — линеаризированные 250—281 — —, вычисление корней 266—270 — —, наименьшее аффинное кратное 253-255 — минимальные см. Минимальный многочлен — неприводимые 26, 37 —, н. о. д. 36—40 —---------аффинных многочленов 258 — нормированные 37 — от двух переменных —, перечисление см. Нумераторы —, период 160—163 —, порядок 160—163 — примитивные ИЗ —, результант 170—173 — с нечетным числом различных не- приводимых делителей 89, 94—95, 169-181 — — различными неприводимыми де- лителями 89, 95—96, 169—181 30*
468 Предметюий указатель Многочлены с' четным числом раз- личных неприводимых делителей 88, 94—95, 169—181, 241 —, трехчлены над полем GF ( 2) 56, 163-164, 173—174, 180-181 — Чебышева над полем GF (2) 126— 127 Модуляции схемы 210—213 Моментно-степенные тождества Плесе 411—413, 440 Моменты распределения весов 411 Мультипликативная структура конеч- ного поля 97—98 Мультипликативное обращение 47—54 — —, алгоритм 51—52 Надежности функция 333—337 Наибольшая субпоследовательность 285 Наибольшее конструктивное расстоя- ние 290 Наибольший общий делитель 25, 32— 40 Наименьшая суперпоследовательность 285 Наименьшее аффинное кратное 253— 255 «НЕ»— элемент 41 Невычет квадратичный 181 Негациклические коды 220—225 — —, число слов малого веса 277— 278 Негрупповые коды см. Нелинейные коды Недефектная последовательность 394 Недопустимый локатор ошибки 241 — 249 Нелинейные коды 313, 336—337 ---совершенные 313 Неполный алгоритм декодирования 13 Непрерывные дроби 35 Неприводимый многочлен 37 — — второй степени 179 — —, перечисление по степеням 80— 95 — —, построение перебором 80—82 — — — через аффинные многочле- ны 281 — — — — круговые многочлены 183-184 . — — — — линейные преобразова- ния 120—122 — — — — многочлены Чебышева 126-127 — — — — степенные преобразова- ния 122—125 Неприводимый многочлен примитив- ный 113 — — с линейно независимыми кор- i нями 263, 280 — —, среднее число 95 — — , трехчлены 180—182 — —, четность числа делителей 169— 181 Непримитивные БЧХ-коды 185 — информационные символы 296 — негациклические коды 222 Неразложимость в произведение кодов 349 — в прямую сумму 354 н. о. д. (наибольший общий дели- тель) 32, 36—40 — — — аффинных многочленов 258 н. о. к. (наименьшее общее кратное) 161 Нормированный многочлен 37 Нуль-подпространство декодирующей матрицы 197—204 Нумераторы весов 404—446 ---БЧХ-кодов 423-435 — — — с большой скоростью, т не- четное 427 — — — — — —, т четное 431—435 — — — — малой скоростью, т не- четное 424—426, 442—445 < — — — — — —, т четное 430—431 — — в метрике Ли 406 — — дуальных кодов 407—413 — — кодов Хэмминга 410 — —, ограничения на 413—422 — — подкодов PM-кодов второго по- рядка 423-435, 442-446 — — PM-кодов первого порядка 410 — — РС-кодов 435—437 — — смежных классов двоичных БЧХ-кодов с малой скоростью, п — = 2"», т четное 446 — — 1-удлиненных кодов Хэмминга 410 — многочленов, представимых в виде квадратов 94 — множества неприводимых много- членов 86—89 — произведений различных непри- водимых множителей 94 — — нечетного числа различных не- приводимых множителей 94 — — четного числа различных не- приводимых множителей 94 — — произведения нелинейных неприводимых множителей 94 — — различных нелинейных не- приводимых множителей (четного и нечетного числа) 94
Предметный указатель 469 Нумераторы числа информационных символов в БЧХ-кодах 282—305 — — — — — ЕГ-кодах 388, 392— 395 — — — — — ПГ-кодах 388, 387— 388 — — — — — РМ-кодах 370 — — /с-мерных аффинных подпро- странств в GF (qm) 270 — — решений уравнения Тг (z2^1) = 0 429—430 i — — — 2 ^2й-1 U2k ~ i 422 h=l Ньютона тождества 221 Обнаружение пакетов ошибок 400— 401 Обобщенные коды Рида — Маллерэ (ОРМ-коды) 396—373 Обратный мультипликативный 47—54 Общий декодер для двоичных цикли- ческих кодов 145—148 Однозначность разложения многочле- нов 37 Ортогонализуемость РМ-кодов 381 — 382 Ортогонализуемые коды 382—395 — проверочные уравнения 375 Ортогональные сигналы 211—213 Отказ от декодирования 12 Отделимые разности 359 Ошибка в символе 211 — декодирования, сравнение с ошиб- кой отказа 12 — —, вероятность 404—406 — — —, границы асимптотические 331____337 —, локаторы 22, 29, 238 —, пакеты 356, 400—403 —, распространение 398 —, сравнение с отказами 12—13 — — со стираниями и искажениями 238—240 Пакеты стираний 401 Память сверточного кода 396 ПГ-коды 382—392 Перестановочное декодирование 367 Перестановочно-пороговый декодер 376 Перечисления см. Нумераторы Период многочлена 160—163 Период многочлена неприводимого 161—162 Период многочлена приводимого 161 — — / (z2) 163 Плесе моментно-степенные тожде- ства 411—413 — — —, редукция к треугольному виду 440 Плоткина граница 318—323 Плотно-упакованные коды 310 Подкоды над подполями 343—345 — РМ-кодов второго порядка 423—435 Подполе 109 — простое 105 Подпространство, дуальное к 406 —, прямая сумма 406 —, число аффинных подпространств в GF (?"») 270 Покомпонентное произведение 372 Поле 25, 96 — конечное см. Конечное поле — локаторов 227 — , определение 96 — , порядок 96 — символов 227 — характеристика 104 Полный алгоритм декодирования 13 — — — для двоичных БЧХ-кодов, исправляющих две ошибки 432— 434 Пороговые декодеры 374—382 — — для сверточных кодов 398 — —, многоступенные 378—382 — —, сравнение с алгебраическими декодерами 382 Пороговый элемент 377 Порождающая матрица 339, 341, 362— 365 Порождающий многочлен 138 Порядок поля 97, 111 — числа 2 по модулю квадрата про- стого числа 167 — — — —г простому модулю 168— 169 — — q по модулю степени простого числа 167 — — — — простому модулю 168 — — — — составному модулю 167 — элемента 97 Последовательное декодирование 399— 400 Преобразование квадратичных форм 419-422 Префикс 284 Примитивность по mod п 183 Примитивные БЧХ-коды 185 — негациклические коды 222—223 Примитивный делитель числа 2m—1 193
470 Предметный указатель Примитивный корень п-й степени из единицы 98 — многочлен ИЗ — элемент поля 98 — — —, нумератор (число) ЮЗ — — —, существование 98 Проверочная матрица 15 Проверочные многочлены 138, 396 — символы 11—18 Продолжение кода на 353 Проективно-геометрические коды см П Г-к оды Проекция множества 384 Проективная унимодулярная группа 366, 395 Проективное подпростанство 386—388 Произведение векторное 372 — покомпонентное 372 — скалярное 406 — кодов 345 — — Кронекеровское 345 — — прямое 345—354 — — разложимое 350—353 — — тензорное 353—354 — — циклическое 347—349 — производящих функций 83 Производящая функция от двух пере- менных 95 Производящие функции 82—86 Пропускная способность 17, 333— 334 — — двоичного симметричного кана- ла 309 Простая группа 362 Прямая сумма кодов 354 — — подпространств 408 Прямое произведение кодов 345—354 Прямой декодер для сверточных кодов 398 Пустое множество, 0 430 Разложение многочлена, алгоритм 156—160 — —, единственность 37 — — х* — х 112 ---— х 113-115 ---Хп — 1 165—166 — — x9h — X 111 — — линеаризированного 262 — числа 2т—1 183 Размерность, кода 346 — прямого произведения кодов 346 — прямой суммы кодов 354 Разностное множество 387 — — простое совершенное 387, 403 Разностные коды 387 Разность производящих функций 83 Ранг декодирующей матрицы 198—200 Ранговое пространство 200, 259 Распределение числа вычислений при последовательном декодировании 400 Расстояние Боуза 290 — истинное 303—304, 414—417 — конструктивное 282, 279—280 — Ли 214 — среднее 318—323 — Хэмминга 213 Расстояния границы см. Границы Расширение 338—342, 345 Расширенная матрица 70—72 Реализация декодеров для двоичных БЧХ-кодов 204—208 — устройства для решения квадрат- ного уравнения 253 Реверсивные коды 155 Редуцированная треугольная идемпо- тентная матрица 62 Регистр 44—45, 55—57 — сдвигов с обратной связью (ОСР) 57, 377 — — для ключевого уравнения 188— 189 Результант 170—173 — двоичных многочленов 173 — произведения 172 Рекуррентные коды (сверточные коды) 395-401 Рида формула обращения 414—437 Рида — Маллера коды см. РМ-коды Рида — Соломона коды 227, 318, 355—347, 435—437 — — нумератор весов 435—437 РМ-коды 248, 369—373 — весовые ограничения 419—422 — второго порядка, подкоды 423— 435, 444-445 — первого порядка, нумераторы весов 410 — — —, сравнение с КВ-кодами 402, 406 — — —, число информационных сим- волов 370 —, пороговое декодирование 373—382 —, сравнение с БЧХ-кодами 371 Сверточные коды 395—399 — —, построение 396 Сдвиг циклический 64 Сдвинутые моменты распределения весов 410—411 Сжатие кода 353
П редметный указатель 471 Сигнал управления 44 Символ поля 227 Синдром 15—16 — для сверточного кода 396 — , определение 15 — , нумератор 95 Синдромно-пороговый декодер 378 Система линейных уравнений 61—79 Систематические коды 311 Скорость передачи информации 13 — БЧХ-кодов 280—305 — длинных БЧХ-кодов 299—305 — критическая 334 — оптимальных кодов 306—337 — при декодировании списком 333 Смежный класс 16—17 — —, лидер 16—17 — —, распределение весов двоичных БЧХ-кодов 446 Смешанное декодирование 400 След 119, 176—181, 252—253, 432-433 Собственный префикс 284 Собственный суффикс 284 Совершенное простое разностное мно- жество 387, 403 Совершенные коды 310—316 — — в метрике Ли 310 — — Голея 316 — — нелинейные 313 Сокращенное обозначение логических схем, 45—46 Сообщения символы 11 — 18 Сопряженные числа 109, 112 Составной модуль 38—39 Списочное декодирование 333 Способы задания полей Галуа, при- мер 112—119 Сравнения 24—25 — для биномиальных коэффициентов 121—122 — для производящих функций 83 Среднее число неприводимых делите- лей 96 — — ошибочно декодируемых симво- лов 349—353 Сривэставы коды 358—360 Стандартно-ассоциированный много- член 261—264 Стандартное расположение 17 Степенные симметрические функции 131—137, 186, 217—221 — — — взвешенные 227 Степень 36 — выражение через порядок 110 — делителей круговых многочленов 166—169 Степень кругового многочлена 102 Степень элемента конечного поля 110 Стирание 211 —, пакет 401 Субпоследовательность 285 Суженные коды 442—443 Сумма производящих функций 83 Суперпоследовательность 285 Суффикс 284 Существование конечных полей 90 — неприводимых многочленов 89, 108 — — — примитивных 99, 108 — — — с линейно независимыми кор- нями 262—263 — примитивных элементов поля 99 — хороших кодов по вероятности ошибки 331—336 — — — по расстоянию 329—331 Сфера в метрике Ли 306 — — — Хэмминга 306 —, граница упаковки 306—310 — критическая 306 — , объем 306 Сходимость непрерывных дробей 35 Сцепление последовательностей 284 Счет см. Нумераторы Таблица 4.1 114—115 - 4.2 123 - 4.3 124 - 4.4 125 - 9.1 222 — 16.1 438—439 - 16.2 440 - 16.3 440-441 - 16.4 442-443 - 16.5 444—445 — 16.6 446 Тактовый сигнал 43 Тензорное произведение кодов 353— 354 Теоремы о числе последовательностей 293 Тест допустимости 241—246 Тождества Ньютона 221 Тор 314—315 Транзитивная группа подстановок 236 Транспонирование 15 Треугольная идемпотентная форма 62-72 Трехчлены 56, 163—164, 173—174, 180-181 —, дискриминант 173 — неприводимость над (2) 281 — четность числа неприводимых дели- телей 180
472 Предметный указатель Триггер 41, 42 Трижды транзитивная аффинная груп- па 373 2-Удлинение 338, 343 1-Удлиненные коды 338—340 ---БЧХ 233-237 — — вылетные 362—363 — — Хэмминга 21 2-Укорочение 340—342 Умножение 54—61 — двух регистров 57—58 — на константу 54—56 Упорядочивание каноническое 345 Уравнение для расширенной матрицы 69—72 Число различных неприводимых дели- телей 89, 160, 95—96, 169—181 — чисел, меньших п и взаимно про- стых с п 103 Шар критический 325, 334 Штикельберга теорема над полем GF (2) 180 — — для полей нечетной характе- ристики 174 — — обобщение для поля характе- ристики 2, 175—180 Шум белый гауссовский 214 Шумовое слово (вектор шума) 15 Шумовой пакет 401 Ферма теорема и ее обобщения 98, 105—110 Формальная производная 84—85 Характеристика поля 104 Характеристическая функция 371 Хэмминга вес 213 — коды 349—351 — нумератор весов 410 — Рао граница 306—310 — реализация 128—134 — расстояние 213 Цепь управления 54 Циклические сдвиги 57 Циклический код 139 — кодер 138, 141 — —, некоторые нумераторы весов 438-439 Циклическое произведение кодов 347— 349 — упорядочение 346 Частное производящих функций 83 Чебышева многочлены над GF (2) 126— 127 Ченя процедура 142—145 Чернова граница 308 Четная производящая функция 84 Четность числа двоичных трехчленов 180 — — различных неприводимых дели- телей 88, 94—95, 169, 170—181, 241 Числа поля 106—109 Эвристическое определение 334 — решение ключевого уравнения 189—193 Эйлера пси-функция 101—104 Эквивалентные коды 151—154 Эквидистантные коды 323—325 Элайеса граница 325—328 ' — коды 351—353 Элементарные симметрические функ- ции (о) см. Многочлен локаторов ошибок Элементы И, ИЛИ, НЕ 40 В_ (к) 192 D 322 Dlk) 191 d(ji, М) 335 Deg 36 Dim см. Размерность Ем 334 E(R, L) 334 g 339, 341, 362—365 GF 96, 111 GF(n) (J°° 365—367 GF (рп) 119—120 I(q, n, d) 303 I ( q, n, d) 283 .7156 I 303 J 293 J (q, U, m) 285 (q, V, m, j) 297 X 60—61 a 156 д-сопряженные 112 R 3
Предметный указатель 473 S 29, 135, 218, 221—223 U (z) 195 s(u) 301 S(u) 303 S(z) 189 S <2f> (z) 242 TK 239 Tr 119, 176—181, (j) 297 V(z) 194, 299 Г; 417—419 Y(z) 190 A<2«> (z) 245 k 239 т (z) 190 252—253 ф (z) 224 о см. Многочлен локаторов ошибок т) 239
Оглавление Предисловие редактора перевода ...... . 5 Предисловие автора........................ . 7 Глава 1. Основные двоичные коды ........ 11 1.1. Коды с повторением и коды с одной проверкой на четность 11 1.2. Линейные коды ......... 14 1.3. Коды Хэмминга ......... 18 1.4. Конструктивное введение в теорию БЧХ-кодов, исправляю- щих двойные ошибки ........ 22 Задачи .......................... ...... 30 Глава 2. Арифметические операции по модулю неприводимого двоичного многочлена .......... 32 2.1. Более подробно об алгоритме Евклида ... 32 * 2.2. Логические цепи ......... 40 * 2.3. Мультипликативное обращение ...... 47 * 2.4. Умножение .......... 54 * 2.5. Решение систем линейных уравнений ..... 61 * 2.6. Специальный метод решения систем уравнений, матрицы к оторых состоят почти сплош из нулей ..... 72 Задачи . ...... 78 Глава 3. Число неприводимых g-ичных многочленов заданной степени 80 3.1. Грубый подход к решению ....... 80 3.2. Производящие функции ....... 82 3.3. Число неприводимых нормированных g-ичных многочленов заданной степени ......... 86 *3.4. Формула обращения Мёбиуса ....... 90 Задачи ............ 94 Глава' 4.-Структура конечных полей ........ 96 4.1. Определения .......... 96 4.2. Мультипликативная структура конечных полей ... 97 4.3. Круговые многочлены ........ 98 4.4. Алгебраическая структура конечных полей .... 104 4.5. Примеры ........... 112 *4.6. Алгебраическое замыкание ....... 119 *4.7. Определение минимальных многочленов .... 120 Задачи ............ 125 Глава 5. Двоичные циклические коды..............................128 5.Г. Переупорядочение столбцов проверочной матрицы кодов Хэмминга...............................128 5.2. Переупорядочение столбцов проверочной матрицы двоичных БЧХ-кодов, исправляющих двойные ошибки. . . . 134
Оглавление 475 5.3. Общие свойства циклических кодов ..... 138 5.4. Процедура Ченя ........................................ 142 5.5. Описание общей схемы декодера для произвольного цикличе- ского двоичного кода..................................... 145 5.6. Пример .......................................... 148 5.74 Пример .......................................... 150 5.8. Эквивалентность определений циклических кодов при помощи различных примитивных корней п-й степени из единицы 151 Задачи..............................................154 Глава 6. Разложение многочленов над конечными полями . . . 156 6.1. Общий алгоритм................................156 *6.2. Определение‘периода многочлена ...... 160 *6.3. Трехчлены над GF (2) . . . . . . . 163 6.4. Полное разложение многочлена хп — 1 . . . . 165 * 6.5. Определение степеней неприводимых делителей круговых многочленов . 166 * 6.6. Четно или нечетно число неприводимых делителей / (г) над GF (д)?..................................................169 * 6.7. Квадратичный закон взаимности ...... 181 Задачи........................................................183 Глава 7.» Двоичные БЧХ-коды, исправляющие многократные ошибки 185 7.1. Примеры.................................................185 7.2. Ключевое уравнение для декодирования двоичных БЧХ-кодов 186 7.3. Эвристическое решение ключевого уравнения . . . 189 7.4. Алгоритм решения ключевого уравнения над произвольным полем ........... 193 *7.5. Связь с матричными методами декодирования . . . 197 *7.6. Упрощение алгоритма 7.4 для двоичных БЧХ-кодов . 200 7.7. Реализация декодеров для двоичных БЧХ-кодов . . 204 Задачи........................................................208 Глава 8. Недвоичное кодирование....................................210 8.1. Схемы модуляции..........................................210 8.2. Весовые функции ......... 213 Задача........................................................215 Глава 9. Негациклические коды для метрики Ли ..... 216 9.1. Локаторы ошибок и многочлен ошибок ..... 216 9.2. Коды, исправляющие две ошибки............................218 9.3. Негациклические коды.....................................220 Задачи........................................................225 Глава 10. Недвоичное обобщение Горенстейна — Цирлера БЧХ-кодов в случае метрики Хэмминга ....... 227 10.1. Обобщенные БЧХ-коды и алгоритм их декодирования 227 10.2. Примеры . ....................... 230 *10.3. БЧХ-коды общего типа и 1-удлиненные БЧХ-коды . 231 10.4. Совместное декодирование стираний и ошибок . . . 238 10.5. Декодирование более чем t ошибок ..... 240 10.6. Примеры................................................246 Задача .......................................................249
476 Оглавление Глава 11. Линеаризированные многочлены и аффинные многочлены 250 11.1. Как найти их корни...................................250 11.2. Наименьшее аффинное кратное..........................253 * 11.3. Общие свойства линеаризированных и аффинных многочле- нов .................................................255 * 11.4. Преобразования функции / (z) . . . . . 264 * 11.5. Подсчет корней ......... 266 11.6. Кодовые слова с малым весом в некоторых кодах . . 271 Задачи ............ 280 Глава 12. Нахождение числа информационных символов в БЧХ-кодах 282 12.1. Сведение задачи к перечислению некоторых чисел по моду- лю п .......... 282 * 12.2. Сведение задачи для случая примитивных БЧХ-кодов к перечислению некоторых g-ичных последовательностей 283 * 12.3. Теорема о числе последовательностей ..... 287 * 12.4. Примеры.............................................293 * 12.5. Определение числа информационных символов в неприми- тивных БЧХ-кодах ........ 296 12.6. Асимптотические результаты...........................299 *12.7. Истинные расстояния..................................303 Задачи ............ 305 Глава 13. Скорость передачи информации для оптимальных кодов. . 306 13.1. Граница сферической упаковки Хэмминга — Рао для боль- ших скоростей ......... 306 *13.2. Совершенные коды ........ 310 *13.3. Граница d n + 1 — к . . . . . . . 317 13.4. Граница Плоткина для малых скоростей (граница среднего расстояния) .......... 318 *13.5. Эквидистантные коды..................................323 13.6. Граница Элайеса......................................325 13.7. Граница Гилберта.....................................329 13.8. Асимптотические границы для вероятности ошибки и конеч- ные частные случаи ........ 331 Глава 14. Коды, полученные путем модификации и сочетания других кодов ........... 338 14.1. 1-удлинение кода (добавление проверочных символов) 338 14.2. 1-укорочение кода (выбрасывание проверочных символов) 340 14.3. Присоединение дополнительных кодовых слов. . . 342 14.4. Выбрасывание кодовых слов ...... 342 14.5. 2-удлинение кода (добавление информационных символов) 343 14.6. 2-укорочение кода (вычеркивание информационных симво- лов) .............................................343 14.7. Подкоды над подполями ....... 343 14.8. Прямое произведение кодов и его свойства .... 345 14.9. Каскадные коды........................................354 Глава 15. Другие основные методы кодирования и декодирования. 358 15.1. Коды Сривэставы — нециклические коды с алгебраическим алгоритмом декодирования..........................358 15.2. Вычетные коды — хорошие коды с трудным декодированием 360
Оглавление 477 15.3. Коды Рида — Малдера — слабые коды с легким декодиро- ванием ..................................369 15.4. Пороговое декодирование — лучший из известных алгорит- мов декодирования некоторых кодов ..... 374 15.5. Ортогонализируемые коды, основанные на конечных геомет- риях ....................................382 15.6. Сверточные коды — обзор..........................395 Задачи.................................................402 Глава 16. Нумераторы весов............................. . 404 16.1. Соотношения между нумераторами весов и вероятностью от- каза от декодирования....................404 16.2. Уравнения Мак-Вильямс — Плесе для нумераторов весов дуальных кодов ........................ 407 16.3. ч Ограничения весов ........ 413 16.4. Нумераторы весов Казами для некоторых подкодов РМ-кода второго порядка ......... 423 16.5. Нумераторы весов для кодов Рида — Соломона . . . 435 Приложение А 447 Приложение В ........... . 443 Литература ............ 449 Именной указатель..........................................461 Предметный указатель.......................................463
УВАЖАЕМЫЙ ТОВАРИЩ! Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820 Москва, И 1-й Рижский пер., д. 2, издательство «Мир».
Э. БЕРЛЕКЭМП Алгебраическая теория кодирования Редактор Г. Цукерман Художник А. Антонова Художественный редактор В. Шаповалов Технический редактор Г. Алюлина Сдано в набор 23/XI 1970 г Подписано к печати 20/V 1971 г. Бумага кн журн. 60 х 90 1/16 = 15 бум. л. 30 печ л., Уч -изд. л. 28,21 Изд № 1/5606 Цена 2 р. 77 к. Зак. 658 ИЗДАТЕЛЬСТВО «МИР» Москва, 1-й Рижский пер., 2 Московская типография № 16 Главполиграфпрома Комитета по печати при Совете Министров СССР Москва, Трехпрудный пер., 9