matplotlib.mlab#

Numerische Python-Funktionen, die für die Kompatibilität mit MATLAB-Befehlen mit denselben Namen geschrieben wurden. Die meisten numerischen Python-Funktionen sind in den NumPy- und SciPy- Bibliotheken zu finden. Was hier verbleibt, ist Code zum Durchführen von Spektralberechnungen und Schätzungen der Kerndichte.

Spektralfunktionen #

cohere

Kohärenz (normalisierte Kreuzspektraldichte)

csd

Kreuzspektraldichte unter Verwendung des durchschnittlichen Periodogramms von Welch

detrend

Entfernt die mittlere oder am besten passende Linie aus einem Array

psd

Spektrale Leistungsdichte unter Verwendung des durchschnittlichen Periodogramms von Welch

specgram

Spektrogramm (Spektrum über Zeitabschnitte)

complex_spectrum

Gibt das komplexwertige Frequenzspektrum eines Signals zurück

magnitude_spectrum

Gibt die Größe des Frequenzspektrums eines Signals zurück

angle_spectrum

Geben Sie den Winkel (gewickelte Phase) des Frequenzspektrums eines Signals zurück

phase_spectrum

Geben Sie die Phase (ungewickelter Winkel) des Frequenzspektrums eines Signals zurück

detrend_mean

Entfernen Sie den Mittelwert aus einer Linie.

detrend_linear

Entfernen Sie die am besten passende Linie aus einer Linie.

detrend_none

Geben Sie die ursprüngliche Zeile zurück.

stride_windows

Holen Sie sich alle Fenster in einem Array auf speichereffiziente Weise

Klasse matplotlib.mlab. GaussianKDE ( dataset , bw_method = None ) [Quelle] #

Basen:object

Darstellung einer Kerneldichteschätzung unter Verwendung von Gaußschen Kerneln.

Parameter :
Datensatz -Array-ähnlich

Datenpunkte zum Schätzen. Bei univariaten Daten ist dies ein 1-D-Array, ansonsten ein 2D-Array mit Form (Anzahl Dims, Anz. Daten).

bw_method str, skalar oder aufrufbar, optional

Die zur Berechnung der Bandbreite des Schätzers verwendete Methode. Dies kann 'Scott', 'Silverman', eine skalare Konstante oder eine aufrufbare sein. Wenn es sich um einen Skalar handelt, wird dies direkt als verwendet kde.factor. Wenn es sich um einen aufrufbaren Wert handelt, sollte er eine GaussianKDEInstanz als einzigen Parameter verwenden und einen Skalar zurückgeben. Wenn None (Standard) ist, wird 'scott' verwendet.

Attribute :
Datensatz ndarray

Das an den Konstruktor übergebene Dataset.

schwach int

Anzahl der Dimensionen.

num_dp int

Anzahl der Datenpunkte.

Faktor Float

Der Bandbreitenfaktor, erhalten aus kde.covariance_factor, mit dem die Kovarianzmatrix multipliziert wird.

Kovarianz ndarray

Die Kovarianzmatrix des Datensatzes , skaliert mit der berechneten Bandbreite ( kde.factor).

inv_cov ndarray

Die Umkehrung der Kovarianz .

Methoden

kde.evaluate(Punkte)

(ndarray) Bewerten Sie das geschätzte pdf anhand eines bereitgestellten Punktesatzes.

kde(Punkte)

(ndarray) Dasselbe wie kde.evaluate(points)

Kovarianzfaktor ( ) [Quelle] #
bewerten ( Punkte ) [Quelle] #

Bewerten Sie das geschätzte pdf anhand einer Reihe von Punkten.

Parameter :
Punkte (Anzahl Dimensionen, Anzahl Punkte)-Array

