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.19/reference/generated/numpy.fft.rfft.html