繁体   English   中英

使用连续小波变换时不断出现类型错误

[英]Keep getting a type error when using a continuous wavelet transformation

我正在尝试使用来自scipy.signal的连续小波变换清理噪声信号,如下所示:

df2=signal.cwt(df, np.arange(1,31), 'gaus1')

这给我一个类型错误:'int'和'str'的实例之间不支持'<'

为什么会出现此错误,如何正确对数据进行连续小波变换?

您为cwt()使用了错误的库

您的代码应使用pywt模块,而不是scipy.signal

使用以下内容:

import pywt
pywt.cwt(df. np.arange(1, 31), 'gaus1')

来自https://pywavelets.readthedocs.io/en/latest/ref/cwt.html

否则,请scipy.signal.cwt()的文档以了解如何正确使用它:

https://docs.scipy.org/doc/scipy-0.16.1/reference/generation/scipy.signal.cwt.html

如果要对信号进行去噪,我建议您使用离散小波,因为它们比连续小波要快,并且可以完美地重建原始信号,从而减少了去噪过程​​中的伪像。

离散变换分别具有pywt.dwt和pywt.dwt2的一维和二维变换。 当前没有pywt.cwt的2d版本,因此,如果您的“ df”具有多个维度,则您可能不走运(并且由于scipy库在其核心处使用pywt,因此我怀疑是否对您也有用) 。

还有另一个小波库pycwt,它与pywt无关,可能对您有用,但是我对该库没有太多经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM