реклама на сайте
подробности

 
 
> БПФ с частотой дискретизации не менее 600 МГц, возможно ли? на чем сделать.
Fourier
сообщение Feb 13 2013, 10:12
Сообщение #1


Участник
*

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



Здравствуйте, уважаемые форумчане!
Стоит задача в реальном времени делать БПФ с частотой оцифровки не менее 600 МГц, входной сигнал комплексный, поступает с 12 разрядных АЦП, количество точек - 1024. Данные обрабатываются непрерывным потоком. Склоняюсь к применению Virtex-7.
Судя по даташиту на LogiCORE IP Fast Fourier Transform v8.0 одним IP ядром не обойтись, т.е. нужно делать конвейер или что-то в этом духе. Вопрос к людям, имеющим реальный опыт разработки высокоскоростных систем ЦОС: является ли данная задача потенциально решаемой, или даже и возится не стоит? sm.gif

Сообщение отредактировал Fourier - Feb 13 2013, 10:14
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Lmx2315
сообщение Feb 13 2013, 10:35
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



На правах совета, если область использования подойдёт то можно вот - полифазное БПФ

http://www.dsplib.ru/content/polyphasefft/polyphase.html

Снизит частоту поступления данных, но есть ограничения на применение.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Fourier
сообщение Feb 13 2013, 11:15
Сообщение #3


Участник
*

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



Цитата(Lmx2315 @ Feb 13 2013, 14:35) *
На правах совета, если область использования подойдёт то можно вот - полифазное БПФ

http://www.dsplib.ru/content/polyphasefft/polyphase.html

Снизит частоту поступления данных, но есть ограничения на применение.


Нужно делать именно БПФ. Задача связана с формированием OFDM.
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение Feb 13 2013, 11:17
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Надеюсь, Вы не скользящий БПФ вычислять собираетесь, когда БПФ вычисляется с каждым отсчетом входного сигнала?
Задача решаемая.
Но БПФ надо делать самому, и архитектуру его вычисления подбирать, чтобы уложиться в жесткие тайминги и логические ресурсы.
Реально работает БПФ 128 точек на 1000 МГц, правда на Альтере.
Go to the top of the page
 
+Quote Post
crono
сообщение Feb 13 2013, 11:22
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605



FFT Radix-2 За 1 такт расчет 2-х точек, соответственно 600МГц -> 300МГц. Уже нормальная частота
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Feb 13 2013, 11:23
Сообщение #6


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..ещё можно входным сигналом - минуя АЦП промодулировать лазер, лазер подать на призму с призмы сфоткать ПЗС матрицей , с матрицы снять БПФ получившийся sm.gif .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Fourier
сообщение Feb 13 2013, 11:29
Сообщение #7


Участник
*

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



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

Спсибо. БПФ не скользящий. Набрали 1024 семпла - посчитали.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 13 2013, 11:33
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Без проблем такое. Но естественно придется паралелить обработку. В зависимости от структуры последующей обработки либо делая параллельное 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.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Feb 13 2013, 11:33
Сообщение #9


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (Fourier @ Feb 13 2013, 14:29) *
Спсибо. БПФ не скользящий. Набрали 1024 семпла - посчитали.


А записать весь поток и потом посчитать, нельзя никак? связь не сеансовая?
А то записали бы не спеша на несколько винтов, а потом считайте хоть 64к БПФ.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Fourier
сообщение Feb 13 2013, 11:45
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 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).


Круто. Спасибо за информацию. Вдохновляет))
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Feb 13 2013, 11:50
Сообщение #11


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (Fourier @ Feb 13 2013, 14:45) *
Такой вариант тоже рассматривается. Но на передаче все равно надо БПФ делать. Поэтому от реалтайма не уйти.

..немного не понятно, если для приёма теоретически прокатит запись, то почему нельзя в обратную сторону повторить всё?
Не спеша сформировать поток на компе, записать на несколько винтов и выдать на нужной скорости на ЦАП?


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Fourier
сообщение Feb 13 2013, 11:57
Сообщение #12


Участник
*

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



Цитата(Lmx2315 @ Feb 13 2013, 15:50) *
..не много не понятно, если для приёма теоретически прокатит запись, то почему нельзя в обратную сторону повторить всё?
Не спеша сформировать поток на компе, записать на несколько винтов и выдать на нужной скорости на ЦАП?


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

Сообщение отредактировал Fourier - Feb 13 2013, 11:58
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Feb 13 2013, 17:48
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 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 одним и тем же занимаемся sm.gif
Задача ТС вполне решаема, 7 виртекс для этого врятли нужен, но будет не лишним. А вообще нужно в сторону кинтексов посмотреть. По Фурье – во многих случаях можно обойтись корегенератором. Само фурье поддается распараллеливанию, так что были бы ресурсы... Ну и как Rob написал, если сигнал действительный, то можно сэкономить на мнимомй ветви, заставив ее работать.


--------------------
Go to the top of the page
 
+Quote Post
maugli
сообщение Feb 13 2013, 20:12
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 29-07-08
Из: Серпухов
Пользователь №: 39 283



Свежая статья из Xcell Journal Issue 82 : "Using the Parallel FFT for Multigigahertz FPGA Signal Processing" Вам в помощь .



Go to the top of the page
 
+Quote Post
anton_lama
сообщение Feb 14 2013, 04:33
Сообщение #15





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



Цитата
Свежая статья из Xcell Journal Issue 82 : "Using the Parallel FFT for Multigigahertz FPGA Signal Processing" Вам в помощь .

Познавательно, спасибо.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01507 секунд с 7
ELECTRONIX ©2004-2016