Быстрое преобразование Фурье
вычисляет дискретное преобразование Фурье (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
. Эта функция управляет оптимизацией алгоритма, используемого для вычисления БПФ определенного размера и размерности.
Функции БПФ (fft
, fft2
, fftn
, ifft
, ifft2
, ifftn
) основаны на библиотеке, называемой FFTW [1] [2].
[1] FFTW (http://www.fftw.org)
[2] Фриго, М. и С. Г. Джонсон. FFTW: адаптивная программная архитектура для БПФ. Материалы Международной конференции по акустике, речи и обработке сигналов. Том 3, 1998, с. 1381-1384.