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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Выбор ПЛИС для БПФ, 2^16 (100 каналов)
andreUF
сообщение May 14 2012, 07:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-01-11
Пользователь №: 62 100



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

Ситуация следующая:
имеется сто датчиков, с них сигналы на БПФ, после операций умножения и суммирования получаем энергетический спектр.
Отсюда главный вопрос - какую и каким образом ПЛИС выбрать?
- БПФ: количество точек от 2^14 (16384) до 2^16 (65536)
- Разрядность данных 16-32 бит.
Т.к. 100 датчиков, значит ли это, что требуется 100 "каналов"?? Т.к. не являюсь спецом в области программируемой логики - спрашиваю у Вас.
Что будет быстрее, с учетом выбранного изделия, распараллеливание процесса обработки или последовательная об-ка?
Как выяснить за сколько тактов, секунд реализуется операции умножения, суммы, умножения на вектор поворота?

Существует ли методика какая то? Некогда долго разбираться, результат нужен в ближайшее время!
Помогите пожалуйста!
Go to the top of the page
 
+Quote Post
litv
сообщение May 14 2012, 07:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



"Я не профи и мне некогда долго разбираться " a14.gif

У xilinx прочтите http://www.xilinx.com/support/documentatio.../xfft_ds260.pdf.

Там есть результаты - тип fft, кристалл , частота , сколько умножителей , блоков памяти , вентилей требуется, число тактов.
Все кстати зависит от частоты этих датчиков.
Go to the top of the page
 
+Quote Post
andreUF
сообщение May 14 2012, 07:47
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-01-11
Пользователь №: 62 100



Огромное спасибо, сейчас почитаю!
Еще вопросик - для Альтеры есть что нибудь?
И для общего развития - не предпочтительнее ли использовать dsp?
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 14 2012, 07:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(andreUF @ May 14 2012, 11:47) *
Еще вопросик - для Альтеры есть что нибудь?

ug_fft.pdf.
Go to the top of the page
 
+Quote Post
des00
сообщение May 14 2012, 08:36
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



и еще, для вашей цели
Цитата
меется сто датчиков, с них сигналы на БПФ, после операций умножения и суммирования получаем энергетический спектр.
Отсюда главный вопрос - какую и каким образом ПЛИС выбрать?
- БПФ: количество точек от 2^14 (16384) до 2^16 (65536)
- Разрядность данных 16-32 бит.

лучшая "ПЛИС" это : 642 или аналогичный техас + мелкая плис - преобразователь интерфейсов


--------------------
Go to the top of the page
 
+Quote Post
andreUF
сообщение May 14 2012, 11:23
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-01-11
Пользователь №: 62 100



Что то я всё равно никак не соображу какую ПЛИСину выбрать. Пролистал Xilinx datasheet выше, да мозгов не хватает.
Не могли бы Вы "пальцем ткнуть" как выбрать!!!
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 14 2012, 11:45
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(andreUF @ May 14 2012, 15:23) *
Что то я всё равно никак не соображу какую ПЛИСину выбрать.

А почему нужно выбирать именно "ПЛИСину"?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 14 2012, 12:48
Сообщение #8


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

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



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

Для выбора на чем считать надо бы знать какова частота семплов с каждого канала и каков интерфейс датчиков.
Если вам надо обрабатывать данные с АЦП с частотой семплов в 100 MHz каждая, то вам и 10 FPGA может понадобится.
А если частота семплов с датчика 1-100 KHz, то и один DSP без проблем все сделает.
Ну и потом все это посчитанное нужно куда то выводить - а куда?

Успехов! Rob.


Go to the top of the page
 
+Quote Post
nckkm
сообщение May 14 2012, 13:05
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623



я бы сперва постарался посчитать размер необходимой памяти.
Например, количество выборок входного сигнала 16К*16бит=264К бит для хранение сигнала от одного канала.
Например столько же для хранения спектра.
Умножаем на количество каналов 100, получаем ~6,5Мбайт.
Врядли это можно разместить в ПЛИС, значит нужна будет внешняя DDR память.
Попробовать оценить скорость потока данных, хватит ли пропускной способности памяти DDR и при скольки разрядах.
Какой алгоритм использовать?
Теоретически если считать спектр от потока (а не от массива), то можно не вычислять весь спектр с каждой новой выборкой, а пытаться модифицировать текущий спектр. Ведь одна выборка пришла, но и самая старая ушла.
В принципе можно сделать за один проход вдоль массива спектра.
Правда здесь возможно накопление ошибки вычислений. Не уверен на сколько этот метод возможен, но потенциально он экономит ресурсы.
Go to the top of the page
 
+Quote Post
andreUF
сообщение May 14 2012, 16:17
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-01-11
Пользователь №: 62 100



Благодарю за ответы.
Если частота семплов с каждого датчика 100 KHz. И если пренебречь выводом и размером необходимой памяти пока что.
То какая FPGA подойдет?
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 14 2012, 17:14
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Для параметров БПФ:
Цитата(andreUF @ May 14 2012, 11:27) *
- БПФ: количество точек 2^14 (16384)
- Разрядность данных 16 бит.
- 100 датчиков...

и:
Цитата(andreUF @ May 14 2012, 20:17) *
Если частота семплов с каждого датчика 100 KHz. И если пренебречь выводом и размером необходимой памяти пока что.
То какая FPGA подойдет?

вероятно, подойдут: EP4CGX75, EP4CE75 или аналогичные с бОльшим объемом Embedded memory (> 2500 Kbits).

Для параметров БПФ:
Цитата(andreUF @ May 14 2012, 11:27) *
- БПФ: количество точек 2^16 (65536)
- Разрядность данных 16 бит.
- 100 датчиков...

вероятно, подойдут: 5AGXA3, 5AGTC3 или аналогичные с бОльшим объемом Embedded memory (> 10,000 Kbits).

Если же:
Цитата(andreUF @ May 14 2012, 11:27) *
- Разрядность данных 32 бит.

то требования по Embedded memory нужно удвоить.

Сообщение отредактировал blackfin - May 14 2012, 17:34
Go to the top of the page
 
+Quote Post
andreUF
сообщение May 14 2012, 17:51
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-01-11
Пользователь №: 62 100



Благодарю! Теперь буду разбиратся с предложенным, постараюсь больше не выпрашивать помощь).
И прошу прощения за свою некомпетентность, просто наш спец свалил, а "работа не ждет".
Go to the top of the page
 
+Quote Post
_pv
сообщение May 14 2012, 20:07
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(des00 @ May 14 2012, 15:36) *
лучшая "ПЛИС" это : 642 или аналогичный техас + мелкая плис - преобразователь интерфейсов

+1

65536 точек на 100кГц это 655.36мс времени = 6.5мс на канал.
можно даже взять tms32c5505 ему на 1024 точки надо 7315 тактов и 1836 нДж энергии. на 60МГц.
если это линейно (что вообще-то не правильно, но для оценки сойдёт) экстраполировать до 65536 - то получится ~500000 тактов, на частоте 150Мгц ~ 3мс, в принципе подходит, но надо аккуратней смотреть. ну и ~200мкДж, то есть ~40мВт, думаю что при реализации на плис такого потребления не получить.

а уж С64x так тем более справится.
Go to the top of the page
 
+Quote Post
seldim
сообщение May 15 2012, 03:00
Сообщение #14


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

Группа: Участник
Сообщений: 96
Регистрация: 2-04-12
Из: Саратов
Пользователь №: 71 142



Цитата(andreUF @ May 14 2012, 20:17) *
Благодарю за ответы.
Если частота семплов с каждого датчика 100 KHz. И если пренебречь выводом и размером необходимой памяти пока что.
То какая FPGA подойдет?

Все датчики одновременно нужно обрабатывать? Получится, что раз в 1 us нужно обработать все датчики. Если так, то процессору нужно принять информацию от датчика и обработать ее за 100 ns. Если я правильно все понял то процессор врятли осилит. При такой задаче возможно придется комбинировать ПЛИС + процессор. В ПЛИС принять данные от каждого датчика паралельно, провести преобразование и определить в буфер. А процессором проводить дальнейшую обработку массивов данных.

Можно конечно и процессор в плис дополнительно организовать.
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 15 2012, 03:30
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(seldim @ May 15 2012, 07:00) *
Все датчики одновременно нужно обрабатывать? Получится, что раз в 1 us нужно обработать все датчики. Если так, то процессору нужно принять информацию от датчика и обработать ее за 100 ns.

Что-то Вы как-то странно считаете.

Буфер на 65536 точек при частоте семплирования 100 КГц заполняется за 65536/100000 = 0.65536 секунды и за это время нужно вычислить FFT для каждого датчика.
Если датчиков 100, то на вычисление FFT для каждого датчика мы должны тратить не более 0.65536/100 = 0.0065536 секунды или 6.5536 мс.
Go to the top of the page
 
+Quote Post

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

 


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


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