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.
Смотрите также
Примечания
Когда ДПФ вычисляется для чисто вещественного входного сигнала, выход является эрмитово-симметричным, т.е. отрицательные частотные члены являются просто комплексно сопряженными соответствующим положительным частотным членам, и отрицательные частотные члены поэтому избыточны. Эта функция не вычисляет отрицательные частотные члены, и длина преобразованной оси выхода поэтому
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, эта симметрия используется для вычисления только членов неотрицательной частоты.