cupyx.scipy.signal.csd#
- cupyx.scipy.signal.csd(x, y, fs=1.0, window='hann', nperseg=None, noverlap=None, nfft=None, detrend='constant', return_onesided=True, scaling='density', axis=-1, average='mean')[源代码][源代码]#
使用Welch方法估计交叉功率谱密度,Pxy。
- 参数:
x (array_like) – 测量值的时间序列
y (array_like) – 测量值的时间序列
fs (float, optional) – x 和 y 时间序列的采样频率。默认为 1.0。
window (str or tuple or array_like, optional) – 要使用的期望窗口。如果 window 是一个字符串或元组,它会被传递给 get_window 以生成窗口值,这些值默认是 DFT-even 的。请参阅 get_window 以获取窗口列表和所需参数。如果 window 是类数组,它将直接用作窗口,其长度必须为 nperseg。默认为汉宁窗口。
nperseg (int, optional) – 每个片段的长度。默认为 None,但如果 window 是 str 或 tuple,则设置为 256,如果 window 是 array_like,则设置为 window 的长度。
noverlap (int, optional) – 段落之间重叠的点数。如果为 None,则
noverlap = nperseg // 2。默认为 None。nfft (int, optional) – 使用的FFT长度,如果需要零填充FFT。如果为 None,则FFT长度为 nperseg。默认为 None。
detrend (str or function or False, optional) – 指定如何去趋势化每个片段。如果 detrend 是一个字符串,它将作为 type 参数传递给 detrend 函数。如果它是一个函数,它接受一个片段并返回一个去趋势化的片段。如果 detrend 是 False,则不进行去趋势化。默认为 ‘constant’。
return_onesided (bool, optional) – 如果 True,返回实数数据的单边谱。如果 False,返回双边谱。默认为 True,但对于复数数据,总是返回双边谱。
scaling ({ 'density', 'spectrum' }, optional) – 在计算交叉谱密度(’density’)和计算交叉谱(’spectrum’)之间进行选择,其中 Pxy 的单位在 ‘density’ 模式下为 V**2/Hz,在 ‘spectrum’ 模式下为 V**2,前提是 x 和 y 以 V 为单位测量,fs 以 Hz 为单位测量。默认为 ‘density’。
axis (int, optional) – 计算两个输入的CSD时沿着的轴;默认是沿着最后一个轴(即
axis=-1)。average ({ 'mean', 'median' }, optional) – 在平均周期图时使用的方法。默认为 ‘mean’。
- 返回:
f (ndarray) – 样本频率的数组。
Pxy (ndarray) – x 和 y 的交叉谱密度或交叉功率谱。
参见
periodogram简单的,可选择修改的周期图
lombscargle不均匀采样数据的Lomb-Scargle周期图
welch通过Welch方法的功率谱密度。[等同于csd(x,x)]
coherence通过 Welch 方法计算的幅度平方相干性。
备注
按照惯例,Pxy 是通过 X 的共轭 FFT 乘以 Y 的 FFT 计算得出的。
如果输入序列的长度不同,较短的序列将被零填充以匹配。
适当的重叠量将取决于窗口的选择和您的需求。对于默认的Hann窗口,50%的重叠是一个合理的折中,既能准确估计信号功率,又不会过度计算任何数据。较窄的窗口可能需要更大的重叠。