Я раньше не очень интересовался cubesat. Они казались мне чем-то неземным, сложным, далеким. Но все изменилось, когда недавно нам пришел заказ на разработку одной подсистемы для наноспутника. Я стал интересоваться, а какое же радиооборудование люди умудряются ставить на этих малышей. К своему удивлению, я увидел даже примеры создания радарных систем на cubesat. Эта техника показалась мне настолько крутой, что мы c k_const составили себе труд присмотреться к некоторым примерам спутниковой радарной обработки с синтезированной апертурой.


Мы заранее скажемся новичками в этой области. Призываю специалистов к критике и обмену информацией по теме в комментариях.


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


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


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


Здесь следует отметить, что ввиду большей по сравнению с радарами на воздушных носителях дальности, обычно на спутниках необходимо применять синтез апертуры, как метод увеличения разрешения. Этому способствует хорошая стабильность и предсказуемость движения спутника по орбите. Такие радары называют радарами с синтезированной апертурой (РСА) или synthetic aperture radar (SAR).


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


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


Во-первых, этими источников могут быть передатчики спутниковых систем связи. Они должны иметь мощность, достаточную для обеспечения хорошего ОСШ, и полосу, достаточную для обеспечения требуемого разрешения по дальности. Есть примеры использования как геостационарных спутников связи, так и спутников на низких орбитах. Можно также использовать сигналы существующих радаров на "обычных" спутниках.


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


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


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


Для нас основным вопросом на данном этапе была доступность математики по обработке сигнала в такой радарной системе. Мы начали с простейшего примера, как мы покажем далее, доступного для освоения каждому.


Простейшим примером с нашей точки зрения является обработка сигналов со спутниковых РСА-систем, типа ALOS, ENVISAT, Sentinel, TerraSAR-X, COSMO-SkyMed, Radarsat-2 и др., производящих съемку в маршрутном режиме. Простота с одной стороны подтверждается банальным наличием «сырых» данных с некоторых из этих спутников в открытом доступе, c другой стороны наличием ПО с открытым кодом (GMTSAR), которое позволяет как фокусировать «сырые» радиолокационные изображения, так и делать более сложные вещи, такие как создание интерференционных картин между двумя изображениями, снятыми в различные пролеты спутника. Такая мощная база безусловно может стать хорошим подспорьем в деле изучения РСА.


Далее мы покажем каким образом можно получить радиолокационное изображение интересующей местности на примере «сырых» данных, полученных при съемке Санкт-Петербурга со спутника ALOS PALSAR. Оговоримся, что данная статья не претендует на всеобъемлющее руководство, мы лишь пытаемся показать, с чего можно начать.


Для начала рассмотрим разрешение радиолокационного изображения, получаемого со спутника. Номинальное разрешение по наклонной дальности определяется полосой B импульса радара:


$rho_{r}=\frac{c}{2B}$


Для нашего случая B = 14 МГц, и разрешение по наклонной дальности равно около 10 м. Не менее важной характеристикой является разрешение по дальности по поверхности земли. Чтобы проще было разобраться в терминологии, обратимся к рис. 1, где представлена геометрия РСА. Вектор скорости спутника перпендикулярен плоскости рисунка, радар излучает импульсы перпендикулярно скорости, под углом ? к высоте спутника H, ? — наклонная дальность. Разрешение по дальности по поверхности земли геометрически связано с разрешением по наклонной дальности:


$\rho_{gr}=\frac{c}{2Bsin\theta}$


и составляет для нашего случая около 60 м. Из представленных соотношений видно, что разрешение по дальности не зависит от высоты спутника H и может быть улучшено увеличением полосы излучаемого импульса. Во многих случаях полоса импульса ограничена, так как ограничена скорости передачи данных со спутника на землю.


image


Рис.1. Геометрия РСА. Вид спереди. H — высота спутника, ? — угол обзора, ? — наклонная дальность.


Чтобы понять разрешение по азимуту, рассмотрим рис. 2, где радар пролетает над точечной целью. В приближении прямоугольной апертуры угол


$ \theta_{a}\approx \lambda /L $


где L — длина антенны в азимутальном направлении, ? — длина волны радара. Тогда разрешение по азимуту для радара с реальной апертурой определяется


$ R_{a}=\rho tan\theta_{a}\approx \frac{\rho \lambda}{L}=\frac{\lambda H}{Lcos\theta } $


