Научная статья на тему 'Защита информации в автотранспортных системах связи и мониторинга'

Защита информации в автотранспортных системах связи и мониторинга Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
247
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ СВЯЗИ И МОНИТОРИНГА / КОНВЕЙЕРНЫЙ КОДЕК / ПОМЕХОУСТОЙЧИВЫЙ КОД / АЛГОРИТМ КОДИРОВАНИЯ / КОНВЕЙЕРНАЯ ОБРАБОТКА БЛОКОВ / ТРАЕКТОРИЯ ПАКЕТА / ПОТОКОВЫЕ ФУНКЦИИ / СOMMUNICATION AND MONITORING / PIPELINED CODEC / ERROR-CORRECTING CODES / ENCODING ALGORITHM / PIPELINED PROCESSING UNITS / THE TRAJECTORY OF THE PACKAGE / STREAMING FUNCTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пестриков Виктор Михайлович, Маковецкая-абрамова Ольга Валентиновна, Петров Геннадий Алексеевич

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

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

PROTECTION OF INFORMATION IN TRANSPORT SYSTEMS COMMUNICATION AND MONITORING

The article deals with the protection of information in the motor systems due to the use of error-correcting codes. An algorithm is proposed and the structure of encoders and decoders c pipelining of data blocks for the detection and correction of error bursts. It is discussed the problem of systemic, structural, and logical design stages of the proposed structures.

Текст научной работы на тему «Защита информации в автотранспортных системах связи и мониторинга»

УДК 681.325.5-184.4 ЗАЩИТА ИНФОРМАЦИИ В АВТОТРАНСПОРТНЫХ СИСТЕМАХ

СВЯЗИ И МОНИТОРИНГА

В.М.Пестриков1, О.В. Маковецкая-Абрамова2, Г.А. Петров3

Санкт-Петербургский государственный университет сервиса и экономики (СПбГУСЭ), 191015, Санкт-Петербург, ул. Кавалергардская, 7, лит. А

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

Ключевые слова: системы связи и мониторинга; конвейерный кодек; помехоустойчивый код; алгоритм кодирования; конвейерная обработка блоков; траектория пакета; потоковые функции.

PROTECTION OF INFORMATION IN TRANSPORT SYSTEMS COMMUNICATION AND MONITORING

V.M. Pestrikov, O.V. Makovetckaia-Abramova, G. A. Petrov

St. -Petersburg state university of service and economy (SPbSUSE), 191015, St.-Petersburg, street Kavalergardsky, 7 The article deals with the protection of information in the motor systems due to the use of error-correcting codes. An algorithm is proposed and the structure of encoders and decoders c pipelining of data blocks for the detection and correction of error bursts. It is discussed the problem of systemic, structural, and logical design stages of the proposed structures.

Keywords: Сommunication and monitoring; pipelined codec; error-correcting codes ; encoding algorithm; pipelined processing units, the trajectory of the package; streaming function.

Введение

В последние годы в автотранспортные средства интенсивно внедряются различные спутниковые системы связи и мониторинга. Подобные системы позволяют обеспечить такие функции, как: контроль за перемещением автомобилей, дистанционный мониторинг скорости и других важных параметров автомобиля, мониторинг доставки грузов, дистанционная охрана различных объектов, мониторинг времени работы и простоя автомобилей, дистанционная связь с водителем и многие другие. Современные цифровые системы передачи информации, такие как спутниковая, мобильная связь и другие используют беспроводные каналы, которые подвержены воздействию помех различной физической природы. Это приводит к тому, что принятые данные с достаточно высокой вероятностью будут содержать ошибки. В то же время для многих практических применений допустима ограниченная доля ошибок в обрабатываемых дискретных сообщениях. В результате возникает проблема обеспечения надежной передачи цифровой информации по каналам с шумами.

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

никающими при передаче данных по каналам связи с различными помехами:

• обнаружение ошибок в блоках данных и автоматический запрос повторной передачи повреждённых блоков;

• обнаружение ошибок в блоках данных и отбрасывание повреждённых блоков - подход, применяемый в ряде случаев в потоковых мультимедийных системах, в которых отсутствует время на повторную передачу;

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

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

Предлагается алгоритм и структура кодирующих и декодирующих устройств с конвейерной обработкой блоков данных для обна-

