Spec-Zone.ru › NumPy 1.11

numpy.fft.ifft

numpy.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.

Параметры:

a : array_like

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

n : int, необязательно

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

axis : int, необязательно

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

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

Добавлена в версии 1.10.0.

Режим нормализации (см. numpy.fft). По умолчанию None.

Возвращает:

out : комплексный 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])

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

>>> 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--')
...
>>> plt.legend(('real', 'imaginary'))
...
>>> plt.show()

(Исходный код, png, pdf)

../../_images/numpy-fft-ifft-1.png

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.fft.ifft.html

Spec-Zone.ru

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