image


Рис.2. Геометрия РСА. Вид сбоку. L — длина антенны, ? — наклонная дальность.


Если точечная цель остается неподвижной во время пролета радара над ней, радар может синтезировать апертуру, величина которой 2Ra, что приводит к значительному улучшению разрешения по азимуту:


$ \rho_{a}=\frac{\rho \lambda}{2R_{a}}=\frac{L}{2} $


Как мы видим теоретическое разрешение по азимуту в маршрутном режиме РСА определяется размерами антенны в азимутальном направлении. Разрешение РСА по азимуту не зависит от расстояния между целью и радаром. Более того, чем меньше размер антенны, тем большее разрешение может быть достигнуто. Объясняется это следующим образом. Чем меньше размер реальной апертуры антенны (шире ее основной лепесток диаграммы направленности), тем больше размер синтетической апертуры (цель дольше находится в луче). Чем больше размер синтетической апертуры, тем более узкий синтетический луч может быть получен, что в конечном итоге приводит к высокому разрешению по азимуту.


Размер антенны в азимутальном направлении спутника ALOS PALSAR составляет 10 м, следовательно теоретически достижимое разрешение по азимуту в маршрутном режиме РСА составляет 5 м. На практике размер пикселя делают одинаковым по дальности и азимуту.


Перед тем как переходить непосредственно к получению изображений, кратко рассмотрим алгоритм фокусировки, который мы будет применять, а именно дальностно-допплеровский алгоритм (range-doppler algorithm, RDA). Этот алгоритм разрабатывался в 1976-1978 гг. для обработки данных со спутника SEASAT SAR, запущенного в 1978 году. Основная идея алгоритма RD: использование того факта, что сигналы дальности и азимута могут быть разделены на два одномерных сигнала при определенных условиях. Тогда фокусировка изображения являет собой две последовательных операции одномерной компрессии импульса, то есть компрессия по дальности и компрессия по азимуту.


Компрессия сигнала по дальности относительно проста и может быть реализована путем согласованной фильтрации эхо-сигнала в частотной области дальности на основе знания опорного передаваемого сигнала. Обычно в качестве передаваемого сигнала используется ЛЧМ импульс (chirp). Это позволяет снизить пиковую мощность передатчика. Этот ЛЧМ импульс отражается от участка поверхности Земли, длиной обычно около 100 км. Принятый отраженный сигнал является сверткой комплексной отражательной способности поверхности Земли и ЛЧМ сигнала. Математически ЛЧМ записывается следующим образом:


$ s(t)= exp(i\pi k t^{2}),\quad \left | t \right |< \tau_{p} $


где k — скорость изменения частоты (chirp slope), ? длительность импульса (pulse duration). Для ALOS PALSAR:


$ k= 1.03704\cdot 10^{12} \quad s^{-2}\\ \tau_{p}=0.27 \quad \mu s $


Согласованный фильтр в данном случае — это просто комплексно-сопряженный исходный ЛЧМ импульс, *s****(t).


Обработка сигнала в направлении азимута несколько сложнее. Это связано с тем, что изображение точечной цели, проходящей через синтетическую апертуру, испытывает миграцию по дальности, т. е. эхо-сигнал от одной и той же цели при различных положениях спутника по азимуту (естественно в пределах синтетической апертуры) появляется в различных ячейках дальности. Таким образом, данные по азимуту оказываются связанны с данными по дальности. Чтобы можно было производить компрессию по азимуту, необходимо вернуть отметку о цели в ячейки соответствующие одной дальности. Количественно миграция дальности во временном пространстве дальности — частотном пространстве по азимуту определяется следующим выражением:


$ R_{RCMC}(f_{s})=R_{0}\left ( \frac{1}{\sqrt{1-(\lambda f_{s}/(2V))^2}} -1 \right ) $


где Ro — дальность ближайшего подхода спутника к цели, fs - доплеровская частота, V - эффективная скорость. Для точной коррекции миграции дальности каждого пикселя требуется процедура интерполяции.


После того как каждая отметка о цели появляется в своей ячейке дальности, можно переходить к компрессии сигнала по азимуту. Запишем фазу эхо-сигнала:


$ C(s)=exp\left [ -i\frac{4\pi }{\lambda }R(s) \right ] $


