О. М. ШИШКИН

Московский инженерно-физический институт (государственный университет)

АППАРАТУРНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА БПФ

Предлагается схема выполнения быстрого преобразования Фурье (БПФ) с прореживанием по частоте, адаптированная для аппаратурной реализации на программируемой логической интегральной схеме (ПЛИС).

Дискретное преобразование Фурье находит широкое применение в цифровой обработке сигналов, но на практике применяют алгоритмы быстрого преобразования Фурье, обладающие меньшей вычислительной сложностью. Существуют различные алгоритмы БПФ и графы их выполнения. Выбор конкретного решения зависит как от условий самой задачи, так и от средств, предназначенных для ее реализации.

Постановка задачи: разработать предназначенную для реализации на ПЛИС Altera Stratix EP1S20 структуру, выполняющую 4096-точечное БПФ восьми действительных последовательностей. Отсчеты входных последовательностей поступают с АЦП в восьмибитном дополнительном коде с частотой дискретизации 45…60 МГц. Время выполнения преобразования не должно превышать трехкратного времени накопления отсчетов.

В данном случае применение одного из известных методов вычисления БПФ в чистом виде не позволяет уложится в заданные ограничения по времени и ресурсам. Для решения поставленной задачи был разработан алгоритм комбинирующий в себе метод выполнения БПФ с замещением и поточный метод, а также использующий свойство симметрии ДПФ действительной последовательности, которое позволяет осуществить преобразование двух действительных последовательностей в одном комплексном БПФ. Разработанный алгоритм выполняет БПФ с прореживанием по частоте, с прямым порядком входных отсчетов и с упорядочиванием спектральных отсчетов при их чтении. По этому алгоритму можно выполнять БПФ последовательностей длиной , .

НЕ нашли? Не то? Что вы ищете?

Структурная схема, реализующая преобразование двух последовательностей, представлена на рис. 1.

Алгоритм построен так, что выборка двух операндов А и В для базовой операции БПФ всегда осуществляется из разных блоков памяти - ЗУ_А и ЗУ_В соответственно. Это позволяет использовать двух-, а не четырехпортовую память. Последовательность из двух конвейерных арифметических устройств (АУ1 и АУ2) и двух регистровых блоков (РБ1 и РБ2) позволяет совместить выполнение сразу двух этапов БПФ, почти вдвое уменьшая время выполнения всего преобразования. Арифметическое устройство АУ3 преобразует результат БПФ комплексной последовательности , составленной из двух действительных входных последовательностей. Выходные последовательности и являются спектральными отсчетами соответствующих входных последовательностей. Блок масштабирования отслеживает увеличение разрядности результатов вычислений на каждом этапе и в случае необходимости выполняет их масштабирование.

Рис. 1. Структурная схема для выполнения БПФ двух последовательностей

Полная схема, выполняющая БПФ восьми последовательностей, содержит четыре приведенных структуры с общим устройством управления, буфером для накопления входных отсчетов и памятью для хранения результатов.

Реализация данной схемы на ПЛИС Stratix EP1S20 использует следующие ресурсы:

- логические ячейки 5% от доступных);

- память 1431552 бит (85% от доступных);

- 9-ти битные DSP элементы% от доступных).

Тактовая частота приема исходных данных в буферную память – до 150 МГц; тактовая частота внутренних вычислений – до 160 МГц, тактовая частота выдачи результатов из буферной памяти результатов – до 200 МГц.

На процесс вычислений, включая перезапись данных из входного буфера FIFO в ЗУ и из ЗУ в память результатов, затрачивается примерно 18,5 тысяч тактов тактовой частоты внутренних вычислений, что при f = 160 МГц составляет 116 мкс.

Список литературы

1.  Теория и применение цифровой обработки сигналов: М.: Мир. 1978.