numpy.fft.ifftn
-
numpy.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{None, “ortho”}, optional -
New in version 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
-
- Returns
-
-
outcomplex ndarray -
Усеченный или дополненный нулями входной массив, преобразованный по осям, указанным в
axes, или в результате сочетанияsиa, как описано в разделе параметров выше.
-
- Raises
-
- ValueError
-
Если
sиaxesимеют разную длину. - IndexError
-
Если элемент
axesбольше, чем количество осей вa.
См. также
-
numpy.fft -
Обзор дискретных преобразований Фурье с определениями и используемыми соглашениями.
-
fftn -
Прямое N-мерное FFT, обратное преобразование к которому является
ifftn. -
ifft -
Обратное одномерное FFT.
-
ifft2 -
Обратное двумерное FFT.
-
ifftshift -
Отменяет действие
fftshift, перемещает члены с нулевой частотой в начало массива.
Примечания
См.
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.fft.ifftn.html