scipy.fftpack.

rfft#

scipy.fftpack.rfft(x, n=None, axis=-1, overwrite_x=False)[Quelle]#

Diskrete Fourier-Transformation einer reellen Sequenz.

Parameter:
xarray_like, reellwertig

Die zu transformierenden Daten.

nint, optional

Definiert die Länge der Fourier-Transformation. Wenn n nicht angegeben ist (Standard), dann ist n = x.shape[axis]. Wenn n < x.shape[axis], wird x abgeschnitten, wenn n > x.shape[axis], wird x mit Nullen aufgefüllt.

axisint, optional

Die Achse, entlang der die Transformation angewendet wird. Standard ist die letzte Achse.

overwrite_xbool, optional

Wenn auf true gesetzt, kann der Inhalt von x überschrieben werden. Standard ist False.

Rückgabe:
zreeller ndarray

Das zurückgegebene reelle Array enthält

[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

wo

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

Siehe auch

fft, irfft, scipy.fft.rfft

Hinweise

Innerhalb der numerischen Genauigkeit gilt y == rfft(irfft(y)).

Sowohl Single- als auch Double-Precision-Routinen sind implementiert. Halbpräzisions-Eingaben werden in Single-Precision konvertiert. Nicht-Fließkomma-Eingaben werden in Double-Precision konvertiert. Long-Double-Precision-Eingaben werden nicht unterstützt.

Um eine Ausgabe mit komplexem Datentyp zu erhalten, sollten Sie die neuere Funktion scipy.fft.rfft in Betracht ziehen.

Beispiele

>>> 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.])