НАСС, - используется на разных платформах. Классы построены по модульному принципу с расширением возможностей за счет широкого применения концепций объектно-ориентированного программирования.
Классы GPSTk подразделяются на классы ядра, вспомогательных утилит и приложений. В целом набор классов GPSTk обеспечивает широкий спектр готовых решений для задач, связанных с ГНСС, в том числе обработку и использование данных в стандартных форматах, таких как RINEX. В библиотеке реализовано большое количество моделей и алгоритмов, определенных в различных публикациях по обработке данных ГНСС, например, для определения местоположения пользователя или оценки атмосферной рефракции.
Поскольку в ГНСС ГЛОНАСС вместо фиксированных частот используются 14 частотных поддиапазонов (от -7 до +6), НКА, расположенные по разные стороны Земли, могут иметь один частотный поддиапазон. При этом несущая частота L1 для нулевого поддиапазона (fm) равна 1 602 МГц, несущая частота L2 для нулевого поддиапазона (/02) составляет 1 246 МГц. Обе несущие частоты формируются на основе опорного генератора частотой 5 МГц.
Описание используемых частотных поддиапазонов целесообразно оформить в виде XML-до-кумента, для обработки которого используется программная библиотека TinyXML (http://www. grinninglizard.com/tinyxml/index.html). Таким образом, данные, хранимые в XML-файле, преобразуются в объекты С++, что позволяет легко ими манипулировать в программном коде. При этом библиотека TinyXML обладает рядом достоинств:
- имеет малый размер кода;
- компилируется на любой системе, поддерживающей язык C++;
- может применяться совместно с Standart Template Library (STL);
- поддерживает кодировку UTF-8.
Для визуализации исходных и рассчитанных данных, а также построения графического интер-
фейса (GUI) целесообразно использовать возможности кроссплатформенной библиотеки QT, отличительной чертой которой является использование системы предварительной обработки исходного кода Meta Object Compiler.
Библиотека QT широко используется в зарубежных космических проектах, выполняемых Европейским космическим агентством (ESA), американским Национальным агентством океанографии и атмосферы (NOAA) и др.
Таким образом, применение указанных программных библиотек и их интеграция в едином программном продукте позволит разработать кроссплатформенный программный комплекс мониторинга ионосферы с помощью характеристик НКА GPS/ГЛОНАСС и затем расширять его возможности путем добавления поддержки новых систем спутниковой навигации.
Литература
1. Tolman B.R., Harris B., Gaussiran T., Munton D., Little J., Mach R., Nelsen S., Renfro B., Schlossberg D. The GPS Toolkit -Open Source GPS Software, Proc. 17th Intern. Tech. Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2004), Long Beach, California, 2004, September.
2. Codrescu M.V., Viereck R. The Importance of Radio Occupation Measurements for Ionosphere modeling. URL: http:// www.irowg.org/docs/Presentation/codrescu.pdf (дата обращения: 23.09.2013).
3. Xu G. GPS: Theory, Algorithms and Applications, Springer. 2nd ed., 2007, 340 p.
4. Решетников В.Н. Космические телекоммуникации (начала). Тверь: НИИ «Центрпрограммсистем», 2009. 128 с.
References
1. Tolman B.R., Harris B., Gaussiran T., Munton D., Little J., Mach R., Nelsen S., Renfro B., Schlossberg D. The GPS toolkit -open source GPS software. Proc. of the 17th int. technical meeting of the satellite division of the Institute of Navigation (ION GNSS 2004). Long Beach, California, Univ. of California Berkeley Publ., 2004.
2. Codrescu M.V., Viereck R. The Importance of Radio Occultation Measurements for Ionosphere modeling. Available at: http://www.irowg.org/docs/Presentation/codrescu.pdf (accessed 23 September 2013).
3. Xu G. GPS: Theory, Algorithms and Applications. 2nd ed., Springer, 2007, 340 p.
4. Reshetnikov V.N. Kosmicheskie telekommunikatsii (na-chala) [Space telecommunications (basics)]. Tver, Centrprogramm-system Publ., 2009, 128 p.
УДК 528.7, 528.06
ПРИМЕНЕНИЕ INTERACTIVE DATA LANGUAGE ДЛЯ ОБРАБОТКИ ДАННЫХ РАДИОМЕТРИЧЕСКИХ ИЗМЕРЕНИЙ
В.О. Скрипачев, зам.. начальника отдела; Ю.А. Полушковский, начальник отдела; А.М. Стрельцов, начальник сектора (Российская корпорация ракетно-космического приборостроения и информационных систем, ул. Авиамоторная, 53, г. Москва, 111250, Россия, skripatchevv@inbox.ru)
При проведении исследований в системе «атмосфера - подстилающая поверхность» используется большой объем данных, которые необходимо быстро обработать. Для детальной оперативной обработки данных радиометриче-
ских измерений целесообразно использовать приложения, написанные на языке программирования Interactive Data Language. В Interactive Data Language достаточно простой синтаксис, нет необходимости в составлении циклов и оптимизации времени выполнения функций для работы с массивами. В работе рассмотрены особенности языка, описания классов и объектов языка. Сделан краткий обзор возможностей визуализации научных данных средствами Interactive Data Language, в том числе картографические возможности. Рассмотрены возможности Interactive Data Language для построения графического интерфейса пользователя. Эти возможности были реализованы при создании приложения обработки данных спутниковых СВЧ-радиометров для определения метеорологических параметров. Рассмотрены формат данных HDF и архитектура разработанного приложения обработки данных.
Ключевые слова: программный продукт, радиометр, объект, класс, обработка данных, визуализация, интерфейс, программный модуль.
INTERACTIVE DATA LANGUAGE APPLICATION FOR RADIOMETRIC SYSTEMS DATA PROCESSING
Skripachev V.O., deputy head of department;
Polushkovskiy Yu.A., head of department; Streltsov A.M., head of section (Joint Stock Company "Russian Space Systems", Aviamotornaya St., 53, Moscow, 111250, Russian Federation,
skripatchevv@inbox.ru)
Abstract. When researching the "atmosphere - the underlying surface" system, a large amount of data is used that must be processed quickly. It is advisable to use applications written in the Interactive Data Language for detailed on-line radiometric data processing. A syntax is quite simple in the Interactive Data Language. It is not necessary in cycles preparation and run-time functions optimization for working with arrays. The paper discusses the features of the language, descriptions of its classes and objects. There is a brief overview of the scientific data visualization by Interactive Data Language tools including mapping capabilities. The possibilities of Interactive Data Language to build a graphical user interface are considered. These features have been implemented for creating data processing applications of satellite's microwave radiometers to determine the meteorological parameters. The HDF data format and developed application architecture are given.
Keywords: program product, radiometer, object, class, data processing, visualization, interface, program module.
В состав бортовой научной аппаратуры отечественных космических аппаратов (КА) «Метеор-М» и зарубежных метеорологических КА (DMSP № 14, 15 и др.) входят СВЧ-радиометры, обеспечивающие измерение интенсивности радиотеплового излучения системы «атмосфера - подстилающая поверхность» как в окнах прозрачности атмосферы, так и в линиях поглощения кислорода и водяного пара.
Это позволяет восстанавливать вертикальные профили температуры и влажности атмосферы, определять ее интегральную влажность, водозапас облачности и интенсивность осадков, а также регистрировать такие параметры океана, как состояние (балльность волнения) поверхности, скорость приводного ветра и др.
В зависимости от частот можно использовать данные СВЧ-радиометра для диагностики процессов в деятельном слое океана (синоптических вихрей и волн Россби, фронтальных зон, апвеллингов
и др.) [1].
Принцип работы СВЧ-радиометра основан на измерении радиотеплового излучения подстилающих поверхностей и сред. Процесс преобразования радиояркостной температуры в выходной отклик радиометрической системы складывается из формирования с помощью антенны на входе приемника сигнала, интенсивность которого называется антенной температурой, и последующего преобразования этого сигнала в выходное напряжение, величина которого фиксируется измерительным или регистрирующим устройством.
Большие объемы данных измерений, получаемых с помощью СВЧ-радиометров, и важность задач, решаемых с использованием принимаемой
информации, обусловили необходимость выбора эффективных средств обработки принимаемых с КА данных.
Для этого авторами были рассмотрены возможности применения для обработки поступающих данных языка Interactive Data Language (IDL), который обладает мощными средствами визуализации, что позволяет использовать его для более детального анализа данных ОТЧ-радиометрии.
Визуализация данных в IDL поддерживает два типа рендеринга: программный рендеринг и рендеринг с использованием аппаратных 3D-ускори-телей, которые поддерживают библиотеку OpenGL.
В большинстве случаев визуализация данных через OpenGL обладает лучшим качеством изображения, чем визуализация через программный рендеринг. Но необходимо учитывать, что программный рендеринг может быть единственно доступным решением для систем, в которых нет аппаратных 3D-ускорителей, например, при использовании несовместимых серверов OpenGL X этот тип рендеринга строит одноразовую визуализацию быстрее, чем OpenGL, и позволяет избежать возможных ошибок, возникающих с драйверами устройств.
IDL дает возможность работать с файлами различных форматов, в том числе с графическими (например BMP, JPEG, PNG), форматами, разработанными специально для научных задач (например HDF, CDF, NCDF), и несколькими распространенными форматами хранения данных (например XML, ASCII). Cуществует возможность работы с данными в формате DICOM (Digital Imaging and Communications in Medicine).
Программы, разработанные на языке IDL, можно вызывать из внешних программ, созданных на других языках программирования, или в IDL-программах использовать функции, реализованные на С/С++, FORTRAN, Java. Такое взаимодействие IDL с языками программирования позволяет гибко подходить к решению сложных задач.
Благодаря этим преимуществам IDL нашел широкое применение при обработке космических снимков и геофизических данных. Он активно применяется в структурах национальных космических агентств: NASA (США), JAXA (Япония), CNES (Франция), Роскосмос.
В IDL существует возможность применения как процедурной, так и объектно-ориентированной парадигм. Рассмотрим подробнее применение объектно-ориентированной парадигмы [2].
В IDL данные члены класса хранятся в виде именованных структур. В терминологии IDL применяется выражение «class structure»
struct={Class1, field1:0L, field2:1B}.
Любой объект, созданный из этой структуры (класса), будет иметь два свойства - fieldl и field2.
Для создания объекта необходимо вызвать функцию OBJ_NEW, имеющую следующий синтаксис: A=OBJ_NEW([Имя_класса[, аргументы]]).
При этом будет вызван соответствующий метод-конструктор (если есть), который имеет строгое имя INIT и является членом класса.
Для работы с изображениями IDL снабжен существенным количеством подпрограмм, позволяющим проводить обработку изображений [3].
IDL может работать с четырьмя типами изображений [4, 5]:
- бинарные (0 - черный, 1 - белый);
- в оттенках серого (0 - черный, 255 - белый);
- индексированные (с применением Lookup tables (LUT));
- RGB (каждый компонент 0-255).
Для отображения в IDL могут использоваться две системы графики - Object Graphics [6] и Direct Graphics [7].
Результаты обработки данных СВЧ-радиомет-рии необходимо привязать к картографическим координатам в соответствующих картографических проекциях. IDL имеет 19 встроенных картографических проекций и обладает возможностью создания картографических проекций, конвертирования данных из одной проекции в другую и отображения данных в этих проекциях.
IDL позволяет создавать графические интерфейсы пользователя с помощью виджетов. Графический интерфейс, реализованный на IDL, представляет собой древовидную иерархию: каждый виджет имеет одного родителя и ни одного или несколько потомков с важным исключением, что верхний виджет иерархии не имеет родителя [8].
Дополнительным преимуществом IDL является его кроссплатформенность. IDL приложения вы-
полняются в рамках виртуальной машины - IDL VM, реализации которой существуют для операционных систем Windows, Linux, Solaris.
Рассмотрим возможности применения языка IDL на примере обработки данных спутниковых СВЧ-радиометров.
Входными данными для приложения обработки данных СВЧ-радиометров являются данные в формате HDF, получившем большое распространение в обработке и хранении данных дистанционного зондирования Земли. Он стал своего рода стандартом для хранения и передачи информации в зарубежных системах. Полное наименование -формат иерархических данных (Hierarchical Data Format). Организация-разработчик - Национальный центр суперкомпьютерных приложений - National Center for Supercomputing Applications (NCSA). Исходные файлы представляют собой обзорные снимки земной поверхности (то есть компиляцию всех полувитков за сутки). Поле изображения - это глобальная прямоугольная сетка с шагом 0,5°х0,5°. Размер такого изображения составляет 720x360 пиксел.
В HDF используются метаданные о наборах научных данных (Scientific Data Sets, SDSs):
- система координат, используемая для интерпретации или отображения данных;
- масштабы по каждой оси;
- метки по каждой оси и для всего набора данных в целом;
- единицы измерения по каждой оси и для данных;
- корректные максимальное и минимальное значения данных;
- информация о калибровке данных;
- информация о дополнительных или отсутствующих значениях.
Функции, выполняемые приложением обработки данных СВЧ-радиометров:
- визуализация исходной информации о ра-диояркостных температурах;
- отображение картографической основы, в том числе в полярных областях;
- расчет метеорологических параметров: скорость приводного ветра, водозапас облачности, интенсивность осадков;
- сохранение результатов расчетов.
Структурная схема разработанного приложения приведена на рисунке.
Приложение построено по модульному принципу. Такая архитектура позволяет для его отладки применить модульное тестирование, целью которого является изолирование отдельных частей программного комплекса и демонстрация их работоспособности [9].
Ядро приложения имеет графический интерфейс пользователя (Graphic User Interface), позволяющего взаимодействовать с указанными на рисунке модулями. Приведем краткое описание модулей.
Модуль локализации
Модуль
Ядро приложения, включающее графический интерфейс пользователя
Модули тематической обработки
J 1 1 J ' 1 1
Модуль географической привязки Модуль визуализации
Структурная схема приложения обработки данных СВЧ-радиометров
• Модуль локализации состоит из XML-фай-лов, созданных согласно правилам стандартного внешнего описания типа документа (DTD), используемого в IDL.
• Модуль географической привязки визуализирует данные Всемирного банка данных (WDB), поставляемые с IDL; эти данные хорошо отражают картографическую основу, сравнимую по пространственному разрешению с обрабатываемыми данными; в функции модуля входит и задача преобразования координат изображения в географические координаты (широта, долгота) и обратно.
• Модуль ввода/вывода выполняет функции чтения исходных файлов и записи полученных результатов.
• Модуль визуализации отвечает за отображение исходных данных и результатов обработки.
• Модули тематической обработки реализуют соответствующие алгоритмы определения метеорологических параметров и базируются на эмпирических зависимостях, полученных в работах [10-12]; с учетом этих зависимостей количественные значения метеорологических параметров определяются с помощью линейной комбинации каналов СВЧ-радиометра различной поляризации.
Алгоритм определения скорости ветра над океаном вычисляет скорость ветра, при этом позволяет получить скорость ветра у поверхности моря от 3 до 25 м/с с точностью не хуже 2 м/с. Скорость ветра у поверхности приводится к высоте 19,5 м над поверхностью. Для расчета используются значения яркостной температуры на частотах 19, 22, 37 ГГц c вертикальной (V) и горизонтальной (H) поляризацией. При этом небольшой дождь и пары воды значительно ослабляют микроволновое излучение на выбранных частотах, равных 19, 22 и 37 ГГц [10].
Алгоритм определения водозапаса над океаном [11] определяет интегральное содержание воды в облаках над океаном в 100 кг/м2 с точностью до 0,1 кг/м2 с интервалом квантования 0,5 кг/м2.
Алгоритм определения интенсивности осадков над океаном [12] использует каналы с частотами 19V, 19H, 22V, 37V, 37H, 91V и 91H и приведен к высоте 12,5 км. Данный алгоритм имеет точность 5 мм/ч, интервал квантования 1 мм/ч.
В результате работы приложения вычисляются значения соответствующих метеорологических параметров, которые визуализируются и наносятся на картографическую основу.
Развитие возможностей разработанного приложения обработки данных СВЧ-радиометров возможно по направлениям расширения перечня рассчитываемых метеорологических параметров, применения параллельной обработки спутниковых изображений для обнаружения динамики метеорологических явлений, а также интеграции результатов расчетов с приложениями Google Earth, ENVI.
Литература
1. Jensen J.R. Remote sensing of the environment: An Earth resource perspective. 2nd ed., Prentice Hall, 2006, 608 p.
2. Kling R. Object Oriented Programming with IDL. Kling Research and Software, 2010, 126 p.
3. Jensen J.R. Introductory Digital Image Processing. 3rd ed., Prentice Hall, 2004, 544 p.
4. Gumley L.E. Practical IDL Programming. Morgan Kaufmann, 2001, 508 p.
5. Bowman K.P. An Introduction to Programming with IDL: Interactive Data Language. Academic Press, 2005, 304 p.
6. Kling R. Power Graphics with IDL: A Beginners Guide to IDL Object Graphics. KRS, inc, 2002, 74 p.
7. Fanning D. Coyote's Guide to Traditional IDL Graphics. Coyote Book Publ., 2011, 480 p.
8. Fanning D. IDL Programming Techniques. 2nd ed., Fort Collins: Fanning Software Consulting, 2000, 439 p.
9. Osherove R. The Art of Unit Testing: With Examples in .NET. Manning Publ., 2009, 320 p.
10. Goodberlet М.А., Swift C.T., Wilkerson J.C. Ocean Surface Wind Speed Measurements of the Special Sensor Micro-wave/Imager (SSM/I). IEEE Transactions on Geoscience and remote sensing, 1990, vol. 28, no. 5.
11. Weng F., Grody N., Ferraro R., Basist A., and Forsyth D. Cloud liquid water climatology from the Special Sensor Microwave Imager. Journ. Climate, 1997, no. 10, pp. 1086-1098.
12. Ferraro R.R. SSM/I derived global rainfall estimates for climatological applications. Journ. of Geophys. Res, 1997, vol. 102, no. 16, pp. 715-716, 735.
References
1. Jensen J.R. Remote sensing of the environment: An Earth resource perspective. 2nd ed., Prentice Hall Publ., 2006, 608 p.
2. Kling R. Object Oriented Programming with IDL. Kling Research and Software Publ., 2010, 126p.
3. Jensen J.R. Introductory Digital Image Processing. 3rd ed., Prentice Hall Publ., 2004, 544 p.
4. Gumley L.E. Practical IDL Programming. Morgan Kaufmann Publ., 2001, 508 p.
5. Bowman K.P. An Introduction to Programming with IDL: Interactive Data Language. Academic Press, 2005, 304 p.
6. Kling R. Power Graphics with IDL: A Beginners Guide to IDL Object Graphics. KRS Publ., 2002, 74 p.
7. Fanning D. Coyote's Guide to Traditional IDL Graphics. Coyote Book Publ., 2011, 480 p.
8. Fanning D. IDL Programming Techniques. 2nd ed., Fort Collins: Fanning Software Consulting Publ., 2000, 439 p.
9. Osherove R. The Art of Unit Testing: With Examples in .NET. Manning Publ., 2009, 320 p.
10. Goodberlet М.А., Swift C.T., Wilkerson J.C. Ocean Surface Wind Speed Measurements of the Special Sensor Micro-wave/Imager (SSM/I). IEEE Transactions on Geoscience and remote sensing. 1990, vol. 28, no. 5.
11. Weng F., Grody N., Ferraro R., Basist A., Forsyth D. Cloud liquid water climatology from the Special Sensor Microwave Imager. Journ. of Climate. 1997, vol. 10, iss. 5, pp. 1086-1098.
12. Ferraro R.R. SSM/I derived global rainfall estimates for climatological applications. Journ. of Geophysical Research. 1997, vol. 102, iss. 16, pp. 715-16, 735.