matplotlib.pyplot.psd #
- matplotlib.pyplot。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_hanning
、window_none
、numpy.blackman
、numpy.hamming
、numpy.bartlett
、scipy.signal
、scipy.signal.get_window
等。如果将函数作为参数传递,它必须将数据段作为参数并返回该段的窗口版本。- 边{'默认','单面','双面'},可选
返回频谱的哪一边。'default' 对于真实数据是单面的,对于复杂数据是双面的。'oneside' 迫使单方面的频谱回归,而 'twolateral' 则迫使双方回归。
- pad_to int,可选
执行 FFT 时数据段填充到的点数。这可能与NFFT不同,后者指定使用的数据点数。虽然不会增加光谱的实际分辨率(可分辨峰之间的最小距离),但这可以在图中提供更多点,从而获得更多细节。这对应于调用中的n
fft
参数。默认为 None,将pad_to设置为NFFT- NFFT int,默认值:256
FFT 的每个块中使用的数据点数。幂 2 是最有效的。这不应该用于获得零填充,否则结果的缩放将不正确;使用pad_to代替。
- detrend {'none', 'mean', 'linear'} 或可调用的,默认值:'none'
在 fft-ing 之前应用于每个段的函数,旨在消除均值或线性趋势。与 MATLAB 中的detrend参数是一个向量不同,在 Matplotlib 中它是一个函数。该
mlab
模块定义detrend_none
、detrend_mean
和detrend_linear
,但您也可以使用自定义函数。您还可以使用字符串来选择功能之一: 'none' callsdetrend_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
属性:财产
描述
一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量
标量或无
布尔
antialiased
或aa布尔
布尔
补丁或(路径,变换)或无
color
或 c颜色
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}浮动序列(以点为单位的开/关墨水)或(无,无)
(2, N) 数组或两个一维数组
drawstyle
或 ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'},默认值:'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
颜色或无
字符串
布尔
目的
linestyle
或 ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
或 lw漂浮
标记样式字符串,
Path
或MarkerStyle
颜色
markeredgewidth
或者喵喵漂浮
markerfacecolor
或 mfc颜色
markerfacecoloralt
或 mfcalt颜色
markersize
或毫秒漂浮
无或 int 或 (int, int) 或 slice 或 list[int] 或 float 或 (float, float) 或 list[bool]
布尔
浮动或可调用[[艺术家,事件],元组[布尔,字典]]
未知
布尔
(比例:浮动,长度:浮动,随机性:浮动)
布尔或无
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}未知
字符串
布尔
一维数组
一维数组
漂浮
也可以看看
specgram
默认重叠不同;不返回分段周期图的平均值;返回分段的时间;并绘制颜色图而不是线。
magnitude_spectrum
绘制幅度谱。
csd
绘制两个信号之间的频谱密度。
笔记
对于绘图,功率被绘制为 \(10\log_{10}(P_{xx})\)对于分贝,虽然返回Pxx本身。
参考
Bendat & Piersol -- 随机数据:分析和测量程序,John Wiley & Sons (1986)