matplotlib.axes.Axes.psd#

Axes.psd(x, *, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, data=None, **kwargs)[Quelle]#

Plottet die Leistungsdichtespektrum.

Die Leistungsdichtespektrumanalyse (PSD) \(P_{xx}\) nach der durchschnittlichen Periodogramm-Methode von Welch. Der Vektor x wird in Segmente der Länge NFFT unterteilt. Jedes Segment wird mit der Funktion detrend detrendet und mit der Funktion window gefenstert. noverlap gibt die Länge der Überlappung zwischen den Segmenten an. Das \(|\mathrm{fft}(i)|^2\) jedes Segments \(i\) wird gemittelt, um \(P_{xx}\) zu berechnen, mit einer Skalierung zur Korrektur von Leistungsverlusten durch das Fenstern.

Wenn len(x) < NFFT, wird es auf NFFT mit Nullen aufgefüllt.

Parameter:
x1-D-Array oder Sequenz

Array oder Sequenz, die die Daten enthält

Fsfloat, Standard: 2

Die Abtastfrequenz (Samples pro Zeiteinheit). Sie wird zur Berechnung der Fourier-Frequenzen, freqs, in Zyklen pro Zeiteinheit verwendet.

windowaufrufbar oder ndarray, Standard: window_hanning

Eine Funktion oder ein Vektor der Länge NFFT. Um Fenstervektoren zu erstellen, siehe window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window usw. Wenn eine Funktion als Argument übergeben wird, muss sie ein Datensegment als Argument entgegennehmen und die gefensterte Version des Segments zurückgeben.

sides{'default', 'onesided', 'twosided'}, optional

Welche Seiten des Spektrums zurückgegeben werden sollen. 'default' ist einseitig für reelle Daten und zweiseitig für komplexe Daten. 'onesided' erzwingt die Rückgabe eines einseitigen Spektrums, während 'twosided' zweiseitig erzwingt.

pad_toint, optional

Die Anzahl der Punkte, auf die das Datensegment bei der Durchführung der FFT aufgefüllt wird. Dies kann sich von NFFT unterscheiden, welches die Anzahl der verwendeten Datenpunkte angibt. Obwohl dies die tatsächliche Auflösung des Spektrums nicht erhöht (der minimale Abstand zwischen auflösbaren Spitzen), kann es mehr Punkte im Diagramm ergeben und somit mehr Details ermöglichen. Dies entspricht dem Parameter n im Aufruf von fft. Der Standardwert ist None, was pad_to gleich NFFT setzt.

NFFTint, Standard: 256

Die Anzahl der Datenpunkte, die in jedem Block für die FFT verwendet werden. Eine Zweierpotenz ist am effizientesten. Dies sollte NICHT zur Nullauffüllung verwendet werden, da die Skalierung des Ergebnisses sonst falsch ist; verwenden Sie stattdessen pad_to dafür.

detrend{'none', 'mean', 'linear'} oder aufrufbar, Standard: 'none'

Die Funktion, die auf jedes Segment angewendet wird, bevor es per FFT transformiert wird, um den Mittelwert oder linearen Trend zu entfernen. Im Gegensatz zu MATLAB, wo der Parameter detrend ein Vektor ist, ist er in Matplotlib eine Funktion. Das Modul mlab definiert detrend_none, detrend_mean und detrend_linear, aber Sie können auch eine benutzerdefinierte Funktion verwenden. Sie können auch einen String verwenden, um eine der Funktionen auszuwählen: 'none' ruft detrend_none auf. 'mean' ruft detrend_mean auf. 'linear' ruft detrend_linear auf.

scale_by_freqbool, Standard: True

Ob die resultierenden Dichtewerte mit der Skalierungsfrequenz skaliert werden sollen, was die Dichte in Einheiten von 1/Hz liefert. Dies ermöglicht die Integration über die zurückgegebenen Frequenzwerte. Der Standardwert ist True für MATLAB-Kompatibilität.

noverlapint, Standard: 0 (keine Überlappung)

Die Anzahl der überlappenden Punkte zwischen den Segmenten.

Fcint, Standard: 0

Die Mittenfrequenz von x, die die x-Bereiche des Plots versetzt, um den Frequenzbereich widerzuspiegeln, der bei der Erfassung eines Signals verwendet wird, und das dann gefiltert und auf Basisband heruntergetastet wird.

return_linebool, Standard: False

Ob das von dieser Funktion gezeichnete Linienobjekt in den zurückgegebenen Werten enthalten sein soll.

Gibt zurück:
Pxx1-D-Array

Die Werte für das Leistungsspektrum \(P_{xx}\) vor der Skalierung (reellwertig).

freqs1-D-Array

Die Frequenzen, die den Elementen in Pxx entsprechen.

lineLine2D

Die von dieser Funktion erstellte Linie. Wird nur zurückgegeben, wenn return_line True ist.

Andere Parameter:
dataindizierbares Objekt, optional

Wenn angegeben, akzeptieren die folgenden Parameter auch einen String s, der als data[s] interpretiert wird, wenn s ein Schlüssel in data ist

x

**kwargs

Schlüsselwortargumente steuern die Line2D-Eigenschaften

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

float oder None

animated

bool

antialiased oder aa

bool

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

color oder c

color

dash_capstyle

CapStyle oder {'butt', 'projecting', 'round'}

dash_joinstyle

JoinStyle oder {'miter', 'round', 'bevel'}

dashes

Sequenz von Floats (An/Aus-Linie in Punkten) oder (None, None)

Daten

(2, N) Array oder zwei 1D-Arrays

drawstyle oder ds

{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, Standard: 'default'

figure

Figure oder SubFigure

fillstyle

{'full', 'left', 'right', 'bottom', 'top', 'none'}

gapcolor

Farbe oder None

gid

str

in_layout

bool

label

object

linestyle oder ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth oder lw

float

marker

Marker-Stil-String, Path oder MarkerStyle

markeredgecolor oder mec

color

markeredgewidth oder mew

float

markerfacecolor oder mfc

color

markerfacecoloralt oder mfcalt

color

markersize oder ms

float

markevery

None oder int oder (int, int) oder Slice oder list[int] oder float oder (float, float) oder list[bool]

mouseover

bool

path_effects

Liste von AbstractPathEffect

picker

float oder aufrufbar[[Artist, Event], tuple[bool, dict]]

pickradius

float

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

solid_capstyle

CapStyle oder {'butt', 'projecting', 'round'}

solid_joinstyle

JoinStyle oder {'miter', 'round', 'bevel'}

transform

unknown

url

str

visible

bool

xdata

1D-Array

ydata

1D-Array

zorder

float

Siehe auch

specgram

Unterscheidet sich im Standard-Überlapp; gibt nicht den Mittelwert der Segmentperiodogramme zurück; gibt die Zeiten der Segmente zurück; und plottet eine Kolorierung anstelle einer Linie.

magnitude_spectrum

Plottet das Magnitudenspektrum.

csd

Plottet die spektrale Dichte zwischen zwei Signalen.

Anmerkungen

Für die Darstellung wird die Leistung als \(10\log_{10}(P_{xx})\) in Dezibel dargestellt, obwohl Pxx selbst zurückgegeben wird.

Referenzen

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)

Beispiele für die Verwendung von matplotlib.axes.Axes.psd#

Leistungsspektraldichte (PSD)

Leistungsspektraldichte (PSD)