本作品介绍了基于MATLAB的CWT源码及其在Python环境下的移植版本SSQPyWave,重点展示了如何利用Python进行信号的同步压缩、小波变换以及时频分析。
同步压缩是一种强大的重新分配方法,可以集中时间-频率表示,并允许提取瞬时幅度和频率。它支持连续小波变换(CWT),正向和反向及其同步压缩,以及短时傅立叶变换(STFT)的正向和反向及同步压缩功能。此外还有小波可视化工具、测试套件以及广义摩尔斯小波岭提取等特性。
Python中的ssqueezepy库提供了最快的小波变换实现,在速度上超过了MATLAB版本。安装该库的方法为:
```
pip install ssqueezepy
```
或者,为了获取最新最稳定的版本,请使用以下命令进行安装:
```
pip install git+https://github.com/OverLordGoldDragon/ssqueezepy.git
```
ssqueezepy默认支持多线程执行(可通过设置环境变量`os.environ[SSQ_PARALLEL]=0`来禁用),并且如果系统中存在GPU,可以通过设置环境变量启用它。此外,该库还支持使用pyfftw实现最大的CPU FFT速度。
更多关于性能测试的信息,请参阅相关文档。转换过程中会采用padding、float32精度(同时也支持float64)以及输出形状为(300, len(x))的配置来保证最佳效果和效率。