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, т.е. член для нулевой частоты во всех осях должен находиться в углу с наименьшим порядком, положительные частоты - в первой половине всех осей, член для частоты Найквиста - посередине всех осей, а отрицательные частоты - во второй половине всех осей, в порядке убывания отрицательной частоты.- Параметры
-
- aarray_like
-
Входной массив, может быть комплексным.
- sпоследовательность целых чисел, необязательно
-
Форма (длина каждой преобразованной оси) выходных данных (
s[0]относится к оси 0,s[1]к оси 1 и т.д.). Это соответствуетnдляifft(x, n). По любой оси, если заданная форма меньше формы входных данных, входные данные усекаются. Если она больше, входные данные дополняются нулями. Еслиsне задано, используется форма входных данных по осям, указаннымaxes. См. заметки по проблеме сifftзаполнением нулями. - axesпоследовательность целых чисел, необязательно
-
Оси, по которым вычисляется обратное преобразование Фурье. Если не указано, используются последние
len(s)оси или все оси, еслиsтакже не указано. Повторные индексы вaxesозначают, что обратное преобразование по этой оси выполняется несколько раз. - norm{“backward”, “ortho”, “forward”}, необязательно
-
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию «backward». Указывает, какая из направлений прямого/обратного преобразования масштабируется и с каким нормировочным коэффициентом.Введено в версии 1.20.0: Были добавлены значения «backward», «forward».
- Возвращает
-
- outкомплексный массив 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.ifftn.html