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, т.е. член для нулевой частоты должен находиться в углу с наименьшими индексами по всем осям, члены для положительных частот - в первой половине каждой оси, член для частоты Найквиста - посередине каждой оси, а члены для отрицательных частот - во второй половине каждой оси, в порядке убывания отрицательной частоты.Параметры: -
a : array_like -
Входной массив, может быть комплексным.
-
s : sequence of ints, optional -
Размер (длина каждой преобразованной оси) выходного массива (
s[0]относится к оси 0,s[1]к оси 1 и т.д.). Это соответствуетnдляifft(x, n). По любой оси, если заданный размер меньше размера входных данных, входные данные обрезаются. Если он больше, входные данные дополняются нулями. Еслиsне задано, используется размер входных данных по осям, указанным вaxes. См. Примечания для обсуждения проблемы сifftдобавлением нулей. -
axes : sequence of ints, optional -
Оси, по которым вычисляется обратное преобразование Фурье. Если не указаны, используются последние
len(s)оси или все оси, еслиsтакже не указано. Повторные индексы вaxesозначают, что обратное преобразование по этой оси выполняется несколько раз. -
norm : {None, “ortho”}, optional -
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию - None.
Возвращает: -
out : complex 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], [ 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.fft.ifftn.html