Бабочка — элементарный шаг в алгоритме Кули-Тюки (англ. Cooley–Tukey FFT) вычисления быстрого преобразования Фурье.
Время работы шага Бабочка определяет длительность вычисления преобразования Фурье.Реализация целочисленного БПФ на процессорах с архитектурой ARM // Схемотехника №3 март 2001
В простейшем варианте (Radix-2 butterfly) является двухточечным преобразованием.
Формула для вычисления «Бабочки»:
Обозначения: , – исходные точки; , – точки результата, – комплексный коэффициент.
Для БПФ данных размером , требуется произвести вычислений операции 2-Radix «Бабочка».Л. Рабинер и Б. Гоулд "Теория и применение цифровой обработки сигналов".
Иногда используются операции бабочка более высокого порядка: Radix-4, Radix-8. Radix-4 является примерно на 20% более эффективным для преобразования Фурье большого количества данных. Операция большего порядка чем 8 практически не используется из-за незначительных приростов производительности и трудностей в реализации (ресурсоемкости).http://www.ece.ucdavis.edu/~bbaas/281/slides/Handout.fft2.pdf Higher Radiceshttp://www.cmlab.csie.ntu.edu.tw/cml/dsp/training/coding/transform/fft.html Radix-4 FFT Algorithm; Figure TC.3.9 Basic butterfly computation in a radix-4 FFT algorithm
Сходная структура может применяться в реализациях алгоритма Витерби (операция ACS - Add-Compare-Select)Implementing the Viterbi Algorithm in Today's Digital Communications Systems // Design And Reuse (EETimes): "Viterbi ACS instructions are based on the Viterbi butterfly structure and symmetry. The structure is called “butterfly” due to its physical resemblance to the animal.", Figures 8-10.
Примечания
Ссылки Chapter 12: The Fast Fourier Transform (The Scientist and Engineer's Guide to Digital Signal Processing, By Steven W. Smith); перевод
Категория:Алгоритмы Категория:Дискретные преобразования Категория:Цифровая обработка сигналов Категория:Преобразование Фурье