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.
См. также
Примечания
Если параметр
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()
-
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.fft.ifft.html