matplotlib.mlab#
Numerische Python-Funktionen, die zur Kompatibilität mit MATLAB-Befehlen mit denselben Namen geschrieben wurden. Die meisten numerischen Python-Funktionen finden Sie in den Bibliotheken NumPy und SciPy. Was hier übrig bleibt, sind Code für spektrale Berechnungen und Kernel-Dichteschätzungen.
Spektrale Funktionen#
cohereKohärenz (normalisierte Kreuzspektraldichte)
csdKreuzspektraldichte mittels Welchs durchschnittlichem Periodogramm
detrendEntfernen des Mittelwerts oder der besten Fit-Linie aus einem Array
psdLeistungsdichtespektrum mittels Welchs durchschnittlichem Periodogramm
specgramSpektrogramm (Spektrum über Zeitsegmente)
complex_spectrumGibt das komplexwertige Frequenzspektrum eines Signals zurück
magnitude_spectrumGibt die Magnitude des Frequenzspektrums eines Signals zurück
angle_spectrumGibt den Winkel (eingewickeltes Phasenspektrum) des Frequenzspektrums eines Signals zurück
phase_spectrumGibt die Phase (ausgewickelter Winkel) des Frequenzspektrums eines Signals zurück
detrend_meanEntfernen des Mittelwerts aus einer Zeile.
detrend_linearEntfernen der besten Fit-Linie aus einer Zeile.
detrend_noneGibt die ursprüngliche Zeile zurück.
- class matplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source]#
Bases:
objectDarstellung einer Kernel-Dichteschätzung mit Gaußschen Kernels.
- Parameter:
- datasetarray-ähnlich
Datapunkte, von denen geschätzt werden soll. Bei univariaten Daten ist dies ein 1D-Array, andernfalls ein 2D-Array mit der Form (# Dimensionen, # Daten).
- bw_method{'scott', 'silverman'} oder float oder callable, optional
Die Methode zur Berechnung der Bandbreite des Schätzers. Wenn es sich um einen Float handelt, wird dieser direkt als
kde.factorverwendet. Wenn es sich um einen Callable handelt, sollte dieser eine Instanz vonGaussianKDEals einziges Argument nehmen und einen Float zurückgeben. Wenn None (Standard), wird 'scott' verwendet.
- Attribute:
- datasetndarray
Der an den Konstruktor übergebene Datensatz.
- dimint
Anzahl der Dimensionen.
- num_dpint
Anzahl der Datenpunkte.
- factorfloat
Der Bandbreitenfaktor, der von
kde.covariance_factorbezogen und mit der Kovarianzmatrix multipliziert wird.- covariancendarray
Die Kovarianzmatrix von dataset, skaliert mit der berechneten Bandbreite (
kde.factor).- inv_covndarray
Die Inverse von covariance.
Methoden
kde.evaluate(points)
(ndarray) Bewertet die geschätzte Dichtefunktion an einem bereitgestellten Satz von Punkten.
kde(points)
(ndarray) Dasselbe wie kde.evaluate(points)
- evaluate(points)[source]#
Bewertet die geschätzte Dichtefunktion an einem Satz von Punkten.
- Parameter:
- points(# von Dimensionen, # von Punkten)-Array
Alternativ kann ein Vektor der Form (# von Dimensionen,) übergeben und als einzelner Punkt behandelt werden.
- Gibt zurück:
- (# von Punkten,)-Array
Die Werte an jedem Punkt.
- Löst aus:
- ValueErrorwenn die Dimensionalität der Eingabepunkte unterschiedlich ist
als die Dimensionalität des KDE.
- matplotlib.mlab.angle_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)#
Berechnet den Winkel des Frequenzspektrums (eingewickeltes Phasenspektrum) von x. Die Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.
- 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.
- windowcallable 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 nehmen 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 erhöht zwar nicht die tatsächliche Auflösung des Spektrums (der minimale Abstand zwischen auflösbaren Peaks), kann aber mehr Punkte im Plot liefern und so mehr Details ermöglichen. Dies entspricht dem Parameter n im Aufruf von
fft. Der Standardwert ist None, was pad_to gleich der Länge des Eingangssignals setzt (d.h. keine Auffüllung).
- Gibt zurück:
- spectrum1-D-Array
Der Winkel des Frequenzspektrums (eingewickeltes Phasenspektrum).
- freqs1-D-Array
Die Frequenzen, die den Elementen in spectrum entsprechen.
Siehe auch
psdGibt die Leistungsdichtespektrum zurück.
complex_spectrumGibt das komplexwertige Frequenzspektrum zurück.
magnitude_spectrumGibt den Absolutwert des
complex_spectrumzurück.angle_spectrumGibt den Winkel des
complex_spectrumzurück.phase_spectrumGibt die Phase (ausgewickelter Winkel) des
complex_spectrumzurück.specgramKann das komplexe Spektrum von Segmenten innerhalb des Signals zurückgeben.
- matplotlib.mlab.cohere(x, y, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, pad_to=None, sides='default', scale_by_freq=None)[source]#
Die Kohärenz zwischen x und y. Kohärenz ist die normalisierte Kreuzspektraldichte
\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]- Parameter:
- x, y
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.
- windowcallable 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 nehmen 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 verarbeitet 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.
- Gibt zurück:
- Cxy1-D Array
Der Kohärenzvektor.
- freqs1-D-Array
Die Frequenzen für die Elemente in Cxy.
- matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)#
Berechnet das komplexwertige Frequenzspektrum von x. Die Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.
- 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.
- windowcallable 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 nehmen 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 erhöht zwar nicht die tatsächliche Auflösung des Spektrums (der minimale Abstand zwischen auflösbaren Peaks), kann aber mehr Punkte im Plot liefern und so mehr Details ermöglichen. Dies entspricht dem Parameter n im Aufruf von
fft. Der Standardwert ist None, was pad_to gleich der Länge des Eingangssignals setzt (d.h. keine Auffüllung).
- Gibt zurück:
- spectrum1-D-Array
Das komplexwertige Frequenzspektrum.
- freqs1-D-Array
Die Frequenzen, die den Elementen in spectrum entsprechen.
Siehe auch
psdGibt die Leistungsdichtespektrum zurück.
complex_spectrumGibt das komplexwertige Frequenzspektrum zurück.
magnitude_spectrumGibt den Absolutwert des
complex_spectrumzurück.angle_spectrumGibt den Winkel des
complex_spectrumzurück.phase_spectrumGibt die Phase (ausgewickelter Winkel) des
complex_spectrumzurück.specgramKann das komplexe Spektrum von Segmenten innerhalb des Signals zurückgeben.
- matplotlib.mlab.csd(x, y, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source]#
Berechnet 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.
- windowcallable 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 nehmen 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 verarbeitet 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.
- Gibt zurück:
- Pxy1D-Array
Die Werte für das Kreuzspektrum \(P_{xy}\) vor der Skalierung (reellwertig)
- freqs1-D-Array
Die Frequenzen, die den Elementen in Pxy entsprechen
Siehe auch
psdäquivalent zur Einstellung von
y = x.
Referenzen
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
- matplotlib.mlab.detrend(x, key=None, axis=None)[source]#
Gibt x mit entferntem Trend zurück.
- Parameter:
- xArray oder Sequenz
Array oder Sequenz, die die Daten enthält.
- key{'default', 'constant', 'mean', 'linear', 'none'} oder Funktion
Der zu verwendende Detrending-Algorithmus. 'default', 'mean' und 'constant' sind identisch mit
detrend_mean. 'linear' ist identisch mitdetrend_linear. 'none' ist identisch mitdetrend_none. Der Standardwert ist 'mean'. Weitere Details zu den Algorithmen finden Sie in den entsprechenden Funktionen. Kann auch eine Funktion sein, die die Detrending-Operation durchführt.- axisint
Die Achse, entlang der die Detrending durchgeführt werden soll.
Siehe auch
detrend_meanImplementierung des 'mean'-Algorithmus.
detrend_linearImplementierung des 'linear'-Algorithmus.
detrend_noneImplementierung des 'none'-Algorithmus.
- matplotlib.mlab.detrend_linear(y)[source]#
Gibt x abzüglich der besten Fit-Linie zurück; 'linear' Detrending.
- Parameter:
- y0-D oder 1-D-Array oder Sequenz
Array oder Sequenz, die die Daten enthält
Siehe auch
detrend_meanEin weiterer Detrending-Algorithmus.
detrend_noneEin weiterer Detrending-Algorithmus.
detrendEin Wrapper um alle Detrending-Algorithmen.
- matplotlib.mlab.detrend_mean(x, axis=None)[source]#
Gibt x abzüglich des Mittelwerts von x zurück.
- Parameter:
- xArray oder Sequenz
Array oder Sequenz mit den Daten. Kann jede Dimensionalität haben.
- axisint
Die Achse, entlang der der Mittelwert gebildet werden soll. Siehe
numpy.meanfür eine Beschreibung dieses Arguments.
Siehe auch
detrend_linearEin weiterer Detrending-Algorithmus.
detrend_noneEin weiterer Detrending-Algorithmus.
detrendEin Wrapper um alle Detrending-Algorithmen.
- matplotlib.mlab.detrend_none(x, axis=None)[source]#
Gibt x zurück: keine Detrending.
- Parameter:
- xbeliebiges Objekt
Ein Objekt, das die Daten enthält.
- axisint
Dieser Parameter wird ignoriert. Er ist aus Kompatibilitätsgründen mit detrend_mean enthalten.
Siehe auch
detrend_meanEin weiterer Detrending-Algorithmus.
detrend_linearEin weiterer Detrending-Algorithmus.
detrendEin Wrapper um alle Detrending-Algorithmen.
- matplotlib.mlab.magnitude_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)#
Berechnet die Magnitude (Absolutwert) des Frequenzspektrums von x. Die Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.
- 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.
- windowcallable 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 nehmen 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 erhöht zwar nicht die tatsächliche Auflösung des Spektrums (der minimale Abstand zwischen auflösbaren Peaks), kann aber mehr Punkte im Plot liefern und so mehr Details ermöglichen. Dies entspricht dem Parameter n im Aufruf von
fft. Der Standardwert ist None, was pad_to gleich der Länge des Eingangssignals setzt (d.h. keine Auffüllung).
- Gibt zurück:
- spectrum1-D-Array
Die Magnitude (Absolutwert) des Frequenzspektrums.
- freqs1-D-Array
Die Frequenzen, die den Elementen in spectrum entsprechen.
Siehe auch
psdGibt die Leistungsdichtespektrum zurück.
complex_spectrumGibt das komplexwertige Frequenzspektrum zurück.
magnitude_spectrumGibt den Absolutwert des
complex_spectrumzurück.angle_spectrumGibt den Winkel des
complex_spectrumzurück.phase_spectrumGibt die Phase (ausgewickelter Winkel) des
complex_spectrumzurück.specgramKann das komplexe Spektrum von Segmenten innerhalb des Signals zurückgeben.
- matplotlib.mlab.phase_spectrum(x, Fs=None, window=None, pad_to=None, sides=None)#
Berechnet die Phase des Frequenzspektrums (ausgewickeltes Phasenspektrum) von x. Die Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.
- 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.
- windowcallable 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 nehmen 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 erhöht zwar nicht die tatsächliche Auflösung des Spektrums (der minimale Abstand zwischen auflösbaren Peaks), kann aber mehr Punkte im Plot liefern und so mehr Details ermöglichen. Dies entspricht dem Parameter n im Aufruf von
fft. Der Standardwert ist None, was pad_to gleich der Länge des Eingangssignals setzt (d.h. keine Auffüllung).
- Gibt zurück:
- spectrum1-D-Array
Die Phase des Frequenzspektrums (ausgewickeltes Phasenspektrum).
- freqs1-D-Array
Die Frequenzen, die den Elementen in spectrum entsprechen.
Siehe auch
psdGibt die Leistungsdichtespektrum zurück.
complex_spectrumGibt das komplexwertige Frequenzspektrum zurück.
magnitude_spectrumGibt den Absolutwert des
complex_spectrumzurück.angle_spectrumGibt den Winkel des
complex_spectrumzurück.phase_spectrumGibt die Phase (ausgewickelter Winkel) des
complex_spectrumzurück.specgramKann das komplexe Spektrum von Segmenten innerhalb des Signals zurückgeben.
- matplotlib.mlab.psd(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None)[source]#
Berechnet die Leistungsdichtespektrum.
Die Leistungsdichtespektrum \(P_{xx}\) nach der Methode des durchschnittlichen Periodogramms nach 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. Die Quadrate der Absolutbeträge der FFT-Ergebnisse jedes Segments \(i\) werden gemittelt, um \(P_{xx}\) zu berechnen.
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.
- windowcallable 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 nehmen 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 verarbeitet 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.
- Gibt zurück:
- Pxx1-D-Array
Die Werte für das Leistungsspektrum \(P_{xx}\) (reellwertig)
- freqs1-D-Array
Die Frequenzen, die den Elementen in Pxx entsprechen
Siehe auch
specgramspecgramunterscheidet sich im Standard-Overlap, darin, dass nicht der Mittelwert der Segmentperiodogramme zurückgegeben wird, und darin, dass die Zeiten der Segmente zurückgegeben werden.magnitude_spectrumGibt das Magnitudenspektrum zurück.
csdGibt die Spektraldichte zwischen zwei Signalen zurück.
Referenzen
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)
- matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None)[source]#
Berechnet ein Spektrogramm.
Berechnet und zeichnet ein Spektrogramm der Daten in x. Die Daten werden in Segmente der Länge NFFT unterteilt und das Spektrum jedes Abschnitts berechnet. Die Fensterfunktion window wird auf jedes Segment angewendet, und die Überlappung jedes Segments wird mit noverlap angegeben.
- Parameter:
- xarray-like
1-D-Array oder Sequenz.
- Fsfloat, Standard: 2
Die Abtastfrequenz (Samples pro Zeiteinheit). Sie wird zur Berechnung der Fourier-Frequenzen, freqs, in Zyklen pro Zeiteinheit verwendet.
- windowcallable 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 nehmen 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 verarbeitet 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, default: 128
Die Anzahl der überlappenden Punkte zwischen den Blöcken.
- modestr, Standard: 'psd'
- Welche Art von Spektrum verwendet werden soll.
- 'psd'
Gibt die Leistungsdichtespektrum zurück.
- 'complex'
Gibt das komplexwertige Frequenzspektrum zurück.
- 'magnitude'
Gibt das Magnitudenspektrum zurück.
- 'angle'
Gibt das Phasenspektrum ohne Auswicklung zurück.
- 'phase'
Gibt das Phasenspektrum mit Auswicklung zurück.
- Gibt zurück:
- spectrumarray-ähnlich
2D-Array, Spalten sind die Periodogramme aufeinanderfolgender Segmente.
- freqsarray-ähnlich
1D-Array, Frequenzen entsprechend den Zeilen in spectrum.
- tarray-ähnlich
1D-Array, die Zeiten entsprechend den Mittelpunkten der Segmente (d.h. den Spalten in spectrum).
Siehe auch
psdunterscheidet sich im Überlapp und in den Rückgabewerten.
complex_spectrumähnlich, aber mit komplexwertigen Frequenzen.
magnitude_spectrumähnlich ein einzelnes Segment, wenn mode auf 'magnitude' gesetzt ist.
angle_spectrumähnlich einem einzelnen Segment, wenn mode auf 'angle' gesetzt ist.
phase_spectrumähnlich einem einzelnen Segment, wenn mode auf 'phase' gesetzt ist.
Anmerkungen
detrend und scale_by_freq gelten nur, wenn mode auf 'psd' gesetzt ist.
- matplotlib.mlab.window_hanning(x)[source]#
Gibt x multipliziert mit dem Hanning- (oder Hann-)Fenster der Länge x zurück.
Siehe auch
window_noneEin weiterer Fenster-Algorithmus.
- matplotlib.mlab.window_none(x)[source]#
Keine Fensterfunktion; gibt einfach x zurück.
Siehe auch
window_hanningEin weiterer Fenster-Algorithmus.