Alternativ kann ein (# of dimensions,) Vektor übergeben und als einzelner Punkt behandelt werden.

Rückgaben :
(# of points,)-Array

Die Werte an jedem Punkt.

Erhöhungen :
ValueError , wenn die Dimensionalität der Eingabepunkte unterschiedlich ist

als die Dimensionalität des KDE.

scotts_factor ( ) [Quelle] #
silverman_factor ( ) [Quelle] #
matplotlib.mlab. angle_spectrum ( x , Fs = Keine , Fenster = Keine , pad_to = Keine , Seiten = Keine ) #

Berechnen Sie den Winkel des Frequenzspektrums (gewickeltes Phasenspektrum) von x . Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.

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. 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 der Länge des Eingangssignals gesetzt wird (dh kein Padding).

Rückgaben :
Spektrum 1-D-Array

Der Winkel des Frequenzspektrums (gewickeltes Phasenspektrum).

Frequenzen 1-D-Array

Die den Elementen im Spektrum entsprechenden Frequenzen .

Siehe auch

psd

Gibt die spektrale Leistungsdichte zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den absoluten Wert von zurück complex_spectrum.

angle_spectrum

Gibt den Winkel der complex_spectrum.

phase_spectrum

Gibt die Phase (ungewickelter Winkel) der complex_spectrum.

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 , pages ='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

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.

Rückgaben :
Cxy 1-D-Array

Der Kohärenzvektor.

Frequenzen 1-D-Array

Die Frequenzen für die Elemente in Cxy .

Siehe auch

psd(),csd()

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

matplotlib.mlab. complex_spectrum ( x , Fs = Keine , Fenster = Keine , Pad_to = Keine , Seiten = Keine ) #

Berechnen Sie das komplexwertige Frequenzspektrum von x . Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.

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. 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 der Länge des Eingangssignals gesetzt wird (dh kein Padding).

Rückgaben :
Spektrum 1-D-Array

Das komplexwertige Frequenzspektrum.

Frequenzen 1-D-Array

Die den Elementen im Spektrum entsprechenden Frequenzen .

Siehe auch

psd

Gibt die spektrale Leistungsdichte zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den absoluten Wert von zurück complex_spectrum.

angle_spectrum

Gibt den Winkel der complex_spectrum.

phase_spectrum

Gibt die Phase (ungewickelter Winkel) der complex_spectrum.

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 , pages = None , scale_by_freq = None ) [source] #

Berechnen Sie die Kreuzspektraldichte.

Die Kreuzspektraldichte\(P_{xy}\)nach Welchs durchschnittlicher Periodogramm-Methode. Die Vektoren x und y werden 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 Produkt der direkten FFTs von x und y wird zur Berechnung über jedes Segment gemittelt\(P_{xy}\), mit einer Skalierung zur Korrektur des Leistungsverlusts aufgrund von Fensterung.

Wenn len( x ) < NFFT oder len( y ) < NFFT , werden sie mit Nullen auf NFFT aufgefüllt .

Parameter :
x, y 1-D-Arrays oder -Sequenzen

Arrays oder Sequenzen, die die Daten enthalten

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.

Rückgaben :
Pxy 1-D-Array

Die Werte für das Kreuzspektrum\(P_{xy}\)vor Skalierung (Realwert)

Frequenzen 1-D-Array

Die den Elementen in Pxy entsprechenden Frequenzen

Siehe auch

psd

entspricht der Einstellung .y = x

Verweise

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

matplotlib.mlab. detrend ( x , key = None , axis = None ) [Quelle] #

Geben Sie x mit entferntem Trend zurück.

Parameter :
x Array oder Sequenz

Array oder Sequenz, die die Daten enthält.

key {'default', 'constant', 'mean', 'linear', 'none'} oder function

Der zu verwendende Detrending-Algorithmus. 'default', 'mean' und 'constant' sind dasselbe wie detrend_mean. 'linear' ist dasselbe wie detrend_linear. 'keine' ist dasselbe wie detrend_none. Der Standardwert ist „Mittelwert“. Weitere Einzelheiten zu den Algorithmen finden Sie bei den entsprechenden Funktionen. Kann auch eine Funktion sein, die die Detrend-Operation ausführt.

Achse int

Die Achse, entlang der die Trendbereinigung durchgeführt werden soll.

Siehe auch

detrend_mean

Implementierung des „mittleren“ Algorithmus.

detrend_linear

Implementierung des „linearen“ Algorithmus.

detrend_none

Implementierung des „none“-Algorithmus.

matplotlib.mlab. detrend_linear ( y ) [Quelle] #

Return x minus Best-Fit-Linie; 'lineare' Trendbeseitigung.

Parameter :
y 0-D- oder 1-D-Array oder -Sequenz

Array oder Sequenz, die die Daten enthält

Siehe auch

detrend_mean

Ein weiterer Detrend-Algorithmus.

detrend_none

Ein weiterer Detrend-Algorithmus.

detrend

Ein Wrapper um alle Detrend-Algorithmen.

matplotlib.mlab. detrend_mean ( x , Achse = None ) [Quelle] #

Gibt x minus dem Mittelwert( x ) zurück.

Parameter :
x Array oder Sequenz

Array oder Sequenz, die die Daten enthält. Kann jede Dimensionalität haben

Achse int

Die Achse, entlang derer der Mittelwert genommen werden soll. Siehe numpy.meanfür eine Beschreibung dieses Arguments.

Siehe auch

detrend_linear

Ein weiterer Detrend-Algorithmus.

detrend_none

Ein weiterer Detrend-Algorithmus.

detrend

Ein Wrapper um alle Detrend-Algorithmen.

matplotlib.mlab. detrend_none ( x , Achse = None ) [Quelle] #

Rückgabe x : keine Trendbeseitigung.

Parameter :
x irgendein Objekt

Ein Objekt, das die Daten enthält

Achse int

Dieser Parameter wird ignoriert. Es ist aus Gründen der Kompatibilität mit detrend_mean enthalten

Siehe auch

detrend_mean

Ein weiterer Detrend-Algorithmus.

detrend_linear

Ein weiterer Detrend-Algorithmus.

detrend

Ein Wrapper um alle Detrend-Algorithmen.

matplotlib.mlab. magnitude_spectrum ( x , Fs = Keine , Fenster = Keine , pad_to = Keine , Seiten = Keine ) #

Berechnen Sie die Größe (Absolutwert) des Frequenzspektrums von x . Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.

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. 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 der Länge des Eingangssignals gesetzt wird (dh kein Padding).

Rückgaben :
Spektrum 1-D-Array

Die Größe (Absolutwert) des Frequenzspektrums.

Frequenzen 1-D-Array

Die den Elementen im Spektrum entsprechenden Frequenzen .

Siehe auch

psd

Gibt die spektrale Leistungsdichte zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den absoluten Wert von zurück complex_spectrum.

angle_spectrum

Gibt den Winkel der complex_spectrum.

phase_spectrum

Gibt die Phase (ungewickelter Winkel) der complex_spectrum.

specgram

Kann das komplexe Spektrum von Segmenten innerhalb des Signals zurückgeben.

matplotlib.mlab. phase_spectrum ( x , Fs = Keine , Fenster = Keine , Pad_to = Keine , Seiten = Keine ) #

Berechnen Sie die Phase des Frequenzspektrums (entpacktes Phasenspektrum) von x . Daten werden auf eine Länge von pad_to aufgefüllt und die Fensterfunktion window wird auf das Signal angewendet.

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. 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 der Länge des Eingangssignals gesetzt wird (dh kein Padding).

Rückgaben :
Spektrum 1-D-Array

Die Phase des Frequenzspektrums (entpacktes Phasenspektrum).

Frequenzen 1-D-Array

Die den Elementen im Spektrum entsprechenden Frequenzen .

Siehe auch

psd

Gibt die spektrale Leistungsdichte zurück.

complex_spectrum

Gibt das komplexwertige Frequenzspektrum zurück.

magnitude_spectrum

Gibt den absoluten Wert von zurück complex_spectrum.

angle_spectrum

Gibt den Winkel der complex_spectrum.

phase_spectrum

Gibt die Phase (ungewickelter Winkel) der complex_spectrum.

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 , pages = None , scale_by_freq = None ) [source] #

