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_windowusw. 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
mlabdefiniertdetrend_none,detrend_meanunddetrend_linear, aber Sie können auch eine benutzerdefinierte Funktion verwenden. Sie können auch einen String verwenden, um eine der Funktionen auszuwählen: 'none' ruftdetrend_noneauf. 'mean' ruftdetrend_meanauf. 'linear' ruftdetrend_linearauf.- 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.
- line
Line2D 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 alsdata[s]interpretiert wird, wennsein Schlüssel indataistx
- **kwargs
Schlüsselwortargumente steuern die
Line2D-EigenschaftenEigenschaft
Beschreibung
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
float oder None
bool
antialiasedoderaabool
BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
CapStyleoder {'butt', 'projecting', 'round'}JoinStyleoder {'miter', 'round', 'bevel'}Sequenz von Floats (An/Aus-Linie in Punkten) oder (None, None)
(2, N) Array oder zwei 1D-Arrays
{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, Standard: 'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
Farbe oder None
str
bool
object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float
Marker-Stil-String,
PathoderMarkerStylemarkeredgecolorodermecmarkeredgewidthodermewfloat
markerfacecolorodermfcmarkerfacecoloraltodermfcaltmarkersizeodermsfloat
None oder int oder (int, int) oder Slice oder list[int] oder float oder (float, float) oder list[bool]
bool
Liste von
AbstractPathEffectfloat oder aufrufbar[[Artist, Event], tuple[bool, dict]]
float
bool
(scale: float, length: float, randomness: float)
bool oder None
CapStyleoder {'butt', 'projecting', 'round'}JoinStyleoder {'miter', 'round', 'bevel'}unknown
str
bool
1D-Array
1D-Array
float
Siehe auch
specgramUnterscheidet 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_spectrumPlottet das Magnitudenspektrum.
csdPlottet 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)