УДК 621.391
Д. И. Каплун, Д. М. Клионский, А. С. Вознесенский, В. В. Гульванский, В. В. Геппенер Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В. И. Ульянова (Ленина)
Многоканальный алгоритм WOLA при обработке сигналов в задачах гидроакустического мониторинга1
Рассмотрено применение многоканального алгоритма взвешенного перекрывающегося сложения (многоканального алгоритма WOLA) для гидроакустического мониторинга. Описана постановка задачи гидроакустического мониторинга, ее особенности и основные способы решения. Приведены разработанный многоканальный алгоритм WOLA на основе модификации соответствующего одноканального алгоритма и результаты исследования его характеристик с использованием программных средств МАПАБ. Рассмотрена программно-аппаратная реализация многоканальной обработки сигналов и продемонстрированы преимущества применения для этой цели технологии СийА.
Гидроакустический мониторинг, алгоритм WOLAI многоканальная обработка, ДПФ-модулированный банк фильтров, программно-аппаратная реализация, ПЛИС, СиРА
Гидроакустический мониторинг. Понятие "мониторинг" подразумевает проведение непрерывного наблюдения и сбора информации о некотором физическом процессе, объекте, явлении и пр. [1]. В зависимости от рассматриваемых приложений мониторинг может осуществляться в широком диапазоне частот, достигающем нескольких мега- или гигагерц, а также в сравнительно узком диапазоне (что, как правило, связано с особенностями исследуемых сигналов).
Мониторинг находит широкое применение в задачах контроля радиообмена и радиоизлучения, геофизики, анализа вибрационных процессов, гидроакустики и пр. В настоящей статье рассмотрено применение мониторинга в гидроакустике (гидроакустический мониторинг - ГАМ).
Сложность проведения ГАМ обусловлена глав -ным образом существенной пространственно-временной изменчивостью гидроакустических параметров морской среды, а также климатической изменчивостью гидрометеорологических параметров.
Актуальность проведения гидроакустического мониторинга. Шельфовые районы Мирового океана содержат основную часть его запасов полезных ископаемых. Их экосистемам свойственны наибольшие разнообразие и продуктивность. Сбалансированное эффективное освоение живых и неживых ресурсов шельфа Мирового океана возможно лишь при создании систем мо-
ниторинга состояния водной среды, охватывающих наблюдениями целые регионы, попадающие под влияние человеческой деятельности.
Современная концепция построения гидроакустической системы быстрой оценки динамики морской среды допускает комплексное использование спутниковых и наземных ("подспутниковых") технологий наблюдения. Создание региональных систем подобных наблюдений с использованием одних только традиционных способов гидрологического и экологического мониторинга требует чрезвычайно высоких затрат. В настоящее время широкое распространение нашли также наземные дистанционные способы получения информации о характеристиках водной среды. К числу перспективных способов наблюдения относится радиолокационный способ, обеспечивающий оперативное получение информации о характеристиках волнения, степени загрязнения поверхностного микрослоя изучаемой акватории и т. д.
Одним из путей снижения стоимости "подспутниковых" комплексов для океанских регионов может быть комплексное использование контактных способов наблюдения за состоянием водной среды с упомянутыми системами дистанционного мониторинга. Создание подобных комплексов, оптимально объединяющих системы первого и второго типов, позволит значительно сократить количество точек, в которых состояние среды
1 Работа выполнена при поддержке Российского фонда фундаментальных исследований по конкурсу молодежных инициативных проектов "Мой первый грант" (соглашение № 14-07-31250/14) и Минобрнауки РФ (договор № 02.G25.31.0058 от 12.02.2013). 20 © Каплун Д. И., Клионский Д. М., Вознесенский А. С., Гульванский В. В., Геппенер В. В., 2014
следует контролировать с помощью контактных способов (это и создаст указанный эффект).
Суть проблемы состоит в усовершенствовании способов обработки гидрофизической информации, обеспечивающей решение задач регионального ГАМ, в разработке принципов построения гидроакустических систем, реализующих эти способы обработки, а также в их оптимальном сочетании с контактными и дистанционными технологиями "подспутниковых" наблюдений.
Для решения этой проблемы необходимо усовершенствование математических моделей интерпретации принимаемых сигналов, учитывающих особенности их формирования в шельфовых регионах. Особенности этих моделей определяются имеющимися данными о пространственно-временной изменчивости поля скорости звука в водной среде шельфового региона, поэтому их разработку следует сопровождать океанологическими исследованиями соответствующих регионов.
Системы гидроакустического мониторинга. К числу основных задач ГАМ относятся:
- непрерывное наблюдение за подводной обстановкой в режиме шумопеленгования;
- наблюдение за подводной обстановкой в режиме гидролокации (по команде оператора);
- определение местоположения объектов в морских и речных акваториях.
Указанные задачи реализуются, как правило, в составе комплексных систем ГАМ, которые также позволяют контролировать и диагностировать систему ГАМ и ее составные части (с использованием автоматизированной системы технического диагностирования), а также выдают данные об обнаруженных объектах во внешние системы.
Системы ГАМ оснащены бортовой гидроакустической антенной, состоящей из отдельных универсальных гидроакустических антенных модулей. Каждый модуль включает:
- набор акустических приемников;
- аналого-цифровой модуль предварительной обработки сигналов;
- блок формирования цифрового потока.
Антенные модули предназначены для приема
сигналов, аналоговой предварительной обработки и формирования цифрового потока данных, а также для передачи сформированного потока в вычислительный комплекс, где осуществляется дальнейшая обработка.
Вычислительный комплекс проводит комплексную обработку входного многоканального сигнала, контроль и диагностику системы ГАМ на
основе системы технического диагностирования, а также отображает полученные результаты.
Анализ алгоритмов обработки сигналов в таких системах позволяет представить их обобщенную структуру, включающую в себя следующие группы алгоритмов:
- алгоритмы первичной обработки сигналов, обеспечивающие пространственно-временной анализ, спектральный анализ, адаптивное накопление и пороговое обнаружение сигналов;
- алгоритмы вторичной обработки полученной информации, решающие задачи уточнения координат целей, построения трасс их движения, классификации и подготовки данных для предъявления оператору;
- алгоритмы третичной обработки информации, решающие задачи интегрирования результатов подводного наблюдения, получаемых от других систем и комплексов.
Структура также обеспечивает выдачу данных в систему отображения информации и в другие (внешние) системы. Кроме того, имеется система регистрации и документирования информации и управления.
Гидроакустический мониторинг на основе цифровой фильтрации. В настоящее время в задачах ГАМ широко применяются цифровые КИХ-фильтры, синтезированные методом окон или наилучшей равномерной (чебышевской) аппроксимацией [2]. Широкое практическое применение КИХ-фильтров обусловлено возможностью получения линейной ФЧХ (отсутствием фазовых искажений), устойчивостью при любых параметрах, меньшим (по сравнению с БИХ-фильтрами) влиянием шума округления и ошибок квантования, отсутствием эффекта распространения ошибки (в силу отсутствия обратной связи) [2].
Поскольку полосы пропускания фильтров составляют до нескольких десятков и сотен килогерц, а частоты дискретизации значительно выше (достигают, как было отмечено ранее, нескольких десятков мегагерц или нескольких гигагерц), порядки фильтров порой исчисляются сотнями и тысячами. Это приводит к значительным программно-аппаратным затратам, а следовательно, к значительным массогабаритным характеристикам и высокой стоимости таких фильтров. Чем жестче требования к коэффициенту прямоугольности АЧХ и к значению перекрытия полос соседних фильтров, тем существеннее рост программно-аппаратных затрат.
В случае симметрии АЧХ фильтра относительно четверти частоты дискретизации (Fs/4)
для уменьшения порядка фильтра-прототипа возможно применение каскадов из двух фильтров с уменьшенным числом ненулевых (значимых) коэффициентов по сравнению с исходным КИХ-фильтром высокого порядка. Выигрыш в аппаратных затратах может достигать 20-30 % (в отдельных случаях до 50 %), а при многоканальной обработке он становится еще существеннее.
Для упрощения аппаратно-программной реализации, уменьшения внутренних шумов и увеличения ширины частотного диапазона также применяются фильтры без умножителей, позволяющие уменьшить количество операций фильтра, приходящихся на один отсчет входного сигнала. Однако в таких фильтрах отсчеты обрабатываются последовательно, а не параллельно, что снижает скорость обработки и затрудняет ее проведение в режиме, близком к режиму реального времени.
Рост объема вычислений также наблюдается при проведении многоканальной обработки, необходимость которой обусловлена требованием контроля огромных пространств и объемов, а также требованием сокращения времени анализа. Одним из подходов к многоканальной обработке является применение банка (ансамбля) цифровых фильтров [3]-[5].
Таким образом, актуальной является задача синтеза ансамбля цифровых фильтров, перекрывающих рассматриваемый частотный диапазон, с сокращением времени обработки сигналов, минимизацией программно-аппаратных затрат и использованием современной высокопроизводительной аппаратно-программной базы. Кроме того, необходимо разработать вычислительно эффективные алгоритмы расчета сигналов на выходе банка фильтров для случая многоканальной обработки.
Многоканальный алгоритм WOLA (weighted overlap-add) может рассматриваться как обобщение соответствующего одноканального алгоритма [5]. Предложенная в настоящей статье модификация позволяет вычислительно эффективно обработать векторный (многоканальный) входной сигнал, а также осуществить аппаратную реализацию с использованием современной высокопроизводительной аппаратно-программной базы.
В отличие от полифазного представления многоканального банка фильтров, допускающего применение как БИХ-, так и КИХ-фильтров, алгоритм WOLA работает только с КИХ-фильт-рами, поскольку исходный сигнал умножается на 22
окно анализа Ъ (-г) конечной длины. Данный факт не является существенной проблемой, поскольку КИХ-фильтры применяются в задачах мониторинга значительно чаще, чем БИХ-фильт-ры. Применение полифазных банков фильтров наиболее эффективно с вычислительной точки зрения при критической децимации, т. е. при М = К, где М - коэффициент децимации; К - количество каналов банка фильтров. WOLA, напротив, может применяться при произвольном соотношении между М и К, что является его несомненным преимуществом для практики.
По результатам вычисления сигналов на выходах каналов осуществляется их субполосная обработка (каждому канальному сигналу соответствует своя частотная полоса), включающая спектральный, частотно-временной, статистический во временной области анализы, демодуляцию и пр.
Определим входной сигнал
X(п) = [х0 (п) ... хг(п) ... х5-1 (п)]т (1)
в виде набора одноканальных сигналов х,(п), г = 0, ..., 5 -1; п = 0, ..., N -1, представленных прямоугольной матрицей с размерами 5 х N (N -длина (число отсчетов) сигналов х, (п), 5 - количество одноканальных сигналов); т - символ транспонирования.
Входными данными разработанного многоканального алгоритма WOLA являются:
- многоканальный сигнал в матричной форме (1), подматрицы которого (каждая подматрица соответствует отдельному одноканальному сигналу) имеют вид
хг =[х (0) х (1) . х ^ -1)]т, г = 0, ..., 5 -1;
- коэффициент децимации М = 1, К;
- импульсная характеристика (ИХ) ФНЧ-про-тотипа И (п) (вектор-строка размером Nъ ).
ФНЧ-прототип определяет характеристики многоканального банка фильтров: ширину полосы канала, значение перекрытия соседних каналов и т. д. В алгоритме WOLA ИХ ФНЧ-про-тотипа используется в качестве окна анализа для взвешивания сигнала.
В случае критической децимации (М = К) вычисление выходных сигналов полифазного банка фильтров эквивалентно применению алгоритма WOLA, однако в отличие от полифазного
г =
банка фильтров алгоритм WOLA ориентирован на поблочный анализ.
Для эффективного вычисления дискретного преобразования Фурье (ДПФ) необходимо, чтобы
длина N была целой степенью числа 2: N = 2й , где и - натуральное число. Если данное условие не выполнено, все одноканальные сигналы Ху (п), I = 0,..., 5 -1; п = 0,..., N -1, дополняются требуемым количеством нулевых отсчетов. Если длина сигналов N не кратна длине окна N фильтра Ь (п), сигналы также дополняются необходимым количеством нулевых отсчетов.
Взвешивание сигнала X(п) окном описыва-
(
¿00
(0)
г 00
(1) .
¿0, р-1 ( 0) г 0, Р-1 (1) • ¿5-1, 0 (0) ¿5-1, 0 (1) • ¿5 -1, р-1 (0) ¿5 -1, р-1(1).
¿00
(К -1)
Л
¿0, Р-1(К -1)
¿5 -1, 0 (К -1)
¿5-1, Р-1 (К -1)
,(6)
ется в следующем виде:
Ш1
у = 0,
(п) = Ь (шм - п) ху (п), ..., 5 -1; п = 0, ..., N -1,
(2)
где ш - номер блока длины N. Общее количе-ство блоков Р длины Nh с перекрытием
N - Nu
Nh - М определяется как Р = 1 + - , где
I М _
символ и означает округление до ближайшего целого в сторону уменьшения. В результате выполнения (2) формируется матрица X взвешенных отсчетов сигнала:
X(п ) = [Х 0(п) Х1 (п) ... Х 5 -1 (п^, (3) Х =[Ху (0) Ху (1) ... Ху (N -1)]т, (4)
г = 0,
5 -1.
состоящая из подматриц, имеющих по Р строк, соответствующих блокам длины N одного однока-нального сигнала Ху (п), I = 0, ..., 5 -1. С учетом изложенного матрица 2 имеет размеры (Р5) х К.
После суммирования всех блоков каждого од-ноканального сигнала к матрице 2 применяется ДПФ. Данная операция может быть реализована на основе алгоритмов векторного ДПФ [6], предназначенных для вычисления ДПФ векторных (многоканальных) данных:
У = УББТ {2 }, (7)
где У - результирующая матрица ДПФ векторного сигнала; УББТ - оператор векторного (многоканального) ДПФ.
В настоящее время в основном применяются два подхода к вычислению векторного ДПФ. Первый, тривиальный, предполагает применение одномерного ДПФ к каждой строке матрицы 2. При этом требуется вычислить Р5 одномерных ДПФ размера К. Второй подход базируется на вычислении одного одномерного ДПФ размера Р5К :
у = ББТ{|¿00 (0) ¿00 (1) . ¿00(К -1) ••• |*5_1 , р-1 (°) ¿5-1, р-1 (О ... ¿5-1, р-1 (К -1)}, (8)
Далее блоки взвешенного сигнала длиной N разбиваются на неперекрывающиеся сегменты длины К, эти сегменты суммируются. Количество сегментов длины К в пределах блока длины Nfo определяется как Q = |~Nh/K ], где символ
[•] обозначает округление до ближайшего целого в сторону увеличения. В результате получим:
Дг)= Е Хш (г + 1К),
у = 0,
Р -1;
I=-ю
5 -1; ш = 0, г = 0, ..., К -1. На основе (3) может быть введена матрица
(5)
где ББТ - оператор одномерного ДПФ. При вычислении одномерного ДПФ матрица 2 записывается как последовательность своих строк (после данного преобразования она превращается в вектор-строку).
В настоящей статье выбран именно такой подход по следующим причинам:
- алгоритм расчета векторного ДПФ определяет объем вычислительной памяти и общее число коммутаторов параллельно-поточного БПФ-процессора (ППБПФ-процессора). Сведение многомерного ДПФ к одномерному позволяет минимизировать общий объем вычислительной памяти и, следовательно, оптимизировать структуру ППБПФ-процессора;
- вычисление одномерного ДПФ размера Р5К позволяет проще реализовать вычислительную процедуру в ППБПФ-процессоре по сравнению с вычислением Р5 различных ДПФ размера К.
После вычисления ДПФ (6) вектора у размера Р5К его элементы распределяются по строкам матрицы. При этом размеры матрицы У в (6) совпадают с размерами матрицы 2. Матрица У, как и матрица 2, состоит из подматриц:
У (г) = [У) (г) ... У (г) ... У5-1 (г )]т;
Уг (г) = [Уг0 (г) - • Угт (г) - • Уг(5-1) (г)]Т ; (9)
Угт (г) = [Угт (0) - У(т (г) - У(т (К -1)] г = 0, ..., К -1; г = 0, ..., 5 -1; т = 0, ..., Р -1.
В заключение формируется матрица У умножением строк матриц У, на поворачивающие
„ „„ ш-тгМ - 1'2жтгМ1К . множители уук = 5 :
Угт ( г ) = Угт ( г )^тгМ , г = 0, ..., К -1; г = 0, ..., 5 -1; (10) т = 0, ..., Р -1.
Алгоритм содержит следующую последовательность шагов:
1) взвешивание входного сигнала х(п) с помощью окна для получения сигнала X(п) в соответствии с (2)-(4);
2) разбиение взвешенного сигнала (3) на неперекрывающиеся сегменты длины К и суммирование сегментов каждого одноканального сигнала в соответствии с (5);
3) применение векторного ДПФ (6) к матрице 2 с помощью одномерного ДПФ (8) размера Р5К и получение матрицы У в виде (9);
4) формирование результирующей матрицы У в соответствии с (10).
Многоканальный алгоритм WOLA-синтез является дуальным по отношению к алгоритму WOLA-анализ, представленному в настоящей статье.
Программно-аппаратная реализация многоканального алгоритма WOLA. Определяющим фактором вычислительной сложности при программно-аппаратной реализации банка цифровых фильтров с использованием многоканального алгоритма WOLA является ФНЧ-прототип, формирующий частотную характеристику одного канала банка фильтров. Порядок ФНЧ-прототипа определяется исходя из параметров, задаваемых при разработке системы мониторинга: ширины полосы канала,
коэффициента прямоугольности АЧХ и ее неравномерности в полосе пропускания.
В ходе программной реализации многоканального алгоритма WOLA в MATLAB при
N = 106 для числа входных каналов S = 2, 5, 10 и 20 оценки времени выполнения алгоритма составили t = 5, 10, 20 и 40 с соответственно. Таким образом, зависимость времени выполнения алгоритма от числа входных каналов близка к линейной.
Поскольку в банке фильтров входной сигнал (в рассматриваемом случае - многоканальный) обрабатывается параллельно, для повышения эффективности программно-аппаратной реализации наиболее целесообразным представляется использование вычислителей с параллельной структурой. Такие вычислители могут быть реализованы на базе ПЛИС. Для этой же цели применяются устройства обработки с технологией CUDA [7]. Суть этой технологии заключается в использовании набора параллельно работающих графических процессоров (Graphics processing unit - GPU) для решения неграфических задач. GPU - специализированное вычислительное устройство, которое:
- является сопроцессором к центральному процессору (CPU);
- обладает собственной памятью;
- дает возможность параллельно выполнять большое количество фрагментов единой программы.
К преимуществам технологии CUDA следует отнести кроссплатформенность, наличие набора готовых библиотек, использование расширенной версии языка С с дополнительными средствами для параллельного программирования и создания многопоточных приложений на CUDA для написания программ, а также отказ от применения графического интерфейса программирования приложений (API), имеющего ряд ограничений при эффективной организации многопоточных вычислений.
Эксперимент по синтезу банка фильтров реализован в вычислительной системе со следующими параметрами: процессор Intel Core i7 3630QM 2.4 ГГц; ОЗУ DDR3 16 Гбайт; ОС Windows 7 64 бита; видеокарта NVidia GeForce GT650M (384 ядра GPU, частота ядра 850 МГц, память видеокарты 2 Гбайта).
Реализован банк фильтров, имеющий пять входных каналов (предназначенный для обработки пятиканального входного сигнала). Рабочий диапазон частот 0...12 кГц. Основой банка являлся ФНЧ-прототип, синтезированный методом окон с использованием окна Кайзера при частоте дискретизации 24 кГц. Параметры ФНЧ-прототипа
Таблица 1
Параметр Значение
Порядок фильтра 5141
Ширина полосы пропускания (односторонняя), Гц 94
Коэффициент прямоугольности фильтра 1.24
Подавление на границе полосы пропускания, дБ 1
Подавление на границе полосы задерживания, дБ 80
Неравномерность АЧХ в полосе пропускания, дБ 0.5
чиваемого на реализацию банка фильтров, по сравнению с CPU;
- увеличение размера исходных данных приводит к росту выигрыша технологии CUDA по отношению к CPU по времени обработки;
- передача данных между ОЗУ и памятью видеокарты занимает около половины общего вре-
Таблица2
Объем входных данных Технология реализации
CUDA CPU
без передачи данных между ОЗУ и видеокартой с передачей данных между ОЗУ и видеокартой
отсчеты Мбайты Количество машинных циклов длительностью 5 мс
3 000 000 11 293 508 46 931
8 000 000 30 320 895 122 656
16 000 000 61 346 1496 246 834
30 000 000 114 437 2593 459 354
приведены в табл. 1. Прототип позволил получить банк фильтров, имеющий 128 частотных полос.
Сравнительная оценка временных затрат, требуемых при реализации банка фильтров на основе многоканального алгоритма WOLA с использованием CPU или технологии CUDA, при различном объеме входных данных приведена в табл. 2. Анализ результатов позволяет сделать следующие выводы:
- технология CUDA дает возможность сократить аппаратные затраты системы обработки сигналов (за счет чего реализовать более сложные вычислительные алгоритмы), поскольку обеспечивает значительное сокращение времени, затра-
мени обработки, в связи с чем необходимо дальнейшее совершенствование технологии CUDA.
В настоящей статье представлен многоканальный алгоритм WOLA, позволяющий проводить обработку векторных (многоканальных) сигналов в режиме реального времени с использованием векторного ДПФ. Данный алгоритм может быть применен для обнаружения сигналов в радиоэфире и последующего оценивания их характеристик во временной и частотной областях. Показано, что при программно-аппаратной реализации многоканальной обработки с использованием технологии CUDA время обработки может быть сокращено более чем в 10 раз по сравнению с обработкой на CPU.
СПИСОК ЛИТЕРАТУРЫ
1. Рембовский А. М., Ашихмин А. В., Козьмин В. А. Радиомониторинг: задачи, методы, средства. 2-е изд. М.: Горячая линия - Телеком, 2010. 624 с.
2. Солонина А. И., Арбузов С. М. Цифровая обработка сигналов и MATLAB. СПб.: БХВ-Петербург, 2013. 512 с.
3. Antoniou A. Digital filters: analysis, design, and applications. Blacklick, Ohio: McGraw-Hill, USA, 1993. 689 р.
4. Цифровые банки фильтров: анализ, синтез и применение в мультимедиа системах / А. А. Петров-
ский, М. Парфенюк, А. Борович, М. З. Лившиц. Минск: Бестпринт, 2006. 82 с.
5. Crochiere R. E., Rabiner L. R. Multirate digital signal processing. Englewood Cliffs, NJ: Prentice-Hall, 1983. 411 р.
6. Петровский Ал. А., Станкевич А. В., Петровский А. А. Быстрое проектирование систем мультимедиа от прототипа. Минск: Бестпринт, 2011. 412 с.
7. Боресков А. В., Харламов А. А. Основы работы с технологией CUDA-М. М.: ДМК Пресс, 2010. 232 с.
D. I. Kaplun, D. M. Klionskiy, A. S. Voznesenskiy, V. V. Gulvanskiy, V. V. Geppener Saint-Petersburg electrotechnical university "LETI"
Multichannel WOLA algorithm for signal processing in hydroacoustic monitoring tasks
Hydroacoustic monitoring with the help of multichannel weighted overlap-add algorithm (multichannel WOLA-algo-rithm) is considered. Hydroacoustic monitoring task and the main ways of its solution are discussed. The multichannel WOLA-algorithm is developed on the basis of modifying the corresponding one dimensional algorithm and the characteristics of the suggested algorithm are investigated using MATLAB. Software-hardware implementation is considered for multichannel signals and the advantages of CUDA technology are demonstrated.
Hydroacoustic monitoring, WOLA-algorithm, multichannel processing, DFT-modulated filter bank, software-hardware implementation, FPGA, CUDA
Статья поступила в редакцию 15 апреля 2014 г.