Действие второе.
Валялось всё
это хозяйство несколько лет без дела и вот летом 2012 наконец дошли у автора
сего поста руки до всего этого хозяйства. А целью была давнишняя мечта с
помощью этих замечательных поплавков организовать так называемую SAS (Synthetic
Aperture Sonar) или по-русски, ГСА (гидролокатор с синтезированной апертурой,
или, если совсем по-русски, гидролокатор с искусственным раскрывом).
Суть этой
штуковины в том, что за счёт грамотного накопления сигналов при движении
приёмной антенны можно получить угловое разрешение намного выше, чем у
используемой антенны. Причём, парадокс в том, что у используемой антенны как
раз угловое разрешение должно быть как можно хуже (в идеале ширина ДН должна
быть 180°).
В нашем случае ширина ДН, как отмечено выше, около 45°, сойдёт.
С помощью моего товарища, человека с реально золотыми руками, мы
достаточно быстро организовали экспериментальный стендик на базе герметичный
пластиковой коробки для СВЧ-печки :), кусков плотного пенопласта и прочей мелочёвки.
К тому времени
L-Card выпустил более современный USB-АЦП с частотой оцифровки до 10МГц под
названием E-2010B и новая версия программы
записи под названием «L-Graph II». Надо отдать должное
товарищам из L-Card: они «растут над собой». И хотя остались некоторые «кривоватости»
в программе и «пацанский» стиль в документации (мы два дня ржали над фразой в
описании: «учтите, что система Windows – ни разу не операционная система
реального времени»; нормальный стиль для документации!), E-2010В приятно удивил
стабильностью работы. При скорости оцифровки 500КГц АЦП умудрялся в real-time
без пропусков писать на винч старого испытанного в боях мининоута ASUS S-200N
(кстати, последний, если я не ошибаюсь, до сих пор является самым маленьким в
мире полноценным ноутом!). По-крайней мере, почётное звание "Russian
геморр-device" уже не соответствовало продукции «L-Card».
Единственная неприятность – это довольно высокое потребление этого АЦП.
Что и стало причиной малого количества записей ибо наш старенький «УПС» быстро
сдался. Кроме того, тяжёлый сетевой блок питания АЦП постоянно норовил вывалиться
из розетки.
Верный RF-45 питался от своей батарейки (дабы
исключить наводки и прочую хню), сигнал
снимался с выхода последнего каскада посредством осциллографического щупа с
включённым делителем (на фото видно), включение осуществлялось перемычкой для
надёжности. Частота оцифровки была выбрана в 500КГц как компромисс между длиной
записи и желанием подальше отойти от частоты Котельникова.
В целом эксперимент
прошёл успешно. Сделаны три длинные записи при движении лодки с разной
скоростью. Правда задним числом я сообразил, что неплохо бы было ещё
параллельно писать сигнал на входе МК и на входе радиопередатчика. Ну да хрен с
ним, может в другой раз.
Типовой сигнал выглядит нижеследующим образом
В более крупном масштабе отражённый сигнал выглядит
так
На рисунке чётко видно четыре
участка (обозначены стрелками):
- участок включения питания и управления КУ первого каскада (по нему, кстати, удобно, с помощью порога, «прицеливаться» в начало очередного цикла излучения);
- на вход просачивается излучаемый импульс (правда, почему-то его длина оказалась равной 360мкС, что противоречит данным 2007г.; несущая частота равна 118,703КГц);
- появляется отражённый сигнал от дна и видно плавное увеличение КУ усилителя;
- отражённый сигнал продолжает поступать от соседних участков дна и, кроме того, из-за многократных переотражений дно-поверхность-берег (так называемая «реверберация»).
По всей
видимости, простенький алгоритм, заложенный в МК, отслеживает порогом момент №3,
т.е. первое отражение от дна, и весь остальной сигнал его уже не интересует.
Кстати сказать, из этого следует идея об усовершенствовании работы поплавка:
если остальной сигнал не интересен, то и нафига тратить энергию на работу
усилителя. После момента №3 его можно просто отключать, в существующей же
версии время работы усилителя фиксировано.
Ну это так, к
слову, а нас как раз интересует (и очень интересует!) участок №4. Именно в нём
заключена информация необходимая для SAS. Во-первых сделаем то, что не способен
сделать слабенький PIC’овский
«восьмерёночек», а именно – согласованную обработку. Согласованная обработка
позволяет, теоретически, довести максимальную глубину работы поплавка до сотен
метров!
Убираем медленно меняющиеся части с помощью простейшего ВЧ-фильтра diff
и сворачиваем получившийся сигнал с комплексной синусоидой на частоте F0 = 118703Гц. С длительностью тут вопрос. Самый «чёткий» результат
получался, когда длительность опорного сигнала принималась равной T0 = 150мкС. Т.е. данные 2007г. о длительности зондирующего импульса
верны, но тогда имеем следующее (показана действительная часть корреляционной
функции (КФ))
Дать чёткое
физическое объяснение этой картинке достаточно сложно. Сначала идёт отклик от излучаемого
сигнала, к которому подтянута метка нуля дальности. О начальном участке
(примерно до 5м – разговор далее), а вот внятно объяснить наличие сплошного
отражения («протяжённой цели») от 5 до 30м я ну никак не могу! Если это «звон»
среды (реверберация), то она должна быть затухающая с характерным для
мелководного водоёма для этой частоты временем затухания порядка нескольких
миллисекунд. Это соответствует максимум 10-15м, но никак не 25м! Была даже идея
о самовозбуждении усилителя, но при данной схемотехнике это невозможно.
Ещё более интересно становится при переключении масштаба
Во-первых,
что-то непонятное творится с излучаемым импульсом. На рисунке видно, что отклик
от излучаемого сигнала распадается на четыре хорошо различимых пика. Можно
предположить, что это результат возбуждения всей нашей коробки, в которую
врезан поплавок. Длина волны излучения составляет порядка 1см, размер коробки –
около 25см, так что эта гипотеза вполне приемлема. Но почему тогда первый
отклик не является максимальным? Что там за предвестник такой?
Далее идёт тишина, затем – на
глубине 1,3 и 1,5м появляются два одиночных мощных отражения. Природа их неизвестна,
но возможно – это как раз рыбы, или большие валуны на дне. Затем, на глубине
1,7м начинается протяжённая цель. Судя по всему это – дно, что достаточно точно
соответствует данным о глубине.
А дальше идёт отражение
от дна, но с учётом ширины ДН эти отражения должны быть промодулированы ДН
пьезоэлемента (правда на фоне работы цепи регулировки КУ усилителя мы можем
этого и не видеть) и длиться не более 1м. Правда, по-видимому, здесь дело в
поверхностной волне, возбуждённой в грунте дна и тем самым получающей
дополнительную задержку.
А дальше
начинается форменный форшмак! С расстояния 4м отражения резко спадают, затем с
отметки примерно 4,8м идёт пачка мощных точечных отражений, которые плавно
сливаются с упоминавшимся выше протяжённым откликом. В принципе, судя по
расстоянию (около 6м) этот протяжённый отклик может быть отражением от берега
вследствие волноводного распространения в узком водном слое. Хотя, в некотором
смысле вторая «серия» отражений повторяет характер первой «серии». И это
наводит на мысль о приёме дважды отражённого сигнала по направлению
«дно-поверхность-дно».
Посмотрим, как эта же самая картина изменилась через пару излучений
(около 0,5сек).
За это время
лодка при средней скорости 5-6км/ч сместилась где-то на 80см. Видим, что отклик
от излучаемого сигнала и двух мощных отражателей почти не изменился (так что
вряд ли это рыбы). Но при этом дно приблизилось примерно на 20см.
Следовательно, лодка, скорее всего, шла к берегу. Заметим, что задний «фронт»
отклика также несколько увеличился в сторону отметки 4м. Это странно, ибо при
постоянной ширине ДН, если дно приблизилось, то и ширина отклика от дна должна
была уменьшится, а не увеличится.
В
общем понятно: для синтезированной апертуры данные после 4м нам, скорее всего, не
интересны.
Вообще говоря, у нас неверная конфигурация аппаратуры
для SAS. Ибо для SAS требуется боковой обзор, т.е. антенна должна принимать
только с одного бока (или смотреть вперёд по ходу движения - это называется
режим «доплеровского обужения луча»). В противном случае при синтезе у нас
будут отклики слева и справа по ходу движения носителя накладываться друг на
друга. У нас это, увы, будет именно так. Ну да и ладно.
Второй момент – это
равномерность движения лодки. Для SAS крайне важным является высокая
равномерность (или, хотя бы возможность высокоточно знать положения носителя,
конкретно – с точностью до лямбда-на-восемь, т.е. в нашем случае с точностью до миллиметра!) движения
носителя. Если это условие не обеспечено (а в реальных системах оно практически
никогда не обеспечено :), то положение частично спасают т.н. методы автофокусировки. Этих
методов за последние пятнадцать-двадцать лет напридумано уева туча. В
частности, имеются методы, придуманные автором этого опуса и реализованные в
виде Matlab'овского кода.
Кстати сказать, из-за низкой скорости распространения
волн в воде у SAS часто возникает проблема однозначности. Суть в том, что SAS можно обсуждать с двух точек зрения. Первая – это
«доплеровская» трактовка. Но мне как-то она не близка. А вот вторая точка
зрения,- рассматривать SAS как искусственную линейную антенную решётку (АР),
для меня вполне наглядна. И здесь, так же как и в настоящей АР, межэлементное
расстояние должно удовлетворять определенному соотношению в зависимости от
ширины ДН элементов её оставляющих.
Так вот и это условие, на самом деле, не выполнено в
нашем случае, причём, грубо не выполнено. Ибо за 0,25сек лодка успевает пройти
до 40см при длине волны 1,2см. При не выполнении этого условия получится, как на фотографии с плёночного
фотоаппарата, у которого заело механизм перемотки плёнки.
Ещё одна проблема – неточное знание излучаемой
частоты. Эта частота получается целочисленным делением задающего генератора
микроконтроллера, который является «калиброванным» с точностью до единиц
процентов, да ещё и зависит от колебаний температуры.
И тем не менее, забьем на это всё и попробуем собрать
искусственную антенну.
Разрезаем нашу
запись на циклы излучения, собираем в т.н. первичную матрицу «быстрое время» -
«медленное время» (номер излучения), сжимаем сигнал коррелятором по быстрому
времени и проходимся по медленному времени обратным преобразованием Фурье.
Получаем, что называется “первый блин – комом»:
Но кое-что по этой
абракадабре сказать можно:
- полоса на месте излучаемого импульса говорит о том, что фокусировка очень даже нужна и, кроме того, с неоднозначностью у нас полный форшмак
- яркая полоса в стороне от центра картинки говорит нам о том, что со значением излучаемой частотой Fo мы, походу, здорово ошиблись;
- несмотря на сильную «полосатость» изображения (ещё одно подтверждение необходимости фокусировки, а также следствие неоднозначности) кое-что рассмотреть всё же можно. В частности видно, что до примерно 3000-го отсчёта (~2.7м наклонной дальности) дно является достаточно гладким, а дальше начинаются «шершавости». Возможно – это просто следствие уменьшение угла места.
Итак, нужна фокусировка.
Что это такое? По-русски говоря – это выравнивание. Обычно фокусировку делят на
две части: грубая фокусировка, она же – выравнивание с точностью до элемента
разрешения по дальности (не отсчёта!), она же (для любителей иностранщины) –
устранение “миграции» по дальности. Второй этап – это выравнивание точнее, чем
один элемент дальности, она же – фазовая фокусировка (ибо выравнивание с
точностью выше, чем элемент разрешения, суть, «подкрутка» фазы).
Причём
конкретная реализация обоих этапов зависит от числа отсчётов на один элемент
дальности. В нашем случае – это порядка 37 отсчётов (т.е. фазовый шаг около 10
градусов). Следовательно, нет необходимости разбивать фокусировку на два этапа
и всё можно делать обыкновенными сдвигами.
Теперь, а как
оценить потребные сдвиги? Как я уже писал выше алгоритмов – миллион. Но в нашем
случае ограничимся самым простым – выравниванием по излучаемому сигналу (благо
мы фактически работаем в режиме «приём-на-фоне-излучения»). Т.е. находим и
запоминаем максимум КФ первого зондирования Nmax. Затем последовательно находим
максимумы всех остальных зондирований n_max_i, где i – номер зондирования и сдвигаем i-ый
столбец первичной матрицы на величину (Nmax-n_max_i). Кстати, сказать – это,
по-сути, самый простой способ и с точки зрения вычислительной нагрузки: она в
данном случае просто смешная (чего не скажешь о других способах
автофокусировки!).
Сказано – сделано, получаем:
Накапливалось
всего по 9 зондирований исходя из ширины диаграммы излучателя и скорости
движения лодки. Картинка получается гораздо более чёткой. Фокусировка
автоматически выровняла Доплер и максимум теперь почти по центру. Сразу виден
дифракционный максимум (красный кружок), таким образом, зона однозначности –
всего ±2
зондирования.
В области,
обведённой жёлтым, видна некая слабо-полосатая структура. По-видимому, прямо
под лодкой дно было достаточно гладким с некоторой волнистой структурой.
В областях,
обведённых синим и зелёными линиями, явно обнаруживаются некие местные
образования. Но более чётко их рассмотреть не удастся: не хватает разрешения
(не фиг было так лодку гнать!).
Кстати
сказать, более навороченные и сложные методы (по корреляции, по контрасту, по
энтропии и т.д. и т.п.) автофокусировки в данном случае дают худшие результаты
нежели наш «примитивный» метод.
Как писали в XIX веке «за сим кончаю», то бишь, пришло время
резюмировать. А выводы просты: «хамминбёрдовский» поплавок является законченной
высокочастотной гидроакустической системой (ГАС), пригодной для проведения
вполне серьёзных экспериментов.