где R(s) — дальность до цели — функция времени по азимуту (медленное время), поскольку цель перемещается по синтетической апертуре, пока спутник пролетает над ней. Функция R(s) аппроксимируется параболой:


$ R(s)=R_{0}+\dot{R}(s-s_{0})+\ddot{R}/2(s-s_{0})^{2} $


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


$ C(s)=exp\left [ -i\frac{4\pi }{\lambda } \left [ R_{0}+\dot{R}(s-s_{0})+\ddot{R}/2(s-s_{0})^{2} \right ] \right ] $


Определим допплеровский центроид и скорость изменения допплеровской частоты следующим образом:


$ f_{dc}=\frac{-2\dot{R}}{\lambda } \qquad f_{R}=\frac{-2\ddot{R}}{\lambda } $


Тогда


$ C(s)=exp\left [ -i\frac{4\pi R_{0}}{\lambda } \right ] exp \left [ i2\pi \left ( f_{dc}(s-s_{0})+f_{R}(s-s_{0})^{2} \right ) \right ] $


Как мы видим это еще один ЛЧМ сигнал с параметрами fdc и fR. Согласованный фильтр в данном случае — это просто комплексно-сопряженный сигнал фазовой функции, *С****(s). При фокусировке по азимуту мы проходим по всем ячейкам дальности (Ro) и для каждой колонки азимута создаем фильтр со своими параметрами (fdc и fR).


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


\1. John C. Curlander, Robert N. McDonough Synthtic Aperture Radar: Systems and Signal Processing
\2. Jan G. Cumming, Frank H. Wong Digital Processing of Synthetic Aperture Radar Data: Algorithms and Implementation
\3. Xiaolan Qiu, Chibiao Ding, Donghui Hu BISTATIC SAR DATA PROCESSING ALGORITHMS


А мы тем временем перейдем к практической части.


Как мы уже упоминали ранее, в нашем распоряжении имеется GMTSAR — программное обеспечение с открытым кодом (GNU General Public License) для цифровой обработки данных РСА. Код написан на языке C, однако требует предварительной установки GMT и NETCDF. GMT — Generic Mapping Tools (Универсальные картографические инструменты, GMT) — набор программ с открытыми кодами, предназначенных для обработки и отображения двумерной и трёхмерной информации, растеризации, фильтрации и других алгоритмов обработки изображения, а также отрисовки различных картографических проекций. NetCDF (Network Common Data Form) — машино-независимый двоичный формат файлов, являющийся стандартом для обмена научными данными.


GMTSAR имеет 3 основных компонента: 1) препроцессор для каждого типа спутника для подготовки данных и орбитальной информации из внутреннего формата спутника в формат, пригодный для обработки; 2) InSAR процессор для фокусировки, совмещения нескольких изображений и формирования комплексной интерферограммы; 3) базирующийся на возможностях GMT постпроцессор для фильтрации интерферограмм, формирования градиентов фазы, а также отображения всех получаемых результатов.


Итак, перейдем к установке. Домашняя страница GMTSAR находится по адресу https://topex.ucsd.edu/gmtsar/. Здесь можно найти описание программы, файлы данных РСА, предоставленные в качестве примеров и много другой информации. Инструкцию по установке программы вы найдете по адресу https://github.com/gmtsar/gmtsar/wiki/GMTSAR-Wiki-Page. Продублируем ее здесь для Ubuntu 16.06 LTS/20.0:


  1. Install extra libraries. Note that depending on your OS version the actual version numbers in some of the packages below may differ):

sudo apt-get install csh subversion autoconf libtiff5-dev libhdf5-dev
sudo apt-get install liblapack-dev
sudo apt-get install gfortran
sudo apt-get install g++
sudo apt-get install libgmt-dev
sudo apt-get install gmt gmt-dcw gmt-gshhg (16.0 LTS)
sudo apt-get install gmt

  1. Download and install orbit files and place in suitable directory (e.g., /usr/local/orbits):

http://topex.ucsd.edu/gmtsar/tar/ORBITS.tar
sudo -i
cd /usr/local
mkdir orbits
cd orbits
tar -xvf ~/Downloads/ORBITS.tar # (need full path to ORBITS.tar)

  1. Download GMTSAR GITHUB suitable directory:

sudo -i
cd /usr/local
git clone --branch 6.0 https://github.com/gmtsar/gmtsar GMTSAR
#  or
#  checkout the master version for more new but not stable features. 

  1. Make and install GMTSAR (change the orbits directory if different):

cd GMTSAR
autoconf
./configure —with-orbits-dir=/usr/local/orbits
make
make install

  1. Add the executables to your path (for csh or tcsh):

cd ~
#   edit your .tcshrc file and add the following lines
setenv GMTSAR /usr/local/GMTSAR
setenv PATH $GMTSAR/bin:"$PATH"
#  or
cd ~
#  edit your .bashrc file and add the following lines
export GMTSAR=/usr/local/GMTSAR
export PATH=$GMTSAR/bin:"$PATH"

Инструкция рабочая, однако, может понадобится установка дополнительных библиотек. Для пользователей Windows есть возможность скачать виртуальную машину с предустановленным ПО GMTSAR: https://topex.ucsd.edu/gmtsar/downloads/


ВАЖНЫЙ МОМЕНТ!!! Перед использованием программы необходимо, чтобы в вашей системе дробная часть числа отделялась от целой части точкой. Это можно сделать, перейдя в меню «Параметры» — вкладка «Регион и язык» и выбрав в «Форматах» страну United Kingdom.


Итак, надеемся установка GMTSAR не вызовет значительных трудностей. По окончании установки, если вы откроете терминал и введете команду gmt, то должны увидеть данные об установленной версии GMT. Используя команду gmtsar.csh, вы увидите список найденных скриптов из пакета GMTSAR. Обратим внимание, что все процедуры обработки данных из пакета GMTSAR организованы в виде c-shell скриптов. Скрипты объединяют вызов необходимых подпрограмм на языке Си с вызовом стандартных подпрограмм GMT, а также с манипулированием данными. Одни скрипты могут включать в себя другие, позволяя гибко выбирать необходимые процедуры.


Сегодня нам понадобятся следующие скрипты:


  • ? pre_proc.csh — preprocess the raw SAR data for a pair of images
  • ? sarp.csh — focus a single SAR image
  • ? slc2amp.csh — make and amplitude image from and SLC

Как видно из описаний pre_proc.csh подготавливает данные пары изображений (нам понадобится одно изображение), sarp.csh — фокусирует радиолокационное изображение, формируя Single Look Complex-изображение (SLC), slc2amp.csh — делает амплитудное изображение из SLC.


Таким образом, с ПО мы разобрались, теперь нам необходимо скачать доступные «сырые» радиолокационные изображения. Для начала рассмотрим какие вообще данные предоставляет миссия спутника ALOS PALSAR: https://earth.esa.int/eogateway/catalog/alos-palsar-products


? ALOS PALSAR products are available in following modes:


? • Fine Beam Single polarisation(FBS), single polarisation (HH or VV)), swath 40-70km, resolution 10m, temporal coverage from 02/05/2006 to 30/03/2011


? • Fine Beam Double polarisation (FBD), double polarisation (HH/HV or VV/VH), swath 40-70km, resolution 10m, temporal coverage from 02/05/2006 to 30/03/2011


? • Polarimetry mode (PLR), with four polarisations simultaneously: swath 30km, resolution 30m, temporal coverage from 26/08/2006 to 14/04/2011


? • ScanSAR Burst mode 1 (WB1), single polarisation: swath 250-350km, resolution 100m, temporal coverage from 12/06/2006 to 21/04/2011


? Following processing levels are available:


? • RAW(level 1.0): Raw data generated by every downlink segment and every band. Divided into an equivalent size to one scene.


? • SLC (level 1.1): Slant range single look complex product. Not available for WB1


? • GDH (level 1.5): Ground range Detected, Normal resolution product


? • GEC (level 1.5): Geocoded product


Как мы видим миссия ALOS PALSAR вела съемку в 4 различных режимах, предоставляя на выходе 4 уровня обработки данных. Нас, конечно, интересуют в первую очередь «сырые» RAW (level 1.0) данные в режимах Fine Beam Single polarisation (HH or VV) и Fine Beam Double polarisation (HH/HV or VV/VH), их мы и будем искать.


