❶ 信号通过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