Spec-Zone.ru › NumPy 2.0

numpy.fft.ifft

fft.ifft(a, n=None, axis=-1, norm=None, out=None)[source]

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

Эта функция вычисляет обратное одномерное 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 не указан, используется длина входных данных по оси, заданной axis. См. примечания о проблемах с заполнением.

axisint, необязательно

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

norm{“backward”, “ortho”, “forward”}, необязательно

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

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

Новое в версии 1.20.0: Добавлены значения «backward», «forward».

outcomplex ndarray, необязательно

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

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

Возвращаемые значения:
outcomplex ndarray

Обрезанный или дополненный нулями входной массив, преобразованный по оси, указанной axis, или последней оси, если axis не указан.

Исключения:
IndexError

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

См. также

numpy.fft

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

fft

Одномерное (прямое) ФПТ, обратным к которому является ifft

ifft2

Двумерное обратное ФПТ.

ifftn

n-мерное обратное ФПТ.

Примечания

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

Примеры

>>> 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')
[<matplotlib.lines.Line2D object at ...>]
>>> plt.plot(t, s.imag, '--', label='imaginary')
[<matplotlib.lines.Line2D object at ...>]
>>> plt.legend()
<matplotlib.legend.Legend object at ...>
>>> plt.show()
../../_images/numpy-fft-ifft-1.png

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.fft.ifft.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API