numpy.fft.irfft#
- fft.irfft(a, n=None, ось=-1, norm=None, выход=None)[источник]#
Вычисляет обратную матрицу
rfft.Эта функция вычисляет обратную одномерную n-точечное дискретное преобразование Фурье реального входа, вычисленное с помощью
rfft. Другими словами,irfft(rfft(a), len(a)) == aс точностью до числовой погрешности. (См. примечания ниже, почемуlen(a)необходимо здесь.)Ожидается, что входные данные будут в форме, возвращаемой
rfft, т.е. вещественный нулевой частотный член, за которым следуют комплексные положительные частотные члены в порядке возрастания частоты. Поскольку дискретное преобразование Фурье вещественного входа является эрмитово-симметричным, отрицательные частотные члены принимаются как комплексно-сопряжённые соответствующим положительным частотным членам.- Параметры:
- aarray_like
Входной массив.
- nint, необязательный
Длина преобразованной оси вывода. Для n выходные точки,
n//2+1входные точки необходимы. Если вход длиннее этого, он обрезается. Если он короче, он дополняется нулями. Если n не задано, оно принимается равным2*(m-1)гдеmэто длина ввода вдоль оси, указанной ось.- осьint, необязательный
Ось, по которой вычисляется обратное БПФ. Если не указана, используется последняя ось.
- norm{“backward”, “ortho”, “forward”}, опционально
Режим нормализации (см.
numpy.fft). По умолчанию — «backward». Указывает, какое направление пары преобразований вперёд/назад масштабируется и с каким коэффициентом нормализации.Новое в версии 1.20.0: Значения "backward", "forward" были добавлены.
- выходndarray, необязательно
Если предоставлен, результат будет помещён в этот массив. Он должен быть соответствующей формы и dtype.
Новое в версии 2.0.0.
- Возвращает:
- выходndarray
Усечённый или дополненный нулями вход, преобразованный вдоль оси, указанной ось, или последний, если ось не указано. Длина преобразованной оси равна n, или, если n не задан,
2*(m-1)гдеm— это длина преобразованной оси входных данных. Чтобы получить нечётное количество выходных точек, n должен быть указан.
- Вызывает:
- IndexError
Если ось не является допустимой осью для a.
Смотрите также
numpy.fftДля определения DFT и используемых соглашений.
rfftОдномерное БПФ действительного входа, из которого
irfftявляется обратным.fftОдномерное быстрое преобразование Фурье.
irfft2Обратное двумерное преобразование Фурье для вещественного ввода.
irfftnОбратная функция n-мерным БПФ реального входа.
Примечания
Возвращает вещественное значение n-точечное обратное дискретное преобразование Фурье a, где a содержит неотрицательные частотные члены эрмитово-симметричной последовательности. n — это длина результата, а не входных данных.
Если вы укажете n такой, что a должен быть дополнен нулями или усечен, дополнительные/удаленные значения будут добавлены/удалены на высоких частотах. Таким образом, можно передискретизировать ряд до m точек с помощью интерполяции Фурье:
a_resamp = irfft(rfft(a), m).Правильная интерпретация эрмитова ввода зависит от длины исходных данных, заданной n. Это связано с тем, что каждая входная форма может соответствовать сигналу нечетной или четной длины. По умолчанию,
irfftпредполагает четную длину вывода, которая помещает последнюю запись на частоте Найквиста; алиасинг с его симметричным аналогом. По эрмитовой симметрии, значение, таким образом, рассматривается как чисто вещественное. Чтобы избежать потери информации, правильная длина вещественного ввода должен должен быть указан.Примеры
>>> import numpy as np >>> np.fft.ifft([1, -1j, -1, 1j]) array([0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j]) # may vary >>> np.fft.irfft([1, -1j, -1]) array([0., 1., 0., 0.])
Обратите внимание, как последний член во входных данных для обычного
ifftявляется комплексно сопряжённым ко второму члену, и выходные данные имеют нулевую мнимую часть везде. При вызовеirfft, отрицательные частоты не указаны, и выходной массив является чисто вещественным.