|
БПФ с частотой дискретизации не менее 600 МГц, возможно ли? на чем сделать. |
|
|
|
Feb 13 2013, 10:12
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 13-02-13
Из: Рыбинск
Пользователь №: 75 606

|
Здравствуйте, уважаемые форумчане! Стоит задача в реальном времени делать БПФ с частотой оцифровки не менее 600 МГц, входной сигнал комплексный, поступает с 12 разрядных АЦП, количество точек - 1024. Данные обрабатываются непрерывным потоком. Склоняюсь к применению Virtex-7. Судя по даташиту на LogiCORE IP Fast Fourier Transform v8.0 одним IP ядром не обойтись, т.е. нужно делать конвейер или что-то в этом духе. Вопрос к людям, имеющим реальный опыт разработки высокоскоростных систем ЦОС: является ли данная задача потенциально решаемой, или даже и возится не стоит?
Сообщение отредактировал Fourier - Feb 13 2013, 10:14
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Feb 13 2013, 11:15
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 13-02-13
Из: Рыбинск
Пользователь №: 75 606

|
Цитата(Lmx2315 @ Feb 13 2013, 14:35)  На правах совета, если область использования подойдёт то можно вот - полифазное БПФ http://www.dsplib.ru/content/polyphasefft/polyphase.htmlСнизит частоту поступления данных, но есть ограничения на применение. Нужно делать именно БПФ. Задача связана с формированием OFDM.
|
|
|
|
|
Feb 13 2013, 11:29
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 13-02-13
Из: Рыбинск
Пользователь №: 75 606

|
Цитата(soldat_shveyk @ Feb 13 2013, 15:17)  Надеюсь, Вы не скользящий БПФ вычислять собираетесь, когда БПФ вычисляется с каждым отсчетом входного сигнала? Задача решаемая. Но БПФ надо делать самому, и архитектуру его вычисления подбирать, чтобы уложиться в жесткие тайминги и логические ресурсы. Реально работает БПФ 128 точек на 1000 МГц, правда на Альтере. Спсибо. БПФ не скользящий. Набрали 1024 семпла - посчитали.
|
|
|
|
|
Feb 13 2013, 11:45
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 13-02-13
Из: Рыбинск
Пользователь №: 75 606

|
Цитата(Lmx2315 @ Feb 13 2013, 15:33)  А записать весь поток и потом посчитать, нельзя никак? связь не сеансовая? А то записали бы не спеша на несколько винтов, а потом считайте хоть 64к БПФ. Такой вариант тоже рассматривается. Но на передаче все равно надо БПФ делать. Поэтому от реалтайма не уйти. Цитата(RobFPGA @ Feb 13 2013, 15:33)  У меня так вот сейчас в реале считается 2K точек FFT для 2.2 GHz данных, с окном и перекрытием 50 % (суммарно 4.4 Gs/s). Круто. Спасибо за информацию. Вдохновляет))
|
|
|
|
|
Feb 13 2013, 11:57
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 13-02-13
Из: Рыбинск
Пользователь №: 75 606

|
Цитата(Lmx2315 @ Feb 13 2013, 15:50)  ..не много не понятно, если для приёма теоретически прокатит запись, то почему нельзя в обратную сторону повторить всё? Не спеша сформировать поток на компе, записать на несколько винтов и выдать на нужной скорости на ЦАП? Линия однонаправленная, от гипотетического устройства поступают данные их надо в реальном времени замодулировать (тут то и надо посчитать БПФ) и передать. На приемной же стороне допустимо оцифрованные данные записать и обработать позднее. Т.е. в общем случае БПФ нужно делать в реальном времени.
Сообщение отредактировал Fourier - Feb 13 2013, 11:58
|
|
|
|
|
Feb 13 2013, 17:48
|

Знающий
   
Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933

|
Цитата(RobFPGA @ Feb 13 2013, 15:33)  Приветствую!
Без проблем такое. Но естественно придется паралелить обработку. В зависимости от структуры последующей обработки либо делая параллельное FFT (несколько параллельно работающих FFT меньшей длинны и объединяющая "бабочка" на выходе), либо запуская несколько одинаковых FFT нужной длины работать по очереди и мультиплексирование на выходе.
У меня так вот сейчас в реале считается 2K точек FFT для 2.2 GHz данных, с окном и перекрытием 50 % (суммарно 4.4 Gs/s). 8 потоков FFT, Правда поскольку данные реальные то на длине FFT сэкономил в 2 раза, считая входные данные как 1024 комплексные с последующей коррекцией на выходе. Сами FFT стандартные из coregen.
Все это добро занимает ~25 % в Virtex5sx240 и работает на 312 MHz.
Успехов. Rob. Извиняюсь за флуд, кажется мы с Rob одним и тем же занимаемся  Задача ТС вполне решаема, 7 виртекс для этого врятли нужен, но будет не лишним. А вообще нужно в сторону кинтексов посмотреть. По Фурье – во многих случаях можно обойтись корегенератором. Само фурье поддается распараллеливанию, так что были бы ресурсы... Ну и как Rob написал, если сигнал действительный, то можно сэкономить на мнимомй ветви, заставив ее работать.
--------------------
|
|
|
|
|
Feb 14 2013, 04:33
|
Группа: Новичок
Сообщений: 1
Регистрация: 13-02-13
Пользователь №: 75 608

|
Цитата Свежая статья из Xcell Journal Issue 82 : "Using the Parallel FFT for Multigigahertz FPGA Signal Processing" Вам в помощь . Познавательно, спасибо.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|