numpy.fft.ihfft#

fft.ihfft(a, n=None, ось=-1, norm=None, выход=None)[источник]#

Вычислить обратное БПФ сигнала, имеющего эрмитову симметрию.

Параметры:
aarray_like

Входной массив.

nint, необязательный

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

осьint, необязательный

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

norm{“backward”, “ortho”, “forward”}, опционально

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

Новое в версии 1.20.0: Значения "backward", "forward" были добавлены.

выходcomplex ndarray, опционально

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

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

Возвращает:
выходкомплексный ndarray

Усечённый или дополненный нулями вход, преобразованный вдоль оси, указанной ось, или последний, если ось не указано. Длина преобразованной оси равна n//2 + 1.

Смотрите также

hfft, irfft

Примечания

hfft/ihfft являются парой, аналогичной rfft/irfft, но для противоположного случая: здесь сигнал имеет эрмитову симметрию во временной области и является вещественным в частотной области. Поэтому здесь это hfft для которого необходимо указать длину результата, если она должна быть нечётной:

  • четное: ihfft(hfft(a, 2*len(a) - 2)) == a, в пределах погрешности округления,

  • нечётный: ihfft(hfft(a, 2*len(a) - 1)) == aв пределах погрешности округления.

Примеры

>>> import numpy as np
>>> spectrum = np.array([ 15, -4, 0, -1, 0, -4])
>>> np.fft.ifft(spectrum)
array([1.+0.j,  2.+0.j,  3.+0.j,  4.+0.j,  3.+0.j,  2.+0.j]) # may vary
>>> np.fft.ihfft(spectrum)
array([ 1.-0.j,  2.-0.j,  3.-0.j,  4.-0.j]) # may vary