EWT画图工具(公开版)
最后更新于:2023-08-12 10:54:37
一、运行环境
MATLAB2020b或更新版本。
二、文件说明
1.testEWT.m
用于测试EWT功能的脚本文件,可以直接运行其中调用了pEWT和pEWTandFFT。
2.pEWT.p
封装好的 EWT 画图程序,p文件。
函数参数说明:
function mra = pEWT(data,FsOrT)
% 画信号EWT分解图
% 输入:
% data为待分解信号
% FsOrT为采样频率或采样时间向量,如果为采样频率,该变量输入单个值;如果为时间向量,该变量为与y相同长度的一维向量。如果未知采样频率,可设置为1
% 输出:
% mra为经EWT分解后的各mra分量值
% 例1:(FsOrT为采样频率)
% fs = 100;
% t = 1/fs:1/fs:1;
% data = sin(2*pi*5*t)+2*sin(2*pi*20*t);
% mra = pEWT(data,fs);
% 例2:(FsOrT为时间向量,需要注意此时FsOrT的长度要与y相同)
% t = 0:0.01:1;
% data = sin(2*pi*5*t)+2*sin(2*pi*20*t);
% mra = pEWT(data,t);
% 注意:该代码仅能在2020b及更新MATLAB版本中运行
画图效果如下(参考):
3.pEWTandFFT.p
封装好的画图程序,可以绘制出信号ICEEMD分解与各IMF分量频谱对照图,p文件。
函数参数说明:
function mra = pEWTandFFT(y,FsOrT)
% 画信号EWT分解与各mra分量频谱对照图
% 输入:
% y为待分解信号
% FsOrT为采样频率或采样时间向量,如果为采样频率,该变量输入单个值;如果为时间向量,该变量为与y相同长度的一维向量
% 输出:
% mra为经EWT分解后的各mra分量值
% 例1:(FsOrT为采样频率)
% fs = 100;
% t = 1/fs:1/fs:1;
% y = sin(2*pi*5*t)+2*sin(2*pi*20*t);
% mra = pEWTandFFT(y,fs);
% 例2:(FsOrT为时间向量,需要注意此时FsOrT的长度要与y相同)
% t = 0:0.01:1;
% y = sin(2*pi*5*t)+2*sin(2*pi*20*t);
% mra = pEWTandFFT(y,t);
% 注意:该代码仅能在2020b及更新MATLAB版本中运行
画图效果如下(参考):
4.kEWT.p
调整后的EWT函数,整合了EWT函数,并针对工具箱进行了统一性的调整。
函数参数说明:
function mra = kEWT(data)
% 统一封装后的EWT函数
%
% 输入:
% data:待分解的数据
%
% 输出:
% mra:内涵模态分量,统一为n*m格式,其中n为模态数,m为数据点数。例如 mra(1,:)即mra1,mra(emd,:)即为残差
% 注意:该代码仅能在2020b及更新MATLAB版本中运行
5.pFFT.p
封装好的fft计算程序,在pEWTandFFT中调用,一般不需要修改。
三、使用教程
该教学视频是针对“类EMD”画图工具代码(完整版)的使用教程。
视频中是以CEEMD代码为案例讲解的。
其他的“类EMD方法”都可以参考该教程。
视频中4:00开始演示的如何使用自己的数据导入并调用。
四、 关于完整版与公开版代码
公开版代码的函数文件为p文件,可以被调用,但无法查看代码。完整版代码中全部为m文件,m文件可以查看源码并自由修改。
公开版代码仅可对长度350以内的数据分解;完整版无长度限制。
完整版代码画图无水印。
如果需要封装好的画图函数(pEWT.m、pEWTandFFT.m、kEWT.m和pFFT.m)的源码,可在下述连接(完整版)获取。
编程不易,感谢支持~
五、获取公开版程序(需使用电脑浏览器打开)
EWT分解画图代码(公开版)
注:公开版代码需使用MATLAB2022a及以上版本
六、获取完整版程序(使用电脑浏览器或者手机浏览器打开)
获取通道一(淘宝):点击此处获取完整版程序
获取通道二(本页面):点击下面“立即支付”按钮,付款后获取完整版代码下载链接和售后联系方式~本通道处于测试阶段,使用该通道可以额外优惠(仅需21元)。付款完成后刷新一下本页面即可看到下载链接。
(注意支付跳转失败的话,请使用浏览器打开本页面)
七、完整版代码重要更新
20220323 完善代码,现在可以设置最大分解阶数,解决信号只能被分解为两个分量的问题。
20220225 代码初始版本 (完整版所在版本)