matplotlib.pyplot.psd #

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

Zeichnen Sie die spektrale Leistungsdichte.

Die spektrale Leistungsdichte\(P_{xx}\)nach Welchs durchschnittlicher Periodogramm-Methode. Der Vektor x wird in NFFT-Längensegmente unterteilt. Jedes Segment wird durch die Funktion detrend detrended und durch die Funktion window gefenstert . noverlap gibt die Länge der Überlappung zwischen Segmenten an. Das\(|\mathrm{fft}(i)|^2\) jedes Segments\(i\)werden zur Berechnung gemittelt\(P_{xx}\), mit einer Skalierung zur Korrektur des Leistungsverlusts aufgrund von Fensterung.

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

Parameter :
x 1-D-Array oder Sequenz

Array oder Sequenz, die die Daten enthält

Fs Float, Standard: 2

Die Abtastfrequenz (Abtastungen pro Zeiteinheit). Es wird verwendet, um die Fourier-Frequenzen, freqs , in Zyklen pro Zeiteinheit zu berechnen.

window callable oder ndarray, default: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 annehmen und die Fensterversion des Segments zurückgeben.

Seiten {'Standard', 'einseitig', 'zweiseitig'}, optional

Welche Seiten des Spektrums zurückkehren. 'default' ist einseitig für echte Daten und zweiseitig für komplexe Daten. „einseitig“ erzwingt die Rückkehr eines einseitigen Spektrums, während „zweiseitig“ zweiseitig erzwingt.

pad_to int, optional

Die Anzahl der Punkte, bis zu denen das Datensegment aufgefüllt wird, wenn die FFT durchgeführt wird. Dies kann sich von NFFT unterscheiden , das die Anzahl der verwendeten Datenpunkte angibt. Während die tatsächliche Auflösung des Spektrums (der Mindestabstand zwischen auflösbaren Spitzen) nicht erhöht wird, kann dies mehr Punkte im Diagramm ergeben, was mehr Details ermöglicht. Dies entspricht dem Parameter n im Aufruf von fft. Der Standardwert ist None, wodurch pad_to gleich NFFT gesetzt wird

NFFT int, Standard: 256

Die Anzahl der Datenpunkte, die in jedem Block für die FFT verwendet werden. Eine Leistung 2 ist am effizientesten. Dies sollte NICHT verwendet werden, um eine Auffüllung mit Nullen zu erhalten, da sonst die Skalierung des Ergebnisses falsch ist; Verwenden Sie dafür stattdessen pad_to .

detrend {'none', 'mean', 'linear'} oder Callable, default: 'none'

Die Funktion, die vor der Anpassung auf jedes Segment angewendet wird, um den Mittelwert oder den linearen Trend zu entfernen. Anders als in MATLAB, wo der Detrend- Parameter ein Vektor ist, ist es in Matplotlib eine Funktion. Das mlab Modul definiert detrend_none, detrend_meanund detrend_linear, aber Sie können auch eine benutzerdefinierte Funktion verwenden. Sie können auch eine Zeichenfolge verwenden, um eine der Funktionen auszuwählen: 'none' ruft auf detrend_none. "Gemeine" Anrufe detrend_mean. „lineare“ Aufrufe detrend_linear.

scale_by_freq bool, Standard: True

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

noverlap int, Standard: 0 (keine Überlappung)

Die Anzahl der Überlappungspunkte zwischen Segmenten.

Fc int, Standard: 0

Die Mittenfrequenz von x , die die x-Ausdehnungen des Diagramms versetzt, um den verwendeten Frequenzbereich widerzuspiegeln, wenn ein Signal erfasst und dann gefiltert und auf das Basisband heruntergesampelt wird.

return_line bool, Standard: False

Ob das gezeichnete Linienobjekt in die zurückgegebenen Werte eingeschlossen werden soll.

Rückgaben :
Pxx 1-D-Array

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

Frequenzen 1-D-Array

Die den Elementen in Pxx entsprechenden Frequenzen .

LinieLine2D

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

Andere Parameter :
data indexierbares Objekt, optional

Falls angegeben, akzeptieren die folgenden Parameter auch einen String s, der interpretiert wird als data[s](es sei denn, dies löst eine Ausnahme aus):

x

**Kwarg

Schlüsselwortargumente steuern die Line2DEigenschaften:

Eigentum

Beschreibung

agg_filter

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

alpha

Skalar oder Keine

animated

bool

antialiasedoder äh

bool

clip_box

Bbox

clip_on

bool

clip_path

Patch oder (Pfad, Transform) oder None

coloroder c

Farbe

dash_capstyle

CapStyleoder {'hinter', 'vorstehend', 'rund'}

dash_joinstyle

JoinStyleoder {'Gehrung', 'rund', 'Fase'}

dashes

Folge von Gleitkommazahlen (Ein/Aus Tinte in Punkten) oder (Keine, Keine)

data

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

drawstyleoder DS

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

figure

Figure

fillstyle

{'voll', 'links', 'rechts', 'unten', 'oben', 'keine'}

gapcolor

Farbe oder Keine

gid

Str

in_layout

bool

label

Objekt

linestyleoder ls

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

linewidthoder lw

schweben

marker

Marker-Style-String PathoderMarkerStyle

markeredgecoloroder mec

Farbe

markeredgewidthoder miau

schweben

markerfacecoloroder mfc

Farbe

markerfacecoloraltoder mfcalt

Farbe

markersizeoder ms

schweben

markevery

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

mouseover

bool

path_effects

AbstractPathEffect

picker

float or callable[[Artist, Event], tuple[bool, dict]]

pickradius

Unbekannt

rasterized

bool

sketch_params

(Maßstab: Float, Länge: Float, Zufälligkeit: Float)

snap

bool oder Keine

solid_capstyle

CapStyleoder {'hinter', 'vorstehend', 'rund'}

solid_joinstyle

JoinStyleoder {'Gehrung', 'rund', 'Fase'}

transform

Unbekannt

url

Str

visible

bool

xdata

1D-Array

ydata

1D-Array

zorder

schweben

Siehe auch

specgram

Unterscheidet sich in der Standardüberlappung; indem der Mittelwert der Segment-Periodogramme nicht zurückgegeben wird; beim Zurückgeben der Zeiten der Segmente; und beim Plotten einer Farbkarte anstelle einer Linie.

magnitude_spectrum

Stellt das Magnitudenspektrum dar.

csd

Zeichnet die spektrale Dichte zwischen zwei Signalen auf.

Anmerkungen

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

Verweise

Bendat & Piersol - Zufallsdaten: Analyse- und Messverfahren, John Wiley & Sons (1986)