Научная статья на тему 'О создании программы «Изучение кодов Рида-Соломона»'

О создании программы «Изучение кодов Рида-Соломона» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
493
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОДЫ РИДА-СОЛОМОНА / ПОЛЯ ГАЛУА / ПРОГРАММНАЯ РЕАЛИЗАЦИЯ / КОДИРОВАНИЕ С ИСПРАВЛЕНИЕМ ОШИБОК / ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ / REED-SOLOMON CODE / GALOIS FIELD / SOFTWARE IMPLEMENTATION / ERROR CORRECTION CODE / ERROR CORRECTING CODING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ушаков В.А.

Описывается создание программы «Изучение кодов Рида-Соломона», коды, которые используются в различных областях, в том числе и в ракетно-космической области, а также использование кодов на практике.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON THE ESTABLISHMENT OF THE “STUDY REED-SOLOMON CODES”

It describes the establishment of program “Study of Reed-Solomon codes”, which are used in different areas, including the aerospace area; and in practice the use of codes.

Текст научной работы на тему «О создании программы «Изучение кодов Рида-Соломона»»

¡Программные средства и информационные технологии

3. Zotin A. G., Sayapin A. V., Uchebnaja raspredelen-naja sistema upravlenija mobil'noj kolesnoj platformoj s ispol'zovaniem video- i sensornoj informacii [Educational distributed system for mobile wheeled platform control using video and sensor information] // Programmnye pro-dukty i sistemy. 2016. № 1, pp. 146-151.

4. Sayapin A. V., Zotin A. G., Sistema upravlenija dvizheniem avtonomnoj kolesnoj platformy [Movement

control system for an autonomous wheeled platform] // Reshetnevskie chteniya, 2015. P. 2, pp. 187-189.

5. Nikolay Grigoryev Arduino Educational Robotics Kit, Autonomous / RC controlled. URL: http://www. thingiverse.eom/thing:1398660 (accessed 16.09.2016).

6. Pyfuzzy - Python fuzzy package. URL: http:// pyfuzzy.sourceforge.net/ (accessed: 16.09.2016).

© CaanHH A. B., 3OTHH A. r., 2016

УДК 004.422.81

О СОЗДАНИИ ПРОГРАММЫ «ИЗУЧЕНИЕ КОДОВ РИДА-СОЛОМОНА»

В. А. Ушаков

Санкт-Петербургский государственный университет аэрокосмического приборостроения Российская Федерация, 190000, г. Санкт-Петербург, ул. Большая Морская, 67 E-mail: mr.vitaly.ushakov@yandex.ru

Описывается создание программы «Изучение кодов Рида-Соломона», коды, которые используются в различных областях, в том числе и в ракетно-космической области, а также использование кодов на практике.

Ключевые слова: коды Рида-Соломона, поля Галуа, программная реализация, кодирование с исправлением ошибок, помехоустойчивое кодирование.

ON THE ESTABLISHMENT OF THE "STUDY REED-SOLOMON CODES"

V. A. Ushakov

Saint-Petersburg State University of Aerospace Instrumentation 67, Bolshaya Morskaya Str., Saint-Petersburg, 190000, Russian Federation E-mail: mr.vitaly.ushakov@yandex.ru

It describes the establishment of program "Study of Reed-Solomon codes", which are used in different areas, including the aerospace area; and in practice the use of codes.

Keyword: Reed-Solomon code, Galois field, software implementation, error correction code, error correcting coding.

Многие наверняка слышали о существовании помехозащитных кодов Рида-Соломона [1], которые были изобретены в 1960 году сотрудниками лаборатории Линкольна Массачусетского технологического института. Однако эффективные алгоритмы декодирования были предложены в 70-е годы XX века. А первое применение код Рида-Соломона получил в лишь 1982 году из-за отсутствия достаточных вычислительных мощностей ЭВМ. Сегодня они широко используются в устройствах передачи и хранения данных для обнаружения и исправления ошибок. Область их применения необычайно широка: коды Рида-Соломона над полем Галуа GF(28) можно найти в системах цифровой записи CD-ROM и DVD, а также наземных системах HDTV, расширенные (128, 122, 7) коды HC над GF(27) - для модемов на кабельных линиях [2]. Кроме этого, они используются при передаче данных по сетям WiMAX, в оптических линиях связи, в спутниковой и радиорелейной связи. И конечно, они используются в ракетно-космической области,

а именно, в системах передачи космических данных и информации, о чем рассказано в [3]. Кроме того, можно упомянуть знаменитый (255, 223, 33) код в системах космической связи НАСА(^А^А) [2].

