УДК 681.326.7
Е.А.Птичкин, Л.А.Рассветалов
ИССЛЕДОВАНИЕ ПУТЕЙ РЕАЛИЗАЦИИ АЛГОРИТМА ПОТОЧНОГО БПФ
A Simulink model of a pipeline Fast Fourier Transform algorithm is described. Basing on the model an IP core for FPGA is developed. An estimation of processing speed and FPGA resources of the core is given.
Введение
В настоящее время для многих радиотехнических систем актуальна проблема реализации алгоритмов цифровой обработки сигналов с полосой 100 МГц и выше. Спектр применения таких алгоритмов весьма широк: пассивная и активная радиолокация, радиоастрономия, широкополосные системы связи и т.д. Для обработки столь широкополосных сигналов требуется обеспечить скорость порядка 100 MSPS*. Современные сигнальные процессоры позволяют достичь скорости обработки порядка 20 MSPS, что вызывает необходимость построения систем обработки конвейерного типа, а следовательно, использования микросхем программируемой логики (ПЛИС). С практической точки зрения наибольший интерес представляют алгоритмы конвейерного быстрого преобразования Фурье (БПФ). Ниже описана математическая модель одной из конвейерных схем.
Модель конвейерного алгоритма БПФ
Существуют различные способы реализации структуры БПФ, описанные в литературе [1]. В данной работе исследована модель поточного БПФ, оптимизированная с целью определения реально достижимого быстродействия и требуемых аппаратных ресурсов. Проводилось исследование модели БПФ с размерностью 16 и основанием 2 путем моделирования в среде Simulink пакета инженерных приложений Matlab [2,3]. Параметры исследуемого БПФ были выбраны исходя из компромисса между простотой и функциональностью модели. На рис.1 представлен направленный граф алгоритма БПФ размерности 16 по основанию 2 с прореживанием по частоте. При такой схеме построения входные временные отсчеты следуют в прямом порядке, а выходные частотные — в двоичном инверсном.
Порядок следования временных отсчетов (прямой)
0
1
2
3
4
5
6
7
8
9
10 11 12
13
14
15
1 стадия БПФ
\ \
2 стадия БПФ
I \
3 стадия БПФ | | 4 стадия БПФ
Порядок следования частотных отсчетов (двоично-инверсный)
0
8
4 12
2 10
6
14
1 9
5 13
3 11
7
15
степень поворачивающих множителем
W .
exp (- j * n* w * t )
Рис.1. Граф БПФ размерности 16 по основанию 2
MSPS — мегаслов в секунду.
В исследуемой модели предлагается использовать первый уровень параллелизма, при котором одновременно выполняется по одному комплексному умножению для каждой стадии БПФ.
Следует отметить, что наибольшей вычислительной нагрузкой для реализации в ПЛИС являются комплексные умножители, поэтому в этой модели производилась минимизация именно этих блоков. Для обеспечения конвейерной работы в первом приближении потребуется четыре комплексных умножителя. Однако, как видно из графа, на последних двух стадиях используются вырожденные комплексные умножители. На третьей стадии они представляют собой мультиплексоры, а на последней — сумматоры-вычитатели и, следовательно, не требуют умножителей. Каждый невырожденный комплексный умножитель требует четыре действительных умножителя. Существуют простые схемы перегруппировки данных, при которых количество обычных умножителей, требуемых для выполнения операции комплексного умножения, можно уменьшить до трех — за счет увеличения используемой памяти и сумматоров. Так, выполнение комплексного умножения для каждой базовой операции БПФ требует произвести четыре операции умножения и две операции суммирования. Данная операция отражена в уравнении (1). Также потребуется две таблицы памяти величиной, равной половине размерности БПФ, для хранения реальной и мнимой частей
констант поворачивающих множителей Wk'n = с - ] ■ s.
Е = (а + ] ■ Ь) ■ (с - ] ■ s) = (а ■ с + Ь ■ s) + ] ■ (Ь ■ с - а ■ 5). (1)
Аналогичный результат можно получить с меньшим числом умножений, введя следующие перестановки:
Жв(Е) = а ■ с + Ь ■ 5 = Ь ■ (с + 5) - (Ь - а) ■ с,
Зда(Е) = Ь ■ с - а ■ 5 = а ■ (с - 5) + (Ь - а) ■ с.
Такая операция потребует всего лишь три умножения и три операции суммирования/вычитания, поскольку выражения (с + 5) и (с - 5) представляют собой константы и не требуют вычисления на стадии выполнения. Для хранения коэффициентов потребуется уже три таблицы памяти размерностью, равной половине размерности БПФ. Эти увеличения вычислительных затрат и памяти незначительны по сравнению с выигрышем одного умножителя. Таким образом, для реализации БПФ размерности 16 по основанию 2 необходимо всего шесть действительных умножителей.
Дальнейшая минимизация числа умножителей возможна при переходе к большим основаниям вычисления, например 4. Вместе с тем значительно усложняется схема управления алгоритма, а, следовательно, и время разработки работающего образца.
На рис.2 представлена упрощенная блок-схема поточного БПФ, на основании которой строилась модель.
1 стадия БПФ ________________2 стадия БПФ____________ ________3 стадия БПФ__________ ________4 стадия БПФ
Рис.2. Упрощенная схема поточного БПФ размерности 16 по основанию 2 с прореживанием по частоте
В вышеописанной схеме поточного БПФ вычислительные ресурсы используются только в течение половины времени. Эта особенность вытекает из наличия двух ветвей обработки. Для 100%-го использования вычислительных ресурсов возможно производить одновременное вычисление БПФ двух различных каналов. В исследуемой модели производится предварительная буферизация данных для достижения максимальной производительности. На рис.3 представлен верхний уровень блок-схемы модели поточного алгоритма БПФ по основанию 2, реализованный в среде Simulink.
Йааёй абшш а^ааёпоаёу
Рис.З. Блок-схема модели БПФ в среде 51ти1тк
2003 ВЕСТНИК НОВГОРОДСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА №23
Модель была протестирована при подаче различных сигналов — комплексных гармоник максимальной амплитуды и шума. На рис.4. отображены два входных комплексных сигнала и сигнал временного мультиплексирования. Верхний сигнал представляет собой комплексную гармонику с частотой 0,08 • /Д, нижний — комплексную гармонику с частотой -0,125 • /д , где/д — частота дискретизации. На рис.5 представлены комплексные спектры обоих сигналов, вычисленные при помощи модели, а также сигнал мультиплексирования, указывающий, спектр какого сигнала представлен в данном временном интервале. Так, при высоком уровне сигнала мультиплексирования выдается спектр нижнего сигнала с рис.4, а при низком уровне — спектр верхнего сигнала с рис.5. На верхнем графике рис.5. представлены реальные и мнимые спектральные компоненты положительных частот (бины БПФ 0, 4, 2, 6, 1, 5, 3, 7), а на нижнем — компоненты отрицательных частот (бины БПФ 8, 12, 10, 14, 9, 13, 11, 15) в двоично-инверсном порядке. Из рисунка видно, что спектр некратной гармоники (0,08 • /д ) имеет максимальные выбросы в одних и тех же бинах, но с
различной амплитудой в зависимости от начальной фазы выборки, а гармонический сигнал кратной гармоники (-0,125 • /д ) сворачивается в одном бине с максимальной амплитудой.
ЕТіїеаепіие аабіїіе-а
Пеаіае п-апоТоТё 0.08 Гг
№аёобй абТашб пеаіаеїа , ібеиоеїеаепебТааіша її абаіаіе
Абаіу , П x 10
Рис.4. Тестовые комплексные гармоники
Рис.5. Спектры комплексных гармоник
Спектр верхнего сигнала распределен в основном по трем бинам, соответствующих первому (0,0625 • /д ), второму (0,125 • /д ) и нулевому бинам БПФ, с максимальным уровнем в первом бине. Спектр второго гармонического сигнала с кратной частотой полностью свернут в 14-м бине, соответствующем частоте 0,875 • /д или -0,125 • /д . Полученные результаты отражают работоспособность модели.
Данная модель поточного БПФ послужила отправной точкой для постановки задачи, выбора элементной базы и впоследствии аппаратной реализации данного алгоритма в ПЛИС. С учетом требования к наличию аппаратных умножителей было выбрано семейство ПЛИС У1г1ех2 фирмы ХШпх. При реализации в ПЛИС указанного алгоритма выяснилось, что процессор занимает 10% логических ресурсов и 15% умножителей чипа ХС2У1000. Последующее временное моделирование указало на возможность работы системы на максимальных частотах от 110 до 150 МГц в зависимости от разводки чипа, что является весьма удовлетворительным результатом. Тем не менее, необходимо провести оптимизацию физического размещения элементов схемы в кристалле с целью получения максимально достижимого быстродействия. Используя модель, разработан аппаратный процессор БПФ16 с использованием ПЛИС ХС2У1000, который имеет следующие технические характеристи-
* Бин — единичный дискретный частотный отсчет, равный/ДЫ, где N — размерность БПФ.
ки: число одновременно обрабатываемых комплексных каналов — 2, разрядность входных и выходных данных — 18 бит, полоса обработки аналоговых сигналов — 100 МГц, тип БПФ — с прореживанием по частоте.
Реализация алгоритмов поточного БПФ больших размерностей потребует дополнительно по три умножителя, два блока памяти и около 3% логических ресурсов ХС2У1000 на каждое последующее удвоение размерности БПФ.
Выводы
1. Показана возможность построения высокоскоростных схем цифровой обработки сигналов с полосой выше 100 МГ ц на современной элементной базе.
2. Выбрано семейство ПЛИС и оценены используемые ресурсы и быстродействие ядра БПФ в аппаратуре, описаны технические характеристики ядра БПФ.
3. Рассмотренная модель дает представление о принципах построения конвейерного БПФ, что позволит реализовать большие размерности БПФ при наращивании количества стадий.
1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов / Пер. с англ. М.: Мир, 1978. 848 с.
2. Дьяконов В., Круглов В. Математические пакеты расширения МАТЬАБ. Специальный справочник. СПб.: Питер, 2001. 480 с.
3. Потемкин В. Система инженерных и научных расчетов МАТЬАБ 5.х: В 2-х т. М.: Диалог-МИФИ, 1999. Т.1. 366 с.; Т.2. 304 с.