Быстрое преобразование Фурье
вычисляет дискретное преобразование Фурье (DFT) Y
= fft(X
)X
использование алгоритма быстрого преобразования Фурье (FFT).
Если X
вектор, затем fft(X)
возвращает преобразование Фурье вектора.
Если X
матрица, затем fft(X)
обрабатывает столбцы X
как векторы и возвращает преобразование Фурье каждого столбца.
Если X
многомерный массив, затем fft(X)
обрабатывает значения вдоль первого измерения массива, размер которого не равняется 1 как векторы и возвращает преобразование Фурье каждого вектора.
возвращает Y
= fft(X
,n
)n
- укажите ДПФ, Если никакое значение не задано, Y
одного размера с X
.
Если X
вектор и длина X
меньше n
, затем X
дополнен конечными нулями к длине n
.
Если X
вектор и длина X
больше n
, затем X
является усеченным к длине n
.
Если X
матрица, затем каждый столбец обработан как в векторном случае.
Если X
многомерный массив, затем первое измерение массива, размер которого не равняется 1, обработано как в векторном случае.
Время выполнения для fft
зависит от длины преобразования. Преобразуйте длины, которые имеют только малые простые множители, значительно быстрее, чем те, которые являются главными или имеют большие простые множители.
Для большинства значений n
, ДПФ с реальным входом требуют примерно половины времени вычисления ДПФ с комплексным входом Однако когда n
имеет большие простые множители, существует минимальное различие в скорости.
Можно потенциально увеличить скорость fft
с помощью служебной функции, fftw
. Эти средства управления функцией оптимизация алгоритма использовались для расчета БПФ конкретного размера и размерности.
[1] FFTW (http://www.fftw.org
)
[2] Frigo, M. и С. Г. Джонсон. fftw: Адаптивная Программная архитектура для БПФ”. Продолжения Международной конференции по вопросам Акустики, Речи и Обработки сигналов. Издание 3, 1998, стр 1381-1384.