Ozone 2 27 октября, 2020 Опубликовано 27 октября, 2020 · Жалоба Здравствуйте! Помогите определиться в какую сторону смотреть. Задача: Оцифровка сигнала частотой до 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 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба Следует заметить, что Linux для zynq-7000 вовсе не обязателен. Поскольку realtime не требуется и zynq дороже Sharc-а то Sharc как вариант. И порог входа будет ниже, поскольку с FPGA опыта у вас не было. Но вы все-таки прикиньте время выполнения одной итерации алгоритма на SHARC-е - устроит ли оно вас. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozone 2 28 октября, 2020 Опубликовано 28 октября, 2020 (изменено) · Жалоба 3 часа назад, vitzap сказал: Но вы все-таки прикиньте время выполнения одной итерации алгоритма на SHARC-е - устроит ли оно вас. На Шарке по бенчмаркам даже быстрее, 1024 точки за 5 мкс делает, один тап FIR за 1 нс. На Zynq в ютуб видео есть, где FFT делается примерно за 20 мкс. Что 5, что 20 мкс устраивают с головой (Zynq естественно из младших 7010-7030) Изменено 28 октября, 2020 пользователем Ozone Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба Приветствую! 1 hour ago, Ozone said: На Шарке по бенчмаркам даже быстрее, 1024 точки за 5 мкс делает, один тап FIR за 1 нс. На Zynq в ютуб видео есть, где FFT делается примерно за 20 мкс. Что 5, что 20 мкс устраивают с головой (Zynq естественно из младших 7010-7030) Эти "попугаи" не того цвету - кроме чисто вычислительной скорости еще важно понимать затраты на то как данные попадут на вычисление. FPGA позволяет сделать физ. интерфейс к ADC и считать данные на "лету". Если вам надо можно по окончанию приема 1024 точек (естественно +некоторая небольшая задержка) уже иметь рассчитанный спектр или даже результаты анализа этого спектра. Для DSP же сначала надо данные принять, накопить в буфере и только потом начать вычисления. Поэтому оценку скорости работы и сложности системы надо делать в комплексе, с учетом всех интерфейсов, потоков данных, .... Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 22 часа назад, Ozone сказал: Подскажите, какой вариант должен занять меньше человеко-часов на разработку с нуля и на чем бы реализовали данную задачу вы? Я бы на Zynq-7000 сделал , полезнее для саморазвития , гибче технология, производительность подходит с большим запасом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 10 minutes ago, Lmx2315 said: Я бы на Zynq-7000 сделал , полезнее для саморазвития , гибче технология, производительность подходит с большим запасом. Для саморазвития полезно и технология гибче, но неизвестно, какими временными ресурсами обладает ТС. Насколько я помню, в VisualDSP был полный набор библиотек для фильтрации, БПФ и прочей ЦОС. У Xilinx тоже есть БПФ-ядро, но надо будет разобраться, как передать данные из БПФ-ядра в процессор по AXI и т.п. детали. Все-таки осваивать FPGA проще с простых задач. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozone 2 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 2 часа назад, RobFPGA сказал: Для DSP же сначала надо данные принять, накопить в буфере и только потом начать вычисления. О, спасибо, сразу и не обратил на такой нюанс внимание Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 21 минуту назад, vitzap сказал: Для саморазвития полезно и технология гибче, но неизвестно, какими временными ресурсами обладает ТС. Насколько я помню, в VisualDSP был полный набор библиотек для фильтрации, БПФ и прочей ЦОС. У Xilinx тоже есть БПФ-ядро, но надо будет разобраться, как передать данные из БПФ-ядра в процессор по AXI и т.п. детали. Все-таки осваивать FPGA проще с простых задач. Jtag отладчик для VisualDSP стоит порядка 1000$ А задача тут студенческого уровня, наверняка на хабре есть уже готовые статьи. Надо принять с ацп на плис данные, отправить их в поточное FFT из FFT в память по DMA , забрать из памяти по DMA процессором и вывести куда надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozone 2 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 47 минут назад, Lmx2315 сказал: Я бы на Zynq-7000 сделал , полезнее для саморазвития , гибче технология, производительность подходит с большим запасом. Я тоже к этому немного больше склоняюсь, так как есть вероятность что в следующем проекте добавится обработка сигнала с видео матрицы, а там без fpga никак. Но ARM A9 пугает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 39 minutes ago, Lmx2315 said: Jtag отладчик для VisualDSP стоит порядка 1000$ А задача тут студенческого уровня, наверняка на хабре есть уже готовые статьи. ADZS-ICE-1000 - 150$ да и на EVAL-BF706M-EZMINI за 70$ он же распаян, только там его могли программно залочить на отладку исключительно 706блэкфинов, а может и не стали и его можно наружу вытащить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 32 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 3 hours ago, RobFPGA said: Для DSP же сначала надо данные принять, накопить в буфере и только потом начать вычисления. Ну, справедливости ради, для вычисления FFT на FPGA данные нужно тоже копить в буфере. )) По крайней мере, для Radix-2 буфер должен быть наполовину полон и "только потом можно начинать вычисления". Для Radix-4 данных в буфере должно быть уже больше половины. Уж таков алгоритм FFT.. )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 37 minutes ago, blackfin said: Ну, справедливости ради, для вычисления FFT на FPGA данные нужно тоже копить в буфере. )) По крайней мере, для Radix-2 буфер должен быть наполовину полон и "только потом можно начинать вычисления". Для Radix-4 данных в буфере должно быть уже больше половины. Уж таков алгоритм FFT.. )) для 20МГц у цинка ресурсов может хватить и на небыстрых 1024 Герцеля, без буферизации :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 32 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 3 minutes ago, blackfin said: Ну, и где Герцель, а где FFT ??? [киркоров-румын_сухоруков.jpg] в смысле результата, а не скорости. ведь Герцель-то не один, а в шеренгу на 1024. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 32 28 октября, 2020 Опубликовано 28 октября, 2020 · Жалоба 1 minute ago, _pv said: в смысле результата, а не скорости. ведь Герцель-то не один, а в шеренгу на 1024. И где, в каком Zynq-7000 вы сможете сделать 1023 комплексных умножителя "в шеренгу"? Ну, "в смысле результата, а не скорости". )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться