numpy.fft.irfft
-
numpy.fft.irfft(a, n=None, axis=-1, norm=None)[source] -
Вычисление обратного преобразования ДПФ для вещественного входного сигнала.
Эта функция вычисляет обратное одномерное дискретное преобразование Фурье (ДПФ) длины n для вещественного входного сигнала, вычисленное функцией
rfft. Другими словами,irfft(rfft(a), len(a)) == aс точностью до числовых погрешностей. (См. Примечания ниже, чтобы понять, почемуlen(a)необходимо здесь.)Входной сигнал должен быть представлен в виде, возвращаемом функцией
rfft, т.е. вещественная нулевая частота, за которой следуют комплексные положительные частоты в порядке возрастания частоты. Поскольку дискретное преобразование Фурье вещественного сигнала является эрмитово-симметричным, отрицательные частоты принимаются равными комплексно сопряжённым положительным частотам.Параметры: -
a : array_like -
Вектор входного сигнала.
-
n : int, optional -
Длина преобразованной оси выходного сигнала. Для
nвыходных точек необходимоn//2+1входных точек. Если входной сигнал длиннее, он усекается. Если он короче, он заполняется нулями. Еслиnне задан, он определяется по длине входного сигнала вдоль оси, указаннойaxis. -
axis : int, optional -
Ось, вдоль которой вычисляется обратное БПФ. Если не задано, используется последняя ось.
-
norm : {None, “ortho”}, optional -
Новое в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
Возвращаемое значение: -
out : ndarray -
Усечённый или дополненный нулями входной сигнал, преобразованный вдоль оси, указанной
axis, или по последней оси, еслиaxisне указано. Длина преобразованной оси —n, или, еслиnне указано,2*(m-1), гдеm— длина преобразованной оси входного сигнала. Чтобы получить нечётное количество выходных точек, необходимо указатьn.
Исключения: - IndexError
-
Если
axisбольше, чем последняя осьa.
См. также
Примечания
Возвращает вещественное значение
n-точечного обратного дискретного преобразования Фурье дляa, гдеaсодержит неотрицательные частотные компоненты эрмитово-симметричной последовательности.n— это длина результата, а не входных данных.Если задано
n, так чтоaнеобходимо дополнить нулями или усечь, дополнительные/удаленные значения будут добавлены/удалены на высоких частотах. Таким образом, можно передискретизировать последовательность доmточек с помощью интерполяции Фурье:a_resamp = irfft(rfft(a), m).Примеры
>>> np.fft.ifft([1, -1j, -1, 1j]) array([ 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j]) >>> np.fft.irfft([1, -1j, -1]) array([ 0., 1., 0., 0.])
Обратите внимание, как последний элемент входного сигнала для обычного
ifftявляется комплексным сопряжённым второго элемента, и выходной сигнал имеет нулевую мнимую часть повсюду. При вызовеirfftотрицательные частоты не заданы, и выходной массив является чисто вещественным. -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.fft.irfft.html