[an error occurred while processing this directive]
Кто-нибудь знает алгоритм попарной перестановки чисел массива [нормальный <-> бит-реверсный порядок] ?
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Drux 15 ноября 2005 г. 10:19

При реализации БПФ на процессоре ZSP400 встала проблемка перестановки чисел из бит-реверсного порядка в прямой. Пока не приходит в голову ничего лучше, чем два варианта:
1. Прохождение по всему массиву:
-нахождение реверсного адреса для каждого прямого;
-проверка на то, что он больше прямого адреса (для предотвращения обратной замены);
-замена чисел по прямому и бит-реверсному адресу.
2. Несколько проходов попарной замены. Тот же самый алгоритм БПФ с прореживанием по времени, только вместо бабочек делается простая перестановка чисел.

Второй вариант выполняется быстрее при не очень большом числе точек (128). Для 2048 точек скорости уже примерно равны. Все бы ничего, но по времени эта перестановка занимает чуть ли не половину времени собственно алгоритма БПФ.

Может кто-то знает алгоритм побыстрее?

ЕСЛИ БПФ МОЖНО ДЕЛАТЬ ТАК, ЧТОБЫ ПОРЯДОК ОТСЧЕТОВ НЕ МЕНЯЛСЯ - ТОЖЕ ПОДСКАЖИТЕ!

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru