idct#
- scipy.fftpack.idct(x, type=2, n=None, axis=-1, norm=None, overwrite_x=False)[Quelle]#
Gibt die inverse diskrete Cosinus-Transformation einer Sequenz beliebigen Typs zurück.
- Parameter:
- xarray_like
Das Eingabearray.
- type{1, 2, 3, 4}, optional
Typ der DCT (siehe Hinweise). Der Standardtyp ist 2.
- nint, optional
Länge der Transformation. Wenn
n < x.shape[axis], wird x abgeschnitten. Wennn > x.shape[axis], wird x mit Nullen aufgefüllt. Die Standardeinstellung ergibtn = x.shape[axis].- axisint, optional
Achse, entlang derer die IDCT berechnet wird; Standard ist die letzte Achse (d.h.
axis=-1).- norm{None, ‘ortho’}, optional
Normalisierungsmodus (siehe Hinweise). Standard ist None.
- overwrite_xbool, optional
Wenn True, kann der Inhalt von x zerstört werden; die Standardeinstellung ist False.
- Rückgabe:
- idctndarray vom Typ real
Das transformierte Eingabearray.
Siehe auch
dctVorwärts-DCT
Hinweise
Für ein eindimensionales Array x ist
idct(x, norm='ortho')gleich MATLABidct(x).„Die“ IDCT ist die IDCT vom Typ 2, die identisch mit der DCT vom Typ 3 ist.
IDCT vom Typ 1 ist DCT vom Typ 1, IDCT vom Typ 2 ist DCT vom Typ 3 und IDCT vom Typ 3 ist DCT vom Typ 2. IDCT vom Typ 4 ist DCT vom Typ 4. Die Definitionen dieser Typen finden Sie unter
dct.Beispiele
Die DCT vom Typ 1 ist für reelle, gerade-symmetrische Eingaben äquivalent zur DFT. Die Ausgabe ist ebenfalls reell und gerade-symmetrisch. Die Hälfte der IFFT-Eingabe wird verwendet, um die Hälfte der IFFT-Ausgabe zu erzeugen.
>>> from scipy.fftpack import ifft, idct >>> import numpy as np >>> ifft(np.array([ 30., -8., 6., -2., 6., -8.])).real array([ 4., 3., 5., 10., 5., 3.]) >>> idct(np.array([ 30., -8., 6., -2.]), 1) / 6 array([ 4., 3., 5., 10.])