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

Сигнальный процессор и БПФ

О сигнальных процессорах имею только общее представление. Большую часть работы по цифровой обработке выполняю на ПЛИС.
Скажите пожалуйста, если кому приходилось, возможно-ли на сигнальном процессоре средней мощности и стоимости построить 30 штук БПФ на 128 точек? АЦП предполагаются внешние.
Если частота выборок 26 кГц. Имеется ввиду возможно-ли на сигнальном процессоре за время между двумя соседними выборками выполнить аж 30 раз функцию fft?
Изменено пользователем Acvarif

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Acvarif @ Sep 25 2017, 09:45) <{POST_SNAPBACK}>
Если частота выборок 26 кГц. Имеется ввиду возможно-ли на сигнальном процессоре за время между двумя соседними выборками выполнить аж 30 раз функцию fft?

Не указана разрядность и формат данных БПФ.
Но если достаточно 16-ти битного представления чисел с фиксированной запятой, то BF527 при частоте ядра 600 МГц сможет сделать БПФ на 128 точек одновременно для: (600e6/1450)/(26e3/128) = 600000*128/(1450*26) = 2037 каналов.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(blackfin @ Sep 25 2017, 11:23) <{POST_SNAPBACK}>
Не указана разрядность и формат данных БПФ.
Но если достаточно 16-ти битного представления чисел с фиксированной запятой, то BF527 при частоте ядра 600 МГц сможет сделать БПФ на 128 точек одновременно для: (600e6/1450)/(26e3/128) = 600000*128/(1450*26) = 2037 каналов.

16 бит с фиксированной точкой.
Да.. круто. А если перед каждым БПФ будет стоять еще и FIR фильтр на 50 точек?

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Acvarif @ Sep 25 2017, 11:47) <{POST_SNAPBACK}>
16 бит с фиксированной точкой.
Да.. круто. А если перед каждым БПФ будет стоять еще и FIR фильтр на 50 точек?

Для комплексного FIR ADI дает формулу: 2*h+2, где: h = # of taps.

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


Ссылка на сообщение
Поделиться на другие сайты
арм-кортексыМ делают ффт за ~100 тактов на отсчёт,
C55x ~ 30 тактов,
блэкфин или C55x с аппаратным ускорителем ~10 тактов.
26кГц*(10..100тактов)*30 = 80МГц для какого-нибудь stm32f4 или десяток другой МГц для блэкфина/С55.
или хочется спектр по 128 точкам каждый новый отсчёт пересчитывать?

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(prig @ Sep 25 2017, 11:55) <{POST_SNAPBACK}>
А если посчитать несколько аккуратней?

Я считал в предположении, что частота следования семплов 26 кГц и буфер на 128 семплов заполняется за время: 128/26e3 секунд.

Если это не то, что требуется ТС, то пусть посчитает сам. БПФ на 128 точек BF527 делает за 1450 процессорных такта.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(blackfin @ Sep 25 2017, 12:00) <{POST_SNAPBACK}>
Я считал в предположении, что частота следования семплов 26 кГц и буфер на 128 семплов заполняется за время: 128/26e3 секунд.

Если это не то, что требуется ТС, то пусть посчитает сам. БПФ на 128 точек BF527 делает за 1450 процессорных такта.


Вот и я о том, что между самплами укладывается примерно 23 тыс. тактов.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(blackfin @ Sep 25 2017, 12:00) <{POST_SNAPBACK}>
Я считал в предположении, что частота следования семплов 26 кГц и буфер на 128 семплов заполняется за время: 128/26e3 секунд.

Если это не то, что требуется ТС, то пусть посчитает сам. БПФ на 128 точек BF527 делает за 1450 процессорных такта.

..тс. хотел каждый отчёт новое БПФ , нет времени на заполнение буфера у меня на БФ насчиталось 15 БПФ. А так как блекфин не самый шустрый dsp то сделать 30 БПФ наверняка можно.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(prig @ Sep 25 2017, 15:28) <{POST_SNAPBACK}>
Вот и я о том, что между самплами укладывается примерно 23 тыс. тактов.

ну FFT пересчитывать каждый отсчёт, а не каждые 128, никто в здравом уме не будет,
а 23000/30/128 это 6 тактов которых для sliding DFT Герцелем возможно хватит.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Acvarif @ Sep 25 2017, 09:45) <{POST_SNAPBACK}>
..., возможно-ли на сигнальном процессоре средней мощности и стоимости построить 30 штук БПФ на 128 точек?
...

Не очень понятно, что подразумевается под "средней мощностью и стоимостью", а так - да.
Если учитывать потери на дополнительные операции и не размениваться на 16 бит (таки большая потеря точности), то скорее всего это что-нить многоядерное от ТИ.
Но многое зависит от задачи, некоторые дополнительные операции могут здорово пожрать ресурсы. Это следует учитывать при оценке.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Lmx2315 @ Sep 25 2017, 12:37) <{POST_SNAPBACK}>
..тс. хотел каждый отчёт новое БПФ ,...

Несколько странные хотелки, КМК. Собсно, именно поэтому я и привел цифру для числа каналов..

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


Ссылка на сообщение
Поделиться на другие сайты
Да. Имелось ввиду каждый отсчет, - в реальном масштабе времени.
После БПФ далее будут еще некоторые вычисления с умножением и суммированием. Похоже это будет довольно накладно. Разве, что, выборки проредить на 5.

Спасибо за информацию. Получается что сигнальный процессор на сегодня это довольно крутая штука.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Acvarif @ Sep 25 2017, 14:22) <{POST_SNAPBACK}>
Да. Имелось ввиду каждый отсчет, - в реальном масштабе времени.
После БПФ далее будут еще некоторые вычисления с умножением и суммированием. Похоже это будет довольно накладно. Разве, что, выборки проредить на 5.

Есть DSP с аппаратным БПФ: SHARC Processor Benchmarks

Вот бенчмарки разных ускорителей БПФ от ADI:

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(blackfin @ Sep 25 2017, 14:58) <{POST_SNAPBACK}>
Есть DSP с аппаратным БПФ:

Спасибо. Интересная штука. Немного дороговатая, но того стоит.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация