Многоступенчатая полиномиальная система класса вычетов в расширенных полях Галуа и ее нейросетевая реализация

МНОГОСТУПЕНЧАТАЯ ПОЛИНОМИАЛЬНАЯ СИСТЕМА КЛАССА ВЫЧЕТОВ В РАСШИРЕННЫХ ПОЛЯХ ГАЛУА И ЕЕ НЕЙРОСЕТЕВАЯ РЕАЛИЗАЦИЯ

В.В. Бережной, И.А. Калмыков

THE MULTISTAGE POLYNOMIAL SYSTEM OF DEDUCTION CLASS IN THE AUGMENTED GALUA FIELDS AND ITS NEURONET REALISATION

Berezhnoy V.V., Kalmykov

The paper views the possibility of using multistage polynomial system of deduction class (PSDC) in augmented Galua field to realise digital processing of advanced precision signals (DPS). The neuronet realization of the method is suggested.

Рассмотрена возможность применения многоступенчатой полиномиальной системы класса вычетов (ПСНВ) расширенного поля Галуа для реализации задач цифровой обработки сигналов (ЦОС) повы/шенной разрядности. Предложена нейросетевая реализация данного способа.

УДК 681.3

Большая вычислительная сложность задач цифровой обработки сигналов (ЦОС) требует значительной вычислительной мощности средств обработки. До последнего времени в основном производилась обработка принимаемых сигналов по каналам, которая сводится, как правило, к цифровой фильтрации и задачам спектрального анализа и реализуется через свертку и быстрое преобразование Фурье (БПФ) [1,2].

Новые повышенные требования к качеству обработки сигналов привели к необходимости учета и использования межканальной информации, что дало толчок к применению в алгоритмах ЦОС матричных операций и аппарата линейной алгебры. Данные алгебраические структуры (процедуры) обладают повышенной вычислительной сложностью и очень чувствительны к ошибкам округления, возникающим в процессе вычисления из-за ограничения разрядной сетки.

Таким образом, в области цифровой обработки сигналов сложилось положение, когда традиционная арифметика и традиционное представление операндов в форматах с фиксированной и плавающей запятой (точкой) во многих приложениях перестают удовлетворять возросшим требованиям к производительности вычислительных

средств ЦОС.

Одним из путей усовершенствования специализированных процессоров (СП) ЦОС с целью обеспечения обработки сигналов в реальном масштабе времени является

и

У 'Ч Бережной В.В., Калмыков И.А.

ГЙИИ «Многоступенчатая полиномиальная система класса вычетов в расширенных полях...»

переход к вычислениям в нетрадиционной арифметике, в частности полиномиальной системе класса вычетов (ПСКВ) в расширенных полях Галуа GF(ру) [3,4]. Представление входного отсчета х(и) в виде совокупности остатков а7( z), т.е. х(и) = (а, (z), а - (z),..., а к (z)), где

аг (z) = rest(п)Р, (z)j 8 Pi (z) - минимальный многочлен расширенного поля Галуа GF(pv), i = 1,2,..., к позволяет свести процедуры умножения, вычитания и сложения к операциям по модулям р (z) при условии

z) е Рпол, где Xzj - полиномиальная

к

форма представления х(и); Рпол = П рг (z) -

диапазон представления.

Для повышения точности преобразования необходимо увеличивать разрядность входных и выходных данных. Дальнейшее увеличение размерностей модулей системы класса вычетов приводит к значительным аппаратурным затратам, и сводит к минимуму все достоинства табличной реализации модульных операций.

Пусть F(z) - кольцо полиномов от одной переменной z над полем GF(р и пусть z) е F(z) - неприводимый полином степени v. Элементы поля GF(pv) могут быть представлены классами вычетов по дао^[^z j] кольца F^z^ и записаны

/

i=0

где а- (z) e GF(p).

Сложение в поле F(z) делается непосредственно, а умножение требует образования произведения двух полиномов в кольце F(z), записанных в форме (1), с последующим делением на ^(z) для получения остатков в той же форме. Полином z) подбирается таким образом, чтобы элемент w(z) = z оказался образующей мультипли-

кативной группы поля С^У, и тем самым следует выбрать элемент

Г

в качестве элемента порядка d.

В качестве неприводимых

многочленов, порождающих поле из рУ — 1 элементов, годятся все неприводимые множители полинома -Рр„ 1 в кольце ^^г),

где означает круговой многочлен

^т = П

к / т

Эффективный алгоритм проверки полинома степени V, неприводимость

которого неизвестна заранее, предопределяется следующей теоремой.

Теорема. Пусть - полином

