matplotlib.axes.Axes.psd #

轴。psd ( x , NFFT = None , Fs = None , Fc = None , detrend = None , window = None , noverlap = None , pad_to = None , side = None , scale_by_freq = None , return_line = None , * , data = None , ** kwargs) [来源] #

绘制功率谱密度。

功率谱密度\(P_{xx}\)Welch 的平均周期图法。向量x被分成NFFT长度段。每个段由函数detrend 去趋势并由函数window加窗。noverlap给出段之间重叠的长度。这\(|\mathrm{fft}(i)|^2\) 每个段的\(i\)平均计算\(P_{xx}\),通过缩放来校正由于开窗引起的功率损耗。

如果 len( x ) < NFFT,它将被零填充到NFFT

参数
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。

noverlap int,默认值:0(无重叠)

段之间的重叠点数。

Fc整数,默认值:0

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

return_line布尔值,默认值:False

是否包括在返回值中绘制的线对象。

返回
Pxx一维阵列

功率谱的值\(P_{xx}\)缩放之前(实际值)。

频率一维数组

与Pxx中的元素对应的频率。

线Line2D

此函数创建的行。仅在return_line为 True 时返回。

其他参数
数据可索引对象,可选

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

X

**kwargs

关键字参数控制Line2D属性:

财产

描述

agg_filter

一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量

alpha

标量或无

animated

布尔

antialiased或aa

布尔

clip_box

Bbox

clip_on

布尔

clip_path

补丁或(路径,变换)或无

color或 c

颜色

dash_capstyle

CapStyle或 {'butt', 'projecting', 'round'}

dash_joinstyle

JoinStyle或 {'miter', 'round', 'bevel'}

dashes

浮动序列(以点为单位的开/关墨水)或(无,无)

data

(2, N) 数组或两个一维数组

drawstyle或 ds

{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'},默认值:'default'

figure

Figure

fillstyle

{'full', 'left', 'right', 'bottom', 'top', 'none'}

gapcolor

颜色或无

gid

字符串

in_layout

布尔

label

目的

linestyle或 ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth或 lw

漂浮

marker

标记样式字符串,PathMarkerStyle

markeredgecolor或机械

颜色

markeredgewidth或者喵喵

漂浮

markerfacecolor或 mfc

颜色

markerfacecoloralt或 mfcalt

颜色

markersize或毫秒

漂浮

markevery

无或 int 或 (int, int) 或 slice 或 list[int] 或 float 或 (float, float) 或 list[bool]

mouseover

布尔

path_effects

AbstractPathEffect

picker

浮动或可调用[[艺术家,事件],元组[布尔,字典]]

pickradius

未知

rasterized

布尔

sketch_params

(比例:浮动,长度:浮动,随机性:浮动)

snap

布尔或无

solid_capstyle

CapStyle或 {'butt', 'projecting', 'round'}

solid_joinstyle

JoinStyle或 {'miter', 'round', 'bevel'}

transform

未知

url

字符串

visible

布尔

xdata

一维数组

ydata

一维数组

zorder

漂浮

也可以看看

specgram

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

magnitude_spectrum

绘制幅度谱。

csd

绘制两个信号之间的频谱密度。

笔记

对于绘图,功率被绘制为 \(10\log_{10}(P_{xx})\)对于分贝,虽然返回Pxx本身。

参考

Bendat & Piersol -- 随机数据:分析和测量程序,John Wiley & Sons (1986)

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

Psd 演示

Psd 演示

Psd 演示