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#

cohere

Kohärenz (normalisierte Kreuzspektraldichte)

csd

Kreuzspektraldichte mittels Welchs durchschnittlichem Periodogramm

detrend

Entfernen des Mittelwerts oder der besten Fit-Linie aus einem Array

psd

Leistungsdichtespektrum mittels Welchs durchschnittlichem Periodogramm

specgram

Spektrogramm (Spektrum über Zeitsegmente)

complex_spectrum

Gibt das komplexwertige Frequenzspektrum eines Signals zurück

magnitude_spectrum

Gibt die Magnitude des Frequenzspektrums eines Signals zurück

angle_spectrum

Gibt den Winkel (eingewickeltes Phasenspektrum) des Frequenzspektrums eines Signals zurück

phase_spectrum

Gibt die Phase (ausgewickelter Winkel) des Frequenzspektrums eines Signals zurück

detrend_mean

Entfernen des Mittelwerts aus einer Zeile.

detrend_linear

Entfernen der besten Fit-Linie aus einer Zeile.

detrend_none

Gibt die ursprüngliche Zeile zurück.

class matplotlib.mlab.GaussianKDE(dataset, bw_method=None)[source]#

Bases: object

Darstellung 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.factor verwendet. Wenn es sich um einen Callable handelt, sollte dieser eine Instanz von GaussianKDE als 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_factor bezogen 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)

covariance_factor()[source]#
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.

scotts_factor()[source]#
silverman_factor()[source]#
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_window usw. 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

psd

Gibt die Leistungsdichtespektrum zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den Absolutwert des complex_spectrum zurück.

angle_spectrum

Gibt den Winkel des complex_spectrum zurück.

phase_spectrum

Gibt die Phase (ausgewickelter Winkel) des complex_spectrum zurück.

specgram

Kann 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_window usw. 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 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.

Gibt zurück:
Cxy1-D Array

Der Kohärenzvektor.

freqs1-D-Array

Die Frequenzen für die Elemente in Cxy.

Siehe auch

psd(), csd()

Informationen zu den Methoden zur Berechnung von \(P_{xy}\), \(P_{xx}\) und \(P_{yy}\).

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_window usw. 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

psd

Gibt die Leistungsdichtespektrum zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den Absolutwert des complex_spectrum zurück.

angle_spectrum

Gibt den Winkel des complex_spectrum zurück.

phase_spectrum

Gibt die Phase (ausgewickelter Winkel) des complex_spectrum zurück.

specgram

Kann 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_window usw. 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 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.

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 mit detrend_linear. 'none' ist identisch mit detrend_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_mean

Implementierung des 'mean'-Algorithmus.

detrend_linear

Implementierung des 'linear'-Algorithmus.

detrend_none

Implementierung 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_mean

Ein weiterer Detrending-Algorithmus.

detrend_none

Ein weiterer Detrending-Algorithmus.

detrend

Ein 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.mean für eine Beschreibung dieses Arguments.

Siehe auch

detrend_linear

Ein weiterer Detrending-Algorithmus.

detrend_none

Ein weiterer Detrending-Algorithmus.

detrend

Ein 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_mean

Ein weiterer Detrending-Algorithmus.

detrend_linear

Ein weiterer Detrending-Algorithmus.

detrend

Ein 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_window usw. 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

psd

Gibt die Leistungsdichtespektrum zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den Absolutwert des complex_spectrum zurück.

angle_spectrum

Gibt den Winkel des complex_spectrum zurück.

phase_spectrum

Gibt die Phase (ausgewickelter Winkel) des complex_spectrum zurück.

specgram

Kann 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_window usw. 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

psd

Gibt die Leistungsdichtespektrum zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den Absolutwert des complex_spectrum zurück.

angle_spectrum

Gibt den Winkel des complex_spectrum zurück.

phase_spectrum

Gibt die Phase (ausgewickelter Winkel) des complex_spectrum zurück.

specgram

Kann 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_window usw. 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 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.

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

specgram

specgram unterscheidet 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_spectrum

Gibt das Magnitudenspektrum zurück.

csd

Gibt 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_window usw. 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 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, 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

psd

unterscheidet 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_none

Ein weiterer Fenster-Algorithmus.

matplotlib.mlab.window_none(x)[source]#

Keine Fensterfunktion; gibt einfach x zurück.

Siehe auch

window_hanning

Ein weiterer Fenster-Algorithmus.