我正在使用python的python包pywt对一些信号进行连续小波变换。由于信号的长度不同,所以输出系数2d阵列具有不同的列数。为了得到具有相同形状的系数数组,我使用scipy.ndimage.interpolation.zoom进行插值。但是内插法引发的错误消息是“复杂类型不受支持”,这意味着输入数组是一个复杂数组。我们知道,pywt cwt的输出实际上是一个由不同尺度和时间移位的小波系数组成的阵列/矩阵,这些系数应该是实数而不是复数。所以我真的不知道该怎么弄明白。有没有人可以解决这个问题,或者提出一些替代的方法来进行插值,并得到相同大小的输出数组?简单的代码如下
import pywt
import scipy
...
[coefficients_return, frequencies] = pywt.cwt(signal, scales, waveletname, dt)
coefficients_interp = scipy.ndimage.interpolation.zoom(input=coefficients_return, zoom= 2., order=3)
...
TypeError: Complex type not supported发布于 2019-05-20 22:10:31
一些小波确实具有复杂的分量,当需要相位和振幅时,通常会选择这些分量。
解决问题的最简单的方法是简单地选择一个不同的小波。
https://stackoverflow.com/questions/56188229
复制相似问题