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