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

Заявляемая полезная модель относится к области цифровой обработки сигналов и может быть использована в устройствах гидроакустического мониторинга.
Известно техническое решение (патент РФ №2453986, опубликован 20.06.2012), которое относится к устройству и способу фильтрации входного сигнала временной области для получения выходного сигнала временной области, который представляет собой представление входного сигнала временной области, отфильтрованного с использованием характеристики фильтра, имеющей неравномерную амплитудно-частотную характеристику, содержит банк фильтров комплексного анализа для генерирования множества комплексных субполосных сигналов из входных сигналов временной области, множество промежуточных фильтров, причем, по меньшей мере, один из промежуточных фильтров из множества промежуточных фильтров имеет неравномерную амплитудно-частотную характеристику, при этом множество промежуточных фильтров имеют более короткую импульсную характеристику по сравнению с импульсной характеристикой фильтра, имеющего упомянутую характеристику фильтра, и, кроме того, неравномерные амплитудно-частотные характеристики множества промежуточных фильтров вместе представляют неравномерную характеристику фильтра, и банк фильтров комплексного синтеза для синтезирования выходных данных промежуточных фильтров для получения выходного сигнала временной области. Данное устройство обеспечивает более эффективное или более гибкое манипулирование входным сигналом временной области с лучшим качеством, однако недостатком данного технического решения является низкое быстродействие и высокие аппаратные затраты при обработке векторного сигнала, высокая вычислительная сложность и высокая сложность синтеза устройства.
Наиболее близким техническим решением является устройство фильтрации, которое может использоваться для обработки векторного сигнала (R.E. Crochiere, L.R. Rabiner Multirate digital signal processing // Prentice Hall, 1983, 411 p.). Устройство состоит (см. фиг.1) из последовательно соединенных устройства анализа 1, блока субполосной обработки (БСОБ) 2, устройства синтеза 3, при этом устройство анализа состоит из S - параллельных каналов, каждый из которых состоит из последовательно соединенных блока задержек входного сигнала (БЗ) 4, блока понижения частоты (децимации) (БПнЧ) 5, блока полифазной фильтрации входного сигнала (БПФ) 6, блока дискретного преобразования Фурье (БДПФ) 7. Устройство синтеза состоит из S - параллельных каналов, каждый из которых состоит из последовательно соединенных блока обратного ДПФ (ОДПФ) 8, блока полифазной фильтрации выходного сигнала (БПФ) 9, блока повышения частоты (интерполяции) (БПвЧ) 10, блока задержек выходных сигналов (БЗ) 11.
Прототип относится к устройству обработки векторного (многоканального) сигнала, в котором входной сигнал, представленный последовательностью отсчетов, с помощью блока входных полифазных фильтров 1 разбивается на необходимое количество канальных сигналов, которые после различной обработки с помощью блока выходных полифазных фильтров 9 и последующего суммирования дают последовательность отсчетов выходного сигнала. Многоканальное устройство может в данном случае рассматриваться как обобщение соответствующего одноканального, в котором векторный сигнал обрабатывается параллельно S - одноканальными устройствами. При этом каждый канал основан на алгоритме взвешенного перекрывающегося сложения (WOLA). Где S - количество одноканальных сигналов.
По результатам вычисления сигналов на выходах каналов устройства анализа 1 осуществляется их субполосная обработка соответствующим блоком 2 (каждому канальному сигналу соответствует своя частотная полоса), включающая спектральный анализ, частотно-временной анализ, статистический анализ во временной области, демодуляцию и пр.
0
i
S-1
i
i
T
Определим входной векторный сигнал x(n)=[x(n)…x(n)…x(n)] в виде набора одноканальных сигналов 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
0
i
S-1
Входными данными разработанного устройства на его основе являются: x(n)=[x(n) x(n)…x(n)] - векторный (многоканальный) сигнал в матричной форме, где подматрицы x(n), x(n), …, x(n) имеют вид (каждая подматрица соответствует отдельному одноканальному сигналу):
;
Недостатком данного технического решения является низкое быстродействие и высокие аппаратные затраты при обработке векторного (многоканального сигнала), высокая вычислительная сложность и высокая сложность синтеза устройства.
Задачей на решение которой направлено заявленное техническое решение является повышение вычислительной эффективности, снижение аппаратных затрат, повышение быстродействия.
Технический результат - повышение вычислительной эффективности, снижение аппаратных затрат, повышение быстродействия.
Технический результат достигается за счет того, что в устройство фильтрации векторного сигнала, состоящего из последовательно соединенных устройства анализа, БСОБ и устройства синтеза, при этом устройство анализа состоит из S - параллельных каналов, каждый из которых состоит из последовательно соединенных блока задержек входного сигнала (БЗ), блока понижения частоты (децимации) (БПнЧ), блока полифазной фильтрации входных данных (БПФ), устройство синтеза состоит из S - параллельных каналов, каждый из которых состоит из последовательно соединенных блока полифазной фильтрации выходного сигнала (БПФ), блока повышения частоты (интерполяции) (БПвЧ), блока задержек выходных сигналов (БЗ), в устройство анализа дополнительно введен блок векторного дискретного преобразования Фурье (БВДПФ), входы которого соединены с выходами БПФ каждого из каналов, а выходы являются выходами устройства анализа, в устройство синтеза дополнительно введен блок обратного векторного ДПФ (БОВДПФ), входы которого являются входами устройства синтеза, а выходы соединены со входами БПФ каждого из каналов.
На фиг. 1 изображена структурная схема прототипа устройства фильтрации векторного сигнала
На фиг. 2 изображена структурная схема устройства фильтрации векторного сигнала
На фиг. 3 изображена функциональная схема устройства фильтрации векторного сигнала
На фиг. 4 изображена блок-схема многоканального алгоритма взвешенного перекрывающегося сложения (WOLA)
Устройство фильтрации (см. фиг. 2) векторного сигнала состоит из последовательно соединенных устройства анализа 1, блока субполосной обработки (БСОБ) 2 и устройства синтеза 3, при этом устройство анализа состоит из S - параллельных каналов, каждый из которых состоит из последовательно соединенных блока задержек входного сигнала (БЗ) 4, блока понижения частоты (децимации) (БПнЧ) 5, блока полифазной фильтрации входных данных (БПФ) 6, последовательно соединенных с блоком векторного дискретного преобразования Фурье (БВДПФ) 12, устройство синтеза состоит из блока обратного векторного ДПФ (БОВДПФ) 13 последовательно соединенного с S - параллельными каналами, каждый из которых состоит из последовательно соединенных, блока полифазной фильтрации выходного сигнала (БПФ) 9, блока повышения частоты (интерполяции) (БПвЧ) 10, блока задержек выходных сигналов (БЗ) 11.
Устройство работает следующим образом.
Разработанное устройство фильтрации векторного сигнала основано на многоканальном алгоритме взвешенного перекрывающегося сложения (WOLA). Многоканальный алгоритм WOLA может рассматриваться как обобщение соответствующего одноканального алгоритма (R.E. Crochiere, L.R. Rabiner Multirate digital signal processing // Prentice Hall, 1983, 411 p.), при этом предложенная модификация позволит вычислительно эффективно обработать векторный входной сигнал, а также осуществить аппаратную реализацию с использованием современной высокопроизводительной базы.
По результатам вычисления сигналов на выходах каналов осуществляется их субполосная обработка блоком субполосной обработки 2 (каждому канальному сигналу соответствует своя частотная полоса), включающая спектральный анализ, частотно-временной анализ, статистический анализ во временной области, демодуляцию и пр.
0
i
S-1
i
i
T
Определим входной векторный сигнал x(n)=[x(n)…x(n)…x(n)] в виде набора одноканальных сигналов x(n), i=0, …, S-1; n=0, …, N-1, представленных прямоугольной матрицей размерностью S×N, где N - длина (число отсчетов) сигнала x(n), i=0, …, S-1; n=0, …, N-1, S - количество одноканальных сигналов.
Функциональная схема многоканального устройства фильтрации векторного сигнала на основе полифазного представления показана на фиг. 3.
В данной схеме использованы следующие обозначения:
1) S - размерность векторного сигнала x(n) на входе устройства;
2) M - коэффициент децимации M=1…K, где K - число каналов устройства (для каждой полифазной реализации, соответствующей одному одноканальному сигналу);
i
i
3) g(m) и e(m) - импульсная характеристика (ИХ) i-го полифазного фильтра 6 и 9 в устройствах анализа 1 и синтеза 3 соответственно.
Входными данными разработанного многоканального алгоритма WOLA являются:
0
1
S-1
0
i
S-1
1) x(n)=[x(n) x(n)…x(n)]] - векторный (многоканальный) сигнал в матричной форме, где подматрицы x(n), x(n), …, x(n) имеют вид (каждая подматрица соответствует отдельному одноканальному сигналу):
2) величины S - размерность векторного сигнала x(n) на входе устройства фильтрации, M - коэффициент децимации M=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. Общее число блоков P длины N с перекрытием N-M определяется как , где символ  означает округление до ближайшего целого в сторону уменьшения. В результате выполнения (2) формируется матрица  взвешенных отсчетов сигнала:
h
h
Далее необходимо выполнить разбиение блоков длины N взвешенного векторного сигнала на неперекрывающиеся сегменты длины K и суммирование данных сегментов. Общее количество сегментов Q длины K в пределах блока длины N определяется как  где символ  означает округление до ближайшего целого в сторону увеличения. В результате получаем:
где m=0, …, P-1, r=0, …, K-1. На основе выражений (5) может быть введена матрица 2, имеющая следующую структуру:
h
i
Данная матрица состоит из подматриц, при этом каждая подматрица имеет P строк, соответствующих блокам длины N одного одноканального сигнала x(n), i=0, …, S-1. С учетом сказанного, матрица Z(r) имеет размерность (P·S)×K.
После суммирования всех блоков каждого одноканального сигнала необходимо применить дискретное преобразование Фурье (ДПФ) к матрице Z(r). Данная операция может быть реализована на основе алгоритмов векторного ДПФ, предназначенных для вычисления ДПФ векторных (многоканальных) данных:
где Y(r) - результирующая матрица ДПФ векторного сигнала, VDFT - оператор векторного (многоканального) ДПФ.
В настоящее время в основном применяются два подхода к вычислению векторного ДПФ [Ал.А. Петровский, А.В. Станкевич, А.А. Петровский Быстрое проектирование систем мультимедиа от прототипа // Минск, изд-во "Бестпринт", 2011, 412 с]. Первый, тривиальный, как в прототипе на фиг. 1, предполагает применение одноканального ДПФ к каждой строке матрицы Z(r) (в общей сложности, потребуется вычислить (P·S) различных одноканальных ДПФ размерности K). Второй подход базируется на вычислении одного одноканального ДПФ размерности P·S·K:
где DFT - оператор одноканального ДПФ. При вычислении одноканального ДПФ матрица Z(r) "выпрямляется" и записывается как последовательность своих строк (после данного преобразования матрица Z(r) превращается в вектор-строку).
В устройстве использован именно подход на основе "выпрямления" матрицы по следующим причинам:
- алгоритм расчета векторного ДПФ напрямую влияет на суммарный объем локальной памяти и общее число коммутаторов параллельно-поточного БПФ-процессора (ППБПФ-процессора), т.е., другими словами, общий объем и организацию промежуточной памяти. При этом сведение многоканального ДПФ к одноканальному позволяет минимизировать общий объем вычислительной памяти, а, следовательно, оптимизировать структуру ППБПФ-процессора и снизить аппаратные и временные затраты.
- вычисление одноканального ДПФ размерности P·S·K позволяет проще реализовать вычислительную процедуру в ППБПФ-процессоре, по сравнению с вычислением (P·S) различных ДПФ размерности K, т.е. повышается вычислительная эффективность.
После вычисления ДПФ вектора у размерности P·S·K осуществляется распределение его элементов по строкам матрицы. При этом размерность матрицы Y в (7) будет совпадать с размерностью матрицы Z(r). Матрица Y(r), как и матрица Z(r), будет состоять из подматриц:
i
Завершающим этапом является формирование матрицы  путем умножения всех строк матриц Y(r) на поворачивающий множитель:
где поворачивающий множитель  определяется как .
Алгоритм может быть записан в виде следующей последовательности шагов:
1) взвешивание векторного сигнала x(n) с помощью окна для получения сигнала  в соответствии с (2)-(4);
2) разбиение взвешенного векторного сигнала (3) на неперекрывающиеся сегменты длины K и суммирование сегментов каждого одноканального сигнала в соответствии с (5);
3) применение векторного ДПФ (7) к матрице Z(r) с помощью одноканального ДПФ (8) размерности P·S·K и получение матрицы Y(r) в виде (9);
4) формирование результирующей матрицы  в соответствии с (10).
Схема многоканального алгоритма WOLA показана на фиг. 4.
Многоканальный алгоритм WOLA-синтез является дуальным по отношению к алгоритму WOLA-анализ.
Определяющим фактором вычислительной сложности при аппаратной реализации устройства фильтрации векторного сигнала является ФНЧ-прототип, формирующий частотную характеристику желаемой формы КИХ-фильтра для одного канала. Порядок ФНЧ-прототипа определяется исходя из параметров, задаваемых при разработке системы гидроакустического мониторинга: ширины полосы канала, коэффициента прямоугольности АЧХ и ее неравномерности в полосе пропускания.
Как отмечалось ранее, в устройстве фильтрации осуществляется параллельная обработка входного сигнала (в рассматриваемом случае - многоканального), поэтому для повышения эффективности аппаратной реализации наиболее целесообразным представляется использование вычислителей с параллельной структурой. Такие вычислители могут быть реализованы на программируемых логических интегральных схемах. Для этой же цели используются устройства обработки с технологией CUDA. Суть технологии CUDA заключается в использовании набора параллельно работающих графических процессоров (Graphics Processing Unit - GPU) для решения неграфических задач. GPU - специализированное вычислительное устройство, которое:
- является сопроцессором к центральному процессору (CPU);
- обладает собственной памятью;
- дает возможность параллельно выполнять большое количество отдельных потоков данных (под "потоком" понимаются параллельно выполняемые части одной программы).
К преимуществам технологии CUDA можно отнести кроссплатформенность, наличие набора готовых библиотек, использование расширенной версии языка "Cи" (англ. - C) с дополнительными средствами для параллельного программирования и создания многопоточных приложений на CUDA для написания программ, а также отказ от применения графического интерфейса программирования приложений (API), имеющего ряд ограничений для эффективной организации многопоточных вычислений.
Параметры вычислительной системы, на которой реализовано устройство, следующие: процессор Intel Core i7 3630QM (Ivy Bridge);