numpy.fft.rfft#

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

Вычисляет одномерное дискретное преобразование Фурье для действительного входа.

Эта функция вычисляет одномерное n-точечное дискретное преобразование Фурье (ДПФ) вещественного массива с помощью эффективного алгоритма, называемого быстрым преобразованием Фурье (БПФ).

Параметры:
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 чётное, длина преобразованной оси равна (n/2)+1. Если n нечетное, длина равна (n+1)/2.

Вызывает:
IndexError

Если ось не является допустимой осью для a.

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

numpy.fft

Для определения DFT и используемых соглашений.

irfft

Обратная величина rfft.

fft

Одномерное БПФ общего (комплексного) входа.

fftn

The n-мерное БПФ.

rfftn

The n-мерным БПФ реального входа.

Примечания

Когда ДПФ вычисляется для чисто вещественного входа, выход является эрмитово-симметричным, т.е. члены отрицательной частоты являются просто комплексно сопряжёнными соответствующим членам положительной частоты, и поэтому члены отрицательной частоты избыточны. Эта функция не вычисляет члены отрицательной частоты, и длина преобразованной оси выхода поэтому n//2 + 1.

Когда A = rfft(a) и fs - частота дискретизации, A[0] содержит нулевую частотную составляющую 0*fs, которая является вещественной из-за эрмитовой симметрии.

Если n четно, A[-1] содержит терм, представляющий как положительную, так и отрицательную частоту Найквиста (+fs/2 и -fs/2), и также должен быть чисто вещественным. Если n нечетное, нет члена на fs/2; A[-1] содержит наибольшую положительную частоту (fs/2*(n-1)/n) и является комплексной в общем случае.

Если вход a содержит мнимую часть, она молча отбрасывается.

Примеры

>>> import numpy as np
>>> np.fft.fft([0, 1, 0, 0])
array([ 1.+0.j,  0.-1.j, -1.+0.j,  0.+1.j]) # may vary
>>> np.fft.rfft([0, 1, 0, 0])
array([ 1.+0.j,  0.-1.j, -1.+0.j]) # may vary

Обратите внимание, как последний элемент fft вывод является комплексно сопряжённым со вторым элементом, для вещественного ввода. Для rfft, эта симметрия используется для вычисления только членов неотрицательной частоты.