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, т.е. термин для нулевой частоты во всех осях должен находиться в углу с наименьшими индексами, положительные частотные члены — в первой половине всех осей, термин для частоты Найквиста — посередине всех осей, а отрицательные частотные члены — во второй половине осей, в порядке убывания отрицательной частоты.- Параметры
-
-
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 -
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
-
- Возвращает
-
-
outcomplex ndarray -
Усечённый или дополненный нулями входной массив, преобразованный по осям, указанным в
axes, или в результате комбинацииsилиa, как описано в разделе параметров.
-
- Возбуждает
-
- ValueError
-
Если
sиaxesимеют разную длину. - IndexError
-
Если элемент
axesбольше, чем число осей вa.
См. также
-
numpy.fft -
Общий обзор дискретных преобразований Фурье с определениями и соглашениями, используемыми в них.
-
fftn -
Прямое N-мерное преобразование Фурье, обратным к которому является
ifftn. -
ifft -
Обратное одномерное преобразование Фурье.
-
ifft2 -
Обратное двумерное преобразование Фурье.
-
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.19/reference/generated/numpy.fft.ifftn.html