numpy.fft.fftn
-
numpy.fft.fftn(a, s=None, axes=None, norm=None)[source] -
Вычисление N-мерного дискретного преобразования Фурье.
Эта функция вычисляет N-мерное дискретное преобразование Фурье по любому количеству осей в массиве размерностью M с помощью быстрого преобразования Фурье (FFT).
- Параметры
-
-
aarray_like -
Входной массив, может быть комплексным.
-
ssequence of ints, optional -
Форма (длина каждой преобразованной оси) выходного значения (
s[0]относится к оси 0,s[1]к оси 1 и т. д.). Это соответствуетnдляfft(x, n). По любой оси, если заданная форма меньше, чем форма входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. Еслиsне задан, используется форма входных данных по осям, указанным вaxes. -
axessequence of ints, optional -
Оси, по которым необходимо вычислить БПФ. Если не указаны, используются последние
len(s)оси, или все оси, еслиsтакже не указан. Повторные индексы вaxesозначают, что преобразование по этой оси выполняется несколько раз. -
norm{None, “ortho”}, optional -
New in version 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
-
- Возвращает
-
-
outcomplex ndarray -
Усечённый или дополненный нулями входной массив, преобразованный по осям, указанным в
axes, или по комбинацииsиa, как описано в разделе параметров выше.
-
- Возможные исключения
-
- ValueError
-
Если
sиaxesимеют различную длину. - IndexError
-
Если элемент
axesбольше, чем количество осей вa.
См. также
-
numpy.fft -
Общий обзор дискретных преобразований Фурье с определениями и используемыми соглашениями.
-
ifftn -
Обратное преобразование к
fftn, обратное n-мерное БПФ. -
fft -
Одномерное БПФ с используемыми определениями и соглашениями.
-
rfftn -
n-мерное БПФ от вещественного входного массива.
-
fft2 -
Двухмерное БПФ.
-
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.fft.fftn.html