matplotlib.axes.Axes.specgram #

轴。specgram ( x , NFFT = None , Fs = None , Fc = None , detrend = None , window = None , noverlap = None , cmap = None , xextent = None , pad_to = None , side = None , scale_by_freq = None , mode =scale = None , vmin = None , vmax = None , * , data = None , ** kwargs ) [source] #

绘制频谱图。

计算并绘制x中数据的频谱图。数据被分成 NFFT长度段,并计算每个段的频谱。对每个段应用开窗函数window,每个段的重叠量用noverlap指定。频谱图被绘制为颜色图(使用 imshow)。

参数
x一维数组或序列

包含数据的数组或序列。

Fs浮点数,默认:2

采样频率(每个时间单位的样本数)。它用于计算傅立叶频率freqs,以每时间单位的周期为单位。

窗口可调用或 ndarray,默认值:window_hanning

长度为NFFT的函数或向量。要创建窗口向量,请参见 window_hanningwindow_nonenumpy.blackmannumpy.hammingnumpy.bartlettscipy.signalscipy.signal.get_window等。如果将函数作为参数传递,它必须将数据段作为参数并返回该段的窗口版本。

{'默认','单面','双面'},可选

返回频谱的哪一边。'default' 对于真实数据是单面的,对于复杂数据是双面的。'oneside' 迫使单方面的频谱回归,而 'twolateral' 则迫使双方回归。

pad_to int,可选

执行 FFT 时数据段填充到的点数。这可能与NFFT不同,后者指定使用的数据点数。虽然不会增加光谱的实际分辨率(可分辨峰之间的最小距离),但这可以在图中提供更多点,从而获得更多细节。这对应于调用中的nfft参数。默认为 None,将pad_to设置为NFFT

NFFT int,默认值:256

FFT 的每个块中使用的数据点数。幂 2 是最有效的。这应该用于获得零填充,否则结果的缩放将不正确;使用pad_to代替。

detrend {'none', 'mean', 'linear'} 或可调用的,默认值:'none'

在 fft-ing 之前应用于每个段的函数,旨在消除均值或线性趋势。与 MATLAB 中的detrend参数是一个向量不同,在 Matplotlib 中它是一个函数。该mlab 模块定义detrend_nonedetrend_meandetrend_linear,但您也可以使用自定义函数。您还可以使用字符串来选择功能之一: 'none' calls detrend_none。“卑鄙”的电话 detrend_mean。'线性'调用detrend_linear

scale_by_freq布尔值,默认值:True

生成的密度值是否应按缩放频率缩放,以 1/Hz 为单位给出密度。这允许对返回的频率值进行积分。对于 MATLAB 兼容性,默认值为 True。

模式{'默认','psd','幅度','角度','相位'}

使用什么样的频谱。默认为“psd”,它采用功率谱密度。“幅度”返回幅度谱。“角度”返回相位谱而不展开。'phase' 返回展开后的相位谱。

noverlap int,默认值:128

块之间的重叠点数。

比例{'默认','线性','dB'}

规范中值的缩放。'linear' 没有缩放。'dB' 返回以 dB 为单位的值。当模式为“psd”时,这是 dB 功率 (10 * log10)。否则,这是 dB 幅度 (20 * log10)。如果模式为“psd”或“幅度”,则“默认”为“分贝”,否则为“线性”。如果模式是“角度”或“相位”,这必须是“线性”。

Fc整数,默认值:0

x的中心频率,它偏移绘图的 x 范围,以反映在采集信号、然后过滤和下采样到基带时使用的频率范围。

cmap Colormap,默认值:(rcParams["image.cmap"]默认值'viridis':)
xextent或 (xmin, xmax)

沿 x 轴的图像范围。默认将xmin设置为第一个 bin(频谱列)的左边界,将xmax设置为最后一个 bin 的右边界。请注意,对于noverlap>0,bin 的宽度小于段的宽度。

数据可索引对象,可选

如果给定,以下参数也接受一个字符串s,它被解释为data[s](除非这引发异常):

X

**kwargs

附加的关键字参数被传递给imshow 它来制作specgram图像。不支持 origin 关键字参数。

返回
光谱二维阵列

列是连续段的周期图。

频率一维数组

与频谱中的行相对应的频率。

t一维数组

对应于段中点的时间(即,频谱中的列)。

我是AxesImage

由 imshow 创建的包含频谱图的图像。

也可以看看

psd

默认重叠不同;返回分段周期图的平均值;在不返回时间;并生成线图而不是颜色图。

magnitude_spectrum

单个频谱,类似于当模式为“幅度”时具有单个段。绘制一条线而不是颜色图。

angle_spectrum

单个光谱,类似于当模式为“角度”时具有单个段。绘制一条线而不是颜色图。

phase_spectrum

单个频谱,类似于模式为“相位”时具有单个段。绘制一条线而不是颜色图。

笔记

参数detrendscale_by_freq仅在模式 设置为“psd”时适用。

使用#的示例matplotlib.axes.Axes.specgram

频谱图演示

频谱图演示

频谱图演示