scipy.fft.

rfft#

scipy.fft.rfft(x, n=None, ось=-1, norm=None, overwrite_x=False, workers=None, *, plan=None)[источник]#

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

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

Параметры:
xarray_like

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

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

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

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

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

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

Режим нормализации (см. fft). По умолчанию “backward”.

overwrite_xbool, необязательно

Если True, содержимое x может быть уничтожен; по умолчанию False. См. fft для получения дополнительной информации.

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

Максимальное количество рабочих процессов для параллельных вычислений. Если отрицательное, значение оборачивается с os.cpu_count(). См. fft для получения дополнительной информации.

planобъект, опционально

Этот аргумент зарезервирован для передачи предварительно вычисленного плана, предоставленного поставщиками FFT. В настоящее время не используется в SciPy.

Добавлено в версии 1.5.0.

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

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

Вызывает:
IndexError

Если ось больше, чем последняя ось a.

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

irfft

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

fft

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

fftn

N-мерное БПФ.

rfft2

2-D БПФ реального входного сигнала.

rfftn

N-мерное БПФ вещественного входа.

Примечания

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

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

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

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

Примеры

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

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