scipy.signal.ShortTimeFFT.

from_window#

classmethod ShortTimeFFT.from_window(win_param, fs, nperseg, noverlap, *, symmetric_win=False, fft_mode='onesided', mfft=None, scale_to=None, phase_shift=0)[Quelle]#

Instanziiert ShortTimeFFT mithilfe von get_window.

Die Methode get_window wird verwendet, um ein Fenster der Länge nperseg zu erstellen. Die Parameternamen noverlap und nperseg werden hier verwendet, da sie besser zu anderen klassischen STFT-Bibliotheken passen.

Parameter:
win_param: Union[str, tuple, float],

An get_window übergebene Parameter. Bei Fenstern ohne Parameter kann es sich um einen String handeln (z. B. 'hann'), bei parametrisierten Fenstern um ein Tupel (z. B. ('gaussian', 2.)) oder um eine einzelne Gleitkommazahl, die den Formparameter eines Kaiser-Fensters angibt (d. h. 4. und ('kaiser', 4.) sind gleich). Siehe get_window für weitere Details.

fsfloat

Abtastfrequenz des Eingangssignals. Ihre Beziehung zum Abtastintervall T ist T = 1 / fs.

nperseg: int

Fensterlänge in Samples, die der m_num entspricht.

noverlap: int

Fensterüberlappung in Samples. Sie hängt mit der Schrittweite hop durch hop = npsereg - noverlap zusammen.

symmetric_win: bool

Wenn True, wird ein symmetrisches Fenster generiert, andernfalls ein periodisches Fenster (Standard). Obwohl symmetrische Fenster für die meisten Anwendungen sinnvoller zu sein scheinen, wurde der Standardwert für periodische Fenster gewählt, um dem Standardwert von get_window zu entsprechen.

fft_mode‘twosided’, ‘centered’, ‘onesided’, ‘onesided2X’

Modus der zu verwendenden FFT (Standard 'onesided'). Siehe Eigenschaft fft_mode für Details.

mfft: int | None

Länge der FFT, wenn eine Null-Padding-FFT gewünscht wird. Wenn None (Standard), wird die Länge des Fensters win verwendet.

scale_to‘magnitude’, ‘psd’ | None

Wenn nicht None (Standard), wird die Fensterfunktion so skaliert, dass jede STFT-Spalte entweder ein „Magnitude“- oder ein Leistungsspektraldichtespektren („psd“) darstellt. Dieser Parameter setzt die Eigenschaft scaling auf denselben Wert. Siehe Methode scale_to für Details.

phase_shiftint | None

Wenn gesetzt, wird jeder Frequenz f eine lineare Phase phase_shift / mfft * f hinzugefügt. Der Standardwert 0 stellt sicher, dass auf dem nullten Slice (in dem t=0 zentriert ist) keine Phasenverschiebung erfolgt. Siehe Eigenschaft phase_shift für weitere Details.

Siehe auch

scipy.signal.get_window

Gibt ein Fenster einer gegebenen Länge und eines gegebenen Typs zurück.

from_dual

Instanz über duales Fenster erstellen.

ShortTimeFFT

Instanz über Standard-Initialisierer erstellen.

Beispiele

Die folgenden Instanzen SFT0 und SFT1 sind äquivalent

>>> from scipy.signal import ShortTimeFFT, get_window
>>> nperseg = 9  # window length
>>> w = get_window(('gaussian', 2.), nperseg)
>>> fs = 128  # sampling frequency
>>> hop = 3  # increment of STFT time slice
>>> SFT0 = ShortTimeFFT(w, hop, fs=fs)
>>> SFT1 = ShortTimeFFT.from_window(('gaussian', 2.), fs, nperseg,
...                                 noverlap=nperseg-hop)