степени V > 1 в кольце ^^7) . Полином к(7) является делителем кругового многочлена -Рр„ _,(7) тогда и только тогда, когда выполняется следующее условие:

1) 7р" -1 = 1тоа к

2) для каждого простого множителя ! числа р -1 при ! < р -1 (если такой существует), полиномы и 7т — 1, где

т - (р -1)/! являются взаимно простыми в кольце ^(7).

Применяя данную теорему по очереди к каждому полиному поля (2) можно получить все многочлены к(7), которые обеспечат выполнение равенства

^ _,(7) = П к (7). Таким образом, очевидна возможность замены полинома более высокой степени. Данное свойство непозиционных кодов служит идеальной основой для построения многоступенчатых систем класса вычетов.

Рассмотрим принципы построения многоступенчатой СОК. Представим большое число $ в системе взаимно простых чисел ..., рп, при этом должно выполнятся условие ••• рп > $, и назо-

вем ее главной системой оснований, которая обеспечивает возможность выполнения операций в заданном диапазоне [О, Я). Максимальное число, которое может быть получено в этой системе при умножении отдельных

цифр, есть (рп -1)2. Далее все цифры главной системы по каждому из оснований представим в новой системе с основаниями

р1,р2,...,рк. В этом случае необходимо, чтобы выполнялось неравенство

Р* = р* р2••р* >

В этой системе максимальным числом, которое может быть получено при умножении, является число (р* -1)2. Эти последние цифры в системе оснований р1Ур2,...,рк можно записать в системе с основаниями р1 ,..., р* при условии

р 22 = р22 р- ...р22 > (р* -1)2. (5) Такой процесс перехода к меньшим основаниям позволяет перейти от представления числа $ сотнями бит к числам, представленным 3-4 битами, которые легко можно обрабатывать на ПЛИС со стандартным математическим обеспечением.

В [5] показано, что для представления чисел порядка $» 1022 необходимо выбрать систему оснований, состоящую из модулей 3, 4, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 43, 49, 61. Для простоты изложения будем использовать небольшие числа. На практике применяются очень большие числа. Наибольшим основанием здесь является число 61. При умножении наибольшим числом, остаток которого предполагается определить, может быть (61 - 1)2 = 36ОО. Вторая ступень СОК должна быть такой, чтобы ее диапазон удовлетворял (4), т.е. Р* > 36ОО. Пользуясь предложенной выше системой оснований, можно значения р* выбрать

следующими: 3, 7, 11, 17. При этом Р* = 3927 >36ОО. Диапазон второй ступени для наибольшего основания ограничивается

наибольшим основанием р & = 17. Далее можно использовать третью ступень, в которой наибольшее получаемое число, опреде-

ляемое выражением (5), будет (17 - 1)2 = 246. Для реализации этой ступени основания СОК можно выбрать меньшей разрядности, например, 3, 7, 13. Здесь наибольший результат операции определяется как (13 - 1)2 = 144, тогда для реализации возможных операций в четвертой ступени потребуются основания 3, 4, 11. Здесь наибольший результат определится как 1О2 = 1ОО, т.е. для реализации возможных операций в новой ступени потребуются основания 3, 4, 7. Дальнейшее уменьшение величины наибольшего основания ограничено, так как максимальное число, которое может быть получено в процессе выполнения операции, равно (7 - 1)2=36, а новая система взаимно простых оснований может быть выбрана только из ряда 2, 3, 4, 6, что невозможно. Таким образом, от первоначальной системы оснований с наибольшим основанием рп = 61 можно перейти через четыре ступени к системе оснований с наибольшим основанием, равным 7. Итак, наибольший возможный результат в нижней ступени оснований определяется как (7 - 1) = 36, в то время как в первой ступени наибольший возможный результат был равен (61-1)2 = 36ОО, т.е. ПЛИС оперирует с числами, в 1ОО раз меньшими по величине.

При использовании многоступенчатой СОК обработка данных будет вестись только в высшей ступени, а результат вычисления должен преобразовываться в форму, наиболее предпочтительную для выхода. Результаты вычислений всегда будут правильными, если не было выхода из диапазона представления чисел, как в старшей, так и в нижней ступенях.

Рассмотренный алгоритм модульных вычислений в многоступенчатой СОК, основанный на принципе представления оснований более высокой ступени в виде произведения модулей более низкой ступени, не позволяет в полной мере реализовать все достоинства непозиционной арифметики. Выполнение условий (4) и (5) обуславливает необходимость введения дополнительной избыточности.

Данного недостатка лишена многоступенчатая ПСКВ, функционирующая в

111111

