Перейти к содержанию
    

FFT на FPGA

Привет. Кто нибудь работал над этой темой.

Мне необходимо 131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8 точечное преобразование реализовать в FPGA. Есть некая порция данных, над которой выполняется преобразование Фурье примерно 32000 раз. 90% это 131072,65536,32768 точечное преобразование. Весь цикл на хорошем компе выполняется за 1-3 часа. Возможно ли с помощью FPGA ускорить обработку скажем в 10 раз?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет. Кто нибудь работал над этой темой.

Мне необходимо 131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8 точечное преобразование реализовать в FPGA. Есть некая порция данных, над которой выполняется преобразование Фурье примерно 32000 раз. 90% это 131072,65536,32768 точечное преобразование. Весь цикл на хорошем компе выполняется за 1-3 часа. Возможно ли с помощью FPGA ускорить обработку скажем в 10 раз?

Не понимаю, как у вас получилось 1-3 часа расчетного времени?

Я проверил: на ADSP-21160 Radix-2 DIT Real FFT считается 8192 точки за 659.36us, 65536 точек - за 5.5ms (во внешней памяти). На PC - 131072 точки RealFFT выполнялось в среднем за 52ms (от 31ms до 72ms) без применения IPP (!!). C IPP было бы раза в 3 быстрее!.

Таким образом, на PC: 32000 циклов * 72ms = 2304 s (=38 min). Как я уже заметил, с использованием IPP можно это время сократить как минимум втрое.

Или я ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Весь цикл на хорошем компе выполняется за 1-3 часа

Возможно, для начала вам следует поработать над оптимизацией алгоритма.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может Ваша программа что-то еще делает кроме вычисления FFT в этом цикле?

Позволяет ли вообще Ваш алгоритм параллелить вычисление FFT? Ведь с результатами этих вычислений нужно (наверное) что-то делать по мере поступления результатов вычислений. Кроме того, посмотрите для справки тест производительность вычисления FFT на FPGA от ALTERA. Если экстраполировать данные от Altera на Ваши массивы, то будет что-то около 1ms на FFT по 128к точкам.

post-924-1106133969_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...