numpy.fft.ifft#

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

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

Эта функция вычисляет обратную одномерную n-точечное дискретное преобразование Фурье, вычисленное с помощью fft. Другими словами, ifft(fft(a)) == a с точностью до числовой погрешности. Для общего описания алгоритма и определений см. numpy.fft.

Входные данные должны быть упорядочены так же, как возвращается функцией fft, т.е.,

  • a[0] должен содержать нулевую частотную составляющую,

  • a[1:n//2] должен содержать положительно-частотные члены,

  • a[n//2 + 1:] должен содержать члены с отрицательной частотой, в возрастающем порядке, начиная с наиболее отрицательной частоты.

Для чётного числа входных точек, A[n//2] представляет сумму значений на положительной и отрицательной частотах Найквиста, так как они накладываются друг на друга. См. numpy.fft подробности.

Параметры:
aarray_like

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

nint, необязательный

Длина преобразованной оси вывода. Если n меньше длины ввода, ввод обрезается. Если больше, ввод дополняется нулями. Если n не указана, длина ввода вдоль оси, заданной ось используется. См. примечания о проблемах с заполнением.

осьint, необязательный

Ось, по которой вычисляется обратное ДПФ. Если не указана, используется последняя ось.

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

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

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

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

Если предоставлен, результат будет помещён в этот массив. Он должен быть соответствующей формы и dtype.

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

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

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

Вызывает:
IndexError

Если ось не является допустимой осью для a.

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

numpy.fft

Введение с определениями и общими пояснениями.

fft

Одномерное (прямое) БПФ, из которого ifft является обратным

ifft2

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

ifftn

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

Примечания

Если входной параметр n больше размера входных данных, входные данные дополняются добавлением нулей в конце. Хотя это распространённый подход, он может привести к неожиданным результатам. Если требуется другое дополнение, оно должно быть выполнено перед вызовом ifft.

Примеры

>>> import numpy as np
>>> np.fft.ifft([0, 4, 0, 0])
array([ 1.+0.j,  0.+1.j, -1.+0.j,  0.-1.j]) # may vary

Создайте и постройте график сигнала с ограниченной полосой частот и случайными фазами:

>>> import matplotlib.pyplot as plt
>>> t = np.arange(400)
>>> n = np.zeros((400,), dtype=complex)
>>> n[40:60] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20,)))
>>> s = np.fft.ifft(n)
>>> plt.plot(t, s.real, label='real')
[]
>>> plt.plot(t, s.imag, '--', label='imaginary')
[]
>>> plt.legend()

>>> plt.show()
../../_images/numpy-fft-ifft-1.png