Бережной В.В., Калмыков И.А.

«Многоступенчатая полиномиальная система класса вычетов в расширенных полях...»

поле СР/р). Пусть задан полином 1^7^ являющийся элементом кольца М/7) , определяемого над полем СР/р). Представим полиномиальное кольцо М/7^ в виде произведения расширенных полей Галуа

4

для которых выполняется условие - 50Д(к, т^=1.

Исходя из условия, что каждое поле СР/^^ определяется круговым многочленом Рр„ , выражение (6) можно представить в виде:

4

Взаимно простые полиномы РрJ -1(7) образуют главную систему оснований ПСКВ и обеспечивают однозначность представления многочлена 1(7) в виде совокупности остатков

1(7) = («1 (7), а2 (7),...,а! (7)),

где а # (7) = 1(7)тоА(Р7 1(7)) и возмож-

р 1

ность выполнения операций в заданном диапазоне 80, М(7/.

Из рассмотренного выше материала известно, что круговой многочлен Рр„ _1

представляется в виде произведения минимальных многочленов д.(7) , где . = 1,2...,

определенных над полем. Следовательно, любой из остатков а. (7), . = 1,...,/, можно представить в новой системе оснований, рi (7), составляющих вторую ступень ПСКВ. Такой процесс перехода к меньшим основаниям позволяет перейти от представления полинома 1(7) десятками бит к двоичному коду, представленным полиномами с показателями степеней в 3-4 двоичных разрядов, которые легко можно обрабатывать на ПЛИС со стандартным математическим обеспечением.

Распределенный характер преобразования сигналов по ступеням и независимость вычислительных каналов ПСКВ обес-

печивают более эффективное использование аппаратурных ресурсов по сравнению с одноступенчатой ПСКВ.

Рассмотрим пример. Пусть задано полиномиальное кольцо М/7^ = 7 20 . Для построения первой ступени ПСКВ воспользуемся круговыми полиномами, определяемыми в полях Галуа СР(23) и СР(24) . Исходя из взаимной простоты модулей системы класса вычетов, выбираем следующие основания:

- р (7) = 76 + 75 + 74 + 73 + 72 + 7 + 1 , задаваемое полем СР(23);

! \ 14 , 13 . 12 . 11 . 10 . 9 . 7) = 7 + 7 + 7 + 7 + 7 + 7 +

+ 78 + 7 7 + 76 + 75 + 74 + 73 + 7 2 + 7 + 1,

задаваемое полем СР(24).

Известно, что многочлены 7) и 7) можно представить в виде произведения неприводимых полиномов над полем СР(2). Для первого основания

Р (7) = 76 + 75 + 74 + 73 + 72 + 7 + 1 справедливо р (7) = (73 + 7 + 1) • (73 + 72 + 1) , где р1 (7) = 73 + 7 + 1 , р2 (7) = 73 + 72 + 1 -минимальные многочлены поля Галуа

СР(23).

Основание

! \ 14 , 13 . 12 . 11 . 10 . 9 . 8 . 7) = 7 + 7 + 7 + 7 + 7 + 7 + 7 +

+ 77 + 76 + 75 + 74 + 73 + 72 + 7 +1

можно представить в виде произведения минимальных многочленов, определяемых в

поле СР(24),т.е. Р (7) = р (7) • Р2 (7) • Р3 (7) • Р4 (7) =

= (7 2 + 7 + 1) • (74 + 73 + 7 2 + 7 + 1) X

X (74 + 73 + 1) • (74 + 7 + 1). Таким образом, определилась вторая ступень ПСКВ, которая позволила перейти от вычисления многоразрядных чисел (7 и 14) к обработке остатков, представленных 2, 3 и четырехразрядных кодах.

Структура спецпроцессора, реализующего двухступенчатую обработку сигна-

лов, представленных в ПСКВ, для М (г) = г20 показана на рисунке 1. Пусть заданы два операнда А( г) = г5 + г6 + г +1

и

В( г) = г10 + г7 + г2 +1. Представим данные многочлены в виде остатков первой ступени ПСКВ. Имеем А( г) = г5 + г6 + г +1 = (г5 + г6 + г +1, г5 + г6 + г +1) .

В( г) = г10 + г7 + г2 +1 = (г3 + г2,г10 + г7 + г2 +1).

Осуществим преобразование по второй ступени ПСКВ. Получаем

А( г) = (г5 + г6 + г +1, г5 + г6 + г +1) = = ([г2 + г +1, г ] [г, г3 + г2 +1,1, г2 + г ]),

