jax.scipy.signal.csd#
- jax.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')[source]#
使用 Welch 方法估计互功率谱密度 (CSD)。
这是
scipy.signal.csd()
的 JAX 实现。 它类似于jax.scipy.signal.welch()
,但它作用于两个输入信号并估计它们的互谱密度,而不是功率谱密度 (PSD)。- 参数:
x (Array) – 表示输入值时序的数组。
y (ArrayLike | None) – 表示第二个输入值时序的数组,沿指定的
axis
与x
的长度相同。 如果未指定,则假定y = x
并通过 Welch 方法计算x
的 PSDPxx
。fs (ArrayLike) – 输入的采样频率(默认值:1.0)。
window (str) – 要应用于每个段的数据锥形窗口。 可以是窗口函数名称、指定窗口长度和函数的元组或数组(默认值:
'hann'
)。nperseg (int | None) – 每个段的长度(默认值:256)。
noverlap (int | None) – 段之间重叠的点数(默认值:
nperseg // 2
)。nfft (int | None) – FFT 使用的长度,如果需要零填充 FFT。 如果
None
(默认),则 FFT 长度为nperseg
。detrend (str) – 指定如何消除每个段的趋势。 可以是
False
(默认:不消除趋势)、'constant'
(删除均值)、'linear'
(删除线性趋势),或者接受段并返回消除趋势的段的可调用对象。return_onesided (bool) – 如果为 True (默认),则返回真实输入的单边频谱。 如果为 False,则返回双边频谱。
scaling (str) – 选择计算功率谱密度 (
'density'
,默认) 或功率谱 ('spectrum'
)axis (int) – 计算 CSD 沿用的轴(默认值:-1)。
average (str) – 要在周期图上使用的平均类型;
'mean'
(默认)或'median'
之一。
- 返回:
长度为 2 的数组元组
(f, Pxy)
。f
是样本频率的数组,Pxy
是 x 和 y 的互谱密度- 返回类型:
注意事项
原始的 SciPy 函数在
csd(x, x)
和csd(x, x.copy())
之间表现出略有不同的行为。 LAX 后端版本旨在遵循后一种行为。 要复制前者,请将此函数作为csd(x, None)
调用。另请参阅
jax.scipy.signal.welch()
:功率谱密度。jax.scipy.signal.stft()
:短时傅里叶变换。