python中的连续小波变换时间向量

信息处理 小波 Python
2022-02-05 17:43:54

我有一个以 128 Hz 采样的信号。我曾经使用频谱图函数提取特征,我决定升级我的算法,并尝试在 python 中使用连续小波变换 (pywt.cwt) 对其进行分析。这个函数只有两个输出:系数和频率,而频谱图也返回时间向量。与理论上所说的类似,得到的频率向量在每两个样本之间具有不同的差异(低频时密度高,反之亦然)。根据测不准原理,时间向量的密度也必须与频率向量成反比,不是吗?我的理解是基于附图中的著名图表。 在此处输入图像描述 如果我没记错的话,时间向量(没有返回)只是信号的原始时间向量,这意味着每两个相邻样本之间的差异是恒定的。请帮助我理解这种不匹配。

1个回答

类似的问题在这里小波变换计算哪些时频系数?

您显示的图片用于 DWT,例如pywt.wavedec,而不是 CWT。

CWT 是一个连续函数;它存在于时间尺度平面的所有点上。

pywt.cwt生成一个具有恒定列数和行数的二维数组,因此它是 CWT 的常规采样,无论您指定什么比例,对于输入的每个样本:

shape(y)
Out[5]: (512,)

shape(freqs)
Out[6]: (128,)

shape(coef)
Out[7]: (128, 512)

我认为 DWT 的系数包含的信息刚好可以用逆 DWT 准确再现原始数据,而 CWT 输出有很多冗余信息,可能会丢失一些信息。