Чирп-алгоритм

Чирп-алгоритм (алгоритм Блюстейна) — алгоритм вычисления быстрого преобразования Фурье, заключающийся в сведении вычисления дискретного преобразования Фурье к вычислению свёртки.

Если на некотором поле относительно операции умножения существует элемент порядка (т.е. равным корню порядка от единицы. В поле комплексных чисел обычно используется ), тогда для него определено дискретное преобразование Фурье вида

.

Если теперь ввести замену вида , то от дискретного преобразования Фурье можно перейти к свёртке сигнала следующим образом[1]:

.

С использованием обозначений , можно переписать эту формулу в более компактном виде:

.

Здесь символ  означает свёртку. В поле комплексных чисел при обратный элемент можно заменить комплексно-сопряжённым , получив выражение

Величину здесь называют чирпом (англ. chirp).

Алгоритм содержит -точечную свёртку, вычисление которой требует операций, и дополнительных умножений, то есть полное число операций имеет порядок , поэтому алгоритм Блюстайна асимптотически не эффективнее прямого вычисления преобразования Фурье. Однако в некоторых приложениях он допускает более простую аппаратурную реализацию. Более того, прямое вычисление свёртки можно заменить быстрыми алгоритмами[2].

Например, с помощью теоремы о свёртке можно заменить вычисление свёртки на вычисление двух дискретных преобразований Фурье, каждое из которых можно вычислить быстрым алгоритмом, к примеру, методом Кули — Тьюки и, таким образом, обеспечить выполнение алгоритма Блюстайна с вычислительной сложностью . Величины и их преобразование Фурье также можно вычислить заранее и записать в память для последующего многократного использования.

Примечания

Литература

  • Блейхут, Р.. Быстрые алгоритмы цифровой обработки сигналов. — М.: Мир, 1989. — 448 с.

Категории