❶ 信號通過EMD後產生IMF,求不同階IMF的瞬時頻率並輸出圖像
這個分解是基於希爾伯特-黃變換和希爾伯特變換而來,通過黃變換濾除信號里局域的直流成分,短時內是純交流成分。而之所以不直接使用希爾伯特變換後利用復信號的d(phi)/dt=w (phi是角度)的方式來求信號的瞬時頻率,是因為信號可能存在非頻率波動的成分,也就是說可能信號的波動是因幅值引起,這樣求得的頻率可能是負值,而希爾伯特變換的信號頻率不存在負的,所以才需要以上的黃變換這個分解imf的過程。但這個分解精度純粹因信號本身而異,存在一定的風險。不過據我認為,信號在離散的情況下,黃變換並不是必須的,只需要在希爾伯特變換之前加一些簡單處理即可,這種方式得到的瞬時頻率與用了imf後得到的再matlab下得到的圖像基本一樣。樓主可自己編寫程序,這個程序包不是必須
❷ 介紹氣候研究中幾個常用Python包給大家
pyeemd 最近emd或者eemd的在氣候中的應用也比較多,論壇里一般分享的最多的就是「官方」的matlab版本,這里我分享一個python的,網址在此 pyeemd。這個安裝相對比較復雜一點(其實也沒復雜到哪兒去)。
使用pyeemd需要libeemd,這是一個c語言寫的庫(編譯時需要gsl庫),下載後經過常規編譯之後生成一個靜態庫libeemd.a,一個動態庫libeemd.so,和相應頭文件 eemd.h,一般指定靜態庫 *.a(LIBRARY_PATH)或者動態庫 *.so(LD_LIBRARY_PATH)的位置就可以 。用C 直接用eemd這個庫也可以,速度上比matlab版本是有提升的。
❸ 如何利用eemd程序得出徑流量序列的分解結果
時間序列T,最簡單的用法是IMF = EMD(T),當然,也有很多選擇EMD,例如IMF = EMD(X,...,'的option_name',Option_value,...),詳細使用安裝工具箱可以幫助照顧後的HHT