Для доступа к данным необходимо перейти на сайт https://search.asf.alaska.edu/#/ и зарегистрироваться там. Интерфейс поисковика данных довольно прост и интуитивно-понятен, поэтому тезисно опишем порядок действий (см. рис. 3):


  • Выбираем ALOS PALSAR в меню «Dataset»
  • Рисуем на карте интересующий регион, нажав «+» в подменю «Area of interest»
  • Жмем «SEARCH»
  • На карте появятся области, для которых доступны радиолокационные данные (выделены синим)
  • В списке, либо кликнув мышкой на карте, выбираем регион, и видим доступные файлы для него
  • Находим файл уровня 1.0 и скачиваем его.

image


Рис.3 Поиск данных со спутника ALOS PALSAR


Теперь переходим непосредственно к обработке скачанных данных с помощью GMTSAR. Откроем терминал, распакуем скачанный zip-файл и перейдем в папку, которая находилась в архиве. Эта папка будет содержать следующие файлы:


cd folder_with_data
ls -l
-rw-r--r-- 1 1000 1000       1848 Dec 16  2016 ALPSRP023161190.l0.workreport
-rw-rw-rw- 1 1000 1000  762000120 Dec 16  2016 IMG-HH-ALPSRP023161190-H1.0__A
-rw-rw-rw- 1 1000 1000   12506972 Dec 16  2016 LED-ALPSRP023161190-H1.0__A
-rw-rw-rw- 1 1000 1000        720 Dec 16  2016 TRL-ALPSRP023161190-H1.0__A
-rw-rw-rw- 1 1000 1000       1800 Dec 16  2016 VOL-ALPSRP023161190-H1.0__A
-rw-rw-rw- 1 1000 1000       1848 Dec 16  2016 workreport

Файл IMG-HH-ALPSRP023161190-H1.0__A содержит радиолокационные данные, файл LED-ALPSRP023161190-H1.0__A — орбитальную информацию, остальные файлы нам не понадобятся.


В первую очередь нам нужно подготовить данные, для этого служит скрипт pre_proc_init.csh. При запуске скрипта без аргументов, выводится мануал по использованию. Запустим pre_proc_init.csh, чтобы понять как пользоваться этим скриптом.


pre_proc_init.csh
Usage: pre_proc_init.csh SAT data.in

       preprocess a set of images using default Dopper centroid, rear_range and radius, number of patches
       a baseline-time plot will be generated
       after running this command 
       the user should choose an appropriate master image 
       the user should also decide a common Dopper centroid, rear_range and radius, number of patches to run batch processing
       the data with completely different Doppler centroid or baselines can be omitted from further processing

 SAT can be ALOS ERS or ENVI(ENVISAT)

       format of data.in is:
         line 1: master_name
         line 2 and below: aligned_name

       example of data.in for ALOS is:
         IMG-HH-ALPSRP096010650-H1.0__A
         IMG-HH-ALPSRP089300650-H1.0__A
         IMG-HH-ALPSRP236920650-H1.0__A

       example of data.in for ERS is:
         e1_05783
         e1_07787
         e1_10292

       example of data.in for ENVISAT is:
         ENV1_2_127_2925_07195
         ENV1_2_127_2925_12706
         ENV1_2_127_2925_13207

Example: pre_proc_init.csh ENVI data.in

Итак, чтобы воспользоваться скриптом, нам необходимо в качестве первого аргумента использовать имя спутника (ALOS), в качестве второго — файл, содержащий имена файлов с «сырыми» данными (несколько файлов нужно для построения интерферограмм, в нашем случае будет один файл IMG-HH-ALPSRP023161190-H1.0__A). Создадим файл data.in и запустим препроцесс:


ls IMG-HH-ALPSRP023161190-H1.0__A >> data.in
pre_proc_init.csh ALOS data.in

running pre_proc_init.csh

preprocess master image
ledflag 1
.... swapping bytes
writing generic LED file: IMG-HH-ALPSRP023161190-H1.0__A.LED
 near_range, shift = 959139 192 
.... calculating doppler for IMG-HH-ALPSRP023161190-H1.0__A.raw
 Working on line 2000 
 Working on line 4000 
 Working on line 6000 
 Working on line 8000 
 Working on line 10000 
 Working on line 12000 
 Working on line 14000 
 Working on line 16000 
 Working on line 18000 
 Working on line 20000 
 Working on line 22000 
 Working on line 24000 
 Working on line 26000 
 Working on line 28000 
 Working on line 30000 

