Spec-Zone.ru › NumPy 1.21

numpy.fft.ifft

fft.ifft(a, n=None, axis=- 1, norm=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 для подробностей.

Parameters
aarray_like

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

nint, optional

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

axisint, optional

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

norm{“backward”, “ortho”, “forward”}, optional

New in version 1.10.0.

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

New in version 1.20.0: Значения “backward”, “forward” были добавлены.

Returns
outcomplex ndarray

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

Raises
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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.fft.ifft.html

Spec-Zone.ru

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