УСТРОЙСТВО ФИЛЬТРАЦИИ ВЕКТОРНОГО СИГНАЛА

Заявляемая полезная модель относится к области цифровой обработки сигналов и может быть использована в устройствах гидроакустического мониторинга.
Известно техническое решение (патент РФ №2453986, опубликован 20.06.2012), которое относится к устройству и способу фильтрации входного сигнала временной области для получения выходного сигнала временной области, который представляет собой представление входного сигнала временной области, отфильтрованного с использованием характеристики фильтра, имеющей неравномерную амплитудно-частотную характеристику, содержит банк фильтров комплексного анализа для генерирования множества комплексных субполосных сигналов из входных сигналов временной области, множество промежуточных фильтров, причем, по меньшей мере, один из промежуточных фильтров из множества промежуточных фильтров имеет неравномерную амплитудно-частотную характеристику, при этом множество промежуточных фильтров имеют более короткую импульсную характеристику по сравнению с импульсной характеристикой фильтра, имеющего упомянутую характеристику фильтра, и, кроме того, неравномерные амплитудно-частотные характеристики множества промежуточных фильтров вместе представляют неравномерную характеристику фильтра, и банк фильтров комплексного синтеза для синтезирования выходных данных промежуточных фильтров для получения выходного сигнала временной области. Данное устройство обеспечивает более эффективное или более гибкое манипулирование входным сигналом временной области с лучшим качеством, однако недостатком данного технического решения является низкое быстродействие и высокие аппаратные затраты при обработке векторного сигнала, высокая вычислительная сложность и высокая сложность синтеза устройства.
Наиболее близким техническим решением является устройство фильтрации векторного сигнала (патент РФ на ПМ №148684, опубл. 03.06.2014). Устройство состоит из последовательно соединенных устройства анализа, блока субполосной обработки (БСОБ), устройства синтеза, при этом устройство анализа состоит из S-параллельных каналов, каждый из которых состоит из последовательно соединенных блока задержек входного сигнала (БЗ), вход которого является входом устройства фильтрации, блока понижения частоты (децимации) (БПнЧ), блока полифазной фильтрации входного сигнала (БПФ), а также общего для всех каналов блока векторного дискретного преобразования Фурье (БВДПФ), с входами которого соединены выходы S-параллельных каналов. Устройство синтеза состоит из блока обратного векторного дискретного преобразования Фурье (БОВДПФ), выходы которого соединены с входами S-параллельных каналов, каждый из которых состоит из последовательно соединенных блока полифазной фильтрации выходного сигнала (БПФ), блока повышения частоты (интерполяции) (БПвЧ), блока задержек выходных сигналов (БЗ), выход которого является выходом устройства фильтрации.
Прототип относится к устройству обработки векторного (многоканального) сигнала, в котором входной сигнал, представленный последовательностью отсчетов, обрабатывается параллельно S-одноканальными устройствами, в каждом из которых с помощью блока входных полифазных фильтров разбивается на необходимое количество канальных сигналов, которые после различной обработки с помощью блока выходных полифазных фильтров и последующего суммирования дают последовательность отсчетов выходного сигнала. При этом каждый канал основан на алгоритме взвешенного перекрывающегося сложения (WOLA), где S - количество одноканальных сигналов.
По результатам вычисления сигналов на выходах каналов устройства анализа осуществляется их субполосная обработка соответствующим блоком (каждому канальному сигналу соответствует своя частотная полоса), включающая спектральный анализ, частотно-временной анализ, статистический анализ во временной области, демодуляцию и пр.
i
i
Входной векторный сигнал  определяется в виде набора одноканальных сигналов x(n), i=0, …, S-1; n=0, …, N-1, представленных прямоугольной матрицей размерностью S×N, где N - длина (число отсчетов) сигнала x(n), i=0, …, S-1; n=0, …, N-1, S - количество одноканальных сигналов.
0
1
S-1
Входными данными устройства являются:  - векторный (многоканальный) сигнал в матричной форме, где подматрицы x(n), x(n), …, x, (n) имеют вид (каждая подматрица соответствует отдельному одноканальному сигналу):
;
Недостатком данного технического решения является невозможность обработки сигналов, ширина спектров которых превышает ширину частотной полосы одного канала устройства многоканальной фильтрации векторного сигнала, а также низкое быстродействие при обработке векторного (многоканального сигнала) с различной шириной спектров канальных сигналов.
Задачей, на решение которой направлено заявленное техническое решение, является расширение области применимости, за счет увеличения количества видов обрабатываемых сигналов, повышение быстродействия.
Технический результат - увеличение количества видов одновременно обрабатываемых сигналов, повышение быстродействия и снижение аппаратных затрат при одновременной обработке сигналов с различной шириной спектра.
Технический результат достигается за счет того, что в устройство фильтрации векторного сигнала, состоящего из последовательно соединенных устройства анализа, блока субполосной обработки и устройства синтеза, при этом устройство анализа состоит из S -параллельных каналов, каждый из которых состоит из последовательно соединенных блока задержек входного сигнала (БЗ), вход которого является входом устройства фильтрации, блока понижения частоты (децимации), блока полифазной фильтрации входных данных, а также блока векторного дискретного преобразования Фурье, входы которого соединены с выходами S-параллельных каналов, устройство синтеза состоит из блока обратного векторного дискретного преобразования Фурье, выходы которого соединены с входами S-параллельных каналов, каждый из которых состоит из последовательно соединенных блока полифазной фильтрации выходного сигнала (БПФ), блока повышения частоты (интерполяции) (БПвЧ), блока задержек выходных сигналов (БЗ), выход которого является выходом устройства фильтрации, в устройстве анализа дополнительно введен блок объединения каналов (БОБК), входы которого соединены с выходами БВДПФ, а выходы являются выходами устройства анализа.
На фиг. 1 изображена структурная схема устройства фильтрации векторного сигнала.
На фиг. 2 изображена функциональная схема устройства фильтрации векторного сигнала.
На фиг. 3 изображена частотная характеристика одного канала устройства фильтрации векторного сигнала.
На фиг. 4 изображена блок-схема многоканального алгоритма взвешенного перекрывающегося сложения (WOLA).
Устройство фильтрации (см. фиг. 1) векторного сигнала состоит из последовательно соединенных устройства анализа 1, блока субполосной обработки (БСОБ) 2 и устройства синтеза 3, при этом устройство анализа состоит из S-параллельных каналов, каждый из которых состоит из последовательно соединенных блока задержек входного сигнала (БЗ) 4, вход которого является входом устройства фильтрации, блока понижения частоты (децимации) (БПнЧ) 5, блока полифазной фильтрации входных данных (БПФ) 6, а также общего для всех каналов блока векторного дискретного преобразования Фурье (БВДПФ) 7, с входами которого соединены выходы S-параллельных каналов, и блока объединения каналов (БОБК) 12, входы которого соединены с выходами блока векторного дискретного преобразования Фурье (БВДПФ) 7, а выходы являются выходами устройства анализа 1. Устройство синтеза 3 состоит из блока обратного векторного дискретного преобразования Фурье (БОВДПФ) 8, выходы которого соединены с входами S-параллельных каналов, каждый из которых состоит из последовательно соединенных, блока полифазной фильтрации выходного сигнала (БПФ) 9, блока повышения частоты (интерполяции) (БПвЧ) 10, блока задержек выходных сигналов (БЗ) 11, выход которого является выходом устройства фильтрации.
Устройство работает следующим образом.
Разработанное устройство фильтрации векторного сигнала основано на многоканальном алгоритме взвешенного перекрывающегося сложения (WOLA) (патент РФ №148684, от 03.06.2014). При этом предложенная модификация позволит вычислительно эффективно обработать векторный входной сигнал разного вида, а также осуществить аппаратную реализацию с использованием современной высокопроизводительной базы.
По результатам вычисления сигналов на выходах каналов осуществляется их субполосная обработка блоком субполосной обработки 2 (каждому канальному сигналу соответствует своя частотная полоса), включающая спектральный анализ, частотно-временной анализ, статистический анализ во временной области, демодуляцию и пр.
i
i
Определим входной векторный сигнал в виде набора одноканальных сигналов x(n), i=0, …, S-1; n=0, …, N-1, представленных прямоугольной матрицей размерностью S×N, где N - длина (число отсчетов) сигнала x(n), i=0, …, S-1; n=0, …, N-1, S - количество одноканальных сигналов.
Функциональная схема многоканального устройства фильтрации векторного сигнала на основе полифазного представления показана на фиг. 2.
В данной схеме использованы следующие обозначения:
1) S - размерность векторного сигнала x(n) на входе устройства;
2) М - коэффициент децимации М=1…K, где K - число каналов устройства (для каждой полифазной реализации, соответствующей одному одноканальному сигналу);
i
i
3) g(m) и e(m) - импульсная характеристика (ИХ) i-го полифазного фильтра 6 и 9 в устройствах анализа 1 и синтеза 3 соответственно.
Входными данными разработанного многоканального алгоритма WOLA являются:
0
1
S-1
1)  - векторный (многоканальный) сигнал в матричной форме, где подматрицы x(n), x(n), …, x, (n) имеют вид (каждая подматрица соответствует отдельному одноканальному сигналу):
2) величины S - размерность векторного сигнала x(n) на входе устройства фильтрации, М- коэффициент децимации М=1…K, где K - число каналов устройства фильтрации (для каждой полифазной реализации, соответствующей одному одноканальному сигналу);
h
3) h(n) - ИХ ФНЧ-прототипа (вектор-строка размерностью 1×N). ФНЧ-прототип определяет характеристики устройства фильтрации векторного сигнала: ширину полосы канала, величину перекрытия соседних каналов и т.д. В алгоритме WOLA ИХ ФНЧ-прототипа используется в качестве окна анализа для взвешивания сигнала.
u
i
h
Для применения алгоритма необходимо, чтобы длина N была целой степенью числа 2, т.е. N=2, где u - натуральное число. Если данное условие не выполнено, все одноканальные сигналы x(n), i=0, …, S-1; n=0, …, N-1, должны быть дополнены требуемым количеством нулей. В случае если правая граница окна h(n) превышает отсчет с номером N-1, все одноканальные сигналы дополняются соответствующим количеством нулей, чтобы на длине N укладывалось целое число блоков длины N.
Взвешивание векторного сигнала x(n) окном может быть записано в следующем виде:
h
h
h
где m - номер блока длины N. Общее число блоков Р длины N с перекрытием N-M определяется как , где символ  означает округление до ближайшего целого в сторону уменьшения. В результате выполнения (2) формируется матрица  взвешенных отсчетов сигнала:
h
h
Далее необходимо выполнить разбиение блоков длины N взвешенного векторного сигнала на неперекрывающиеся сегменты длины K и суммирование данных сегментов. Общее количество сегментов Q длины K в пределах блока длины N определяется как , где символ  означает округление до ближайшего целого в сторону увеличения. В результате получаем:
где m=0,…,Р-1, r=0,…,K-1. На основе выражений (5) может быть введена матрица Z, имеющая следующую структуру:
h
i
Данная матрица состоит из подматриц, при этом каждая подматрица имеет Р строк, соответствующих блокам длины N одного одноканального сигнала x (n), i=0, …, S-1. С учетом сказанного, матрица Z(r) имеет размерность (P⋅S)×K.
После суммирования всех блоков каждого одноканального сигнала необходимо применить дискретное преобразование Фурье (ДПФ) к матрице Z(r). Данная операция может быть реализована на основе алгоритмов векторного ДПФ, предназначенных для вычисления ДПФ векторных (многоканальных) данных:
где Y(r) - результирующая матрица ДПФ векторного сигнала, VDFT -оператор блока векторного (многоканального) ДПФ 7.
Векторное ДПФ базируется на вычислении одного одноканального ДПФ размерности P⋅S⋅K:
где DFT - оператор одноканального ДПФ. При вычислении одноканального ДПФ матрица Z(r) "выпрямляется" и записывается как последовательность своих строк (после данного преобразования матрица Z(r) превращается в вектор-строку).
После вычисления ДПФ вектора у размерности P⋅S⋅K существляется распределение его элементов по строкам матрицы. При этом размерность матрицы Y в (7) будет совпадать с размерностью матрицы Z(r). Матрица Y(r), как и матрица Z(r), будет состоять из подматриц:
i
Следующим этапом является формирование матрицы  путем умножения всех строк матриц Y(r) на поворачивающий множитель:
где поворачивающий множитель  определяется как .
Завершающим этапом алгоритма является формирование частотных полос необходимой ширины из частотных полос одинаковой ширины на выходах каналов (фиг. 3). Это осуществляется при помощи блока объединения каналов 12, который объединяет сигналы на выходах соответствующих каналов во временной области таким образом, что ширина частотных характеристик этих каналов расширяется кратно количеству объединенных каналов, умноженных на ширину полосы одного канала до объединения.
Алгоритм может быть записан в виде следующей последовательности шагов:
1) взвешивание векторного сигнала x(n) с помощью окна для получения сигнала  в соответствии с (2)-(4);
2) разбиение взвешенного векторного сигнала (3) на неперекрывающиеся сегменты длины K и суммирование сегментов каждого одноканального сигнала в соответствии с (5);
3) применение векторного ДПФ (7) к матрице Z(r) с помощью одноканального ДПФ (8) размерности P⋅S⋅K и получение матрицы Y(r) в виде (9);
4) формирование результирующей матрицы  в соответствии с (10).
5) объединение соответствующих каналов.
Схема многоканального алгоритма WOLA показана на фиг. 4.
Многоканальный алгоритм WOLA-синтез является дуальным по отношению к алгоритму WOLA-анализ.
Определяющим фактором вычислительной сложности при аппаратной реализации устройства фильтрации векторного сигнала является ФНЧ-прототип, формирующий частотную характеристику желаемой формы КИХ-фильтра для одного канала. Порядок ФНЧ-прототипа определяется исходя из параметров, задаваемых при разработке системы гидроакустического мониторинга: ширины полосы канала, коэффициента прямоугольности АЧХ и ее неравномерности в полосе пропускания.
Как отмечалось ранее, в устройстве фильтрации осуществляется параллельная обработка входного сигнала (в рассматриваемом случае - многоканального), поэтому для повышения эффективности аппаратной реализации наиболее целесообразным представляется использование вычислителей с параллельной структурой. Такие вычислители могут быть реализованы на программируемых логических интегральных схемах. Для этой же цели используются устройства обработки с технологией CUDA. Суть технологии CUDA заключается в использовании набора параллельно работающих графических процессоров (Graphics Processing Unit - GPU) для решения неграфических задач. GPU - специализированное вычислительное устройство, которое:
- является сопроцессором к центральному процессору (CPU);
- обладает собственной памятью;
- дает возможность параллельно выполнять большое количество отдельных потоков данных (под "потоком" понимаются параллельно выполняемые части одной программы).
К преимуществам технологии CUDA можно отнести кроссплатформенность, наличие набора готовых библиотек, использование расширенной версии языка "Си" (англ. - С) с дополнительными средствами для параллельного программирования и создания многопоточных приложений на CUDA для написания программ, а также отказ от применения графического интерфейса программирования приложений (API), имеющего ряд ограничений для эффективной организации многопоточных вычислений.
Параметры вычислительной системы, на которой реализовано устройство, следующие: процессор Intel Core i7 3630QM (Ivy Bridge); оперативная память DDR3 8 Гб; операционная система Windows ХР SP2 32 бит; видеокарта NVidia GeForce GT650M.
В результате видно, что в устройстве обеспечено повышение вычислительной эффективности, снижение аппаратных затрат, повышение быстродействия.