Spec-Zone.ru › NumPy 1.20

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.

Параметры
aarray_like

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

nint, optional

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

axisint, optional

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

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

Введено в версии 1.10.0.

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

Введено в версии 1.20.0: Добавлены значения «обратное», «прямое».

Возвращает
outcomplex ndarray

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

Возбуждает
IndexError

Если axes больше, чем последняя ось 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, 'b-', t, s.imag, 'r--')
[<matplotlib.lines.Line2D object at ...>, <matplotlib.lines.Line2D object at ...>]
>>> plt.legend(('real', 'imaginary'))
<matplotlib.legend.Legend object at ...>
>>> plt.show()
../../_images/numpy-fft-ifft-1.png

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

Spec-Zone.ru

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