美文网首页
基于Python的经验模态分解(EMD)工具箱pyhht安装

基于Python的经验模态分解(EMD)工具箱pyhht安装

作者: xushiluo | 来源:发表于2017-01-18 20:18 被阅读3534次

    之前写过一篇Matlab下经验模态分解工具箱的安装教程。在这里:http://www.jianshu.com/p/d80ed14e4da5
    但是作为一个经常用Python的人来说,免不了要找找Python下是否也有EMD的工具包。还真被我找到了。那就是pyhht这个python包。看名字就知道,其实希尔伯特-黄变化的工具包。经验模态分解是 希尔伯特-黄 变换其中的一步。
    好了,废话不多说,下面进入正题。

    一、系统环境

    • windows 10 64bit (版本1607,OS内部版本 14393.693)
    • WinPython-64bit-2.7.10.3

    它是windows下的一个Python的科学计算环境,便携版的。安装后可以到处移动,非常方便。

    • pyhht包

    它可以用来进行经验模态分解。

    二、文件准备

    1、windows 10就不必我说了,其实windows 7肯定也是可以的。大家可以自己试试。
    2、安装WinPyhon。下载地址:https://winpython.github.io/
    下载基于Python 2.X系列的,因为pyhht那个包不支持python 3.x。我下载的是WinPython-64bit-2.7.10.3。
    3、pyhht包,这里下载:https://github.com/jaidevd/pyhht
    单击clone and donwload那个绿色按钮,下面有个Download ZIP,就是它了。这样可以不用安装git。

    三、安装WinPython

    WinPython安装很简单,按照提示下一步就可以了。有一点,别安装到带空格的目录下,建议安装到根目录下吧。例如我就直接安装到了J: 盘根目录下。

    四、安装pyhht

    有一点值得一提的是,pyhht中有2个示例程序(examples)是依赖pytftb这个包的(simple_emd.py这个示例程序不依赖pytftb),不过,如果你不打算运行那2个示例程序,不用理会pytftb。pyhht主要依赖的NumPy, SciPy 和 matplotlib这三个包,WinPython中都有,不需要我们手动安装。

    1、将pyhht-dev.zip解压到某个目录,例如我解压到H盘的tt目录下,h:\tt\pyhht-dev
    2、找到WinPython的安装目录,打开WinPython Command Prompt.exe
    3、在WinPython Command Prompt命令行窗口中依次输入如下命令:

    h:
    cd h:\tt\pyhht-dev
    python setup.py install
    

    其中命令h:是切换到H盘符,cd命令进入到pyhht的解压目录,python setup.py install执行安装。

    一般情况下不报错,大功告成!

    五、测试

    接下来我们测试下,我们安装的pyhht这个包是否真的能进行EMD分解。
    1、找到WinPython安装目录。打开Spyder.exe,它是一个python的集成开发环境(IDE)。
    2、 在Spyder中打开pyhht解压目录中的示例程序,我的是在:h:\tt\pyhht-dev\docs\examples
    3、OK,点击Spyder工具栏上的绿色三角形,或者按下F5,运行这个示例程序吧,结果如下:

    Paste_Image.png

    一点点小问题: 我发现调用pyhht这个包里面的函数plot_imfs只绘制出了一个imfs分量,实际的分解分量是有2个的,再加一个residue分量,总共3个。也就是说imfs是有3行的。我看了下,分解的结果是正确的,但是绘图的部分不正确,可能是plot_imfs这个函数有问题吧,有待考证。

    4、与Matlab工具箱package_emd分解结果对比,发现对于同一信号,分解出来的结果是一样的。大家可以放心用了。

    相关文章

      网友评论

          本文标题:基于Python的经验模态分解(EMD)工具箱pyhht安装

          本文链接:https://www.haomeiwen.com/subject/kvsbbttx.html