matplotlib.axes.Axes.specgram #

Achsen. specgram ( x , NFFT = None , Fs = None , Fc = None , detrend = None , window = None , noverlap = None , cmap = None , xextent = None , pad_to = None , pages = None , scale_by_freq = None , mode = Keine ,scale = None , vmin = None , vmax = None , * , data = None , ** kwargs ) [Quelle] #

Zeichnen 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 . Das Spektrogramm wird als Farbkarte gezeichnet (mit imshow).

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.

mode {'default', 'psd', 'magnitude', 'angle', 'phase'}

Welche Art von Spektrum zu verwenden. Der Standardwert ist „psd“, der die spektrale Leistungsdichte verwendet. 'magnitude' gibt das Magnitudenspektrum zurück. 'angle' gibt das Phasenspektrum ohne Auspacken zurück. 'phase' gibt das Phasenspektrum mit Unwrapping zurück.

noverlap int, Standard: 128

Die Anzahl der Überlappungspunkte zwischen Blöcken.

Skala {'Standard', 'linear', 'dB'}

Die Skalierung der Werte in der spec . 'linear' ist keine Skalierung. 'dB' gibt die Werte in dB-Skala zurück. Wenn der Modus „psd“ ist, ist dies die dB-Leistung (10 * log10). Andernfalls ist dies die dB-Amplitude (20 * log10). „default“ ist „dB“, wenn der Modus „psd“ oder „magnitude“ ist, andernfalls „linear“. Dies muss „linear“ sein, wenn der Modus „Winkel“ oder „Phase“ ist.

Fc int, Standard: 0

Die Mittenfrequenz von x , die die x-Ausdehnungen des Diagramms versetzt, um den verwendeten Frequenzbereich widerzuspiegeln, wenn ein Signal erfasst und dann gefiltert und auf das Basisband heruntergesampelt wird.

cmap Colormap, Standard: rcParams["image.cmap"](Standard: 'viridis')
xextent Keine oder (xmin, xmax)

Die Bildausdehnung entlang der x-Achse. Die Standardeinstellung setzt xmin auf den linken Rand des ersten Bins ( Spektrumspalte ) und xmax auf den rechten Rand des letzten Bins. Beachten Sie, dass für noverlap>0 die Breite der Bins kleiner ist als die der Segmente.

data indexierbares Objekt, optional

Falls angegeben, akzeptieren die folgenden Parameter auch einen String s, der interpretiert wird als data[s](es sei denn, dies löst eine Ausnahme aus):

x

**Kwarg

Es werden zusätzliche Schlüsselwortargumente übergeben, imshow die das Specgram-Bild erzeugen. Das Schlüsselwortargument origin wird nicht unterstützt.

Rückgaben :
Spektrum 2D-Array

Spalten sind die Periodogramme aufeinanderfolgender Segmente.

Frequenzen 1-D-Array

Die den Reihen im Spektrum entsprechenden Frequenzen .

t 1-D-Array

Die Zeiten, die Mittelpunkten von Segmenten entsprechen (dh den Spalten in Spektrum ).

ich binAxesImage

Das von imshow erstellte Bild, das das Spektrogramm enthält.

Siehe auch

psd

Unterscheidet sich in der Standardüberlappung; beim Zurückgeben des Mittelwerts der Segment-Periodogramme; in nicht wiederkehrenden Zeiten; und beim Generieren eines Liniendiagramms anstelle einer Farbkarte.

magnitude_spectrum

Ein einzelnes Spektrum, ähnlich einem einzelnen Segment, wenn der Modus „Magnitude“ ist. Plottet eine Linie anstelle einer Farbkarte.

angle_spectrum

Ein einzelnes Spektrum, ähnlich einem einzelnen Segment, wenn der Modus „Winkel“ ist. Plottet eine Linie anstelle einer Farbkarte.

phase_spectrum

Ein einzelnes Spektrum, ähnlich einem einzelnen Segment, wenn der Modus „Phase“ ist. Plottet eine Linie anstelle einer Farbkarte.

Anmerkungen

Die Parameter detrend und scale_by_freq gelten nur, wenn mode auf 'psd' eingestellt ist.

Beispiele mit matplotlib.axes.Axes.specgram#

Spektrogramm-Demo

Spektrogramm-Demo

Spektrogramm-Demo