matplotlib.pyplot.csd

matplotlib.pyplot.csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, *, data=None, **kwargs)[源代码]

绘制交叉光谱密度。

交叉光谱密度 \(P_{{xy}}\) 采用韦尔奇平均周期图法。向量 xy 分为 NFFT 长度段。每段按函数递减 颓势 并按功能设置窗口 窗口 . 诺弗莱普 给出段之间重叠的长度。直接自由流速度的乘积 xy 对每个要计算的段取平均值 \(P_{{xy}}\) ,具有校正窗口造成的功率损失的缩放。

如果兰 x < NFFT 或兰 y < NFFT ,它们将被零填充到 NFFT .

参数:
x, y一维数组或序列

包含数据的数组或序列。

Fs浮动,默认值:2

采样频率(每个时间单位的采样数)。用于计算傅里叶频率, 弗雷克斯 ,以每时间单位的周期为单位。

窗口 :callable或ndarray,默认值: window_hanningcallable或ndarray,默认值:

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

sides{'default','onesided','twosided'},可选

哪些方面应该回归默认情况下,对于实际数据为单面,对于复杂数据为双面“单侧”强制返回单侧频谱,而“双侧”强制返回双侧频谱。

pad_to可选的

执行FFT时填充数据段的点数。这可能不同于 NFFT ,指定使用的数据点的数量。虽然不能增加光谱的实际分辨率(可分辨峰之间的最小距离),但这可以在图中给出更多的点,从而提供更多的细节。这对应于 n 对fft()的调用中的参数。默认值为“无”,设置 pad_to 等于 NFFT

NFFTint,默认值:256

用于FFT的每个块中使用的数据点的数目。功率2是最有效的。这应该 NOT 用于获取零填充,否则结果的缩放将不正确;使用 pad_to 为了这个。

detrend{'none'、'mean'、'linear'}或可调用,默认为'none'

在快速傅立叶变换前应用于每一段的函数,用来消除平均或线性趋势。与matlab不同,其中 颓势 参数是向量,在Matplotlib中是函数。这个 mlab 模块定义 detrend_nonedetrend_meandetrend_linear ,但也可以使用自定义函数。也可以使用字符串选择函数之一:“none”调用 detrend_none . '卑鄙的电话 detrend_mean . '线性呼叫 detrend_linear .

scale_by_freqbool,默认值:True

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

noverlapint,默认值:0(无重叠)

线段之间重叠的点数。

Fcint,默认值:0

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

return_linebool,默认值:False

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

返回:
Pxy一维阵列

交叉光谱的值 \(P_{{xy}}\) 缩放前(复数)。

freqs一维阵列

与中的元素相对应的频率 Pxy .

lineLine2D线2D

此函数创建的行。仅在以下情况下返回 return_line 是True。

其他参数:
**kwargs

关键字参数控制 Line2D 性能:

财产 描述
agg_filter 一种过滤函数,它接受一个(m,n,3)浮点数组和一个dpi值,并返回一个(m,n,3)数组。
alpha 浮动或无
animated 布尔
antialiased 或者aa 布尔
clip_box Bbox
clip_on 布尔
clip_path 面片或(路径、变换)或无
color 或c 颜色
contains 未知的
dash_capstyle “对接”、“圆形”、“突出”
dash_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'
gid STR
in_layout 布尔
label 对象
linestyle 或ls '-'、'-'、'-'、'-'、':'、'、'、'(偏移量、开/关顺序)、…
linewidth 或lw 浮动
marker 标记样式字符串, PathMarkerStyle
markeredgecolor 或mec 颜色
markeredgewidth 或者喵喵 浮动
markerfacecolor 或mfc 颜色
markerfacecoloralt 或mfcalt 颜色
markersize 或ms 浮动
markevery None或int or(int,int)或slice或List [int] 或float或(float,float)或List [bool]
path_effects AbstractPathEffect
picker 未知的
pickradius 浮动
rasterized 布尔或无
sketch_params (比例:浮动,长度:浮动,随机性:浮动)
snap 布尔或无
solid_capstyle “对接”、“圆形”、“突出”
solid_joinstyle 'miter'、'round'、'bevel'
transform matplotlib.transforms.Transform
url STR
visible 布尔
xdata 一维阵列
ydata 一维阵列
zorder 浮动

参见

psd
相当于设置 y = x .

笔记

对于绘图,功率绘制为 \(10 \log_{{10}}(P_{{xy}})\) 但是对于分贝 \(P_{{xy}}\) 返回自身。

工具书类

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

注解

除了上述参数外,此函数还可以 data 关键字参数。如果这样的话 data 参数,下列参数也可以是字符串 s ,解释为 data[s] (除非引起例外): xy .

作为传递的对象 data 必须支持项目访问 (data[s] )和会员资格测试 (s in data

使用实例 matplotlib.pyplot.csd