Алгоритм Блуштайна
Алгоритм Блюстайна (чирп-алгоритм) — алгоритм вычисления быстрого преобразования Фурье, заключающийся в сведении вычисления дискретного преобразования Фурье к вычислению свёртки.
Пусть , , . Тогда формула алгоритма Блюстайна выводится из формулы для дискретного преобразования Фурье сигнала к сигналу следующим образом[1]:
С использованием обозначений , можно переписать эту формулу в более компактном виде:
Здесь верхний индекс означает комплексное сопряжение, а символ — свёртку.
Величины иногда называются чирпом (англ. chirp), откуда происходит второе название алгоритма.
Нетрудно видеть, что алгоритм содержит -точечную свёртку, вычисление которой требует операций, и дополнительных умножений, то есть полное число операций имеет порядок . Поэтому алгоритм Блюстайна асимптотически не эффективнее прямого вычисления преобразования Фурье. Однако в некоторых приложениях он допускает более простую аппаратурную реализацию. Более того, прямое вычисление свёртки можно заменить быстрыми алгоритмами[2].
Например, с помощью теоремы о свёртке можно заменить вычисление свёртки на вычисление двух дискретных преобразований Фурье, каждое из которых можно вычислить быстрым алгоритмом, к примеру, методом Кули-Тьюки и, таким образом, обеспечить выполнение алгоритма Блюстайна с вычислительной сложностью . Величины и их преобразование Фурье также можно вычислить заранее и записать в память для последующего многократного использования.
Примечания
- Блейхут, 1989, с. 147.
- Блейхут, 1989, с. 149.
Литература
- Блейхут, Р.. Быстрые алгоритмы цифровой обработки сигналов . — М.: Мир, 1989. — 448 с.