ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.432
А. А.ГЛАДКИХ, А. Д. БАКУРОВА
ПРИМЕНЕНИЕ ВЫСОКОУРОВНЕВОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ PYTHON С ЦЕЛЬЮ ПОИСКА ЭКВИВАЛЕНТНОГО КОДА
Доказано, что перестановочное декодирование (ПД) групповых систематических помехоустойчивых кодов в наибольшей степени по сравнению с другими способами декодирования цифровых данных способно обеспечить использование введённой в код избыточности [1-5]. При этом решается сложная в вычислительном отношении задача поиска эквивалентного кода (ЭК), за счёт которого осуществляется поиск вектора ошибок, путём замены вычислительной процедуры реального времени поиска ЭК для каждой новой комбинации избыточного кода на предварительный процесс обучения декодера ставить в соответствии с каждой новой перестановкой символов элементы порождающей матрицы ЭК, параметры которых в ходе предварительного обучения записаны в когнитивной карте (КК) памяти декодера. Для поиска вырожденных матриц задействован высокоуровневый язык программирования Python. Доказательства осуществляются с использованием аппарата фрактального разбиения расширенных двоичных полей Галуа и метода кластеризации общего пространства кодовых векторов заданного кода [6].
Ключевые слова: перестановочное декодирование, кластер, фрактал, нейронные сети, Python.
Введение
В настоящее время особое место в области автоматизации занимают облачные вычисления и технологии обработки больших данных. С перспективой развития квантовых вычислительных средств значительно возрос интерес к шифрованию и искусственному интеллекту. В связи с этим в разнообразных системах автоматического управления наблюдается возросший интерес к системам ПД систематических избыточных кодов, вызванный возможностями использования когнитивных методов обработки цифровых данных, позволяющих придать процедуре декодирования подобных кодов существенное ускорение. Получаемый при этом выигрыш по времени востребован во многих прикладных областях, от высокоскоростных оптических линий связи, требующих повышения эффективности работы системы опережающей коррекции ошибок в условиях применения сложных видов модуляции, до систем дистанционного управления различными роботизированными или беспилотными объектами, включая системы с элементами анализа биометрических данных. За счёт применения КК декодера уп-
© Гладких А. А., Бакурова А. Д., 2021
рощается вычисление параметров ЭК, что обеспечивает временной выигрыш при реализации перестановочного декодирования. Однако возникает необходимость наличия большого объёма памяти когнитивной карты декодера для хранения продуктивных перестановок и соответствующих им порождающих матриц.
Активно входящие во многие сферы нейронные сети (НС) применимы и к перестановочному декодированию. В ряде современных научных работ этого направления освещаются в основном методы нейросетевого декодирования двоичных линейных блоковых кодов [4-7]. Однако актуальные направления развития общей теории связи, направленные на повышение спектральной эффективности большинства систем обмена данными, настоятельно диктуют использование в таких методах обработки цифровой информации недвоичных избыточных кодов, декодирование которых с точки зрения машинного обучения рассматривалось в статье [6]. В основном НС реализуются на языке программирования Python. Разработка отдельных программ, решающих конкретные задачи ПД, позволит в следующем объединить их в нейронную сеть, решив множество задач единовременно.
1. Нейронные сети
Нейронные сети представляют собой математическую модель, а также её программное или аппаратное воплощение, построенную по принципу организации и функционирования биологических НС. Основанные в 1943 году, они относятся к направлению разработки систем искусственного интеллекта. Принцип работы математической модели НС соотносится с функционированием нервной системы человека. Каждый нейрон сети является ячейкой со множеством входных отверстий для получения информации и лишь одним выходным. Алгоритмы вычисления определяют, каким образом многочисленные входящие сигналы формируются в выходящий. Сама НС представляет собой систему из множества отдельных нейронов, которые при соединении в единую систему способны выполнять очень сложные задачи по сбору, анализу и созданию новой информации.
Основными областями применения НС являются прогнозирование, принятие решений, распознавание образов, оптимизация, анализ данных. НС лежат в основе большинства современных систем распознавания и синтеза речи, распознавания и обработки изображений. Они применяются в некоторых системах навигации, будь-то промышленные роботы или беспилотные автомобили.
Особенность НС состоит в их обучаемости. Они способны распознавать довольно глубокие закономерности в данных за счёт нахождения верных коэффициентов связи между нейронами, обобщении данных и выявлении сложных зависимостей между входными и выходными сигналами во время обучения. Но стоит учитывать, что для достижения высокой точности результата работы НС необходим значительный объём обучающих данных.
Популярность НС обусловлена тем, что мощности современных аппаратных средств позволяют применять НС повсеместно. Поэтому всё чаще НС применяют не только крупные корпорации, но и небольшие компании, лаборатории, учёные.
Ещё одним доступным средством является Python - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика, читаемости и качества кода программы, обеспечение переносимости написанных программ в другую среду. Одним из назначений данного языка программирования является программирование математических и научных вычислений.
2. Кластерное представление групповых кодов в системе вложенных полей Галуа
Процесс разбиения пространства кодовых векторов на кластеры подробно рассматривался в работе [7]. Его суть заключается в том, что разряды кодовых комбинаций, относящиеся к информационным символам, выделяются слева направо по одному, по два и т. д. под номер кластера, как показано в таблице 1, где для обозначения номера кластера выделены первый и второй столбцы.
Это позволяет в зависимости от целей исследования уменьшить (увеличить) объём комбинаций в кластере и, самое главное, свойства комбинаций одного кластера перенести на комбинации других кластеров практически без изменений. Например, выделение нулевых символов первого столбца, как показано в таблице 1, приводит к образованию всего двух кластеров. Обозначим группу нулевых символов в первом
столбце через 23 ^ 0, а группу символов с единицами в этом же столбце как 23 ^ 1. Встречное направление стрелок в указанных обозначениях
символизирует замкнутость поля Галуа ОГ(24). При этом к нулевым и единичным символам в первом столбце примыкают два одинаковых поля размерности ОГ(23). Выделение двух разрядов из состава первого и второго столбцов таблицы 1 приводит к образованию уже четырёх кластеров с двоичными номерами 002, 012, 102 и 112. При этом каждый кластер в новом разбиении содержит только четыре комбинации. Для решения задачи рационального поиска непродуктивных перестановок, исключающего переборный метод, была рассмотрена более подробно структура одного из таких кластеров и выявлены его свойства (табл. 2). Заметно, что в
каждом кластере на позиции нумераторов 3 и 4
2
оказалось сформировано поле ОГ (2 ). Благодаря этому признаку, комбинации безызбыточного кода в каждом кластере являются линейно независимыми. Оценка ситуации, при которой свойство линейной независимости нарушается, однозначно связывается с разрушением поля ОГ(22) . Поскольку все образующие комбинации орбиты (ОКО) образуются за счёт наименьших нумераторов, то для оценки линейной зависимости комбинаций достаточно проанализировать все комбинации первого и второго кластеров [8].
Это свойство транслируется на все другие кластеры, как показано в таблице 3 на примере кластера с номером 112. Это даёт основание утверждать, что если за номером кластера в
Таблица 1 Структура кластеров кода (7, 4, 3)
Нумераторы символов комбинаций
Кластеры 1 2 3 4 5 6 7
Кластер с номером 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1
0 0 1 0 1 1 0
0 0 1 1 1 0 1
Кластер с номером 110 0 1 0 0 1 1 1
0 1 0 1 1 0 0
0 1 1 0 0 0 1
0 1 1 1 0 1 0
Кластер с номером 210 1 0 0 0 1 0 1
1 0 0 1 1 1 0
1 0 1 0 0 1 1
1 0 1 1 0 0 0
Кластер с номером 310 1 1 0 0 0 1 0
1 1 0 1 0 0 1
1 1 1 0 1 0 0
1 1 1 1 1 1 1
Таблица 2 Структура кластера с номером 002
Нумераторы символов комбинаций
1 2 3 4 5 6 7
0 0 0 0 0 0 0
0 0 0 1 0 1 1
0 0 1 0 1 1 0
0 0 1 1 1 0 1
Таблица 3 Структура переставленного кластера 112
Нуме раторы символов комбинаций
1 2 3 5 4 6 7
0 0 0 0 0 0 0
0 0 0 0 1 1 1
0 0 1 1 0 1 0
0 0 1 1 1 0 1
Вес комбинации 15
10 9 8 7 6 5 0
-1
1 15 1 15
. 1
30
30
о
5 10 15 20 25 30
Число комбинаций заданного веса Рис. 1. Весовая структура кода БЧХ (15,7,5)
комплексе его комбинаций не следует поле Га-луа, то полученное сочетание столбцов приводит к вырожденной матрицы перестановки и невозможности формирования ЭК.
Отыскав в кластере 002 (комбинацию) непродуктивную перестановку 1235 таким простым методом и сделав для неё циклические преобразования, выявляем все общие непродуктивные перестановки кода, которые заносятся далее в соответствующее поле КК.
Исходя из введённых выше обозначений, вложенность полей Галуа можно представить рекуррентным выражением вида
2 10! ^(2))
2Т1: ^(2)]
4 10! ^(22) 4Т1! ^(22)
4 10! ^(23)
= ^(22) ^
= ^(23)
4Т1! ^(23)
= ^(24)
В этом выражении проявляется фрактальная зависимость вложенных полей Галуа, которая может быть использована для поиска непродуктивных перестановок, однозначно приводящих к вырожденности переставленных матриц. Для
анализа произвольного кода необходимо знать весовую структуру кода, т. к. она позволяет определять количество непродуктивных перестановок.
На рисунке 1 представлена весовая структура кода БЧХ (15,7,5). Спектр весов симметричен, это говорит о том, что для анализа данных необходимо найти образующие комбинации для кодовых векторов веса 5, 6 и 7. Уточним правило формирования циклических структур кода для указанных весов. Если число комбинаций в спектре кода равно sn и s е N, это означает, что в коде имеется ровно s образцов комбинаций, которые образуют самостоятельные циклы. Так на рисунке 1 комбинации веса 6 повторяются 60 раз, следовательно, в коде имеется два образца комбинаций веса 6. Отсюда, образцов комбинаций веса 7 всего один. Сложнее дать оценку комбинациям веса 5. Их всего 18. Тогда в коде имеется два образца с циклом повторения 15 и один образец с циклом повторения 3. К последнему образцу может относиться комбинация вида 001001001001001 или подобная структура.
3. Применение высокоуровневого языка программирования Python
Целью работы являлось установление доли непродуктивных перестановок, не приводящих к получению эквивалентного кода, и подтверждение необходимости наличия КК декодера с целью сокращения временных и технических затрат при прохождении процедуры перестановочного декодирования, а также установление минимального объёма памяти КК декодера. Для определения доли непродуктивных перестановок необходимо определить все возможные перестановки и их количество. Наиболее надёжным методом является аппаратный поиск всевозможных перестановок внутри каждой комбинации.
Важно заметить, что имеет смысл хранение в КК декодера лишь ОКО, поскольку комбинации, полученные сдвигом по циклу ОКО, могут быть легко из них получены и имеют те же свойства, т. о., хранение отличных от образующих комбинаций несёт дополнительные затраты памяти, не обеспечивая должного выигрыша во времени при вычислениях. Итак, работа сводится к поиску ОКО вырожденных матриц.
Для формирования и дальнейшего анализа всех ОКО каждой комбинации была написана программа на языке Python. Суть программы заключается в следующем: на вход подаются все нулевые символы комбинации и находятся все возможные перестановки, препятствующие получению ЭК, общее число которых определяется как . Каждое сочетание априори не является
ОКО, поэтому ОКО определяется для каждого сочетания как комбинация наименьшего веса. В результате формируются таблицы ОКО для заданной комбинации кода БЧХ. Следующим этапом исследования является поиск повторяющихся сочетаний в таблицах разных комбинаций. Каждая ОКО, имеющая пересечения в сочетаниях одной комбинации и между комбинациями, маркируется, обозначена соответствующим порядковым номером, что позволяет сосчитать число уникальных и имеющих повторения ОКО.
Для начала была рассмотрена циклическая комбинация 100100100100100. Результат показал, что из предполагаемых 360 уникальных комбинаций (3*Су0 = 360) уникальными являются 109 комбинаций, 85 из которых не повторяются и присутствуют единожды в конкретной таблице, а оставшиеся 24 многократно повторяются в таблице конкретной комбинации и таблицах её циклических комбинаций. На рисунке 2 показана диаграмма распределения уникальных и повторяющихся комбинаций. При занесении в КК повторяющихся комбинаций достигается выигрыш в 3 раза.
Затем были рассмотрены все комбинации веса 5, включающие в себя и все цикловые сдвиги равномерной комбинации. В результате из предполагаемых 2160 уникальных комбинаций (15*Су0 = 2160) действительно уникальными оказались 213 комбинаций, из которых не повторяющихся было 75, имеющих повторы в таблице конкретной комбинации и таблицах её циклических комбинаций - 138. При занесении в КК повторяющихся комбинаций достигается выигрыш практически в 10 раз.
Было произведено более подробное исследование кода БЧХ (15, 7, 5) для комбинаций веса 6, 7 и 8. Очевидно, что с увеличением веса комбинации её надёжность повышается, и количество возможных непродуктивных перестановок существенно уменьшается, при этом сохраняется достигнутый выигрыш. На рисунках 3 и 4 показаны диаграммы процентного и численного соотношения уникальных и повторяющихся ОКО. На рис. 3 видно, что в среднем необходимо занести в КК декодера лишь 10% предполагаемого числа ОКО.
Заключение
Авторами была доказана необходимость применения КК декодера и показана возможность существенного сокращения необходимого КК декодера объёма памяти с применением программно-аппаратных средств. Более того, предложенный метод анализа непродуктивных
Рис. 2. Количество уникальных и повторяющихся комбинаций
Рис. 3. Процентное соотношение уникальных и повторяющихся ОКО
О 500 1000 1500 2000 2500
■ УникальныеОКО ■ Повторяющиеся ОКО
Рис. 4. Численное соотношение уникальных и повторяющихся ОКО
перестановок показал, что помимо того, что не все непродуктивные перестановки подлежат записи в КК декодера, что было известно ранее, не все ОКО также должны быть записаны в КК декодера, поскольку одни и те же ОКО могут возникать как при рассмотрении разных комбинаций, так и внутри одной комбинации. Достигну-
тый выигрыш в экономии памяти КК декодера оказался существенным и составляет порядка 90%.
Применение высокоуровневого языка программирования Python позволяет быстро и точно получить воплощение механизма образования вырожденных матриц и ставит новые задачи,
решение которых приведёт к усовершенствованию алгоритма формирования ЭК, тем самым осуществляя прорыв в области перестановочного декодирования. Решение отдельных задач с применением программирования позволит в дальнейшем объединить их в нейронную сеть, отражающую весь механизм работы перестановочного декодирования.
СПИСОК ЛИТЕРАТУРЫ
1. Бабанов Н. Ю., Гладких А. А., Наместников С. М., Шахтанов С. В. Свойства циклических структур в системе перестановочного декодирования избыточных кодов // Автоматизация процессов управления. - 2020. - №2 (60). -С. 82-89.
2. Давыдов И. Ю., Козлов Д. А., Шахтанов С. В., Шибаева М. Ю. Перестановочное декодирование в системе комбинаций кодовых конструкций при оценке биометрических данных // Автоматизация процессов управления. - 2019. -№3 (47). - С. 67 - 74.
3. Ганин Д.В., Тамразян Г.М., Шахтанов С.В., Саид Б., Бакурова А.Д. Процедура поиска множества вырожденных матриц в системе перестановок двоичного блокового кода // Автоматизация процессов управления. - 2019. -№4 (48). - С. 82-89.
4. Gladkikh A. A., Ganin D. V., Pchelin N. A., Shakhtanov S. V., Ochepovsky A. V. Coding Methods and Permutation Decoding in the Systems for Network Processing of Data. International Journal of Control and Automation Vol. 13, No.1, (2020), pp. 93-110.
5. Gladkikh A. A., Andriyanov N. A., Volkov Al. K., Volkov An. K., Shakhtanov S. V. Development of Network Training Complexes Using Fuzzy Models and Noise-Resistant Coding. International Conference on Aviamechanical Engineering and Transport (AviaENT 2019), 2019, pp. 373-379.
6. Пчелин Н. А., Дамдам М. А. Я., Ал-Месри А. А. Я., Брынза А. А. Парадигма нейросетевого декодирования недвоичных избыточных кодов // Автоматизация процессов управления. - 2021. -№1 (63). - С. 74-81.
7. Гладких А. А. Основы теории мягкого декодирования избыточных кодов в стирающем канале связи. - Ульяновск : УлГТУ, 2010. -379 с.
8. Гладких А. А., Бакурова А. Д., Меновщиков А. В., Саид Басем А. С., Шахтанов С. В. Фрактальная кластеризация групповых кодов в системе вложенных полей Галуа // Автоматизация процессов управления. - 2020. - №4 (62). -С. 85-92.
REFERENCES
1. Babanov N. U., Gladkikh A. A., Namestnikov S. M., Shakhtanov S. V. Svoistva tsiklitceskih structure v sisteme perestanovochnogo decodirovaniya izbytochnyh codov [Properties of cyclic structures in the system of permutation decoding of redundant codes]. Avtomatizatsiia protsessov upravleniia [Automation of Control Processes]. 2020, No. 2 (60), pp. 82-89.
2. Davydov I. U., Kozlov D. A., Shakhtanov S. V., Shibaeva M. U. Perestanovochnoe decodirovanie v sisteme combinatsiy codovyh constructsiy pri otsence biometrichetckih dannyh [Permutation decoding in the system of combinations of code constructions when evaluating bio-metric data] Avtomatizatsiia protsessov upravleniia [Automation of Control Processes]. 2019, No. 3 (47), pp. 67-74.
3. Ganin D.V., Tamarzyan G.M., Shakhtanov S. V., Said B., Bakurova A.D. Protsedura poiska mnozhestva vyrozdennyh matrits v sisteme perestanovok dvoichnogo blokovogo coda [A procedure for searching for a set of degenerate matrices in a system of permutations of a binary block code] Avtomatizatsiia protsessov upravleniia [Automation of Control Processes]. 2019, No. 4 (48), pp. 82-89.
4. Gladkikh A. A., Ganin D. V., Pchelin N. A., Shakhtanov S. V., Ochepovsky A. V. Coding Methods and Permutation Decoding in the Systems for Network Processing of Data. International Journal of Control and Automation Vol. 13, No.1, (2020), pp. 93-110.
5. Gladkikh A. A., Andriyanov N. A., Volkov Al. K., Volkov An. K., Shakhtanov S. V. Development of Network Training Complexes Using Fuzzy Models and Noise-Resistant Coding. International Conference on Aviamechanical Engineering and Transport (AviaENT 2019), 2019, pp. 373-379.
6. Pchelin N. A., Damdam M. A. Yа., Al-Mecri A. A. Yа., Brynza A. A. Paradigma neirosetevogo decodirovaniya nedvoichnyh izbytochnyh codov [The paradigm of neural network decoding of non-binary redundant codes] Avtomatizatsiia protsessov upravleniia [Automation of Control Processes]. 2021, No. 1 (63), pp. 74-81.
7. Gladkikh A. A. Osnovy teorii myagkogo decodirovanya izbytochnyh codov v stirauchem kanale svyazy [Fundamentals of the theory of soft decoding of redundant codes in an erasing communication channel] Ulyanovsk, UlSTU, 2010, 379 p.
8. Gladkikh A. A., Bakurova A. D., Menovchecov A. V., Said Basem, Shakhtanov S. V. Fractalnaya clasterizatsiya gruppovyh codov v sisteme vlozhennyh poley Galua [Fractal clustering of group codes in the system of nested Galois fields]
Avtomatizatsiia protsessov upravleniia [Automation of Control Processes]. 2020, No. 4 (62), pp. 85-92.
Гладких Анатолий Афанасьевич, доктор технических наук, окончил Военную академию связи им. С. М. Будённого, адъюнктуру ВАС, профессор кафедры «Телекоммуникации» Ульяновского государственного технического университета. Имеет монографии, учебные пособия, статьи и патенты РФ в области помехоустойчивого ко-
дирования и защиты информации. [e-mail: a_gladkikh@ulstu.ru].
Бакурова Анастасия Денисовна, студент магистратуры кафедры «Телекоммуникации» Ульяновского государственного технического университета по направлению «Инфокоммуникаци-онные технологии и системы связи». Имеет публикации в области помехоустойчивого кодирования и защиты информации. [e-mail: bakurova.ad@mail.ru].
Поступила 30.09.2021 г.
УДК 629.7.018
А. В. КОМИССАРОВ, В. В. ШИШКИН
АНАЛИЗ ТИПОВЫХ МЕТОДИК ЭКВИВАЛЕНТНО-ЦИКЛИЧЕСКИХ ИСПЫТАНИЙ НА БЕЗОТКАЗНОСТЬ АВИАЦИОННОГО БОРТОВОГО ОБОРУДОВАНИЯ
Рассмотрены типовые методики ОСТ 1 01204-2012 эквивалентно-циклических испытаний на безотказность авиационного бортового оборудования на возможность проведения многофакторных эквивалентно-циклических испытаний.
Ключевые слова: многофакторные эквивалентно-циклические циклические испытания, испытания на безотказность.
испытания, эквивалентно-
Введение
Многофакторные эквивалентно-циклические испытания (МФЭЦИ) на безотказность элементов и устройств бортовых систем управления воздушным судном являются контрольными ускоренными стендовыми испытаниями на надёжность, в ходе которых на изделие оказывается комплексное воздействие внешних эксплуатационных факторов [1].
До настоящего момента многофакторные испытания не нашли широкого применения в авиационной отрасли для контроля параметров безотказности. Во многом это объясняется отсутствием испытательных стендов, которые могли бы воспроизводить комплексные воздействия эксплуатационных факторов. Однако с появлением различных вариантов испытательного оборудования, например, таких как камеры HALT (механическое и тепловое воздействие) или камеры HAST (воздействие повышенной влажности и температуры) стало возможным прово-
© Комиссаров А. В., Шишкин В. В., 2021
дить отбраковочные и ускоренные испытания на надёжность для различных видов электроники. Хотя нужно учитывать, что действующие методические указания не в полной мере обеспечивают возможность проведения таких испытаний.
В области авионики основным нормативным документом по проведению испытаний является отраслевой стандарт ОСТ 1 01204-2012, который определяет типовые методики эквивалентно-циклических нормальных и ускоренных испытаний однородных групп авиационного бортового оборудования (БО) и предполагает возможность использования многофакторных испытаний.
Многофакторные испытания на безотказность
Первые публикации по вопросу многофакторных испытаний на надёжность относятся к работам д. т. н. Острейковского В. А. (1978 г.), где в основу метода многофакторных испытаний положена математическая теория эксперимента [2]. Сущность этого метода заключается в идентификации изменения текущего значения