numpy.fft.fftn
-
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 -
Оси, по которым вычисляется FFT. Если не указаны, используются последние
len(s)оси, или все оси, если также не указаноs. Повторные индексы вaxesозначают, что преобразование по этой оси выполняется несколько раз. -
norm{“backward”, “ortho”, “forward”}, optional -
Новое в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию «обратное». Указывает, какая из прямых/обратных пар преобразований масштабируется и с каким коэффициентом нормализации.Новое в версии 1.20.0: Добавлены значения «обратное», «прямое».
-
- Возвращает
-
-
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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.fft.fftn.html