numpy.fft.ifftn
-
fft.ifftn(a, s=None, axes=None, norm=None)[source] -
Вычисление обратного N-мерного дискретного преобразования Фурье.
Эта функция вычисляет обратное N-мерное дискретное преобразование Фурье по любому числу осей в массиве размерности M с помощью быстрого преобразования Фурье (FFT). Другими словами,
ifftn(fftn(a)) == aс точностью до погрешности вычисления. Для описания используемых определений и соглашений см.numpy.fft.Входные данные, аналогично
ifft, должны быть упорядочены так же, как возвращаетfftn, т.е. член для нулевой частоты должен находиться в углу с меньшими индексами, положительные частоты — в первой половине всех осей, член для частоты Найквиста — посередине всех осей, а отрицательные частоты — во второй половине всех осей, в порядке убывания отрицательной частоты.- Parameters
-
-
aarray_like -
Входной массив, может быть комплексным.
-
ssequence of ints, optional -
Форма (длина каждой оси преобразования) результата (
s[0]относится к оси 0,s[1]к оси 1 и т.д.). Это соответствуетnдляifft(x, n). По любой оси, если заданная форма меньше, чем форма входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями. Еслиsне указан, используется форма входных данных по осям, указанным вaxes. См. заметки по вопросу о заполнении нулямиifft. -
axessequence of ints, optional -
Оси, по которым вычисляется обратное преобразование Фурье. Если не указаны, используются последние
len(s)оси, или все оси, если также не указанs. Повторяющиеся индексы вaxesозначают, что обратное преобразование по данной оси выполняется несколько раз. -
norm{“backward”, “ortho”, “forward”}, optional -
Новое в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию — “обратное”. Указывает, какая сторона пары прямых/обратных преобразований масштабируется и с каким коэффициентом нормализации.Новое в версии 1.20.0: Добавлены значения “обратное”, “прямое”.
-
- Returns
-
-
outcomplex ndarray -
Обрезанные или дополненные нулями входные данные, преобразованные по осям, указанным в
axes, или комбинациейsилиa, как объяснено в разделе параметров выше.
-
- Raises
-
- ValueError
-
Если
sиaxesимеют разную длину. - IndexError
-
Если элемент
axesбольше, чем количество осей вa.
См. также
-
numpy.fft -
Обзор дискретных преобразований Фурье, с определениями и используемыми соглашениями.
-
fftn -
Прямое N-мерное преобразование Фурье, обратным к которому является
ifftn. -
ifft -
Обратное одномерное преобразование Фурье.
-
ifft2 -
Обратное двумерное преобразование Фурье.
-
ifftshift -
Отменяет
fftshift, смещает члены с нулевой частотой в начало массива.
Notes
См.
numpy.fftдля определений и соглашений.Заполнение нулями, аналогично
ifft, выполняется путем добавления нулей к входным данным вдоль указанной оси. Хотя это распространенный подход, он может привести к неожиданным результатам. Если требуется другая форма заполнения нулями, необходимо выполнить её до вызоваifftn.Примеры
>>> a = np.eye(4) >>> np.fft.ifftn(np.fft.fftn(a, axes=(0,)), axes=(1,)) array([[1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j], # may vary [0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j], [0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j], [0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j]])Создайте и отобразите изображение с ограниченным по полосе частот содержанием частот:
>>> import matplotlib.pyplot as plt >>> n = np.zeros((200,200), dtype=complex) >>> n[60:80, 20:40] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20, 20))) >>> im = np.fft.ifftn(n).real >>> plt.imshow(im) <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.ifftn.html