Новый подход к проектированию многоканальных

Активно развивающиеся в последние годы методы частотно-временного анализа с помощью банков цифровых фильтров дают ряд преимуществ по отношению к классическим методам с использованием дискретного преобразования Фурье (ДПФ). Банк цифровых фильтров (совокупность однотипных полосовых фильтров, перекрывающих весь исследуемый частотный диапазон) предназначен для разбиения входного сигнала на несколько подканалов. Пусть исследуемая полоса частот f є , где Fs — частота дискретизации входного комплексного сигнала. Тогда центральная частота k-го фильтра — f. = kFs = где K K число подканалов, равное числу фильтров. Выходные отсчеты k-го канала (фильтра) определяются формулой : N — 1 yk(t) = X — /)exp(y27tfk?) = і = 0 N — 1 = X h(i)x(t — /)expO 27t/ik?).(1) і = 0 Все полосовые фильтры получены из исходного фильтра нижних частот (ФНЧ) сдвигами его частотной характеристики (входного сигнала). Такие сдвиги может обеспечить дискретное преобразование Фурье: X(k) = X x(i)exp (- , (2) і = 0 где K — число отсчетов в выборке; k = (0, … , K — 1) — номер гармоники. -Fs o -Fs/2 o Fs/2 Fs Рис. 1. Эквивалентные распределения каналов Повторяя преобразования (2) на каждом текущем отсчете, получим: X(k, t) = X x(t — i)exp(- }j, i = 0 что соответствует формуле (1), когда h(i) = 1, / =(0, K — 1). Теперь ДПФ можно рассматривать как набор из K полосовых фильтров: ук-!с($ = = X(k, t), где K — k — номер фильтра (канала). Такая частотная характеристика имеет существенные недостатки: растекание в боковые лепестки, наложение соседних каналов и «эффект частокола» из-за остроконечной формы главного лепестка. Стандартные окна Ханнинга, Хемминга, Ханна и т. п. хотя и позволяют убрать боковые лепестки (растекание), но лишь за счет усиления эффекта наложения , так как во временной области все эти окна сужают интервал анализа относительно исходного прямоугольного окна, что в частотной области приводит к обратному эффекту. Чтобы частотные характеристики каналов не перекрывались, интервал, на котором происходит взвешивание сигнала, должен быть больше интервала ДПФ-анализа, поэтому нужно вначале сформировать взвешивающим окном желаемую частотную характеристику, а потом проводить ДПФ. Если заменить ограничение на длину интервала взвешивания N = K более легким — N = LK, L = 2, 3, 4, т. е. N больше, но кратно интервалу ДПФ-анализа, то подбором взвешивающего окна можно задать любую форму частотной характеристики фильтра. Это позволит обеспечить и отсутствие перекрытия соседних каналов и максимально равномерную характеристику в полосе пропускания. Для обеспечения перекрытия соседних каналов менее 5 % при любом K длина окна N должна быть в 12-16 раз больше K. Чтобы вернуться к выбранной длине интервала ДПФ-анализа, взвешенная последовательность длины N = LK разбивается на L блоков по K отсчетов, после чего эти блоки накладываются друг на друга и поэлементно суммируются. Каждый r-й отсчет наложенной последовательности, полученной в момент времени t, zt(r) = zt(K — i), / = (0, K — 1) определяется выражением: L — 1 zt(r) = zt(K — i) = X x(t — nK — i)h(nK + i), n = 0 где N = LK; n = (0, L — 1) — номер блока. Далее над полученными K отсчетами проводится ДПФ. Поэлементное сложение блоков длины K взвешенной последовательности допустимо, так как все используемые в ДПФ комплексные экспоненты укладываются в K отсчетах целое число периодов, поэтому каждый K-й отсчет умножается на одно и то же значение. Отсчеты после ДПФ описываются выражением: K — 1 yt(K — k) = X Zt(r)exp(-j2nfki), y к = yo.(3) i = 0 Если число каналов K = 8 и форма АЧХ взвешивающего окна такая, как указывалось ранее, АЧХ банка фильтров будет, как и номера каналов K — k, согласно выражению (3) соответствовать рис. 1. Таким образом, взвешивающее окно — это импульсная характеристика фильтра с конечной импульсной характеристикой (КИХ) желаемой формы для одного канала. Число операций типа сложение/умножение, приходящихся на один отсчет входного комплексного сигнала, для КИХ-фильтра равно 2KL. Для быстрого преобразования Фурье (БПФ) оно равно 2Klog2K, и на вычисление одного выходного отсчета во всех каналах банка фильтров приходится 2(L + log2K) операций (множитель 2 учитывает, что на сложение/умножение комплексных отсчетов приходится две операции: обработка вещественной и мнимой частей). Поскольку при подобной фильтрации частота на выходе фильтров будет в K раз меньше частоты входного сигнала, следующее преобразование можно выполнять через K входных отсчетов, что эквивалентно децимации фильтрованного сигнала. На практике обычно имеет место перекрытие АЧХ соседних каналов, вызванное невозможностью получения идеально прямоугольной формы АЧХ взвешивающего окна, и частотная полоса в каждом канале будет несколько шире, чем Fs/K. Следовательно, после децимации в K раз выходной сигнал будет искажен . Для устранения нежелательных эффектов децимации следующие преобразования проводят не через K, а через K/2 входных отсчетов, создавая двукратный запас по частоте дискретизации вы ходного сигнала. Тогда общее число операций на один отсчет: 2K™ K = 4(L + Ю82К),(4) что при числе фильтров K = 1024 и L = 12 дает 88, а при K = 32-68, т. е. определяющим фактором вычислительной сложности является не ДПФ, а цифровой фильтр, от формы которого зависит L. При практической реализации операции над вещественными и мнимыми частями отсчетов проводятся параллельно; также одновременно проводятся операции взвешивания следующей и БПФ предыдущей групп отсчетов при конвейерной организации алгоритма . Все это позволяет значительно ускорить анализ. Принципиальная разница между традиционным БПФ-анализом и реализуемым банком фильтров в том, что при обычном вычислении спектра временной интервал между выборками может быть произвольным и зависит только от скорости изменения спектра. Для банка фильтров базисные функции Фурье — это опорные частоты гетеродинов, транспонирующих спектр. Поэтому сдвиг во времени в исходном сигнале должен сопровождаться точно таким же сдвигом всех функций базиса. Этот сдвиг легко реализуется только для частных случаев, когда сдвиг равен K/2 или K/4. Из уравнения (4) не следует, что число каналов ДПФ может быть сколь угодно велико: при достаточно больших K либо вообще невозможно получить взвешивающее окно, обеспечивающее желаемую форму АЧХ, либо его длина чрезмерно велика из-за одновременного увеличения L и K. При практической реализации важно не только число операций на один входной отсчет, но и длина взвешивающего окна N = LK, так как в памяти нужно хранить не только сами весовые коэффициенты окна, но и равное его длине число комплексных входных отсчетов. В настоящее время необходимы такие аппаратно-программные комплексы (АПК), которые бы могли в реальном масштабе времени принимать, обрабатывать и передавать измерительную информацию, поступающую одновременно из нескольких источников. Банк цифровых фильтров позволяет эффективно решать эту задачу путем разбиения всего входного сигнала на необходимое число параллельных каналов, в каждом из которых информация анализируется фильтром с уникальными параметрами. Наиболее отвечает требованиям работы в реальном масштабе времени реализация банка цифровых фильтров на программируемых логических интегральных схемах (ПЛИС), которые осуществляют параллельную обработку данных. Банки цифровых фильтров, реализованные на ПЛИС, находят применение в навигационных приборах и системах, системах радиомониторинга, радиолокационных комплексах и т. д. Для детального анализа сигнала вместо увеличения числа каналов K можно использовать уточняющее преобразование , идеально подходящее для случаев, когда требуется более подробно рассмотреть спектральные компоненты в одном из каналов и нет необходимости детализировать остальную часть спектра. С вычислительной точки зрения наиболее эффективно разбиение K на две равные части, при котором K = mj -w^ = m2, где mt — число каналов ДПФ на каждом шаге. Однако это не жесткое условие, так как повторное преобразование производится уже над децимиро-ванными отсчетами и не сказывается на скорости обработки. Уточняющее преобразование состоит в том, что сигнал выбранного канала может быть повторно подвергнут описанному выше БПФ с тем же или другим ФНЧ. В этом случае анализ сигнала проводится в два этапа: вначале исследуется амплитудный спектр (или спектральная плотность мощности) сигнала с достаточно грубым разбиением на каналы (например, на 64 канала). Затем выбранный по этому спектру канал вновь разбивается на составляющие. Их число произвольно, но кратно двум. На этом этапе можно наблюдать не только амплитудный спектр сигнала, но и любую выбранную частотную составляющую в двух формах: либо как предварительно гетеро-динированную и отфильтрованную, либо просто в форме сигнала, пропущенного через узкополосный фильтр. Первая форма подразумевает децимацию исходного сигнала, вторая — использует восстановление исходного сигнала по децимиро-ванным отсчетам. Для оценки реального быстродействия спек-троанализатора с банком фильтров на ПЛИС SPARTAN-3 фирмы Xilinx разобьем все операции на две группы: операции взвешивания входных отсчетов (КИХ-фильтрация) и операции БПФ-анализа. Примем, как и ранее, длину выборки N = KL, где K = 2 — размерность БПФ-анализа (число спектральных коэффициентов), L = 10…16 — коэффициент расширения интервала K, выбираемый исходя из требований к крутизне КИХ-фильтра. Оценим временные затраты на операции первой группы. Минимальную скорость обработки можно получить, если при взвешивании входных отсчетов КИХ-коэффициентами использовать всего два множительных устройства: одно — для вещественной, другое — для мнимой части. В этом случае взвешивание всех N отсчетов займет KL тактов. Поскольку повторение вычислений происходит со сдвигом (децимацией) на половину длины БПФ-анализа, то на один отсчет входного сигнала будет приходиться KL/(K/2) = 2L операций. На пример, при L = 12 на один отсчет входного сигнала должно приходиться 24 такта тактовой частоты ПЛИС. Если эта частота равна 25 МГц, частота дискретиза ии сигнала может составлять 1 МГц. Поднять предельную частоту анализа можно распараллеливанием операций умножения. Так, для ПЛИС XC3S200, имеющей 12 встроенных умножителей, шесть будут заняты процедурой БПФ, остальные могут быть использованы для взвешивания входных отсчетов, при этом быстродействие увеличится в три раза. Частота дискретизации сигнала составит 2,5 МГц на тактовой частоте ПЛИС 25 МГц, и 6 МГц — на 70 МГц. Существенного увеличения быстродействия можно добиться только при использовании ПЛИС нового поколения (Virtex 4), в стандартной библиотеке которой имеются оптимизированные алгоритмы, осуществляющие БПФ за один такт. При тактовой частоте порядка 400 МГц такая ПЛИС может обеспечить обработку сигнала с частотой дискретизации около 100 МГц. Основной недостаток выбранного алгоритма БПФ заключается в сокращении разрядности выходных отсчетов. Стандартная процедура БПФ для исключения переполнений после каждой итерации сдвигает данные на один разряд, что приводит к потере log2-K разрядов в выходном сигнале. При K = 1024 от исходной сетки 216 останется всего 6 разрядов. Такое масштабирование при взвешивании исходного сигнала становится избыточным. В разработанном анализаторе масштабирование проводится лишь на нескольких промежуточных итерациях, благодаря чему динамический диапазон выходного сигнала составляет 212. Стандартный алгоритм с коррекцией коэффициентов на каждой итерации в зависимости от значения старшего разряда результата для экономии ресурсов ПЛИС не использовался. Анализ искажения выходных сигналов в реализованном банке фильтров при подаче тестового гармонического сигнала с частотой 5 Гц показал, что в каналах, в которых отсутствует сигнал в полосе пропускания, уровень выходного сигнала по среднеквадратическому отклонению (СКО) составляет 0,0008, т. е. -62 дБ. В полосе пропускания среднее значение синусоидального гармонического сигнала равно 0,001, а СКО с погрешностью менее 1 % соответствует СКО гармонического сигнала с амплитудой 0,262. Мгновенные значения выходного сигнала отличаются от тестового сигнала на величины, не превышающие 3 %. Переходный процесс, полученный для нулевого канала, по времени группового запаздывания и характеру в точности соответствует переходному процессу эталонного КИХ-фильтра. Время реакции на скачкообразное изменение частоты при подаче тестового гармонического сигнала, каждые 2 с скачкообразно изменяющего частоту с шагом Fs/K, начиная с частоты 1 Гц (при Fs = 10 000, K = 128), иллюстрирует рис. 2. Это время составляет не более 13 отсчетов. Тестирование скорости работы банка фильтров проводилось при помощи программы, осуществляющей передачу тестового сигнала в виде массива размером в 320 Мб, что составляет 83 886 080 комплексных отсчетов. Полученное время приема/передачи составило около 91 с, что соответствует скорости обработки в 921 825 комплексных отсчетов в секунду. Сравнение частотной характеристики первого канала с эталонной характеристикой, синтезированной в Matlab, показало, что в полосе прозрачности эти характеристики практически совпадают, а в полосе подавления проявляются эффекты округления. Отличие синтезированной частотной характеристики от реальной составляет менее 0,1 дБ. В заключение можно отметить, что банк цифровых фильтров, который представляет собой набор однотипных полосовых фильтров, является простым и эффективным инструментом для разбиения исследуемого частотного диапазона на поддиапазоны. Реализация банка цифровых фильтров на ПЛИС позволяет повысить быстродействие и гибкость системы, а также реализовать фильтры с улучшенными характеристиками. , , Методы построения банка цифровых фильтров: конвейерное частотное преобразование и взвешенное перекрывающееся сложение // Современная электроника. — 2008. — № 3. — С. 48-51. , , , Основы цифровой обработки сигналов: Курс лекций. — СПб.: БХВ-Петербург, 2005. — 768 с. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. — Мир. Москва, 1978. — 833 с.