УДК 621.37
МОНОБИТНОЕ БЫСТРОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ РАДИОСИГНАЛОВ НА ПЛИС
А.Н. Николаев
MONOBIT FAST FOURIER TRANSFORM OF RADIOFREQUENCY SIGNALS IN FIELD PROGRAMMABLE LOGIC DEVICE (FPLD)
A.N. Nikolaev
Предложен способ реализации алгоритма монобитного быстрого преобразования Фурье на ПЛИС. Применение сигнального графа с постоянной структурой позволяет получить простую в реализации схему конвейерной обработки.
Ключевые слова: монобитное быстрое преобразование Фурье, сигнальный граф, ПЛИС.
A method for implementation of monobit fast Fourier transform algorithm in FPLD is proposed. Application of a signal graph with constant structure makes it possible to obtain a diagram of pipeline processing which is simple in its implementation.
Keywords: monobit fast Fourier transform, signal graph, field programmable logic device.
Введение
Аппаратная реализация вычислителя быстрого преобразования Фурье (БПФ), работающего в режиме реального времени, представляет довольно сложную задачу. Основной элементной базой для решения такой задачи в настоящее время являются программируемые логические интегральные схемы (ПЛИС). Наибольшую трудность при реализации алгоритмов БПФ, как правило, вызывают операции умножения. Например, для N-точечного БПФ с прореживанием по времени требуется N-log2N комплексных умножений или 4N-log2N действительных операций умножения [1]. При достаточно больших N (512 и более) параллельная реализация такого числа умножений затруднительна даже в современных семействах ПЛИС, содержащих встроенные аппаратные умножители [2]. Одним из вариантов решения задачи может быть построение последовательно-параллельных вычислителей БПФ [3]. Однако они имеют довольно сложную структуру, связанную со сложной адресацией памяти промежуточных данных и поворачивающих множителей [4].
Ряд приложений, таких как приемники коммерческой системы глобального позиционирования (GPS) и др., допускает использование аналогоцифровых преобразователей с малым числом разрядов («грубое» квантование сигнала). В этом случае может быть применен способ реализации БПФ, исключающий выполнение операций умножения [5]. Так как для представления поворачивающих
Николаев Андрей Николаевич - старший преподаватель кафедры инфокоммуникационных технологий, Южно-Уральский государственный университет, And-rew.N@rambler.ru________________________________
множителей, а также отсчетов входного сигнала используется один бит, такая концепция получила название монобитной. В [5] предлагается полностью параллельная реализация алгоритма монобитного БПФ, требующая значительных ресурсов ПЛИС. В настоящей статье рассмотрен способ реализации алгоритма монобитного БПФ, позволяющий оптимизировать используемые ресурсы ПЛИС.
Функциональная схема вычислителя
монобитного БПФ на ПЛИС
Наглядное представление о порядке следования входных, выходных, а также промежуточных данных дают сигнальные графы. Разработано большое число вариантов таких графов, отличающихся вариантами перестановок промежуточных результатов и порядком следования отсчетов входных и выходных данных [1]. С точки зрения аппаратной реализации наибольший интерес представляют графы с постоянной структурой. Важной их особенностью является отсутствие необходимости перестановки промежуточных данных при переходе от одного вертикального ряда бабочек к другому. Это позволяет исключить необходимость в дополнительных схемах коммутации данных. Пример сигнального графа 16-точечного БПФ с прореживанием по времени и постоянной структурой представлен на рис. 1, где все вертикальные ряды бабочек имеют одинаковую структуру. Эта особенность, а также отсутствие необходимости в
Andrey Nikolaevich Nikolaev - senior lecturer of Information Communication Technologies Department of South Ural State University; Andrew.N@rambler.ru
перестановке промежуточных данных, позволяют реализовать достаточно простую схему конвейерной обработки, показанную на рис. 2.
На первом этапе вычислений входные данные в порядке, соответствующем бит-реверсивной перестановке, загружаются в регистры промежуточных результатов.
Далее входной мультиплексор (М8) переключает входы регистров промежуточных результатов на выходы вычислителя одного уровня (вертикально ряда в сигнальном графе) бабочек. По окончанию цикла вычислений результат сохраняется в регистрах результата. Данные в этом регистре располагаются в нормальном порядке. Как видно из сигнального графа (рис. 1), вычисления на каждом этапе отличаются набором поворачивающих множителей. Для этого в схеме на рис. 2 предусмотрена память, в которой хранятся наборы поворачивающих множителей для каждого из этапов вычисления.
На вычисление БПФ в предлагаемой схеме потребуется 1о§2^+1 тактов конвейера, что в большинстве случаев позволяет обеспечить непрерывную обработку в режиме реального времени с частичным перекрытием во времени буферов отсчетов входного сигнала.
Как было показано выше, применение алгоритма монобитного БПФ позволяет полностью исключить операции умножения. Концепция такого алгоритма заключается в следующем.
Алгоритм БПФ представляет собой способ быстрого вычисления дискретного преобразования Фурье:
N-1 - І 2 пкп
X(к) = ^х(п)е N .
п=0
Поворачивающие множители Шкп =
=ехр(—Іпкп/Щ представляют отсчеты комплексной экспоненты. В монобитном БПФ поворачивающие множители могут принимать только четыре значе-
Входные
данные
Регистры
промежуточных
результатов
вычислений
Результат -►
Автомат управления и синхронизации
Рис. 2. Схема конвейерного вычислителя БПФ
Монобитное быстрое преобразование Фурье радиосигналов на ПЛИС
ния в зависимости от текущего значения аргумента 0 = nkn/N:
Wkn = 1 + j, 0 < 0 < п/2,
Wkn = -1 + j, п/2 < 0 <п,
Wkn = -1 - j, п < 0 < 3п/2,
Wkn = 1 - j, 3п/2 < 0 < 2п.
В силу избыточности поворачивающих множителей при реализации алгоритма используется только пара Wkn = 1 - j и Wkn = -1 - j.
Обозначим входы и выходы бабочки БПФ как показано на рис. 3.
Вычисления в такой бабочке, соответствующей сигнальному графу БПФ с прореживанием по времени проводятся согласно следующим выражениям:
A = a + Wknb,
B = a - Wknb.
В приведенных выражениях A, B, a, b, а также Wkn являются комплексными числами.
При реализации бабочки в действительной арифметике для Wkn = 1 - j получаем:
ReA = Rea + Reb + Imb,
ImA = Ima - Reb + Imb,
ReB = Rea - Reb - Imb,
ImB = Ima + Reb - Imb, а для Wkn = -1 - j соответственно:
ReA = Rea - Reb + Imb,
ImA = Ima - Reb - Imb,
ReB = Rea + Reb - Imb,
ImB = Ima + Reb +Imb.
С учетом полученных выражений для ReA, ImA, ReB, ImB получаем функциональную схему вычислителя одной бабочки монобитного БПФ (рис. 4). Арифметическая смена знака операндов на схеме условно обозначена символом инверсии.
Выбор поворачивающего множителя осуществляется сигналом W. Состояние W = 0 соответствует выбору Wkn = 1 - j, W = 1 - выбору Wkn = -i - j.
Так как для выбора поворачивающего множителя требуется всего один разряд, отпадает необходимость в памяти поворачивающих множителей. На первом этапе вычислений, соответствующем первому ряду бабочек, для всех бабочек W = 0. На последующих этапах, как это следует из сигнального графа (рис. 1) и выражений для Wkn , верхней половине бабочек соответствует W = 0, нижней половине W = 1.
Результаты моделирования в САПР
При помощи САПР Quartus II фирмы Altera была проведена оценка требуемых ресурсов ПЛИС для реализации вычислителя одного уровня бабочек. Для этого была написана программа на языке VHDL, реализующая алгоритм монобитного БПФ, проведена компиляция, анализ временных параметров и затраченных ресурсов. Для исследований была выбрана ПЛИС семейства Stratix III EP3SL150 фирмы Altera [2].
Результаты приведены в таблице. Логические ресурсы выражены в ALUT (Adaptive Look-Up Table) [2] и в процентах от общего числа ресурсов данного типа в ПЛИС.
Заключение
Оптимизация ресурсов ПЛИС, требуемых для реализации алгоритма монобитного БПФ, путем организации конвейерной обработки позволяет сократить число логических элементов в 8-10 раз по сравнению с [5]. При этом скорость обработки
Рис. 4. Функциональная схема вычислителя бабочки БПФ
Результаты моделирования
Число точек БПФ Логические ресурсы Максимальная тактовая частота, МГ ц
ALUT %
256 13 700 12,1 134,77
512 30 947 27,2 128,24
1024 49 155 43,3 119,10
остается на прежнем уровне. С учетом того, что результат вычисления БПФ на выходе конвейера формируется менее чем через 100 нс после накопления входного буфера, частота дискретизации входного радиосигнала для БПФ на 1024 точки может составлять порядка 10 ГГц. Это позволяет применять алгоритм монобитного БПФ в современных системах радиомониторинга и радиотехнической разведки.
Литература
1. Рабинер, Л. Теория и применение цифровой обработки сигналов / Л. Рабинер, Б. Гоулд. - М.: Мир, 1978. - 848 с.
2. Altera FPGAs / Altera Corporation, 2012. -http://www.altera.com/devices/fpga/fpga-index.html
3. Пяткин, А.К. Построение последовательно-параллельных вычислительных систем БПФ на ПЛИС / А.К. Пяткин // Цифровая обработка сигналов. - 2004. - № 1. - С. 29-34.
4. Формирование адресных последовательностей для конвейерных вычислителей БПФ / Е.А. Семерников, Ю.И. Доронченко, В.Б. Коваленко, М.С. Кочерга // Искусственный интеллект. -2006. - № 3. - С. 86-96.
5. Tsui, J.B.Y. Digital Techniques for Wideband Receivers/J.B.Y. Tsui. - 2nded. - SciTech Publishing Inc, 2004. - 571 p.
Поступила в редакцию 15 сентября 2012 г