Нейросетевая реализация алгоритма коррекция ошибок в модулярном коде на основе коэффициентов обобщенной полиадической системы

Тип работы:
Реферат
Предмет:
Общие и комплексные проблемы естественных и точных наук


Узнать стоимость

Детальная информация о работе

Выдержка из работы

УДК 681. 3
нейросетевая реализация алгоритма коррекция ошибок в модулярном коде на основе коэффициентов обобщенной полиадической системы
1дунин А.В., Калмыков М. И., 2рассветаев В.В., 2Лобойкин В.В.
1ФГБОУ ВПО «Северо-Кавказский федеральный университет», Ставрополь,
e-mail: kia762@yandex. ru-
2Филиал Московского государственного университета приборостроения и информатики,
Ставрополь, e-mail: kia762@yandex. ru
Среди непозиционных кодов особое место занимают коды полиномиальной системы классов вычетов. Благодаря параллельной обработке данных модулярные коды позволяют обеспечить вычисления в реальном масштабе времени. Кроме того, при введении избыточных оснований модулярные коды могут обнаруживать и исправлять ошибки, которые возникают из-за отказа оборудования. В работе представлена нейросетевая реализация алгоритма вычисления коэффициентов обобщенной полиадической системы, позволяющая корректировать ошибки в модулярного коде.
Ключевые слова: полиномиальная система классов вычетов, коэффициентов обобщенной полиадической системы, обнаружение и коррекция ошибок, нейронная сеть
NEURAL NETWORK SALES CORRECTION ALGORITHM ERROR CODE MODULAR BASED ON THE COEFFICIENTS GENERALIZED SYSTEM POLYADIC 1Dunin A.C., 1Kalmykov M.I., 2Rassvetaev V. V, 2Loboykin V.V.
1North-Caucasian federal university, Stavropol, e-mail: kia762@yandex. ru-
2Filial Moscow state University of instrument engineering and informatics, Stavropol,
e-mail: kia762@yandex. ru
Among nonpositional codes occupy a special place codes polynomial system of residue classes. Due to the parallel data processing modular codes allow for calculations in real time. In addition, the introduction of excess base modular codes can detect and correct errors that occur due to equipment failure. The paper presents a neural network implementation of the algorithm for calculating the coefficients of the generalized polyadic system, which allows correct errors in modular code.
Keywords: polynomial system of residue classes, the coefficients of the generalized poliadiche-tion system, the detection and correction of errors, the neural network
Построение специализированных вычислительных устройств, реализующих цифровую обработку сигналов (ЦОС) в реальном масштабе времени, возможно за счет применения параллельных модулярных кодов. Такие коды позволяют эффективно реализовать операции сложения, умножения и вычитания по модулю. Так как основными операциями алгоритмов ЦОС являются именно эти операции, то использование алгебраических систем, обладающих свойством кольца и поля, позволит обеспечить высокую скорость обработки сигналов [1−5]. Кроме того модулярные коды позволяют обнаруживать и корректировать ошибки, которые возникают из-за отказов или сбоев в процессе функционирования специализированных процессоров ЦОС.
В полиномиальной системе классов вычетов в качестве основания системы используется минимальные многочлены р 1 = 1,2,…, п, определенные в расширенных полях Галуа GF (2V). Тогда любой полином А (г), удовлетворяющий условию
degA (z)& lt-degPnoiI, (1)
где deg А (z) — степень полинома A (z) —
п
Ртл — ПPj (z) — zp -1 — полный диа--=i
пазон, можно представить в виде «-мерного вектора
A (z) = (a, j (z), a2(z),…, a"(z)), (2)
где
a,(z) = rest (А (^(z)), i = 1,2,…, n.
Так как сравнения по одному и тому же модулю можно почленно складывать, вычитать и умножать, то для суммы, разности и произведения двух полиномов A (z) и B (z), имеющих соответственно модулярные коды (a1(z), a 2(z),…, a n (z)) и (P1(z), P2(z),…, Pn (z)) справедливы соотношения:
№ + B (z)|-w = (|ai (z) + ?1(z)|-(z),…, |a» (z) + ?" (z)|p (Z)), (3)
A (z) — B (z)|+(z) =(|ai (z)-?i (z)|-(Z),… ,| a" (z)-?" (z)|p "), (4)
A (z) ¦ B (z)|+(z) =(|ai (z) •?i (z)|-i (Z),…, |a" (z)-?" (z)|- (г)). (5)
Таким образом, выполнение операций над операндами в ПСКВ производятся независимо по каждому из модулей р, (*), что указывает на параллелизм данной алгебраической системы.
Кроме того, особенность ПСКВ состоит еще и в том, что независимость обработки информации по основаниям ПСКВ позволяет не только повысить скорость и точность обработки, но так же и обеспечить обнаружение и коррекцию ошибок в процессе функционирования вычислительного устройства класса вычетов. Если на диапазон возможного изменения кодируемого множества полиномов наложить ограничения, то есть выбрать к из п оснований ПСКВ (к & lt- п), то это позволит осуществить разбиение полного диапазона

?=1
расширенного поля Галуа С? (р4) на два непересекающихся подмножества. Первое подмножество называется рабочим диапазоном и определяется выражением
= (6) ?=1
Многочлен А (г) с коэффициентами из поля (р) будет считаться разрешенным в том и только том случае, если он является элементом нулевого интервала полного диапазона Рпол" то есть принадлежит рабочему диапазону (1е§ А (г) & lt- & lt-3е§ Рраб{г).
Для определения местоположения и глубины ошибки в кодах ПСКВ используются позиционные характеристики (ПХ) [6−10]. Благодаря этим алгоритмам вычисления (ПХ) можно определить местоположение полинома А (г) относительно рабочего диапазона. А это позволяет однозначно определить, является ли кодовая комбинация ПСКВ
А (*) = (а1(*X а2 (*X •••& gt- ак+г (*)) разрешенной, или содержит ошибочные символы. Особое место среди позиционных характеристик модулярного кода занимают коэффициенты обобщенной полиадической системы (ОПС).
В [10] представлен алгоритм вычисления коэффициентов обобщенной полиадической системы. для организации перевода из модулярного кода ПСКВ в обобщенную полиадическую систему, в которой используется 5 неприводимых полиномов рх (2)=2+ 1, р2(г)=г2+г+ 1, р3(г)=г4+г3+г2+г+1, р4(г)=г4+г3+1, р5(г)=г4+г+1, достаточно использовать двухслойную нейронную сеть.
Произведем разработку нейросетевой реализации данного алгоритма. Если положить, что первые три основания являются информационными, т. е. к = 3, то рабочий диапазон будет определяться согласно (6) и равен
Рраб (*) = [р^) = 21+26+25+22+2 +.
/=1
Оставшиеся два основания р4(г) =г4+г3+1 и р5(г)=г4+г+1, будем считать контрольными модулями, с помощью которых будет производиться поиск и коррекция ошибок, возникающих в кодах ПСКВ.
В этом случае, любой полином, представленный в коде ПСКВ, чья степень будет меньше семи, т. е. А (г) & lt- 7, является разрешенным, а его кодовая комбинация не содержит ошибки. В противном случае — кодовая комбинация содержит ошибки.
Коэффициенты обобщенной полиадической системы позволяют осуществить поиск и коррекцию ошибок в кодах ПСКВ. для данного примера полином, А (?) можно представить в обобщенной полиадической системе как
A (z) = (ai (z), a 2 (z),…, a 5 (z)) = a, (z) + a2 (z) p* (z) + a3 (z) P* (z) + a4 (z) P3* (z) + a5 (z) P4* (z), (8)
где
P*(z) = Pi (z) = z + i- p*(z) = ПРг (z) = z3 +i-
р- (*) = п л & amp- = рраб (г) = г1+г6+г5+22+2 +1-
?=1
К (*) = п Л V = А = г11 + г8 + г7 + г5 + г3 + г2 + г +1.
?=1
Ортогональные базисы такой системы равны:
В (г)=г14+гв+г'-2+гй+гю+г9+г8+г7+г6+г5+г4+г3+г2+г+1- В2(г)=г14+г13+гп+г10+г8+г7+г 5+г4+г2+г- В3(г)=г, 4+г, 3+г, 2+г& quot-+г 9+z8+z7+z6+z4+z3+z2+z- В4 (z)=z14+z13+z12+z11+z9+z7+z6+z3- В5(г)=г12+г9+г8+г6 +z4+z3+z2+z. Представим ортогональные базисы в виде коэффициентов ОПС
В? пс (7) = [ О г г3+г2+1 23+г + 1 *3+г2]- В? пс (г) = [ 0 0 г2 + г + 1 г2+1 г3+г2+г]- В°пс (г) = [0 0 0 г2+г г3+г2+г]-
В°пс{г) = [0 0 0 0 г].
Согласно Китайской теореме об остатках полином, А (г) определяется
?•=1
5
где Рполн (г) — (г) = г15 +1 — полный диапазон ПСКВ.
(9)
г=1
Если в качестве ортогональных базисов В. (г) взять их представления в ОПС, то при умножении остатков аг- (г) на последние,
можно получить коэффициенты ОПС
, +


(=1

, (10)

где у'-пер — коэффициенты ОПС. -го ортогонального базиса с учетом переполнения (/-1)-го основания.
При этом умножение вычетов на соответствующие коэффициенты У'-пер (осу-
ществляется помодульно и поразрядно, при этом учитывается превышение модуля р (г) как перенос в старший коэффициент ОПС
а+1(г).
Из выражения (8) наглядно видно, что если полином, А (г), представленный в ПСКВ, не содержит ошибки, то его степень не превысит степень рабочего диапазона. Следовательно, значения старших коэффициентов ОПС должны равняться нулю, т. е. а4(г) = 0 и, а (г) = 0.
Если полином, А (г), представленный в ПСКВ, содержит ошибку, то справедливо

где Да (г) — глубина ошибки по /-му основанию ПСКВ.
В результате этого результат ошибочного кода А*^) при переводе в позиционный код окажется за пределами рабочего диапазона Р б^). При этом по величине значений старших коэффициентов ОПС можно однозначно определить местоположение и глубину ошибки. В ходе проведенных исследований была определена связь старших коэффициентов ОПС с глубиной и местоположением ошиб-
ки в коде ПСКВ. В табл. 1 приведены эти соотношения.
Анализ таблицы показывает, что при использовании 2 контрольных оснований избыточный код ПСКВ может исправить все однократные ошибки.
Чтобы осуществлять коррекцию ошибок в комбинации кода ПСКВ, была разработана четырехслойная нейронная сеть, которая представлена на рисунке.
Таблица 1
Зависимость значений коэффициентов ОПС от местоположения и глубины ошибки
для поля ОГ (24)
Величина ошибки Коэффициенты ОПС
a4 (z) a 5 (z)
Аа=1 z3 z3 + z2 + z
Аа2=1 z3 + z + 1 z3 + z2
Аа= z3 + z2 +z z3 + z
А°з = 1 z2 + 1 z3 + z2+ z
z3 + z z3 + z2 + z + 1
Аа=2 z3 + z2 z3 + z2
1 z3 + z
Аа=1 z2 + z z3 + z2 + z
z3 + z2 z3 + z2 + z + 1
Аа=2 1 z3 + z2
& quot-з II z z3 + z + 1
Да5=1 0 z
'-a5=z 0 z2
II 0 z3
& quot-з II 0 z+1
Нейронная сеть для коррекции кодов ПСКВ
Каждый слой содержит по 15 нейронов. Входной слой состоит из 15 нейронов, распределенных в соответствии с размерностью разрядных сеток модулей -1−2-4−4-4. Данные нейроны осуществляют разветвление входного вектора (а1(г Xа 2(г X аз (г Xа 4 (г Xа 5(г)), представленного в двоичной форме. Причем нейрон 1 предназначен для распределения нулевого разряда а0 (г) первого основания. Нейроны 2, 3 предназначены для распределения нулевого а2(г) и первого а2(г) разрядов второго основания соответственно. Нейроны 4−7 используются для приема и распределения а3 (г), а3 (г), а2 (г), а3 (г) разрядов третьего основания соответственно. для перераспределения разрядов а4(г), а4(г), адг), а4(г) четвертого основания p4(z) используются нейроны 8, 9, 10, 11 соответственно. Нейроны 12, 13, 14, 15 применяются для приема разрядов а5(г), а5(г), а2(г), а5(г) пятого основания p5(z) соответственно.
Второй слой нейронной сети содержит также 15 нейронов, распределенных в соответствии с размерностью разрядных сеток коэффициентов (а. ^), /=1,2,3,4,5) ОПС -1−2-4−4-4. Нейроны 16−30 второго слоя выполняют базовую операцию суммирования по модулю два значений разрядов, поступающих с выходов соответствующих нейронов первого слоя, и реализуют выражение (10). Синаптические веса связей равны единице.
Выход нейрона 16 соответствует нулевому разряду первого коэффициента ОПС а^). Нейроны 17, 18 осуществляют вычисление нулевого и первого а2(г), а2(г) разрядов второго коэффициента ОПС соответственно. Нейроны 19, 20, 21, 22 осуществляют вычисление нулевого, первого, второго и третьего разрядов а3 (г), а3 (г), а3 (г), а3 (г) третьего коэффициента ОПС а3^) соответственно. Нейроны 23, 24, 25, 26 осуществляют вычисление нулевого, первого, второго и третьего разрядов а°(г), а4(г), а24(г), а4(г) четвертого коэффициента ОПС а4^) соответственно. Нейроны 27, 28, 29, 30 осуществляют вычисление нулевого, первого, второго и третьего разрядов а5 (г), а5 (г), а5 (г), а5 (г) пятого коэффициента ОПС а5^) соответственно.
Третий слой нейронной сети содержит также 15 нейронов. Нейроны 31−45 третьего слоя выполняют базовую операцию логического умножения (логическое «И») зна-
чений разрядов, поступающих с выходов соответствующих нейронов второго слоя. Синаптические веса связей равны единице.
Четвертый слой сети содержит также 15 нейронов. Нейроны 46−60 четвертого слоя выполняют базовую операцию суммирование по модулю два значений разрядов, поступающих с выходов соответствующих нейронов первого и третьего слоев сети, что позволяет откорректировать ошибку в кодовой комбинации ПСКВ. Синаптические веса связей равны единице. Так вход 46 нейрона четвертого слоя соединен с выходом 1 нейрона первого слоя и с выходом 31 нейрона третьего слоев нейронной сети. Выходы нейронов 46−60 второго слоя являются выходами нейронной сети.
Пусть на вход нейронной сети подается полином, А (г) = г6 +г5 +г4 +г + 1, который принадлежит рабочему диапазону Рраб (2У Тогда его код в ПСКВ имеет вид А^)=(1, z+1, z3+z2+z+1, z3+z2+z, z3+z), и при этом он не содержит ошибки. Воспользуемся выражением (10) и произведем вычисление коэффициентов ОПС. В результате вычислений были получены следующие значения
а1(г)=1, а2(г)=г+1, а3(г)=гъ+г2+г+1, а (1)=0, а (1)=0.
Это свидетельствует о том, что данная кодовая комбинация, представленная в ПСКВ, не содержит ошибки. Работу первого и второго слоев нейронной сети рассмотрим с использованием табл. 2. и произведем вычисление коэффициентов ОПС.
Таким образом, полином А^)=(1, z+1, z3+z2+z+1, z3+z2+z, z3+z) представляется в ОПС в следующем виде а^) = 1, а2(z)=z+1, a3(z)=z3+z2+z+1, а4(z)=0, a5(z)=0. Так как старшие коэффициенты ОПС равны нулю, то это свидетельствуют, что кодовая комбинация ПСКВ не содержит ошибку, и ее не надо корректировать. В этом случае с выходов нейронов 23−26 и 27−30, которые соответствуют двоичному представлению коэффициентов, а и a5(z), снимается нулевой результат. В соответствии с этим на выходах нейронов 31−45 третьего слоя, выполняющих операцию логического умножения, будет также нуль. Это значение поступает на входы нейронов 46−60 четвертого, которые суммируют эти значения с остатками аi (г), подаваемых с выходов нейронов 1−15 первого слоя. В этом случае кодовая комбинация ПСКВ не изменяется.
Таблица 2
Вычисление коэффициентов ОПС
Основания p (z) z+1 z2+z+1, p3=z4+z3+z2+z+1, p4=z4+z3+1 ^5=z4+z+1
Разряды p. (z) 1 1 z 1 z z2 z3 1 z z2 z3 1 z z2 z3
№ нейронов 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
P,(z)= z+l 1 1 1 1 1 1 1 1 1
p2(z)= z2+z+1 1 1 1 1 1 1 1 1 1 1
z 1 1 1 1 1 1 1 1
p3=z4+z3+z2+z+1 1 1 1 1 1 1 1 1 1
z 1 1 1 1 1 1 1 1 1
z2 1 1 1 1 1 1
z3 1 1 1 1 1
p4(z)=z4+z3+1 z 1 1 1 1 1 1
z2 1 1 1
z3 1 1 1 1
p5(z)=z4+z+1 z 1
z3 1 1
Коэффициенты ОПС a. (z) 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Пусть ошибка произошла в первом В результате работы нейронной сети ошиб-остатке, т. е. Аа1 (г) = 1. В результате этого ка в кодовой комбинации ПСКВ исправлена
(г) = (1, г+1, г3+г2+г+1, г3+г2+г, г3+г).
на вход нейронной сети поступает код
исправ
Л* (z) = (0, z +1, z3 + z2 + z +1, z3 + z2 + z, z3 + z2),
на выходах нейронов 16−30 второго слоя получатся значения коэффициентов ОПС.
ах (г) = 0- а2 (г) = 1- а3 (г) = г2 +1- а4 (г) = г3- а5 (г) = г3 + г2 + г.
Так как значения старших коэффициентов ОПС а4 (г) ^ 0 а5 (г) ^ 0, то это свидетельствует о том, что кодовая комбинация содержит ошибку.
В соответствии с полученными значе-
/ _ 3 I 3 2
ниями а4= г и а5 (г) = г + г + г единичный сигнал будет на выходе 26, 28, 29 и 30 нейронов второго слоя. Этот сигнал с выхода нейронов 26, 28, 29, 30 поступает на входы 31 нейрона третьего слоя. В результате этого только на выходе 31 нейрона третьего слоя появляется единичный сигнал, который поступает на второй вход 46 нейрона. Этот корректирующий сигнал Д =1 складывается с выходным сигналом 1 нейрона первого слоя а1 (2) = 0.
а1(г)=а-(г)+Дя"=0+1=1.
Выводы
Современные модулярные коды позволяют повысить скорость выполнения алгоритмов ЦОС за счет параллельной обработки малоразрядных остатков. Кроме того эти коды также позволяют осуществлять поиск и коррекцию ошибок, которые могут возникать в процессе функционирования непозиционного спецпроцессора. В работе приведен пример реализации алгоритма поиска и коррекции ошибки, который использует расширение системы оснований. В статье приведена структура устройства коррекции модулярного кода, использующего разработанный алгоритм.
СПИСОК ЛИТЕРАТУРЫ
1. Калмыков И. А., Саркисов А. Б., Макарова А. В. Технология цифровой обработки сигналов с использованием модулярного полиномиального кода // Известия Южного федерального университета. Технические науки. — 2013. -№ 12 (149). — С. 234−241.
2. Бережной В. В., Калмыков И. А., Червяков Н. И., Щелкунова Ю. О., Шилов А. А. Нейросетевая реализация в полиномиальной системе классов вычетов операций ЦОС повышенной разрядности // Нейрокомпьютеры: разработка и применение. — 2004. — № 5−6. — С. 94.
3. Калмыков И. А., Калмыков М. И. Структурная организация параллельного спецпроцессора цифровой обработки сигналов, использующего модулярные коды // Теория и техника радиосвязи. — 2014. — № 2. — С. 60−66.
4. Калмыков И. А., Зиновьев А. В., Резеньков Д. Н., Га-хов В. Р. Применение систолических ортогональных преобразований в полиномиальной системе классов вычетов для повышения эффективности цифровой обработки сигналов // Инфокоммуникационные технологии. — 2010. — Т. 8, № 3. — С. 4−11.
5. Калмыков И. А., Хайватов А. Б. Математическая модель отказоустойчивых вычислительных средств, функционирующих в полиномиальной системе классов вычетов // Инфокоммуникационные технологии. — 2007. — Т. 5. № 3. -С. 39−42.
6. Калмыков И. А., Резеньков Д. Н., Горденко Д. В., Саркисов А. Б. Методы и алгоритмы реконфигурации непозиционных вычислительных структур для обеспечения отказоустойчивости спецпроцессоров. — Ставрополь, Фабула. 2014. — 180 с.
7. Мартиросян А. Г., Калмыков М. И. Основные методы обеспечения отказоустойчивости специализированных вычислительных устройств цифровой обработки сигналов Современные наукоемкие технологии. — 2014. — № 3. -С. 62−67.
8. Калмыков И. А., Саркисов А. Б., Яковлева Е. М., Калмыков М. И. Модулярный систолический процессор цифровой обработки сигналов с реконфигурируемой структурой // Вестник Северо-Кавказского федерального университета. -2013. — № 2 (35). — С. 30−35.
9. Барсагаев А. А., Калмыков М. И. Алгоритм обнаружения и коррекции ошибок в модулярных полиномиальных кодах // Международный журнал экспериментального образования. — 2014. — № 3−1. — С. 103−106.
10. Стрижков Н. С., Калмыков М. И. Алгоритм преобразования из модулярного кода в полиадическую систему оснований для систем обнаружения и коррекции ошибок // Международный журнал экспериментального образования. — 2014. — № 3−1. -С. 127−131.

ПоказатьСвернуть
Заполнить форму текущей работой