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