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 eineGaussianKDE
Instanz 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)
- 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.
- 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 definiertdetrend_none
,detrend_mean
unddetrend_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 aufdetrend_none
. "Gemeine" Anrufedetrend_mean
. „lineare“ Aufrufedetrend_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 .
- 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 definiertdetrend_none
,detrend_mean
unddetrend_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 aufdetrend_none
. "Gemeine" Anrufedetrend_mean
. „lineare“ Aufrufedetrend_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 wiedetrend_linear
. 'keine' ist dasselbe wiedetrend_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.mean
fü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 definiertdetrend_none
,detrend_mean
unddetrend_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 aufdetrend_none
. "Gemeine" Anrufedetrend_mean
. „lineare“ Aufrufedetrend_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
specgram
unterscheidet 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 definiertdetrend_none
,detrend_mean
unddetrend_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 aufdetrend_none
. "Gemeine" Anrufedetrend_mean
. „lineare“ Aufrufedetrend_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.