numpy.fft.rfft
-
numpy.fft.rfft(a, n=None, axis=-1, norm=None)[source] -
Вычислить одномерное дискретное преобразование Фурье для вещественного входного сигнала.
Эта функция вычисляет одномерное дискретное преобразование Фурье (ДПФ) порядка n вещественного массива с помощью эффективного алгоритма быстрой Фурье (БПФ).
- Параметры
-
-
aarray_like -
Входной массив
-
nint, optional -
Число точек вдоль оси преобразования в входном массиве. Если
nменьше длины входного массива, входной массив усекается. Если оно больше, входной массив дополняется нулями. Еслиnне указано, используется длина входного массива вдоль оси, указаннойaxis. -
axisint, optional -
Ось, по которой вычисляется БПФ. Если не указано, используется последняя ось.
-
norm{None, “ortho”}, optional -
Добавлена в версии 1.10.0.
Режим нормализации (см.
numpy.fft). По умолчанию None.
-
- Возвращает
-
-
outcomplex 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.fft.rfft.html