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

Здравствуйте!

Помогите определиться в какую сторону смотреть.

Задача:
Оцифровка сигнала частотой до 20МГц, затем фильтрация, FFT 1024 точки, анализ спектра, повторение операции.  Реалтайм не требуется, то есть между окнами выборки FFT могут быть пропуски, но в общем, чем чаще, тем лучше.

До этого опыта работы с DSP, Schark, FPGA, Linux не было,   только STM32H7. 

Для этой задачи отлично подходят Shark+ со встроенными аппаратными ускорителями FFT, FIR. Также Zynq-7000 отличный кандидат. FIR / FFT на FPGA, последующая обработка на ARM.

Как вижу, Schark очень хорошо подходит по железу и стоимость его низкая.  Но смущают следующие моменты:  нет дешевых отладочных плат, комюнити практически нулевое, никаких видео, форумов, обсуждений.

Zynq-7000  на порядок хайповее, как я понимаю ответы на вопросы намного легче будет найти, полно дешевых отладочных плат.  Но потребуется согласование FPGA и ARM части, работа в линуксе.  Еще преимущество в том, что решение более гибкое,так как в следующих проектах FPGA будет нужна.


Подскажите, какой вариант должен занять меньше человеко-часов на разработку с нуля и на чем бы реализовали данную задачу вы?

 

 

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


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

Гость vitzap

Следует заметить, что Linux для zynq-7000 вовсе не обязателен.

Поскольку realtime не требуется и zynq дороже Sharc-а то Sharc как вариант. И порог входа будет ниже, поскольку с FPGA опыта у вас не было. Но вы все-таки прикиньте время выполнения одной итерации алгоритма на SHARC-е - устроит ли оно вас.

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


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

3 часа назад, vitzap сказал:

Но вы все-таки прикиньте время выполнения одной итерации алгоритма на SHARC-е - устроит ли оно вас.

На Шарке по бенчмаркам даже быстрее, 1024 точки за 5 мкс делает, один тап FIR за 1 нс.   На Zynq в ютуб видео есть, где FFT делается примерно за 20 мкс.  Что 5, что 20 мкс устраивают с головой (Zynq естественно из младших   7010-7030)

Изменено пользователем Ozone

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


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

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

1 hour ago, Ozone said:

На Шарке по бенчмаркам даже быстрее, 1024 точки за 5 мкс делает, один тап FIR за 1 нс.   На Zynq в ютуб видео есть, где FFT делается примерно за 20 мкс.  Что 5, что 20 мкс устраивают с головой (Zynq естественно из младших   7010-7030)

Эти  "попугаи" не того цвету  :unknw:-  кроме чисто вычислительной скорости еще важно понимать затраты на то как данные попадут на вычисление.  FPGA позволяет сделать физ. интерфейс к ADC и считать данные на "лету".  Если вам надо  можно по окончанию приема  1024 точек (естественно +некоторая небольшая задержка)  уже иметь  рассчитанный спектр или даже  результаты анализа этого спектра. Для DSP  же сначала надо данные принять, накопить в буфере и только потом  начать вычисления. 
Поэтому оценку скорости работы и сложности системы  надо  делать в комплексе, с учетом всех интерфейсов, потоков данных,  ....    

 

Удачи! Rob.

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


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

22 часа назад, Ozone сказал:

Подскажите, какой вариант должен занять меньше человеко-часов на разработку с нуля и на чем бы реализовали данную задачу вы?

Я бы на Zynq-7000 сделал , полезнее для саморазвития , гибче технология, производительность подходит с большим запасом.

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


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

Гость vitzap
10 minutes ago, Lmx2315 said:

Я бы на Zynq-7000 сделал , полезнее для саморазвития , гибче технология, производительность подходит с большим запасом.

Для саморазвития полезно и технология гибче, но неизвестно, какими временными ресурсами обладает ТС. Насколько я помню, в VisualDSP был полный набор библиотек для фильтрации, БПФ и прочей ЦОС. У Xilinx тоже есть БПФ-ядро, но надо будет разобраться, как передать данные из БПФ-ядра в процессор по AXI и т.п. детали. Все-таки осваивать FPGA проще с простых задач.

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


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

2 часа назад, RobFPGA сказал:

Для DSP  же сначала надо данные принять, накопить в буфере и только потом  начать вычисления. 

О, спасибо, сразу и не обратил на такой нюанс внимание 

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


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

21 минуту назад, vitzap сказал:

Для саморазвития полезно и технология гибче, но неизвестно, какими временными ресурсами обладает ТС. Насколько я помню, в VisualDSP был полный набор библиотек для фильтрации, БПФ и прочей ЦОС. У Xilinx тоже есть БПФ-ядро, но надо будет разобраться, как передать данные из БПФ-ядра в процессор по AXI и т.п. детали. Все-таки осваивать FPGA проще с простых задач.

Jtag отладчик для VisualDSP стоит порядка 1000$ А задача тут студенческого уровня, наверняка на хабре есть уже готовые статьи.

 Надо принять с ацп на плис данные, отправить их в поточное FFT из FFT в память по DMA , забрать из памяти по DMA процессором и вывести куда надо.

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


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

47 минут назад, Lmx2315 сказал:

Я бы на Zynq-7000 сделал , полезнее для саморазвития , гибче технология, производительность подходит с большим запасом.

Я тоже к этому немного больше склоняюсь, так как есть вероятность что в следующем проекте добавится обработка сигнала с видео матрицы, а там без fpga никак.

Но ARM  A9 пугает.

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


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

39 minutes ago, Lmx2315 said:

Jtag отладчик для VisualDSP стоит порядка 1000$ А задача тут студенческого уровня, наверняка на хабре есть уже готовые статьи.

ADZS-ICE-1000 - 150$

да и на EVAL-BF706M-EZMINI за 70$ он же распаян, только там его могли программно залочить на отладку исключительно 706блэкфинов, а может и не стали и его можно наружу вытащить.

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


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

3 hours ago, RobFPGA said:

Для DSP  же сначала надо данные принять, накопить в буфере и только потом  начать вычисления.

Ну, справедливости ради, для вычисления FFT на FPGA данные нужно тоже копить в буфере. ))

По крайней мере, для Radix-2 буфер должен быть наполовину полон и "только потом можно начинать вычисления".

Для Radix-4 данных в буфере должно быть уже больше половины.

Уж таков алгоритм FFT.. ))

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


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

37 minutes ago, blackfin said:

Ну, справедливости ради, для вычисления FFT на FPGA данные нужно тоже копить в буфере. ))

По крайней мере, для Radix-2 буфер должен быть наполовину полон и "только потом можно начинать вычисления".

Для Radix-4 данных в буфере должно быть уже больше половины.

Уж таков алгоритм FFT.. ))

для 20МГц у цинка ресурсов может хватить и на небыстрых 1024 Герцеля, без буферизации :)

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


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

16 minutes ago, _pv said:

для 20МГц у цинка ресурсов может хватить и на небыстрых 1024 Герцеля, без буферизации :)

Ну, и где Герцель, а где FFT ???

 

ТС хочет анализировать спектр:

On 10/27/2020 at 3:52 PM, Ozone said:

FFT 1024 точки, анализ спектра

 

PS. При том, что самый "дешевый" Zynq с числом умножителей > 1024 стОит 2660$: XC7Z100.

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


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

3 minutes ago, blackfin said:

Ну, и где Герцель, а где FFT ???

[киркоров-румын_сухоруков.jpg]

в смысле результата, а не скорости.

ведь Герцель-то не один, а в шеренгу на 1024.

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


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

1 minute ago, _pv said:

в смысле результата, а не скорости.

ведь Герцель-то не один, а в шеренгу на 1024.

И где, в каком Zynq-7000 вы сможете сделать 1023 комплексных умножителя "в шеренгу"?

 

Ну, "в смысле результата, а не скорости". ))

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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