numpy.fft.fftn
-
numpy.fft.fftn(a, s=None, axes=None, norm=None)[source] -
Вычислить n-мерное дискретное преобразование Фурье.
Эта функция вычисляет N-мерное дискретное преобразование Фурье по любому числу осей в массиве размерности M с помощью быстрого преобразования Фурье (FFT).
Параметры: a : array_like
Входной массив, может быть комплексным.
s : последовательность целых чисел, необязательно
Форма (длина каждой преобразованной оси) выходного массива (
s[0]относится к оси 0,s[1]к оси 1 и т. д.). Это соответствуетnдляfft(x, n). По любой оси, если заданная форма меньше формы входного массива, входной массив усекается. Если она больше, входной массив дополняется нулями. Еслиsне задан, используется форма входного массива по осям, указанным вaxes.axes : последовательность целых чисел, необязательно
Оси, по которым вычисляется преобразование Фурье. Если не указано, используются последние
len(s)оси или все оси, еслиsтакже не указано. Повторные индексы вaxesозначают, что преобразование по этой оси выполняется несколько раз.norm : {None, “ortho”}, необязательно
Добавлен в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.Возвращает: out : комплексный массив 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.14.5/reference/generated/numpy.fft.fftn.html