Программная реализация корректирующих кодов Рида-Соломона достаточно сложна и требует определенной математической подготовки, поэтому для облегчения этой задачи и помощи в изучении этой темы была создана программа «Изучение кодов Рида-Соломона» [4]. В приложении реализованы следующие основные этапы решения: построение расширенного поля Галуа, несистематическое кодирование, проверка кодовых слов, а также декодеры по алгоритму Евклида (определение синдромов, процедура Ченя, метод Форни) и по алгоритму Питерсона-Горенстейна-Цирлера. Теоретической основой для разработки послужили материалы из [5].

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

<Тешетневс^ие чтения. 2016

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

Программный продукт реализован на языке C++ -чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В качестве средства разработки был выбран Microsoft Visual Studio, так как он обладает следующими достоинствами:

- создание приложений для любой платформы;

- конструкторы, редакторы, отладчики и профилировщики в одном инструменте;

- доступ к тысячам расширений.

Коды Рида-Соломона являются очень популярными на практике. Некоторые возможности их применения были описаны в начале статьи, еще один случай будет описан ниже. Например, эти коды используются для кодирования сообщений при передаче по UDP-протоколу [6], используя .NET Remoting. Описанный вид кодирования применяется в каналах, где пакеты ошибок могут образовываться так часто, что их нельзя исправить, применив коды, исправляющие одиночные ошибки. Кодер и декодер Рида-Соломона отличается своей простой, в сравнении с другими кодами, исправляющими пакеты ошибок. Данное решение можно использовать при разработке приложений, осуществляющих передачу мультимедийной информации в сетях, построенных и функционирующих в условиях, приводящих к потере и искажению информации; это позволит повысить эффективность и надежность уже созданных приложений при минимальных временных и материальных затратах на модификацию кода [7].

Таким образом, в данной статье было рассказано о программе «Изучение кодов Рида-Соломона» и о частом применении кодов Рида-Соломона, что доказывает необходимость тщательного изучения данной темы.

Библиографические ссылки

1. Колесник В. Д. Кодирование при передаче и хранении информации (Алгебраическая теория блоковых кодов). М. : Высш. шк., 2009. 550 с.

2. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / пер. с англ. В. Б. Афанасьева. М. : Техносфера, 2006. 320 с.

3. ГОСТ Р 56096-2014. Система передачи космических данных и информации. Пакетная телеметрия. М. : Стандартинформ, 2015. 20 с.

4. Ushakov V. Development Program help in the study of Reed-Solomon Codes // Proceedings of 17th Conference of Open Innovations Association FRUCT. St-Petersburg, 2015. Pp. 354.

5. Марковский С. Г., Тюрликов А. М. Элементы теории помехоустойчивого кодирования : учеб. пособие. СПб. : ГУАП, 2014. 95 с.

6. RFC 768 (Request for comments) User Datagram Protocol.

7. Бардин Д. С., Карпухин Е. С. Обеспечение надежной доставки по протоколу UDP с использованием кодов Рида-Соломона // Труды МАИ. 2010. № 39. С. 14.

References

1. Kolesnik V. D. Kodirovanie pri peredache i khranenii informatsii (Algebraicheskaya teoriya blokovykh kodov) [Coding in the transmission and storage of information (Algebraic theory of block codes)]. Moscow, Vysshaya shkola Publ., 2009. 550 p.

2. Morelos-Saragosa R. Iskusstvo pomekhoustoy-chivogo kodirovaniya. Metody, algoritmy, primenenie [Art error-correcting coding. The methods, algorithms, applications]. Moscow, Tekhnosfera Publ., 2006. 320 p.

3. GOSTR 56096-2014. Sistema peredachi kosmicheskikh dannykh i informatsii. Paketnaya telemetriya [State Standard R 56096-2014. The transmission system of space data and information. Batch telemetry]. Moscow, Standartinform Publ., 2015. 20 p.

4. Ushakov V. Development Program help in the study of Reed-Solomon Codes. Proceedings of 17th Conference of Open Innovations Association FRUCT, St-Petersburg, April, 2015, pp. 354.

5. Markovskiy S. G., Tyurlikov A. M. Elementy teorii pomekhoustoychivogo kodirovaniya [Elements of the theory of error-correcting coding]. Saint-Petersburg, GUAP Publ., 2014. 95 p.

6. RFC 768 (Request for comments) User Datagram Protocol.

7. Bardin D. S., Karpukhin E. S. [Ensuring reliable delivery over UDP using Reed-Solomon codes]. Trudy MAI. 2010, No. 39, P. 14. (In Russ.). Available at: http://www.mai.ru/science/trudy/published.php?ID=14801 (accessed: 01.09.2016).

© Ушаков В. А., 2016

i Надоели баннеры? Вы всегда можете отключить рекламу.