numpy.fft.rfft
-
numpy.fft.rfft(a, n=None, axis=-1, norm=None)[source] -
Вычислить одномерное дискретное преобразование Фурье для вещественного входного сигнала.
Эта функция вычисляет одномерное n-точечное дискретное преобразование Фурье (ДПФ) массива с вещественными значениями с помощью эффективного алгоритма, называемого Быстрым преобразованием Фурье (БПФ).
Параметры: -
a : array_like -
Массив входных данных
-
n : int, optional -
Количество точек по оси преобразования во входном массиве для использования. Если
nменьше длины входного массива, входной массив обрезается. Если оно больше, входной массив дополняется нулями. Еслиnне указано, используется длина входного массива по оси, указаннойaxis. -
axis : int, optional -
Ось, по которой вычисляется БПФ. Если не указано, используется последняя ось.
-
norm : {None, “ortho”}, optional -
Введено в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
Возвращает: -
out : complex ndarray -
Усечённый или дополненный нулями входной массив, преобразованный по оси, указанной
axis, или по последней оси, еслиaxisне указано. Еслиnчётное, длина оси преобразования равна(n/2)+1. Еслиnнечётное, длина равна(n+1)/2.
Возможные исключения: - IndexError
-
Если
axisбольше, чем последняя ось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содержит мнимую часть, она отбрасывается без предупреждения.Примеры
>>> 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эта симметрия используется для вычисления только неотрицательных частотных составляющих. -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.fft.rfft.html