我在哪里可以看到我可以传递给scipy.signal.cwt的内置小波函数列表?

时间:2014-05-18 16:03:21

标签: python scipy signal-processing wavelet

scipy.signal.cwt的文档says

  

scipy.signal.cwt(数据,小波,宽度)

     

小波:功能   小波函数,应该有2个参数。第一个参数是返回的向量的点数   将有(len(小波(宽度,长度))==长度)。第二个是   width参数,定义小波的大小(例如标准   高斯的偏差)。见ricker,满足这些   requirements.wavelet:函数小波函数,应该有2个参数。

超越scipy.signal.ricket,我可以传递给scipy.signal.cwt的其他内置小波函数是什么?

我在 scipy / scipy / signal / wavelets.py

中看到了
__all__ = ['daub', 'qmf', 'cascade', 'morlet', 'ricker', 'cwt']

并查看每个小波函数的参数,只有ricket似乎与scipy.signal.cwt(data, wavelet, widths)一起使用(因为只有ricker只需要2个参数)。

1 个答案:

答案 0 :(得分:7)

我问question on the SciPy Users List,回答1:

  

我发现CWT的模块很混乱,所以我自己动手:

     

https://github.com/Dapid/fast-pycwt

     

它是为速度而设计的(我的运行时间从4小时降到20分钟)。   它没有经过彻底的测试,仅限于单人和双人;   但对我来说,这是一个足够好的"状态。

答案2:

  

您可能还会发现我的版本很有用:

     

https://github.com/aaren/wavelets

     

我还发现scipy小波令人困惑。我的版本包括更快   可以采用以频率或时间表示的小波的cwt。

     

我发现使用小波函数更直观   时间/频率和宽度作为参数而不是本方法   (我更喜欢在现实空间而不是样本空间中思考)。

     

目前,附带scipy的morlet小波,   scipy.signal.wavelets.morlet,不能用作cwt的输入。这个   我觉得很不幸。

     

此外,目前的cwt不允许复杂的输出。这个   对于ricker而言并没有什么不同,但小波函数很复杂   总的来说。

     

我修改过的' cwt'方法在这里:

     

https://github.com/aaren/wavelets/blob/master/wavelets.py#L15

     

它可以接受在时间或频率空间中定义的小波函数,   使用fftconvolve,并允许复杂的输出。

     

我的背景是基于对Torrence和Compo的阅读:

     

Torrence和Compo,'小波分析实用指南' (BAMS,   1998)

     

http://paos.colorado.edu/research/wavelets/

     

希望有所帮助,

     

亚伦