scipy.fft.

rfftfreq#

scipy.fft.rfftfreq(n, d=1.0, *, xp=None, device=None)[источник]#

Возвращает частоты выборок дискретного преобразования Фурье (для использования с rfft, irfft).

Возвращаемый массив float f содержит центры частотных бинов в циклах на единицу интервала выборки (с нулём в начале). Например, если интервал выборки указан в секундах, то единица частоты — циклы/секунду.

При заданной длине окна n и шаг выборки d:

f = [0, 1, ...,     n/2-1,     n/2] / (d*n)   if n is even
f = [0, 1, ..., (n-1)/2-1, (n-1)/2] / (d*n)   if n is odd

В отличие от fftfreq (но как scipy.fftpack.rfftfreq) компонент частоты Найквиста считается положительным.

Параметры:
nint

Длина окна.

dскаляр, опционально

Интервал между выборками (обратная величина частоты дискретизации). По умолчанию 1.

xparray_namespace, опционально

Пространство имен для возвращаемого массива. По умолчанию None, используется NumPy.

deviceустройство, опционально

Устройство для возвращаемого массива. Действительно только когда xp.fft.rfftfreq реализует параметр устройства.

Возвращает:
fndarray

Массив длины n//2 + 1 содержащий частоты выборки.

Примеры

>>> import numpy as np
>>> import scipy.fft
>>> signal = np.array([-2, 8, 6, 4, 1, 0, 3, 5, -3, 4], dtype=float)
>>> fourier = scipy.fft.rfft(signal)
>>> n = signal.size
>>> sample_rate = 100
>>> freq = scipy.fft.fftfreq(n, d=1./sample_rate)
>>> freq
array([  0.,  10.,  20., ..., -30., -20., -10.])
>>> freq = scipy.fft.rfftfreq(n, d=1./sample_rate)
>>> freq
array([  0.,  10.,  20.,  30.,  40.,  50.])