В( г) = (г3 + г2, г10 + г7 + г2 +1) = = ([1, г2 + г +1] [г,0, г3, г3 +1]).

ПСС-ПСКВ Р,'(г) Вычислитель ный тракт

ПСС-ПСКВ Р,2(г) Вычислитель ный тракт

ПСС-ПСКВ Р%'(г) Вычислитель ный тракт

ПСС-ПСКВ Р%2(г) Вычислитель ный тракт

ПСС-ПСКВ Р%<(г) Вычислитель ный тракт

ПСС-ПСКВ Р%=(г) Вычислитель ный тракт

А

Рис. 1. Структура многоступенчатого СП ПСКВ.

i:I_IjI

Бережной В.В., Калмыков И.А.

«Многоступенчатая полиномиальная система класса вычетов в расширенных полях.»

Сумма полиномов :(7) и £(7) в полиномиальном кольце М (7) равна С (7) = 1( 7) + @(7) = (75 + 74 + 7 + 1) +

10 7 2 10 7 5 4 2

(7 + 7 + 7 + 1) = 7 + 7 + 7 + 7 + 7 + 7 .

Реализуем данную операцию, используя первую ступень преобразования.

:(7) = (75 + 74 + 7 + 1, 75 + 74 + 7 + 1),

;(7) = (73 + 72, 710 + 77 + 72 + 1),

С ( 7) = 1( 7) + @( 7) =

/ 5 . 3 . 4 . 2 . = (7 + 7 + 7 + 7 + 7,

10 , 7 . 5 . 4 . 2 . ч 7 + 7 + 7 + 7 + 7 + 7).

Полученный результат подаем на вторую ступень полиномиальной системы класса вычетов. Тогда

С (7) = ([7 2 + 7,7 2 + 1}

[о, 73 + 72 + 1, 73 + 1, 73 + 72 + 7 + 1]).

Осуществим операцию сложения 1(7), @(7), используя их представления по основаниям второй ступени ПСКВ.

