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/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