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