之前寫過一篇Matlab下經(jīng)驗?zāi)B(tài)分解工具箱的安裝教程。在這里:http://www.reibang.com/p/d80ed14e4da5
但是作為一個經(jīng)常用Python的人來說碴巾,免不了要找找Python下是否也有EMD的工具包猩系。還真被我找到了扰楼。那就是pyhht這個python包匾旭√莞眨看名字就知道哈蝇,其實希爾伯特-黃變化的工具包棺妓。經(jīng)驗?zāi)B(tài)分解是 希爾伯特-黃 變換其中的一步。
好了炮赦,廢話不多說怜跑,下面進入正題。
一、系統(tǒng)環(huán)境
- windows 10 64bit (版本1607性芬,OS內(nèi)部版本 14393.693)
- WinPython-64bit-2.7.10.3
它是windows下的一個Python的科學計算環(huán)境峡眶,便攜版的。安裝后可以到處移動植锉,非常方便辫樱。
- pyhht包
它可以用來進行經(jīng)驗?zāi)B(tài)分解。
二俊庇、文件準備
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
執(zhí)行安裝坡锡。
一般情況下不報錯,大功告成窒所!
五鹉勒、測試
接下來我們測試下,我們安裝的pyhht這個包是否真的能進行EMD分解吵取。
1禽额、找到WinPython安裝目錄。打開Spyder.exe皮官,它是一個python的集成開發(fā)環(huán)境(IDE)脯倒。
2、 在Spyder中打開pyhht解壓目錄中的示例程序捺氢,我的是在:h:\tt\pyhht-dev\docs\examples
3藻丢、OK,點擊Spyder工具欄上的綠色三角形摄乒,或者按下F5
悠反,運行這個示例程序吧,結(jié)果如下:
一點點小問題: 我發(fā)現(xiàn)調(diào)用pyhht這個包里面的函數(shù)plot_imfs只繪制出了一個imfs分量馍佑,實際的分解分量是有2個的斋否,再加一個residue分量,總共3個拭荤。也就是說imfs是有3行的茵臭。我看了下,分解的結(jié)果是正確的舅世,但是繪圖的部分不正確笼恰,可能是plot_imfs這個函數(shù)有問題吧,有待考證歇终。
4社证、與Matlab工具箱package_emd分解結(jié)果對比,發(fā)現(xiàn)對于同一信號评凝,分解出來的結(jié)果是一樣的追葡。大家可以放心用了。