1, z 1 [z

:(z) = ( ;(z)=(

С (z) = 1( z) + @( z) = ([[

z2 + z +

1, zz + z +1] [z,0, z3, z3 +:

z Ь

z2 + z, z 2 +

1j

0, z3 + z2 +1, z3 +1, z3 + z2 + z +1])

Следует отметить, что операции сложения и вычитания в расширенных полях Галуа выполняются по модулю р - характеристики поля, т.е. в рассмотренном примере по модулю 2.

Выполним операцию умножения F(z) = 1(z) • @(z) mod2(z). Тогда

F (z) = (z5 + z4 + z +1) • (z10 + z1 + z2 +1) =

= z15 + z14 + z12 + z10 + z8 + z6 + z5 +

432

+ z + z + z + z +1#

Реализуем операцию, воспользовавшись первой ступенью преобразования.

:(z) = (z5 + z4 + z +1, z5 + z4 + z +1); ;(z) = (z3 + z2, z10 + z7 + z2 + 1). F (z) = 1( z) @( z) = (z5 + z3 +1, z13 + z11 + z9 + z7 + 1).

z + z +1, z} [ 1, z2 + z +1} [z,0, z

z, z + z +1,1, z + z

33 3 z 3 +

4.

Преобразуем остатки Л(7) и /2(7) первой ступени ПСКВ по модулям второй ступени системы класса вычетов. Получаем Р(7) = ([72 + 7 + 1, 72 + 1} [7 + 1,0, 73, 7 + 1]).

Осуществим данную операцию, используя представление операндов 1(7), @(7) в многоступенчатой ПСКВ. Тогда :(7) = (" ;(7)=(

Р ( 7 ) = 1( 7) @( 7) =

= ([7 2 + 7 + 1, 7 2 + 1] [7 + 1,0,7 3, 7 + 1]).

Из приведенного примера видно, что выполнение операции сложения и умножения в полиномиальном виде и в многоступенчатой ПСКВ дает один и тот же результат. При этом порядок операндов был уменьшен в 3-4 раза, что

является базовой предпосылкой для построения надежных высокоскоростных вычислительных устройств ЦОС.

Структура двухступенчатого преобразования позиционного кода в код ПСКВ для поля СР(23) представлена на рисунке 2. Нейронная сеть содержит три слоя нейронов. Входной слой сети состоит из двадцати нейронов, осуществляющих распределение входного вектора операнда, представленного в двоичном коде. Синаптические веса связей между первым и вторым слоями равны 1. Второй слой, содержащий 6 нейронов, выполняющих базовую функцию - суммирование по модулю 2 взвешенных значений разрядов входного вектора 1(7).

Г 20 V

а2 (z ) =

20

£ 1

mod 2.

где о2 (7) -/-ый разряд результата преобразования по модулю

д (7) = 76 + 75 + 74 + 73 + 72 + 7 +1; у = 0^5 ;

1' (7) - .-ый разряд входного вектора 1(7);

(7) - синаптический вес связи .-го нейрона 1-го слоя с /-ым нейроном второго слоя. Выходной слой НС состоит из 6 нейронов, распределенных по группам 3-3. Данные нейроны осуществляют вычисление остат-

3

ков по модулям р\( г) = г3 + г2 +1 и р2 (г) = г3 + г +1. Отсутствие обратных связей при построении преобразователей по модулю позволяет значительно повысить быстродействие системы по сравнению с реализацией нейронных сетей конечного кольца.

Хорошие реализационные свойства многоступенчатой полиномиальной системы класса вычетов в полях Галуа позволяют строить для вычисления остатка простые и быстрые процедуры декодирования, согласно выражению

а"(г) =

X А'

г=1

Р #

Рк(

где]'=1,2,...,1; I — количество оснований первой ступени; к=1,2,...ъ; 5 — количество оснований второй ступени ПСКВ; п - разрядность входного полинома А(г); г - разряд полинома А(г).

Анализ выражения (9) показывает, что определение остатка а" (г) можно осуществить, используя двухслойную структуру нейросети. Техническое выполнение данной операции определяется матрицей Т12 пространственных координат синаптических весов для НС прямого распространения:

0010111001011100101 0101110010111001011 1001011100101110010

Т12 =

12 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0100111010011101001 1001110100111010011

Входные отсчеты в виде 20-разрядного двоичного кода поступают на входы нейронов первого слоя, которые осуществляют распределение «нагрузки» на нейроны второго слоя, согласно матрице Т. Синаптические веса связей между первым и вторым слоями равны 1. Второй слой состоит из 6 нейронов, распределенных на две группы (по 3 нейрона в каждой группе). Данные нейроны осуществляют суммирования по модулю два, соответствующих разрядов входного операнда.

Представленная структура нейронной сети позволяет выполнить процедуру преобразования двоичного кода в код многоступенчатой ПСКВ за 2 итерации. При этом схемные затраты составляют:

- 11-входовые сумматоры по модулю 2 -

4;

- 12-входовые сумматоры по модулю 2 -

Обладая внутренним параллелизмом, алгоритм преобразования из ПСС в многоступенчатую ПСКВ на основе выражения (9) представляет собой идеальную основу для построения высокоскоростных устройств ЦОС с повышенной разрядностью обрабатываемых данных.

+

I

Т

0

и_

Бережной В.В., Калмыков И.А.

«Многоступенчатая полиномиальная система класса вычетов в расширенных полях.»

Рис. 2. Структура преобразователя ПСС-ПСКВ многоступенчатого СП

для СР(23).

ЛИТЕРАТУРА

1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов /Пер. с англ.; под ред. Ю.Н. Александрова-М.: Мир, 1978. - 848 с.

2. Техническое обеспечение цифровой обработки сигналов: Справочник. Куприянов М. С. и др. - СПб.: Форт, 2000. - 752 с.

3. Червяков Н.И., Калмыков И.А., Щелкуно-ваЮ.О., Бережной В.В. Математическая модель нейронных сетей для исследования ортогональных преобразований сигналов в расширенных полях Галуа // Нейрокомпьютеры: разработка и применение. - 2003. - № 6. - С. 61-68.

4. Червяков Н.И., Сахнюк П.А., Шапошников А.В. Пути эффективного использования иерархических структур фрагментов нейронных сетей на ПЛИС Xilinx при аппаратной реализации цифровых фильтров с параллельной обработкой данных // Нейрокомпьютеры: разработка и применение. - 2001. - № 10. - С. 26-33.

5. Червяков Н.И., Сахнюк П.А., Шапошников А.В., Ряднов С.А. Модулярные параллельные вычислительные структуры нейропроцессорных систем. - М.: Физматлит, 2003. - 288 с.

Об авторах

Бережной Виктор Васильевич, кандидат физико-математических наук доцент кафедры прикладной математики и информатики СГУ. Область научных интересов - модулярная арифметика, модулярные нейрокомпьютеры, коррекция ошибки в модулярных кодах. Калмыков Игорь Анатольевич, заместитель начальника кафедры ннформатики и информационных технологий в системах управления филиала Ростовского военного института ракетных войск. Область научных интересов - модулярная арифметика, нейросетевые алгоритмы в полях Галуа, коррекция ошибки в модулярных кодах.