Наука к Образование
МГТУ им. Н.Э. Баумана
Сетевое научное издание
Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2014. № 12. С. 128-136.
Б01: 10.7463/0815.9328000
Представлена в редакцию: Исправлена:
© МГТУ им. Н.Э. Баумана
УДК 004.457
Универсальная библиотека построения
интерфейса оператора радиолокационной станции
*
Каранкевич А. А., Коротеев Д. Е., Нефедов
С. И.
##.##.2014 ##.##.2014
1МГТУ им. Н.Э. Баумана, Москва, Россия
Статья описывает результаты разработки программной библиотеки, используемой в НИИ РЭТ МГТУ им. Баумана при создании радиолокационных станций различных диапазонов волн. В библиотеку на этапе проектирования заложен функционал, позволяющий решать ряд задач, так или иначе решаемых любым АРМ современной РЛС: отображение результатов первичной и вторичной обработки; возможность вывода дополнительной служебной информации; управление РЛС вплоть до уровня настройки параметров отдельных блоков; приемлемое быстродействие; возможность переноса данного интерфейса на максимально возможное число программно -аппаратных платформ. Приведены структура и описание основных графических компонентов, используемых в работе, а также показана работа готового интерфейса, основанного на данной библиотеке, на примере макета сверхкороткоимпульсной радиолокационной станции.
Ключевые слова: интерфейс, обработка, данные, виджет, библиотека, радиолокация
Введение
Широкое распространение персональных компьютеров, средств разработки и высокоскоростных интерфейсов связи привело к тому, что зачастую в современных РЛС в качестве консоли оператора можно использовать решение, построенное на платформе ПК, либо на аналогичной платформе. Также можно утверждать, что любая РЛС, независимо от своего предназначения, оперирует ограниченным набором различных типов данных и зачастую использует типовые способы представления данных оператору.
С другой стороны, большое разнообразие программных и аппаратных платформ привело к одновременному существованию различных реализаций интерфейса РЛС, решающих по сути одну и ту же задачу, но несовместимых между собой. Некоторые полученные решения оказываются привязаны к конкретной платформе [10], и их модернизация оказывается затруднена.
Эти факты послужили предпосылками к разработке универсальной библиотеки, которую можно было бы использовать для быстрой разработки автоматизированного рабочего места (АРМ) оператора радиолокационной станции. Ключевым требованием, предъявляе-
мым к данной библиотеке, являлась ее универсальность и независимость от конечной платформы и сферы применения.
Перед разработчиками библиотеки была поставлена задача: разработать набор элементов интерфейса, реализующих следующий функционал:
• Отображение результатов первичной и вторичной обработки.
• Возможность вывода дополнительной служебной информации.
• Управление РЛС вплоть до уровня настройки параметров отдельных блоков.
• Приемлемое быстродействие.
1. Типы данных
Можно выделить следующие типы данных, поступающие от РЛС, с точки зрения их физического представления [8].
Сигнальные данные. К таким данным относятся непосредственно оцифрованные данные, полученные с приемника. Как правило, в конечной версии АРМ отсутствует необходимость обращаться непосредственно к сигнальным данным, однако в процессе настройки и отладки они зачастую необходимы. Сигнальные данные представляют собой массивы данных, содержащие амплитуду либо квадратурные составляющие сигнала.
Данные первичной обработки - это данные, полученные в результате процесса обнаружения. Они представлены в виде отдельных отсчетов, содержащих координаты, а также могут содержать некоторые метаданные, такие как амплитуда отметки. В случае, если РЛС осуществляет селекцию целей, метаданные могут содержать данные результатов селекции.
Данные траекторной обработки. Данные, полученные в результате траекторной обработки, являются массивами отсчетов, дополненными общими метаданными. Сами массивы содержат координаты отсчетов траекторий, а метаданные содержат индекс траектории и могут содержать некоторые дополнительные параметры.
Статичные объекты - это объекты, информация о которых может быть получена независимо от РЛС. Такими объектами могут быть, к примеру, опорные точки на местности или область обзора станции.
2. Общие свойства
Для того, чтобы удовлетворить требованиям к интерфейсу, была выбрана программная библиотека Qt [1]. Данная библиотека разработана для языка С++ и содержит в себе набор готовых элементов интерфейса - так называемых виджетов. Помимо этого, в ней присутствует большое количество вспомогательных функций системного характера для работы с файлами, временем, коммуникационными интерфейсами, базами данных и т. д. Библиотека является кросс-платформенной, представлена в операционных системах семейств Windows, Linux, Mac OS, а также существуют пока еще экспериментальные версии библиотеки для мобильных платформ Android и iOS [2]. Иными словами, приложение,
разработанное на основе Qt, может быть собрано для работы на любой из представленных платформ.
Помимо наличия готовых элементов интерфейса, библиотека Qt предоставляет средства для разработки собственных виджетов и содержит в себе мощные средства для рисования. В частности, Qt хорошо интегрирована с OpenGL [3][4] - открытой графической библиотекой, которая также активно использовалась при разработке.
Любой интерфейс, построенный на библиотеке Qt, представляет собой набор прямоугольных виджетов. Виджеты могут располагаться друг на друге в любом порядке и в любой конфигурации. Виджет, который не располагается ни на одном другом, является окном приложения. Существующие средства Qt позволяют организовывать виджеты таким образом, что интерфейс будет пропорционально изменяться и подстраиваться под произвольное разрешение экрана, что позволяет сделать его максимально гибким[1].
Виджеты, разработанные в рамках создания универсального АРМ, можно разделить на следующие группы:
• виджеты управления;
• виджеты отображения.
1.1. Виджеты управления
В рамках разработки виджетов управления была поставлена задача написать наиболее универсальный виджет, при помощи которого можно было бы настраивать любой программный блок. При этом была поставлена задача максимально унифицировать конфигурацию таких блоков и скрыть от человека рутинные операции, такие как сохранение конфигурации в файл или пересылка по сети.
Было принято решение организовать конфигурацию в виде дерева. Такой подход имеет ряд очевидных преимуществ [6] :
• возможность неограниченного наращивания конфигурации;
• возможность работать с конфигурацией по частям, скрывая отображение не интересующих ветвей;
• в вырожденном случае дерево без подразделов превращается в простую линейную конфигурацию.
На рис. 1 представлен пример, в котором настройки модуля и его статус представлены в виде таких деревьев. При этом настройки сгруппированы в несколько разделов и доступны для редактирования, в то время как статус модуля представляет несколько переменных, не объединенных в группу, доступных только для чтения.
Гэрлыетры модуля ]РЕ>ЧИМ р£ ДыаиРО£АНИ«| Статут модуля
Им« Зн»ч«ние Имя |
1 0 0а<эвиК№ 0
и ■ >лч РагъВ^КМЧ а
бепЫТР |ЛН ОвпРЫягМигп 1гщв Ьиг 120 10 А 100 в р |0| -из 111 о 121 о а V (01 10 111 о -1 121 0 П СЫ) 20 . П ГШ1 п» 1 плп ^
Отменить релаип^роазние
Рис. 1. Пример древовидной конфигурации.
К преимуществам разработанной библиотеки можно отнести сравнительную простоту создаваемой конфигурации. Достаточно один раз в одном месте программного кода описать структуру дерева со всеми переменными и их типами. После этого, имея всего лишь указатель на корневой элемент дерева, можно отображать дерево в виджетах, сохранять в конфигурационный файл или наоборот, заполнять значениями из конфигурационного файла. Также присутствуют функции для преобразования дерева в двоичный формат и обратно для передачи по сетевым интерфейсам.
Стоит отметить, что можно не только использовать стандартные виджеты, отображающие дерево, но и разрабатывать специализированные интерфейсы управления и настройки, использующие данную конфигурацию. Существующий функционал позволяет легко находить отдельные элементы внутри дерева, не требуя от программиста реализации каких-либо алгоритмов поиска.
1.2. Виджеты отображения
Основное назначение АРМ - отображение радиолокационных данных. Был разработан ряд виджетов, обеспечивающих отображение данных в различном виде. Все они работают в универсальных безразмерных координатах без привязки к физическим величинам, однако они также содержат в себе средства для автоматического преобразования безразмерных координат к реальным физическим величинам, которым они соответствуют. Данное преобразование происходит на этапе отображения.
Все виджеты отображения поддерживают пост-свечение. Любая отметка, появившаяся на интерфейсе, пропадает не мгновенно, а за определенное время, задаваемое пользователем. С одной стороны, это позволяет не терять редкие отметки, а с другой — позволяет визуально выделять отметки от цели на фоне шумов за счет того, что отметки от цели пространственно коррелированы, а шум - нет. В то же время, если цель движется, она в процессе движения оставляет затухающий шлейф, по которому оператору значительно проще определить ее положение. Пример работы пост-свечения приведен на рис. 2. В
приведенном примере матрица содержит шум и две цели, одна из которых покоится, а вторая — движется по окружности.
Также в интерфейсе можно использовать произвольную цветовую палитру, при помощи которой задается соответствие амплитуды отметки и ее цвета. По умолчанию наиболее слабым отметкам соответствует синий цвет, а наиболее сильным - зеленый. Тем не менее, пользователь может создать свою палитру цветов при помощи специального редактора, представленного на рис. 3.
Рис. 3. Редактор палитры.
В библиотеке реализованы следующие виджеты.
Матрица. Отображает прямоугольную область произвольных размеров. Матрицу можно использовать, например, при отображении первичных данных в координатах «дальность-скорость». Пример работы матрицы представлен на рис. 4. На рисунке представлена матрица, по горизонтальной оси которой отложена дальность, а по вертикальной оси - скорость. Обе величины представлены в «каналах». На матрице присутствует шум, две цели и одна траектория. Цель за счет длительного времени затухания (3 с) оставляет за собой протяженный «хвост». Дополнительно на матрицу выводится результат траектор-ной обработки в виде желтой линии. Квадрат соответствует последним координатам цели. В левой части графика можно видеть серую прерывистую линию с крестом на конце. Она соответствует сброшенной траектории, которая еще не затухла полностью.
Рис. 4. Матрица.
Водопад. Данный интерфейс предназначен для мониторинга отдельно взятых параметров. По горизонтальной оси откладывается интересующая величина, а по вертикальной - время. В процессе работы по мере обновления данных водопад сдвигается ниже и на пустое место записываются новые данные. Это позволяет отследить хронологию измерения параметра за достаточно длительный период. Водопад не поддерживает постсвечение, так как в этом нет необходимости. Пример работы водопада представлен на рис. 5. По горизонтальной оси водопада отложен пеленгационный азимут. Наблюдаемая картина является результатом имитации движения двух целей вокруг равносигнального направления с наложением шумовых отметок в круговой области вокруг равносигнально-го направления.
Рис. 5 Водопад.
Индикатор кругового обзора (ИКО). Данный индикатор является стандартным для любой обзорной РЛС, так как позволяет получить изображение без геометрических искажений. ИКО реализован полностью аналогично матрице, однако работает в полярной системе координат. Пример ИКО приведен на рис. 6.
Рис. 6. Индикатор кругового обзора.
Путем компоновки приведенных виджетов в одно приложение и настройки преобразования данных для конкретной РЛС можно разработать АРМ оператора в кратчайшие сроки. При этом полученное решение может быть легко портировано на любую программную платформу, на которой доступны операционные системы семейств Windows, Linux или Mac OS.
3. Внедрение библиотеки
Данная библиотека использовалась при разработке макета сверхкороткоимпульсной радиолокационной станции (СКИРЛ) [7], [9] в НИИ РЭТ МГТУ им. Баумана. Для нужд радара требовались два виджета: матрица и ИКО. Каждый виджет был дополнен двумя плоскими графиками, отображающими сечение принятых данных в позиции курсора. При этом, в силу специфики работы аппаратуры, пост-свечение не требовалось: данные выдавались с интервалом около 1 с, поэтому можно было не бояться пропадания редких данных из-за слишком быстрой смены кадров.
При обработке данных в радар-процессоре осуществлялась селекция движущихся целей. При этом неподвижные цели не отсекались. Вместо этого подвижным целям назначалась большая амплитуда, чем неподвижным. Одновременно с этим в виджетам отображения назначались специальная палитра. Она строилась по следующим правилам:
• в диапазоне от 0 до максимально возможной амплитуды фоновых отметок цвет линейно изменяется от полностью черного до полностью зеленого;
• в диапазоне от максимально возможной амплитуды фоновых отметок до общей максимальной амплитуды цвет линейно изменяется от красного до желтого.
Подвижные цели определялись путем сравнения принятых данных со статистикой, набранной по каждому элементу разрешения области ответственности РЛС. В качестве статистических данных вычислялось математическое ожидание и дисперсия отметок. В случае, если принятая отметка по своей амплитуде сильно отличается от статистики, собранной ранее, амплитуда такой отметки искусственно завышается радар-процессором, и на экране можно наблюдать отметку в других цветах.
Такой алгоритм селекции можно продемонстрировать на примере следующего эксперимента. В ходе эксперимента в поле в области видимости радара находились 2 человека. На момент начала эксперимента они стояли неподвижно, и на интерфейсе они отображались так, как будто они являются частью подстилающей поверхности. На рис. 7 представлен внешний вид окна отображения с включенным интерфейсом «Индикаторо кругового обзора». Сетка отключена. В центральной части можно видеть две отметки от людей, стоящих в поле.
После того, как люди пришли в движение, система СДЦ сразу выделила людей на фоне подстилающей поверхности и увеличила амплитуду этих отметок. При этом цвет отметок сменился на красный, в соответствии с палитрой. На рис. 8 представлен внешний вид окна отображения программы после в процессе движения людей в направлении радара.
Рис. 7. Два человека в поле.
Рис. 8. Два человека идут в направлении РЛС.
В ходе данного эксперимента была обнаружена особенность системы СДЦ. Статистика, накопленная на предыдущих тактах работы, приводила к появлению ложных отметок, отображаемых как отметки от неподвижных предметов. На рисунке они выглядят как шлейф, оставленный движущейся целью, а также как два пятна в том месте, в котором объекты находились достаточно продолжительное время.
Заключение
В ходе разработки была создана уникальная программная библиотека, позволяющая разработать интерфейс автоматизированного рабочего места оператора РЛС в виде прикладного приложения для одной из современных операционных систем. Библиотека активно используется в НИИ РЭТ МГТУ им. Баумана при разработке новых РЛС как на этапе отладки, так и для построения конечного изделия. Особенностью библиотеки является ее независимость от программной платформы и от сферы применения. Впервые было предложено решение, применимое для любого программного комплекса, обслуживающего современную РЛС.
Статья выпущена в рамках НИОКТР "Реализация комплексного проекта по созданию высокотехнологичного производства радиолокационного комплекса для системы управления воздушным движением с удаленной диспетчеризацией", выполняемой МГТУ им. Н.Э. Баумана совместно с ОАО "РТИ" в рамках комплексного проекта по созданию высокотехнологичного производства, в целях реализации постановления Правительства Российской Федерации от 9 апреля 2010 г. № 218 «О мерах государственной поддержки развития кооперации российских высших учебных заведений, государственных научных учреждений и организаций, реализующих комплексные проекты по созданию высокотехнологичного производства», при финансовой поддержке по проекту Министерства образования и науки Российской Федерации.
Список литературы
1. Шлее М. Qt 4.5. Профессиональное программирование на С++. - СПб.: БХВ-Петербург, 2010.
2. http://qt-project.org
3. D. Shreiner, G. Sellers, J.Kessenich, B. Licea-Kane. OpenGL programming guide (the «Red Book»).
4. http://opengl.com
5. Advanced Linux Programming (http://www.advancedlinuxprogramming.com/)
6. Д. Кнут. Искусство программирования. Том 3. Сортировка и поиск. Пер. В. Тертыш-ный, и. Красиков.
7. В. Н. Скосырев. Повышение информативности радиолокационных систем на основе технологий сверхширокоплосных сигналов. «Журнал радиоэлектроники» №7, 2012.
8. Информационные технологии в радиотехнических системах: учебное пособие / под ред. И.Б. Федорова. — Изд. 3 перераб. и доп. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2011.
9. Радиолокационная система контроля для региональных аэропортов. В.Н. Скосырев, В.М. Нуждин, А.Е. Ананенков, С.И. Нефёдов, Г.П. Слукин, И.Б. Федоров. Научно-техническая конференция «Радиооптические технологии в приборостроении», 2014.
10. http://www.euronav.co.uk/products/pc requirements.html
Science and Education of the Bauman MSTU, 2014, no. 12, pp. 128-136.
DOI: 10.7463/0815.9328000
Received: Revised:
##.##.2014 ##.##.2014
Science^Education
of the Bauman MSTU
I SS N 1994-0408 © Bauman Moscow State Technical Unversity
Universal Library for Building Radar Operator Interface
*
A.A. Karankevich, D.E. Koroteev, S.I. Nefedov
:Bauman Moscow State Technical University, Moscow, Russia
Keywords: interface, processing, data, widget, library, radiolocation
The article contains the results of the development of a software library, used for building software interfaces for radars being developed in BMSTU Radioelectronic Technics Scientific and Research Institute. The library is a software application library written in C++ using Qt and OpenGL libraries.
The article describes the requirements, that the library is supposed to meet, in particular — cross-platform capabilities and versatility of the solution. The data types, that library uses, are described. The description of theinterface elements developed is shown, and some pictures of their operation are given.
The article shows the main interface elements used. They are: «Matrix» that shows two-dimensional data, «Waterfall», that is used for time scanning of the parameter specified, and «Plan Position Indicator» that shows circular scan from surveillance radar without geometric distortions.
The part «Library implementation» shows the example of radiolocation station interface, that was based on this library, used in the working model of ultrashortpulse radar. Some results of the operation of this interface are also shown. The experiment shows the system working with two people in the field. As people start to move, the system becomes capable of distinguishing moving targets and stationary surface. The article shows the system operation the same way as the system operator can see it through his interface.
The conclusion contains brief results of the development, the sphere of application of the software, and the prospects of the further development of the library.
References
1. Max Schlee. Qt 4.5. Professional programming with C++. 2010
2. http://qt-project.org
3. D. Shreiner, G. Sellers, J.Kessenich, B. Licea-Kane. OpenGL programming guide (the «Red Book»).
4. http://opengl.com
5. Advanced Linux Programming (http://www.advancedlinuxprogramming.com/)
6. Donald E. Knuth. The Art of Computer Programming. Volume 3. Sorting and searching.
7. V.N. Skosyrev. Informativeness enhanchement of the radiolocation systems based on ultrawideband signals. «Radioelectronics magazine» №7, 2012.
8. Information technologies in radioelectronic systems: tutorial / ed. by I.B. Fedorov. — 3-rd edition. 2011.
9. Radiolocation system for regional airport control. V.N. Skosyrev, V.M. Nuzhdin, A.E. Ananenkov, S.I. Nefedov, G.P. Slukin, I.B. Fedorov. «Radiooptic technologies in instrumentation», 2014.
10. http://www.euronav.co.uk/products/pc requirements.html