numpy.fft.ifft2#

fft.ifft2(a, s=None, оси=(-2, -1), norm=None, выход=None)[источник]#

Вычислить двумерное обратное дискретное преобразование Фурье.

Эта функция вычисляет обратное 2-мерное дискретное преобразование Фурье по любому количеству осей в M-мерном массиве с помощью быстрого преобразования Фурье (FFT). Другими словами, ifft2(fft2(a)) == a с точностью до числовой погрешности. По умолчанию обратное преобразование вычисляется по последним двум осям входного массива.

Входные данные, аналогично ifft, должны быть упорядочены так же, как возвращается fft2, т.е. он должен иметь член для нулевой частоты в нижнем углу двух осей, члены положительной частоты в первой половине этих осей, член для частоты Найквиста в середине осей и члены отрицательной частоты во второй половине обеих осей, в порядке убывающей отрицательной частоты.

Параметры:
aarray_like

Входной массив, может быть комплексным.

sпоследовательность целых чисел, опционально

Форма (длина каждой оси) выходных данных (s[0] относится к оси 0, s[1] к оси 1 и т.д.). Это соответствует n для ifft(x, n). Вдоль каждой оси, если заданная форма меньше, чем у входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями.

Изменено в версии 2.0: Если это -1, весь ввод используется (без заполнения/обрезки).

Если s не указан, форма ввода по осям, заданным оси используется. См. примечания по проблеме в ifft нулевое заполнение.

Устарело с версии 2.0: Если s не является None, оси не должно быть None любой.

Устарело с версии 2.0: s должен содержать только int s, а не None значения. None текущие значения означают, что значение по умолчанию для n используется в соответствующем 1-D преобразовании, но это поведение устарело.

осипоследовательность целых чисел, опционально

Оси, по которым вычисляется БПФ. Если не указано, используются последние две оси. Повторяющийся индекс в оси означает, что преобразование по этой оси выполняется несколько раз. Последовательность из одного элемента означает, что выполняется одномерное БПФ. По умолчанию: (-2, -1).

Устарело с версии 2.0: Если s указан, соответствующий оси для преобразования не должен быть None.

norm{“backward”, “ortho”, “forward”}, опционально

Режим нормализации (см. numpy.fft). По умолчанию — «backward». Указывает, какое направление пары преобразований вперёд/назад масштабируется и с каким коэффициентом нормализации.

Новое в версии 1.20.0: Значения "backward", "forward" были добавлены.

выходcomplex ndarray, опционально

Если предоставлен, результат будет помещён в этот массив. Он должен быть соответствующей формы и типа данных для всех осей (и, следовательно, несовместим с передачей всех, кроме тривиального s).

Новое в версии 2.0.0.

Возвращает:
выходкомплексный ndarray

Усечённый или дополненный нулями вход, преобразованный вдоль осей, указанных оси, или последние две оси, если оси не указан.

Вызывает:
ValueError

Если s и оси имеют разную длину, или оси не указано и len(s) != 2.

IndexError

Если элемент оси больше, чем количество осей a.

Смотрите также

numpy.fft

Общий обзор дискретных преобразований Фурье с определениями и используемыми соглашениями.

fft2

Прямое 2-мерное БПФ, из которого ifft2 является обратным.

ifftn

Обратная функция n-мерное БПФ.

fft

Одномерное быстрое преобразование Фурье.

ifft

Одномерное обратное преобразование Фурье.

Примечания

ifft2 это просто ifftn с другим значением по умолчанию для оси.

См. ifftn для получения подробностей и примера построения графика, и numpy.fft для определения и используемых соглашений.

Дополнение нулями, аналогично ifft, выполняется путём добавления нулей к входным данным вдоль указанного измерения. Хотя это распространённый подход, он может привести к неожиданным результатам. Если требуется другая форма нулевого дополнения, оно должно быть выполнено до ifft2 вызывается.

Примеры

>>> import numpy as np
>>> a = 4 * np.eye(4)
>>> np.fft.ifft2(a)
array([[1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j], # may vary
       [0.+0.j,  0.+0.j,  0.+0.j,  1.+0.j],
       [0.+0.j,  0.+0.j,  1.+0.j,  0.+0.j],
       [0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j]])