ружения и исправления пакетов ошибок, рассматриваются организация и проектирование микропроцессорных конвейерных структур помехоустойчивого кодирования информации для защиты передаваемых данных. Основы организации и проектирования микропроцессорных кодирующих и декодирующих устройств с обнаружением и исправлением ошибок для систем передачи информации рассмотрены в работах [1,2,3].

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

• простота оценки производительности и монотонный характер ее зависимости от числа процессоров;

• функциональная однородность системы и простота ее реконфигурации;

• неисправные процессоры легко исключаются из системы, а восстановление задачи сводится к возврату к контрольной точке программы;

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

Организация конвейерных кодеков

Для организации конвейерных кодеков, например для кода Рида-Соломона (РС), необходимо представить функцию декодирования в виде следующих потоковых функций [2]:

/ (х) = / (/ (/3,4,5 (Л, (/8 )/, (X)))))), (1)

где:

/9(х) = Яв(х)[и(х)] = £(х), обозначим [Р2'(х)];

/8 (х) = (/9 (х)) = , х = а7, 7 = 1,..., 2?, [ ^ (х)];

/, (х) = /, (/ (х) = Л( х), ха7,7 = 1,...,2?, [ ^ (х);

/б (х) = /б (/, (х)) = ^( х), 7 = 1,..., 2?[ ^ (х)];

/5 (х) = /5 (/, (х)) = Л(а7), 7 = 1,..., п, [ ^ (х);

/, (х) = /4 (/, (х)) = Л' (х1), х = а1,

7 = 1,...2?, I = 1,..., ?[^)

/3 (х) = /з (/б (х)) = ^( х1), х = а7,

7 = 1,...,2?, I = 1,..., ?[ ^];

/2 (х) = /2(/3( х)),[/61];

/1( х)=/1( /2( х)),[ *?].

Каждая подфункция (1) в качестве входных данных использует результаты вычислений предыдущей подфункции, первоначальная подфункция f9(x) работает с входным набором данных принятого кодового блока и(х).Представление структурированных про-

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

F (х) = У(Ф( х).

В ККД набор данных представляется в виде пакета (i, х), где: х - блок данных; i - номер ступени, равный индексу подфункции.

После i-й ступени (i, х) пакет преобразуется в новый пакет ((i-1), ^(х)). (9, х) и (0, Дх)) обозначают соответственно входной и выходной пакеты системы в выражении (1). Схема j-го элемента конвейерного кодека приведена на рис. 1,а, на котором П;- - процессор, БД -буфер данных типа FIFO. Каждый процессор может выполнять любую подфункцию в потоковой функции Дх), для чего в его памяти хранятся соответствующие программы. Состояние буфера для j-го пакета определяется следующим образом: если qi = 1, то осуществляется пропуск пакета, а при qi =0 выполняется его обработка.

Алгоритм функционирования процессорного модуля представлен на рис. 1,б.

Управляющая программа процессора считывает входной пакет ступени, анализирует состояние пакета qj , и если qj =1, то производится пропуск пакета, т. е. пакет без изменения записывается в буфер, а процессор считывает новый пакет. Если qj = 0 или данный процессор последний, то производится обработка пакета по программе j-й ступени. При этом j уменьшается на 1, результат обработки записывается в буфер и цикл работы повторяется.

Для оценки производительности конвейерных кодеков представим возможные траектории при движении пакета (рис. 2).

Фаза обработки в процессоре соответствует перемещению пакета по вертикали до ближайшего элемента, фаза пропуска - перемещению по горизонтали. Обозначим через т0 -среднее время выполнения программы в одной ступени конвейерного кодека, ть -среднее время ввода (вывода) пакета; ю - среднее время анализа условий. Пакет перемещается по вертикали через у ступеней обработки, на что требуется время у(т0 + ю), и по горизонтали через z процессоров за время z(xb + ю) и zxb соответственно для ввода и вывода информации. Полное время tm перемещения пакета по некоторой траектории определяется следующим выражением:

tm = Z(2tB +W) +У(Т0 +W).

Время, затраченное процессорами за период Т для обработки пакетов определяется выражением:

Т = Ы[ г(2тв + Ю+у(т0 + Ю)].

(2)

Рисунокі. Конвейерный кодек: а) структурная схема; б) алгоритм функционирования процессора

У р (То +Ю)

ч(п,х)

Пропуск

(п,х)

(п-1,й.(х))

(п-2,й-1(й(х))

• • • •

(0Дх))

п1 п2 п3 пг

(0Дх))

Рисунок 2.Траектория движения пакета в конвейерном кодеке

Выражение (2) справедливо, если ни один из процессоров не простаивает из-за ожидания входной информации. Для таких систем производительность Р измеряется в пакетах в единицу времени и ее можно определить следующим образом:

Р = — =------------1---------. (3)

Т (2тв +ю+у(т0 +ю)

Определим время отклика системы 1;с как средний интервал от входа пакета в систему до его выхода из нее:

?с = — [ г(2Тв +Ю) + у (То +Ю), (4)

где —' - среднее число пакетов, хранящихся в буферах ККД при д= 0. Из (4) следует, что с ростом числа процессоров время отклика также увеличивается. Из (3) определим число процессоров, необходимых для обеспечения заданной производительности Р:

1

1 - р(2тЬ + ю)

Для оценки производительности и времени отклика конвейерного кодека рассмотрена задача декодирования кода РС. Конвейерный кодек кода РС обрабатывает информацию в виде пакетов, которые могут быть обработаны или пропущены различными процессорами ступеней конвейера в зависимости от наличия ошибок в принятом кодом блоке. Для организации кодека сформируем формат пакета, передаваемого через все ступени конвейера (см. рис. 3). Пакет В включает поле 1 для хранения п символов принятого кодового блока У(х), поле 2 для вектора ошибок е(х), поле 3 для 2і символов синдромов, поле 4 для хранения X значений локаторов ошибок и поле 5 для хранения символа д, определяющего состояние пакета. При этом, если д= 0, пакет проходит через ступень с обработкой, в противном случае пакет проходит без обработки.

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

(4) 1,2,...,1

т

Рисунок 3. Формат пакета

Процессор П1 выполняет вычисление синдромного полинома S(x), т. е. реализует функцию деления полиномов с недвоичными коэффициентами ^'2 и также проверяет значение S(x) на нуль. Если S(x)= 0, т. е. если в принятом векторе У(х) нет ошибок, то процессор П1 устанавливает q в 1 и пакет проходит через все ступени без обработки. Если S(x) Ф 0, то П1

устанавливает q своего выходного пакета в 0. При этом в поле 3 пакета записываются 2/1 коэффициентов синдромного полинома S(x). П2 ведет обработку входного пакета при q = 0 и вычисляет синдромы Sj, ]=1,...2 в соответствии с функцией ^%, а также вычисляет отношение Sj/Sj+1 , 7=1,... ,2М.

У(х) п П1 п П2

П6

12 6 7

Рисунок 4. Структурная схема конвейерного кодека

Если это отношение для всех синдромов постоянно, то процессор П2 исправляет единичный пакет ошибок и устанавливает д своего выходного пакета в 1. При этом исправленный блок записывается в поле 1 пакета 3, а в поле 3 помещаются 21 значений синдромов. Если отношение Sj/Sj+l для7=1,...,21>1 не постоянно, то процессор П2 устанавливает д своего выходного пакета в 0. Тогда ПЗ ведет обработку пакета 3 и вычисляет функции Оф) и Л^), их коэффициенты записываются в поле 3 пакета 4, ПЗ устанавливает q пакета 4 в 0. Необходимо отметить, что если q пакета 3 равно 0, то это значение сохраняется до выхода пакета из системы. П4 вычисляет локаторы ошибок хе, е = 1, ..., ^ по процедуре Ченя (выполнение функции ^%), помещает значения хе в поле 4 пакета 5 и в поле 3 помещает (¿+1)/2 коэффициентов полинома производной Л'(х) от Л^) вместо коэффициентов Л(х); коэффициенты О(х) сохраняют свои места в пакете 3. В позициях поля 2 пакета 5, где произошли ошибки, ставятся единицы. Процессор П5 вычисляет значения Л'(х) и О(х) при х=хе, е=1,...,1, и X значений ошибок и помещает их в единичных позициях поля 2, в результате чего формируется пакет 6. Процессор П6 выполняет сложение по модулю два двух векторов (массивов) У(х) и е(х) и передает исправленный блок в поле 1 пакета 7. Каждый из шести процессоров кодека может выполнять программу декодирования кода РС от начала до конца, что важно для повышения живучести системы.

В табл. 1 приведен процент вычислений, выполняемых ступенями кодека. Из таблицы следует, что отсутствует сбалансированность по времени загрузки каждой из шести ступеней, поэтому можно объединить ступени (2, 3) и (4, 5, 6). Таким образом, время обработки в 3-й ступени будет определять производительность системы в целом, а кодек будет состоять из трех процессоров. При введении признака одной ошибки в У(х) процессор ступеней (2, 3)

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

Основные этапы проектирования кодеков. Из анализа разработок кодеков можно сделать следующие выводы:

• наиболее важным и определяющим этапом при разработке кодеков является этап системного проектирования;

• широкий диапазон требований, предъявляемый к кодекам при их проектировании, делает в настоящее время практически неразрешимой задачу выбора оптимальной структуры кодека. Генерация вариантов структур кодеков остается пока монополией высококвалифицированного разработчика, и процесс проектирования достаточно сложных кодеков базируется в основном на эвристических методах;

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

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

Т аблица 1. Процент выполняемых вычислений ступенями кодека

Номер ступени Процент выполняемых вычислений

1 33

2 9

3 18

4 37

5 2

6 1

мых этапах проектирования решаются задачи системного, структурного и логического проектирования.

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

Системный этап проектирования

На системном этапе анализируются требования к кодеку, которые задаются техническим заданием и включают:

• скорость передачи информации в канале;

• тип и число ошибок (одиночные, многократные одиночные, одиночные пакеты);

• длину кодового блока;

• вероятность ошибочного декодирования бита (не выше 10-9), повторение передачи не разрешается; отказ от декодирования и неправильное декодирование равноценны;

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

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

Логический этап проектирования. На

логическом этапе определяются особенности алгоритмов, реализуемых кодеком, и осуществляется их анализ и разработка. Алгоритмы кодирования и декодирования циклических кодов имеют ряд особенностей:

• работа в режиме реального времени;

• выполнение алгебраических операций в полях Галуа;

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

• различные времена обработки блоков в зависимости от отсутствия ошибок, наличия одной или более ошибок.

Разработка алгоритмов осуществляется на основе выделенных микроопераций, таких как сдвиг массива на один разряд или символ, умножение элементов в ОБ(2ц), сложение по модулю два двух массивов, вычисление обрат-

ного элемента в ОБ(2ц), сброс и установка 1-го разряда регистра. На этом этапе определяется полный набор функций кодеков циклических кодов и их декомпозиция.

Структурный этап проектирования

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

В качестве исходного варианта структуры, реализующей алгоритм выполнения функций кодеков, выбирается микропроцессорный кодек, который включает МП, входной и выходной регистры, ЗУ. Для этого выполняются следующие шаги:

• разработка функционально-временной диаграммы при реализации алгоритмов кодека;

• выбор типа МП по критериям, определяемым техническим заданием;

• разработка и отладка программ для МП кодека.

Если МП кодек не удовлетворяет техническому заданию по быстродействию, необходимо использовать методы распараллеливания и конвейеризации алгоритмов и переходить к организации параллельных кодеков. Когда параллельные кодеки на основе серийных МП не обеспечивают требуемое быстродействие, то осуществляется переход к организации структур с функциональными расширителями. Выделение аппаратно-реализуемых функций выполняется в соответствии с рекомендациями в [2]. Дальнейшее повышение быстродействия кодека связано с реализацией максимального параллелизма функции при обработке блока и использованием матричных структур.

Литература

1. Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи: -М.: Радио и связь, 1987. - 392 с.

2. Микропроцессорные кодеры и декодеры/ В.М. Муттер, Г.А.Петров, В.И. Маринкин, В.С. Степанов. - М.:Радио и связь, - 1991. - 184 с.

3. А.С.1134948 СССР. Матричное вычислительное устройство/ Г.А.Петров и др. -

Опубл.1985 Бюлл.№2.

1Пестриков Виктор Михайлович — доктор технических наук, профессор кафедры «Информатика» СПбГУСЭ, тел.+79618059178, e-mail: pvm@yandex.ru;

2Маковецкая-Абрамова Ольга Валентиновна — кандидат технических наук, доцент кафедры «Технология обслуживания транспортных средств» СПбГУСЭ, тел. +79215569306, e-mail: abramova19701970@mail.ru;

3Петров Геннадий Алексеевич — кандидат технических наук, доцент, профессор кафедры «Информатика» СПбГУСЭ, тел. +79062564666, e-mail: pga44@yandex.ru.

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