16.09.2011, Изучение быстродействия и оптимизация алгоритма БПФ
Материал из SRNS
Korogodin (обсуждение | вклад) |
Korogodin (обсуждение | вклад) |
||
| Строка 36: | Строка 36: | ||
| Все float переведены в int. Грубая оценка быстродействия целочисленного алгоритма. | | Все float переведены в int. Грубая оценка быстродействия целочисленного алгоритма. | ||
|} | |} | ||
| + | |||
| + | == См. также == | ||
| + | * [http://fpga.parallel.ru/fft/ Основная схема быстрого преобразования Фурье] | ||
{{wl-publish: 2011-09-16 14:37:37 +0400 | Korogodin }} | {{wl-publish: 2011-09-16 14:37:37 +0400 | Korogodin }} | ||
Версия 15:47, 16 сентября 2011
<accesscontrol>SuperUsers</accesscontrol>
Под исходные коды заведен проект fft-for-arm-search.
Исследуется БПФ от 2048 точек.
Согласно изученной литературе, минимальное количество операций достижимо для БПФ размером
("четной степени двойки"). Для него:
- число комплексных умножений;
- число комплексных сложений.
Остаются два рычага власти: варьировать N и менять разрядность и тип переменных в функции (уменьшать время умножения и сложения).
По произведенным оценкам ARM'у на одно комплексное умножение (float+jfloat)*(float+jfloat) надо около 2.5-2.8 мкс (при расчете пришлось принять гипотезу исчезающе малого влияния суммирования на время вычисления). Отсюда, в изначальном варианте оценка свертки мс-ого сигнала для 10 частот - 300 мс.
| Ревизия | ARM, ms | Pentium, ms | Примечание |
|---|---|---|---|
| 2 | 23.3 | 0.28 | Исходный алгоритм с коэф, вх. и вых. данными во float |
| 0.28 | Входные данные int: изменений не замечено | ||
| 3 | Все float переведены в int. Грубая оценка быстродействия целочисленного алгоритма. |
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.