Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сигнальный процессор и БПФ
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Сигнальные процессоры и их программирование - DSP
Acvarif
О сигнальных процессорах имею только общее представление. Большую часть работы по цифровой обработке выполняю на ПЛИС.
Скажите пожалуйста, если кому приходилось, возможно-ли на сигнальном процессоре средней мощности и стоимости построить 30 штук БПФ на 128 точек? АЦП предполагаются внешние.
Если частота выборок 26 кГц. Имеется ввиду возможно-ли на сигнальном процессоре за время между двумя соседними выборками выполнить аж 30 раз функцию fft?
blackfin
Цитата(Acvarif @ Sep 25 2017, 09:45) *
Если частота выборок 26 кГц. Имеется ввиду возможно-ли на сигнальном процессоре за время между двумя соседними выборками выполнить аж 30 раз функцию fft?

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

16 бит с фиксированной точкой.
Да.. круто. А если перед каждым БПФ будет стоять еще и FIR фильтр на 50 точек?
prig
Цитата(blackfin @ Sep 25 2017, 11:23) *
... 2037 каналов.

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

Для комплексного FIR ADI дает формулу: 2*h+2, где: h = # of taps.
_pv
арм-кортексыМ делают ффт за ~100 тактов на отсчёт,
C55x ~ 30 тактов,
блэкфин или C55x с аппаратным ускорителем ~10 тактов.
26кГц*(10..100тактов)*30 = 80МГц для какого-нибудь stm32f4 или десяток другой МГц для блэкфина/С55.
или хочется спектр по 128 точкам каждый новый отсчёт пересчитывать?
blackfin
Цитата(prig @ Sep 25 2017, 11:55) *
А если посчитать несколько аккуратней?

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

Если это не то, что требуется ТС, то пусть посчитает сам. БПФ на 128 точек BF527 делает за 1450 процессорных такта.
prig
Цитата(blackfin @ Sep 25 2017, 12:00) *
Я считал в предположении, что частота следования семплов 26 кГц и буфер на 128 семплов заполняется за время: 128/26e3 секунд.

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


Вот и я о том, что между самплами укладывается примерно 23 тыс. тактов.
Lmx2315
Цитата(blackfin @ Sep 25 2017, 12:00) *
Я считал в предположении, что частота следования семплов 26 кГц и буфер на 128 семплов заполняется за время: 128/26e3 секунд.

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

..тс. хотел каждый отчёт новое БПФ , нет времени на заполнение буфера у меня на БФ насчиталось 15 БПФ. А так как блекфин не самый шустрый dsp то сделать 30 БПФ наверняка можно.
_pv
Цитата(prig @ Sep 25 2017, 15:28) *
Вот и я о том, что между самплами укладывается примерно 23 тыс. тактов.

ну FFT пересчитывать каждый отсчёт, а не каждые 128, никто в здравом уме не будет,
а 23000/30/128 это 6 тактов которых для sliding DFT Герцелем возможно хватит.
prig
Цитата(Acvarif @ Sep 25 2017, 09:45) *
..., возможно-ли на сигнальном процессоре средней мощности и стоимости построить 30 штук БПФ на 128 точек?
...

Не очень понятно, что подразумевается под "средней мощностью и стоимостью", а так - да.
Если учитывать потери на дополнительные операции и не размениваться на 16 бит (таки большая потеря точности), то скорее всего это что-нить многоядерное от ТИ.
Но многое зависит от задачи, некоторые дополнительные операции могут здорово пожрать ресурсы. Это следует учитывать при оценке.
blackfin
Цитата(Lmx2315 @ Sep 25 2017, 12:37) *
..тс. хотел каждый отчёт новое БПФ ,...

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

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

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

Вот бенчмарки разных ускорителей БПФ от ADI:
Acvarif
Цитата(blackfin @ Sep 25 2017, 14:58) *
Есть DSP с аппаратным БПФ:

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

_pv
а какую дополнительную информацию можно получить если делать 128ФФТ на каждый новый отсчёт, по сравнению с, например,
пересчётом ФФТ на каждый 64й отсчёт + интерполяция результатов если так уж надо чаще?
ведь полоса-то каждого отсчёта всё равно 1/128, и от того спектр будет хоть миллион раз в секунду пересчитываться ничего дополнительно эта информация особо не добавит.

ну и sliding DFT для обновления спектра на каждый отсчёт можно всё-таки попробовать упихать и в какой-нибудь блэкфин, без злобных шарков в BGA349.
Doka
Цитата(_pv @ Sep 25 2017, 21:10) *
а какую дополнительную информацию можно получить если делать 128ФФТ на каждый новый отсчёт, по сравнению с, например,
пересчётом ФФТ на каждый 64й отсчёт + интерполяция результатов если так уж надо чаще?

похоже на нехитрую попытку ускорить хитрый адгоритм в какой-нибудь индастрил-апликации типа цифровой подстанции, где вендоры меряются таким параметром как время реакции системы на аварийное событие, если так то
1. таким способом задача не решается
2. нужно знать не все гармоники, а только определенные - вполне покатит и Гёрцель
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.