_4afc_ 26 23 июня, 2023 Опубликовано 23 июня, 2023 · Жалоба 38 minutes ago, blackfin said: Сколько времени требуется "потоковому Radix8 на логике в GW2A" для вычисления БПФ от массива комплексных данных длиной 32768 точек ? Назовите время между загрузкой в модуль БПФ последнего семпла под номером 32767 и временем появления на выходе модуля первого семпла вычисленного спектра. У меня самописный, не масштабируемый БПФ. Сейчас по вашим условиям получится для: FFT8 0,05мкС FFT64 1,15мкС FFT512 ~10,80мкС - когда отлажу до конца. Другие варианты пока не писал, поэтому боюсь ошибиться в прикидках. 38 minutes ago, blackfin said: Разговор глухого с немым.. Дык, есть немного. Условия задачи лишь частично пересекаются. Мне первостепенно - непрерывное преобразование нескольких символов подряд, а уж небольшая задержка - ну как всегда не помешает. Задержки в основном в "линиях задержки" между Radix'ами :) Ну и множителей в ПЛИС дано всего 10-12. 38 minutes ago, blackfin said: Для вычисления первого семпла спектра по схеме Radix32 Burst_I/O модулю БПФ требуется 6,55 микросекунды при условии, что сам модуль БПФ работает на частоте 500 МГц. Упоминавшаяся тут "быстрая" схема Pipelined, Streaming I/O Xilinx'а вычисляет спектр при прочих равных условиях за 197 микросекунд: Ну если влоб вставить некий потоковый Radix32 в текущиий алгоритм и собрать БПФ32768, то это займёт те же ~98500 тактов проталкивания данных по линиям задержки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 23 июня, 2023 Опубликовано 23 июня, 2023 · Жалоба 2 hours ago, blackfin said: Назовите время между загрузкой в модуль БПФ последнего семпла под номером 32767 и временем появления на выходе модуля первого семпла вычисленного спектра. Для вычисления первого семпла спектра по схеме Radix32 Burst_I/O модулю БПФ требуется 6,55 микросекунды при условии, что сам модуль БПФ работает на частоте 500 МГ Как то хитро вы в наперстки играете ... Stream FFT на N точек требуется N + logRadix(N) * stage_pipeline тактов от первого сэмпла FFT на входе и до первого отсчета на выходе. Burst_IO FFT на N точек требуется N + logRadix(N) * (N/Radix + stage_pipeline) тактов от первого сэмпла FFT на входе и до первого отсчета на выходе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 23 июня, 2023 Опубликовано 23 июня, 2023 · Жалоба On 6/23/2023 at 9:27 PM, RobFPGA said: Как то хитро вы в наперстки играете ... Ваша ошибка в том, что вы пытаетесь загрузить входные данные в БПФ за N тактов. А это не так.. Данные в БПФ можно загрузить за N/Radix тактов.. То же самое справедливо и для выгрузки данных из БПФ.. Но это не Xilinx, это другое.. 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 23 июня, 2023 Опубликовано 23 июня, 2023 · Жалоба 2 minutes ago, blackfin said: Ваша ошибка в том, что вы пытаетесь загрузить входные данные в БПФ за N тактов. А это не так.. Данные в БПФ можно загрузить за N/Radix тактов.. тоже самое справедливо и для схемы stream, Поэтому я взял одинаковое число в N тактов для ввода данных для обоих случаев Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 23 июня, 2023 Опубликовано 23 июня, 2023 · Жалоба On 6/23/2023 at 9:41 PM, RobFPGA said: тоже самое справедливо и для схемы stream, Поэтому я взял одинаковое число в N тактов для ввода данных для обоих случаев Да, справедливо. Поэтому Pipelined, Streaming I/O считает быстрее, чем Burst I/O, но для одинаковых Radix. Сейчас же речь о том, что Radix64 Burst I/O считает быстрее, чем Radix2 Pipelined, Streaming I/O. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться