当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy ShortTimeFFT.from_window用法及代码示例


本文简要介绍 python 语言中 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)#

使用 get_window 实例化 ShortTimeFFT

方法scipy.signal.get_window用于创建长度的窗口nperseg。参数名称重叠, 和nperseg此处使用,因为它们与其他经典 STFT 库更一致。

参数

win_param: Union[str, tuple, float],

参数传递给 get_window 。对于没有参数的窗口,它可以是一个字符串(例如, 'hann' ),对于参数化窗口,它可以是一个元组(例如, ('gaussian', 2.) )或指定 kaiser 窗口的形状参数的单个浮点(即 4.('kaiser', 4.) 相等。请参阅 get_window 了解更多详细信息。

fs 浮点数

输入信号的采样频率。它与采样间隔 T 的关系是T = 1 / fs

nperseg: int

样本中的窗口长度,对应于 m_num

noverlap: int

样本中的窗口重叠。它与 hop = npsereg - noverlap hop 增量相关。

symmetric_win: bool

如果True则生成对称窗口,否则生成周期性窗口(默认)。尽管对称窗口对于大多数应用程序来说似乎更明智,但选择周期性窗口的默认值来对应 get_window 的默认值。

fft_mode ‘twosided’, ‘centered’, ‘onesided’,'oneside2X'

要使用的 FFT 模式(默认‘onesided’)。有关详细信息,请参阅属性 fft_mode

mfft: int | None

如果需要零填充 FFT,则使用 FFT 的长度。如果None(默认),则使用窗口 win 的长度。

scale_to ‘magnitude’, ‘psd’ |没有任何

如果不是 None(默认),则窗口函数会缩放,因此每个 STFT 列代表 ‘magnitude’ 或功率谱密度 (‘psd’) 频谱。此参数将属性 scaling 设置为相同的值。有关详细信息,请参阅方法 scale_to

phase_shift int |没有任何

如果设置,则为每个频率 f 添加线性相位 phase_shift / mfft * f 。默认值 0 确保第 0 个切片(其中以 t=0 为中心)没有相移。有关更多详细信息,请参阅属性 phase_shift

例子

以下实例 SFT0SFT1 是等效的:

>>> 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)

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.signal.ShortTimeFFT.from_window。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。