Научная статья на тему 'Управление достоверностью передачи данных в информационных системах'

Управление достоверностью передачи данных в информационных системах Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Управление достоверностью передачи данных в информационных системах»

УДК 621.3 Гришко А.К.

ФГБОУ ВПО «Пензенский государственный университет», Пенза, Россия

УПРАВЛЕНИЕ ДОСТОВЕРНОСТЬЮ ПЕРЕДАЧИ ДАННЫХ В ИНФОРМАЦИОННЫХ СИСТЕМАХ

Управление достоверностью передачи информации выполняется с помощью помехоустойчивого кодирования[1,3,4]. Различают коды, обнаруживающие ошибки, и корректирующие коды, которые дополнительно к обнаружению еще и исправляют ошибки. Помехозащищенность достигается с помощью введения избыточности. Устранение ошибок с помощью корректирующих кодов реализуют в симплексных каналах связи[2,4,8]. В дуплексных каналах достаточно применения кодов, обнаруживающих ошибки, так как сигнализация об ошибке вызывает повторную передачу от источника[5-7,9] . Это основные методы, используемые в информационных сетях.

ОБЩИЕ СВЕДЕНИЯ О КОДЕ РИДА-СОЛОМОНА

Коды Рида-Соломона (англ. Reed-Solomon codes) — недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида-Соломона, работающие с байтами (октетами). Код Рида-Соломона является частным случаем БЧХ-кода (Кода Боуза-Чоудхури-Хоквингхема).

В настоящее время широко используется в системах восстановления данных с компакт-дисков, при создании архивов с информацией для восстановления в случае повреждений, в помехоустойчивом кодировании.

Код Рида-Соломона был изобретён в 1960 году сотрудниками лаборатории Линкольна Массачуссет-ского технологического института Ирвином Ридом (англ.) и Густавом Соломоном (англ.). Идея использования этого кода была представлена в статье «Polynomial Codes over Certain Finite Fields». Первое применение код Рида-Соломона получил в 1982 году в серийном выпуске компакт-дисков. Эффективные алгоритмы декодирования были предложены в 1969 году Элвином Берлекэмпом (англ.) и Джэймсом Месси (алгоритм Берлекэмпа-Мэсси) и в 1977 году Давидом Мандельбаумом (англ.) (метод, использующий Алгоритм Евклида).

Формальное описание:

Коды Рида-Соломона являются важным частным случаем БЧХ-кода, корни порождающего полинома которого лежат в том же поле, над которым строится код (т = 1). Пусть а - элемент поля GF(q) порядка п. Если а - примитивный элемент, то его порядок равен q = 1, то есть а4-1 = 1, а1 ф 1, 0< i < q — 1. Тогда нормированный полином д(х) минимальной степени над полем GF(q), корнями которого являются d = 1 подряд идущих степеней а'0, а1°+1, ..., al°+d-2 элемента а, является порождающим полиномом кода Рида-Соломона над полем GF(q):

д(х) = (х — а'° )(х — а'°+1). (a'°+d-2), (1)

где 10 - некоторое целое число (в том числе 0 и 1), с помощью которого иногда удается упростить кодер. Обычно полагается 10 = 1. Степень многочлена д(х) равна d — 1. Длина полученного кода п , минимальное расстояние d (минимальное расстояние d линейного кода является минимальным из всех расстояний Хемминга всех пар кодовых слов). Код содержит г = d — 1 = deg (д(х)) проверочных символов, где deg () обозначает степень полинома; число информационных символов к = п—г= n — d + 1. Таким образом d = п — к + 1 и код Рида-Соломона является разделимым кодом с максимальным расстоянием (является оптимальным в смысле границы Синглтона).

Кодовый полином с(х) может быть получен из информационного полинома т(х), degт(х) <к — 1, путем перемножения т(х) и д(х):

с(х) = т(х)д(х), (2)

Свойства:

Код Рида-Соломона над GF(qm), исправляющий t ошибок, требует 2t проверочных символов и с его

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

Код, двойственный коду Рида-Соломона, есть также код Рида-Соломона. Двойственным кодом для циклического кода называется код, порожденный его проверочным многочленом. Матрица С = порождает код Рида-Соломона тогда и только тогда когда любой минор матрицы Р^,(п-к) отличен от нуля.

При выкалывании или укорочении кода Рида-Соломона снова получается код Рида-Соломона. Выкалывание - операция, состоящая в удалении одного проверочного символа. Длина п кода уменьшается на единицу, размерность к сохраняется. Расстояние кода d должно уменьшиться на единицу, ибо в противном случае удаленный символ был бы бесполезен. Укорочение - фиксируем произвольный столбец (п, к, d) кода и выбираем только те векторы, которые в данном столбце содержат 0. Это множество векторов образует подпространство.

Исправление многократных ошибок:

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

(цт — 1, qm — 1 — 2£) - код Рида-Соломона над полем СР^т) с кодовым расстоянием d = 2Ь + 1 можно рассматривать как — 1)т,^т — 1 — 2£)т) - код