В результате работы скрипта препроцесса, в нашей папке появилось несколько новых файлов, в том числе .PRM, который содержит всю необходимую информацию для фокусировки (более детальное описание PRM-файла можно найти на стр.47 мануала GMTSAR: https://topex.ucsd.edu/gmtsar/tar/GMTSAR_2ND_TEX.pdf ). Для запуска процесса фокусировки необходимо запустить скрипт sarp.csh* с именем PRM-файла, созданного на предыдущем этапе, в качестве аргумента:


sarp.csh IMG-HH-ALPSRP023161190-H1.0__A.PRM

Computing range reference function.
Processing patch 1
Processing Elapsed Time: 0 min 0.07 sec
Range Compression
Processing Elapsed Time: 0 min 13.37 sec
Azimuthal Transform
Processing Elapsed Time: 0 min 33.64 sec
Range Migration
Processing Elapsed Time: 0 min 50.55 sec
Azimuthal Compression
Processing Elapsed Time: 1 min 53.07 sec
Writing Data
Processing patch 2
Processing Elapsed Time: 1 min 54.17 sec
Range Compression
Processing Elapsed Time: 2 min 6.90 sec
Azimuthal Transform
Processing Elapsed Time: 2 min 26.29 sec
Range Migration
Processing Elapsed Time: 2 min 43.15 sec
Azimuthal Compression

Как можно заметить из вывода выполнения скрипта, фокусировка происходит блоками. В нашем случае фокусировка радиолокационного изображения размером 120000x25000 пикселей длилась около 5 минут. В результате в рабочей папке появится файл IMG-HH-ALPSRP023161190-H1.0__A.SLC, из которого нам останется сформировать амплитудное изображение. Делать мы это будем выполнением следующего скрипта:


slc2amp.csh

Usage: slc2amp.csh filein.PRM rng_dec fileout.grd 

       rng_dec is range decimation
       e.g. 1 for ERS ENVISAT ALOS FBD
            2 for ALOS FBS 
            4 for TSX

Example: slc2amp.csh IMG-HH-ALPSRP055750660-H1.0__A.PRM 2 amp-ALPSRP055750660-H1.0__A.grd

В качестве первого аргумента надо указать все тот же PRM-файл, в качестве второго — децимацию, (в соответствии с режимом съемки наших данных выбираем 2), третьим аргументом указываем имя выходного файлы (out.grd).


slc2amp.csh IMG-HH-ALPSRP023161190-H1.0__A.PRM 2 out.grd

Таким образом, на выходе получаем netCDF-файл out.grd, содержащий информацию об амплитудном изображении. К сожалению, готовых средств для отображения полученного изображения в GMTSAR мы не обнаружили, однако, покажем, что нами действительно получено сфокусированное радиолокационное изображение Санкт-Петербурга. Для этого выполним следующие команды:


gmt begin amp
gmt grd2cpt -Cgray out.grd
gmt grdimage out.grd -I+d -B
gmt end show

В первой строке мы запускаем сессию GMT с именем "amp". 2 следующие команды формируют изображение, последняя — закрывает сессию GMT и открывает файл amp.pdf с полученным изображением. Рассмотрим полученное изображение (рис. 4):


image


Рис.4 Радиолокационное изображение Санкт-Петербурга


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


Статья написана в соавторстве с k_const. Теперь мы немного понимаем в радарах с синтезированной апертурой, но нам явно есть еще чему поучиться. Приглашаем специалистов к дискуссии.


СПИСОК ЛИТЕРАТУРЫ


  1. Curlander J. C. Synthtic Aperture Radar: Systems and Signal Processing. / J. C. Curlander, R. N. McDonough. — Wiley, 1992. — 672 p.
  2. Cumming J. G. Digital Processing of Synthetic Aperture Radar Data: Algorithms and Implementation. — J. G. Cumming, F. H. Wong. — Artech House, 2005. — 436 p.
  3. Xiaolan Qiu Bistatic SAR Data Processing Algorithms. / Xiaolan Qiu, Chibiao Ding, Donghui Hu. — Wiley, 2013. — 327 p.
  4. Sandwell D. GMTSAR: An InSAR Processing System Based on Generic Mapping Tools (Second edition). / D. Sandwell, R. Mellors, X. Tong, M. Wei, P. Wessel. // UC San Diego: Scripps Institution of Oceanography. — 2016. — Retrieved from https://topex.ucsd.edu/gmtsar/tar/GMTSAR_2ND_TEX.pdf