Berechnen 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}\).

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.

Rückgaben :
Pxx 1-D-Array

Die Werte für das Leistungsspektrum\(P_{xx}\)(echt geschätzt)

Frequenzen 1-D-Array

Die den Elementen in Pxx entsprechenden Frequenzen

Siehe auch

specgram

specgramunterscheidet sich in der Standardüberlappung; indem der Mittelwert der Segment-Periodogramme nicht zurückgegeben wird; und beim Zurückgeben der Zeiten der Segmente.

magnitude_spectrum

gibt das Magnitudenspektrum zurück.

csd

gibt die spektrale Dichte zwischen zwei Signalen zurück.

Verweise

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

matplotlib.mlab. specgram ( x , NFFT = None , Fs = None , detrend = None , window = None , noverlap = None , pad_to = None , pages = None , scale_by_freq = None , mode = None ) [source] #

Berechnen Sie ein Spektrogramm.

Berechnen und zeichnen Sie ein Spektrogramm von Daten in x . Die Daten werden in NFFT -Längensegmente aufgeteilt und das Spektrum jedes Abschnitts wird berechnet. Die Fensterfunktion window wird auf jedes Segment angewendet, und der Überlappungsbetrag jedes Segments wird mit noverlap angegeben .

Parameter :
x -Array-ähnlich

