Быстрое преобразование Фурье
| Определение: |
| Быстрое преобразование Фурье (англ. Fast Fourier Transform (FFT)) — это метод, позволяющий вычислять дискретное преобразование Фурье за время . |
Алгоритм построения БПФ
Метод основывается на том, что степени одних комплексных корней единицы в степени дают другие.
Идея заключается в том, что сначала мы разделяем вектор коэффициентов на два вектора, рекурсивно вычисляем значение ДПФ для них, и объединяем их в одно ДПФ.
Пусть имеется многочлен степени , где . Если не является степенью двойки, добавим недостающие члены и положим коэффициенты равными нулю.
Разделим на два многочлена, где один будет с четными, а другой с нечетными коэффициентами:
Многочлен получается из и следующим образом:
Мы разбили исходный многочлен на два многочлена, имеющих вдвое меньшую степень. Нам необходимо по вычисленным и за линейное время вычислить . Так как здесь используется идея "разделяй и властвуй", то асимптотическая оценка будет .
Пусть и . Найдем вектор значений .
- Из получаем значения для первой половины коэффициентов:
- Для второй половины получаем:
Заметим, что , тогда:
.
Таким образом, мы получили:
.
Алгоритм построения обратного БПФ
Пусть вектор — значения многочлена степени в точках . Необходимо, по данному вектору восстановить коэффициенты многочлена.