numpy.fft.fftn
-
numpy.fft.fftn(a, s=None, axes=None, norm=None)[source] -
Вычислить N-мерное дискретное преобразование Фурье.
Эта функция вычисляет N-мерное дискретное преобразование Фурье по любому количеству осей в массиве размерностью M с помощью быстрого преобразования Фурье (FFT).
Параметры: -
a : array_like -
Входной массив, может быть комплексным.
-
s : sequence of ints, optional -
Форма (длина каждой преобразованной оси) выходного значения (
s[0]относится к оси 0,s[1]к оси 1 и т. д.). Это соответствуетnдляfft(x, n). По любой оси, если заданная форма меньше, чем форма входного массива, входной массив усекается. Если она больше, входной массив дополняется нулями. Еслиsне указано, используется форма входного массива по осям, указанным вaxes. -
axes : sequence of ints, optional -
Оси, по которым вычисляется FFT. Если не указано, используются последние
len(s)оси, или все оси, еслиsтакже не указано. Повторные индексы вaxesозначают, что преобразование по этой оси выполняется несколько раз. -
norm : {None, “ortho”}, optional -
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
Возвращает: -
out : complex 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], [ 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], [ 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.fft.fftn.html