scipy.fftpack.

rfft#

scipy.fftpack.rfft(x, n=None, ось=-1, overwrite_x=False)[источник]#

Дискретное преобразование Фурье вещественной последовательности.

Параметры:
xarray_like, вещественные значения

Данные для преобразования.

nint, необязательный

Определяет длину преобразования Фурье. Если n не указан (по умолчанию), тогда n = x.shape[axis]. Если n < x.shape[axis], x обрезается, если n > x.shape[axis], x дополняется нулями.

осьint, необязательный

Ось, вдоль которой применяется преобразование. По умолчанию это последняя ось.

overwrite_xbool, необязательно

Если установлено значение true, содержимое x может быть перезаписано. По умолчанию False.

Возвращает:
zreal ndarray

Возвращаемый вещественный массив содержит:

[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2))]              if n is even
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2)),Im(y(n/2))]   if n is odd

где:

y(j) = sum[k=0..n-1] x[k] * exp(-sqrt(-1)*j*k*2*pi/n)
j = 0..n-1

Смотрите также

fft, irfft, scipy.fft.rfft

Примечания

В пределах численной точности, y == rfft(irfft(y)).

Реализованы процедуры как для одинарной, так и для двойной точности. Входные данные с половинной точностью будут преобразованы в одинарную точность. Нечисловые входные данные будут преобразованы в двойную точность. Входные данные с расширенной двойной точностью не поддерживаются.

Чтобы получить вывод с комплексным типом данных, рассмотрите использование более новой функции scipy.fft.rfft.

Примеры

>>> from scipy.fftpack import fft, rfft
>>> a = [9, -9, 1, 3]
>>> fft(a)
array([  4. +0.j,   8.+12.j,  16. +0.j,   8.-12.j])
>>> rfft(a)
array([  4.,   8.,  12.,  16.])