над полем СР(^), который может исправлять любую комбинацию ошибок, сосредоточенную в Ь или меньшем числе блоков из т символов. Наибольшее число блоков длины т, которые может затронуть пакет длины /¡, где 11<тХ1 — (т — 1), не превосходит ^, поэтому код, который может исправить t блоков ошибок, всегда может исправить и любую комбинацию из р пакетов общей длины I, если I + (т— 1) < пИ.

Практическая реализация:

Кодирование с помощью кода Рида-Соломона может быть реализовано двумя способами: систематическим и несистематическим[6,7]. При несистематическом кодировании информационное слово умножается на некий неприводимый полином в поле Галуа. Полученное закодированное слово полностью отличается от исходного и для извлечения информационного слова нужно выполнить операцию декодирования и уже потом можно проверить данные на содержание ошибок. Такое кодирование требует большие затраты ресурсов только на извлечение информационных данных, при этом они могут быть без ошибок[6,7]. При систематическом кодировании к информационному блоку из к символов приписываются 21 проверочных символов, при вычислении каждого проверочного символа используются все к символов исходного блока[5-7]. В этом случае нет затрат ресурсов при извлечении исходного блока, если информационное слово не содержит ошибок, но кодировщик/декодировщик должен выполнить к(п — 1) операций сложения и умножения для генерации проверочных символов. Кроме того, так как все операции проводятся в поле Галуа, то сами операции кодирования/декодирования требуют много ресурсов и времени. Быстрый алгоритм декодирования, основан-

ный на быстром преобразовании Фурье, выполняется за время порядка 0(1п(п)2).

Кодирование:

При операции кодирования информационный полином умножается на порождающий многочлен. Умножение исходного слова 5 длины к на неприводимый полином при систематическом кодировании можно выполнить следующим образом: К исходному слову приписываются 2{ нулей, получается полином Т =Бх2. Этот полином делится на порождающий полином С, находится остаток Я, Бх21 = QG + Я, где <2 - частное. Этот остаток и будет корректирующим кодом Рида-Соломона, он приписывается к исходному блоку символов. Полученное кодовое слово С = Бх21 + Я.

Кодировщик строится из сдвиговых регистров, сумматоров и умножителей. Сдвиговый регистр состоит из ячеек памяти, в каждой из которых находится один элемент поля Галуа.

Существует и другая процедура кодирования (более практичная и простая). Положим а1Е СР(ц), (г = 1,2,..., к — 1), аЕСР(ц) - примитивный элемент поля СР(д), и пусть а = (а0, а1,., ак-1) - вектор информационных символов, а значит а(х) = а0 + а1х + —+ ак-1хк-1 - информационный многочлен. Тогда вектор и = (а(1), а(а),..., а(а4-2)) есть вектор кода Рида - Соломона, соответствующий информационному вектору а. Этот способ кодирования показывает, что для кода Рида - Соломона вообще не нужно знать порождающего многочлена и порождающей матрицы коды, достаточно знать разложение поля СР(ц) по примитивному элементу а, и размерность кода к (длина кода в этом случае определяется как п = ц — 1). Все дело в том, что

за разностью п—к полностью скрывается порождающий многочлен д(х) и кодовое расстояние. Декодирование:

Декодировщик, работающий по авторегрессивному спектральному методу декодирования, последовательно выполняет следующие действия: Вычисляет синдром ошибки Строит полином ошибки Находит корни данного полинома Определяет характер ошибки Исправляет ошибки Применение:

Сразу после появления (60-е годы 20-го века) коды Рида-Соломона стали применяться в качестве внешних кодов в каскадных конструкциях, использующихся в спутниковой связи. В подобных конструкциях -ые символы Рида-Соломона (их может быть несколько) кодируются внутренними сверточ-ными кодами. На приемном конце эти символы декодируются мягким алгоритмом Витерби (эффективный в каналах с АБГШ) . Такой декодер будет исправлять одиночные ошибки в д-ичных символах, когда же возникнут пакетные ошибки и некоторые пакеты д-ичных символов будут декодированы неправильно, тогда внешний декодер Рида-Соломона исправит пакеты этих ошибок. Таким образом, будет достигнута требуемая надежность передачи информации. В настоящий момент коды Рида-Соломона имеют очень широкую область применения благодаря их способности находить и исправлять многократные пакеты ошибок.

Для программной реализации имитации работы кода был выбран код Рида-Соломона, который способен обнаруживать и исправлять 2 ошибки или 4 стирания.

ЛИТЕРАТУРА

1. Гришко А.К., Юрков Н.К., Кочегаров И.И. Методология управления качеством сложных систем / Труды Международного симпозиума Надежность и качество. — Пенза: 2014. - Т. 2. - С. 377-379

2. Гришко А.К., Юрков Н.К., Артамонов Д.В., Канайкин В.А. Системный анализ параметров и показателей качества многоуровневых конструкций радиоэлектронных средств / Прикаспийский журнал: управление и высокие технологии. 2014. № 2 (26). С. 77-84.

3. Гришко А.К. Технология радиоэлектронных средств. - Пенза: 2007. - 344 с.

4. Зудов А.Б., Гришко А.К. Интерфейсы на естественном языке как связь нейронных сетей с экспертными системами / В мире научных открытий. - Красноярск: - 2010. №5-1. С. 119-122.

5. Шибанов С.В., Яровая М.В., Шашков Б.Д., Кочегаров И.И., Трусов В.А., Гришко А.К. Обзор современных методов интеграции данных в информационных системах / Труды Международного симпозиума Надежность и качество. — Пенза: 2010. - Т. 1. - С. 292-295

6. Дзюба Е.А., Шибанов С.В., Хмелевской Б.Г., Кочегаров И.И., Гришко А.К. Отображение метаданных в реляционную модель данных / Труды Международного симпозиума Надежность и качество. — Пенза: 2010. - Т. 1. - С. 295-297

7. Кочегаров И.И. Система управления жизненным циклом изделий на основе универсальной технологической платформы // Труды международного симпозиума Надежность и качество. 2010. Т. 2. С. 424-426.

8. Кочегаров И.И. Распознавание параметров элементов при передаче данных при межсистемном взаимодействии // Труды международного симпозиума Надежность и качество. 2005. Т. 1. С. 512-514.

9. Шибанов С.В., Фишбейн А.И., Шашков Б.Д., Григорьев А.В, Гришко А.К. Проблемы отображения данных в информационных системах и подходы к их решению / Труды Международного симпозиума Надежность и качество. — Пенза: 2010. - Т. 1. - С. 301-306

УДК 621.865.8

Жумабаева А.С., Ергалиев Д.С.

Евразийский Национальный университет им. Л.Н. Гумилева, г. Астана, Казахстан РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОГО УРОВНЯ УПРАВЛЕНИЯ РОБОТОТЕХНИЧЕСКИМ КОМПЛЕКСОМ

Введение

Общепризнано, что микропроцессоры - это принципиальный шаг в развитии средств электронной автоматики и обработки данных. Микропроцессоры дешевы, компактны, обладают программным управлением и отличаются высоким быстродействием. Такое сочетание свойств позволяет на единой технологической и схемотехнической базе, т. е. только за счет программирования, получить специализированные вычислительные устройства, пригодные для использования в науке, на производстве, на транспорте, в медицине, в быту и многих других сферах.

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

обслуживания систем, с одной стороны, а также полнота и сложность выполняемых ими функций, с другой.

На основе микропроцессоров, выпускается множество видов контроллеров, в том числе и для управления различными производственными процессами, а так же, для контроля за ними.

В начале 1998 года фирма Ас1уа^есЬ приступила к выпуску своего очередного продукта - АБАМ-5510, продолжив линию АБАМ-5000. Ничего революционного просто к серии базовых блоков АБАМ-5000/485 и АБАМ-500 0/САЫ, ориентированных на работу с управляющей машиной верхнего уровня в режиме «вопрос - ответ» по одному из популярных промышленных интерфейсов, добавился еще один - программируемый.

Появление модуля АБАМ-5510 позволило расположить управляющую программу пользователя

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