numpy.fft.fftn
- fft.fftn(a, s=None, axes=None, norm=None)[source]
-
Вычисление N-мерного дискретного преобразования Фурье.
Эта функция вычисляет N-мерное дискретное преобразование Фурье по любому числу осей в массиве размерности M с помощью быстрого преобразования Фурье (FFT).
- Параметры
-
- aarray_like
-
Вводной массив, может быть комплексным.
- sпоследовательность целых чисел, необязательно
-
Форма (длина каждой преобразованной оси) выходного значения (
s[0]относится к оси 0,s[1]к оси 1 и т.д.). Это соответствуетnдляfft(x, n). По любой оси, если заданная форма меньше, чем форма входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. Еслиsне задано, используется форма входных данных по осям, указанным вaxes. - axesпоследовательность целых чисел, необязательно
-
Оси, по которым вычисляется FFT. Если не указано, используются последние
len(s)оси или все оси, еслиsтакже не указано. Повторные индексы вaxesозначают, что преобразование по этой оси выполняется несколько раз. - norm{“backward”, “ortho”, “forward”}, optional
-
Новая в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию «backward». Указывает, какая сторона прямой/обратной пары преобразований масштабируется и с каким фактором нормализации.Новая в версии 1.20.0: Значения «backward», «forward» были добавлены.
- Возвращает
-
- outcomplex ndarray
-
Усечённый или дополненный нулями входной массив, преобразованный по осям, указанным в
axes, или по комбинацииsиa, как описано в разделе параметров выше.
- Возбуждает
-
- ValueError
-
Если
sиaxesимеют различную длину. - IndexError
-
Если элемент
axesбольше, чем количество осейa.
См. также
numpy.fft-
Общий обзор дискретных преобразований Фурье с определениями и используемыми соглашениями.
ifftn-
Обратное преобразование
fftn, обратное n-мерное FFT. fft-
Одномерное FFT с определениями и используемыми соглашениями.
rfftn-
n-мерное FFT для вещественного входного значения.
fft2-
Двумерное FFT.
fftshift-
Смещает члены нулевой частоты в центр массива
Примечания
Вывод, аналогично
fft, содержит член для нулевой частоты в углу низшего порядка всех осей, члены положительных частот в первой половине всех осей, член для частоты Найквиста посередине всех осей и члены отрицательных частот во второй половине всех осей в порядке убывания отрицательной частоты.См.
numpy.fftдля получения подробной информации, определений и используемых соглашений.Примеры
>>> a = np.mgrid[:3, :3, :3][0] >>> np.fft.fftn(a, axes=(1, 2)) array([[[ 0.+0.j, 0.+0.j, 0.+0.j], # may vary [ 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]], [[ 9.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]], [[18.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]]]) >>> np.fft.fftn(a, (2, 2), axes=(0, 1)) array([[[ 2.+0.j, 2.+0.j, 2.+0.j], # may vary [ 0.+0.j, 0.+0.j, 0.+0.j]], [[-2.+0.j, -2.+0.j, -2.+0.j], [ 0.+0.j, 0.+0.j, 0.+0.j]]])>>> import matplotlib.pyplot as plt >>> [X, Y] = np.meshgrid(2 * np.pi * np.arange(200) / 12, ... 2 * np.pi * np.arange(200) / 34) >>> S = np.sin(X) + np.cos(Y) + np.random.uniform(0, 1, X.shape) >>> FS = np.fft.fftn(S) >>> plt.imshow(np.log(np.abs(np.fft.fftshift(FS))**2)) <matplotlib.image.AxesImage object at 0x...> >>> plt.show()
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.fftn.html