[an error occurred while processing this directive]
|
При реализации БПФ на процессоре ZSP400 встала проблемка перестановки чисел из бит-реверсного порядка в прямой. Пока не приходит в голову ничего лучше, чем два варианта:
1. Прохождение по всему массиву:
-нахождение реверсного адреса для каждого прямого;
-проверка на то, что он больше прямого адреса (для предотвращения обратной замены);
-замена чисел по прямому и бит-реверсному адресу.
2. Несколько проходов попарной замены. Тот же самый алгоритм БПФ с прореживанием по времени, только вместо бабочек делается простая перестановка чисел.
Второй вариант выполняется быстрее при не очень большом числе точек (128). Для 2048 точек скорости уже примерно равны. Все бы ничего, но по времени эта перестановка занимает чуть ли не половину времени собственно алгоритма БПФ.
Может кто-то знает алгоритм побыстрее?
ЕСЛИ БПФ МОЖНО ДЕЛАТЬ ТАК, ЧТОБЫ ПОРЯДОК ОТСЧЕТОВ НЕ МЕНЯЛСЯ - ТОЖЕ ПОДСКАЖИТЕ!
E-mail: info@telesys.ru