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 : последовательность целых чисел, необязательно
Оси, по которым вычисляется FFT. Если не указано, используются последние
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()
(Исходный код, png, pdf)
-
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.fft.fftn.html