1-D-Array oder Sequenz.

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: 128

Die Anzahl der Überlappungspunkte zwischen Blöcken.

Modus str, Standard: 'psd'
Welche Art von Spektrum soll verwendet werden:
'psd'

Gibt die spektrale Leistungsdichte zurück.

'Komplex'

Gibt das komplexwertige Frequenzspektrum zurück.

'Größe'

Gibt das Magnitudenspektrum zurück.

'Winkel'

Gibt das Phasenspektrum ohne Entpacken zurück.

'Phase'

Gibt das Phasenspektrum mit Unwrapping zurück.

Rückgaben :
Spektrum -Array-artig

2D-Array, Spalten sind die Periodogramme aufeinanderfolgender Segmente.

freqs -Array-ähnlich

1-D-Array, Frequenzen entsprechend den Reihen im Spektrum .

t -Array-ähnlich

1-D-Array, die Zeiten entsprechen den Mittelpunkten der Segmente (dh den Spalten im Spektrum ).

Siehe auch

psd

unterscheidet sich in der Überlappung und in den Rückgabewerten.

complex_spectrum

ähnlich, aber mit komplexwertigen Frequenzen.

magnitude_spectrum

ähnliches einzelnes Segment, wenn der Modus „Magnitude“ ist.

angle_spectrum

Ähnlich wie bei einem einzelnen Segment, wenn der Modus „Winkel“ ist.

phase_spectrum

Ähnlich wie bei einem einzelnen Segment, wenn der Modus „Phase“ ist.

Anmerkungen

detrend und scale_by_freq gelten nur, wenn der Modus auf „psd“ eingestellt ist.

matplotlib.mlab. stride_windows ( x , n , noverlap = None , axis = 0 ) [Quelle] #

[ Veraltet ] Holen Sie sich alle Fenster von x mit der Länge n als ein einzelnes Array und verwenden Sie Schritte, um Datenduplizierung zu vermeiden.

Warnung

Es ist nicht sicher, in das Ausgangsarray zu schreiben. Mehrere Elemente können auf denselben Speicherbereich verweisen, sodass die Änderung eines Werts andere ändern kann.

Parameter :
x 1D-Array oder -Sequenz

Array oder Sequenz, die die Daten enthält.

n int

Die Anzahl der Datenpunkte in jedem Fenster.

noverlap int, Standard: 0 (keine Überlappung)

Die Überlappung zwischen benachbarten Fenstern.

Achse int

Die Achse, entlang der die Fenster verlaufen.

Anmerkungen

Veraltet seit Version 3.6.

Verweise

Stackoverflow: Rolling Window für 1D-Arrays in Numpy? Stapelüberlauf: Verwenden von Schritten für einen effizienten gleitenden Durchschnittsfilter

matplotlib.mlab. window_hanning ( x ) [Quelle] #

Gibt das x -fache des Hanning- (oder Hann-) Fensters von len( x ) zurück.

Siehe auch

window_none

Ein weiterer Fensteralgorithmus.

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

Keine Fensterfunktion; gib einfach x zurück .

Siehe auch

window_hanning

Ein weiterer Fensteralgorithmus.