matplotlib.pyplot.csd#
- matplotlib.pyplot.csd(x, y, *, 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 Kreuzspektraldichte.
Die Kreuzspektraldichte \(P_{xy}\) nach der Methode des durchschnittlichen Periodogramms von Welch. Die Vektoren x und y werden in Segmente der Länge NFFT unterteilt. Jedes Segment wird durch die Funktion detrend entzerrt und durch die Funktion window geglättet. noverlap gibt die Länge der Überlappung zwischen den Segmenten an. Das Produkt der direkten FFTs von x und y wird über jedes Segment gemittelt, um \(P_{xy}\) zu berechnen, mit einer Skalierung zur Korrektur des durch die Fensterung verursachten Leistungsverlusts.
Wenn len(x) < NFFT oder len(y) < NFFT, werden sie auf NFFT mit Nullen aufgefüllt.
- Parameter:
- x, y1D-Arrays oder Sequenzen
Arrays oder Sequenzen, die die Daten enthalten.
- 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. Zum Erstellen von Fenstervektoren 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 auf jedes Segment angewendete Funktion vor der FFT, die dazu dient, den Mittelwert oder den linearen Trend zu entfernen. Im Gegensatz zu MATLAB, wo der detrend-Parameter 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:
- Pxy1D-Array
Die Werte für das Kreuzspektrum \(P_{xy}\) vor der Skalierung (komplexwertig).
- freqs1-D-Array
Die Frequenzen, die den Elementen in Pxy 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, y
- **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
psdist äquivalent zur Einstellung von
y = x.
Anmerkungen
Hinweis
Dies ist der pyplot-Wrapper für
axes.Axes.csd.Für die Darstellung wird die Leistung als \(10 \log_{10}(P_{xy})\) für Dezibel angegeben, obwohl \(P_{xy}\) selbst zurückgegeben wird.
Referenzen
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)