Результаты (
русский) 2:
[копия]Скопировано!
Prelim перераб. 19 октября 2003 - BL
Rev. 1,0 - добавил реальные входы случай - PM Это сборка процедура для комплекса Radix-2 C-вызываемая FFT на TigerSHARC семейства ЦСП. I. Описание Вызов. 1. Входы: J4 -> вход (пинг-понг буфер 1) J5 -> пинг-понг буфер 1 j6 -> пинг-понг буфер 2 J7 -> выход J27 + 0x18 -> N = Кол - во пунктов J27 + 0x19 -> РЕАЛ или КОМПЛЕКС 2. C-вызова Пример: fft32 (& (вход), & (ping_pong_buffer1), & (ping_pong_buffer2), & (выход), N, комплекс); 3. Ограничения: а. Все буферы должны быть выровнены по границе памяти , которая является кратным 4. б. N должно быть между 32 и MAX_FFT_SIZE. С. Если экономия пространства памяти необходимы и входные данные не должны быть сохранены, ping_pong_buffer1 может быть тот же буфер в качестве входного сигнала. Д. Если экономия пространства памяти требуется, выход может быть тот же буфер , как ping_pong_buffer2 если количество FFT этапов даже (т.е. log2 (N) даже) или такой же , как ping_pong_buffer1 если число FFT ступеней нечетное (то есть log2 (N ) нечетная). 4. MAX_FFT_SIZE может быть выбран с помощью #define. Большие значения позволяют более широкий выбор из N, но его крутит будет занимать больше памяти. 5. Это C - вызываемая функция может обрабатывать до 64К блоков данных на TS201 (16K блоков на TS101) , так как C среда сама по себе требует памяти. Поэтому, если больше входные точки необходимы, развитие языка ассемблера может стать обязательным. На TS201, блок памяти 128К слов долго, так что максимальное N является 128K вещественные точки или 64K комплексных точек. TS101 содержит только 2 блоки памяти данных 64К слов и 4 буферов должны быть размещены. Таким образом, максимальное N является 32K реальные слова или 16K сложные слова. II. Описание алгоритма FFT. 1. Входные данные рассматриваются как сложный с чередованием N-точка. 2. Из - за повторного заказа, никакой стадии не может быть сделано на месте. 3. Реверсирование бит и первые два этапа объединены в единый контур. Этот цикл принимает данные из входных и сохраняет его в пинг-понга buffer1. 4. Каждый последующий этап пинг-PONGS данных между двумя пинг-понга буферов. Последний этап использует выходной буфер быстрого преобразования Фурье для его выхода. 5. Хотя FFT предназначен называться с любым размером точки N <= MAX_FFT_SIZE от подвыборки факторы Twiddle, для ADSP-TS20x процессоров, лучшая оптимизация цикла достигается при MAX_FFT_SIZE = N. Для ADSP-TS101 все выборы MAX_FFT_SIZE одинаково оптимальным . III. Описание алгоритма РЕАЛЬНОГО FFT. 1. Входные данные рассматриваются как сложный чередуемой N / 2-точка. / 2 пункт комплекс N FFT будет вычисляться первым. Таким образом, N уменьшается в два раза, в настоящее время число точек = N / 2. 2. Подробности и исходный код / 2 точки комплекса FFT N находятся в II выше. 3. Real вновь объединить: Здесь комплекс N / 2-точечное БПФ вычисляется на предыдущих этапах , объединяется , чтобы произвести N-точка реального FFT. Если G является комплекс FFT и F является реальным FFT, формула F определяется по формуле: F (п) = 0,5 * (G (п) + Conj (G (N / 2-п)) - 0,5 * я * ехр (-2 * пи * I * N / N) * (G (п) -conj (G (N / 2-п)). Из этого можно сделать следующие получены: Conj (F (N / 2-п) ) = 0,5 * (G (п) + Conj (G (N / 2-п)) + 0,5 * I * ехр (-2 * пи * I * N / N) * (G (п) -conj (G ( . N / 2-п)) Таким образом, это может быть вычислена в (N, N / 2-п) пар, следующим образом (снижается в 2 раза): G (п) ----------- --------------------> ------------------------> ---- ----> F (п) + / + / / / / / Призывание / - ехр (-2 * пи * я * п) * я / - Призывание G (N / 2- п) -----> Conj (G (N / 2-п)) ------> ------------------------ > --------> F (N / 2-п) Это очень эффективно на архитектуре TigerSHARC из - за добавления / вычитания инструкции. IV. для всех дополнительных деталей относительно этого алгоритма и кода, см EE-218 приложение к сведению, можно найти на веб - сайте ADI.
переводится, пожалуйста, подождите..