一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
完整代码已上传我的资源:【数字信号】基于matlab CEEMD数字信号分解【含Matlab源码 1383】

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、部分源代码

clc;clear;close all
t=1/1000:1/1000:1;
x=sin(20*pi*t)+sin(40*pi*t)+2*sin(60*pi*t);
imf=ceemd(x,0.02,50,2);
%----------------IMF显示----------------
figure(1);
imfn=imf';
n=size(imfn,1);
subplot(n,1,1);
plot(t,x);%原始信号
ylabel('原始信号','fontsize',12,'fontname','华文中宋');
for n1=1:n-1subplot(n,1,n1+1);plot(t,imfn(n1,:));%IMF分量ylabel(['IMF' int2str(n1)]);
endfigure(2);
imfn=imf';
n=size(imfn,1);
subplot(n,1,1);
[f,z]=COMPUTE_FFT(t,x);
plot(f(1:50),z(1:50));%原始信号
ylabel('原始信号','fontsize',12,'fontname','华文中宋');
for n1=1:n-1subplot(n,1,n1+1);[f,z]=COMPUTE_FFT(t,imfn(n1,:));plot(f(1:50),z(1:50));%IMF分量ylabel(['IMF' int2str(n1)]);
endylabel('RES');xlabel('时间\itt/s','fontsize',12,'fontname','华文中宋');% Y: Inputted data;
% Nstd: ratio of the standard deviation of the added noise and that of Y;
% NE: Ensemble member being used
% TNM: total number of modes (not including the trend)
%
function allmode=ceemd(Y,Nstd,NE,TNM)
% find data length
xsize=length(Y);
dd=1:1:xsize;
% Nornaliz data
Ystd=std(Y);
Y=Y/Ystd;
% Initialize saved data
TNM2=TNM+2;
for kk=1:1:TNM2,for ii=1:1:xsize,allmode(ii,kk)=0.0;end
endfor iii=1:1:NE
% adding noisefor i=1:xsize,temp=randn(1,1)*Nstd;X1(i)=Y(i)+temp;X2(i)=Y(i)-temp;end% sifting X1xorigin = X1;xend = xorigin;
% save the initial data into the first columnfor jj=1:1:xsizemode(jj,1) = xorigin(jj);endnmode = 1;while nmode <= TNM,xstart = xend;iter = 1;while iter<=5,[spmax, spmin, flag]=extrema(xstart);upper= spline(spmax(:,1),spmax(:,2),dd);lower= spline(spmin(:,1),spmin(:,2),dd);mean_ul = (upper + lower)/2;xstart = xstart - mean_ul;iter = iter +1;endxend = xend - xstart;nmode=nmode+1;% save a modefor jj=1:1:xsize,mode(jj,nmode) = xstart(jj);endend% save the trendfor jj=1:1:xsize,mode(jj,nmode+1)=xend(jj);end% add mode to the sum of modes from earlier ensemble members
%     1,size(allmode),2,size(mode)allmode=allmode+mode;%%%=============================================================% sifting X2xorigin = X2;xend = xorigin;% save the initial data into the first columnfor jj=1:1:xsize,mode(jj,1) = xorigin(jj);endnmode = 1;while nmode <= TNM,xstart = xend;iter = 1;while iter<=5,[spmax, spmin, flag]=extrema(xstart);upper= spline(spmax(:,1),spmax(:,2),dd);lower= spline(spmin(:,1),spmin(:,2),dd);mean_ul = (upper + lower)/2;xstart = xstart - mean_ul;iter = iter +1;endxend = xend - xstart;nmode=nmode+1;% save a modefor jj=1:1:xsize,mode(jj,nmode) = xstart(jj);endend% save the trendfor jj=1:1:xsize,mode(jj,nmode+1)=xend(jj);end% add mode to the sum of modes from earlier ensemble membersallmode=allmode+mode;%fprintf('-');
end
% ensemble average
allmode=allmode/NE/2;
% Rescale mode to origional unit.
allmode=allmode*Ystd;

三、运行结果


四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

【数字信号】基于matlab CEEMD数字信号分解【含Matlab源码 1383】相关推荐

  1. 【条形码识别】基于matlab条形码识别【含Matlab源码 403期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [条形码识别]基于matlab条形码识别[含Matlab源码 403期] (https://download.csdn.net/downl ...

  2. 【图像去噪】基于最小二乘方滤波实现图像去噪含Matlab源码

    1 简介 基于最小二乘方滤波实现图像去噪含Matlab源码​ 2 部分代码 function varargout = zuixiaoercheng(varargin)% ZUIXIAOERCHENG ...

  3. 【特征提取】基于matlab共振峰估计【含Matlab源码 550期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[特征提取]基于matlab共振峰估计[含Matlab源码 550期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏 ...

  4. 【光学】基于matlab泊松亮斑仿真【含Matlab源码 1937期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab泊松亮斑仿真[含Matlab源码 1937期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏 ...

  5. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  6. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  7. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  8. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  9. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  10. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

最新文章

  1. docker报错:driver failed programming external connectivity on endpoint, iptables:No chain by that name
  2. matlab节约里程法_芳烃产业链里程碑:唐山旭阳30万吨/年苯乙烯项目一次性开车成功...
  3. 2019年最新最全运维技能图谱
  4. try/catch的用法
  5. spring resource
  6. 学Java后未来发展方向和前景怎么样?
  7. 互斥锁pthread_mutex_t的使用
  8. 小天才被限定使用时长的应用_家庭腕上社交新场景,OPPO Watch、小天才开启暖心联动...
  9. c语言将数据写入文件后乱码_html文件的下载,如何使用字节流,如何使用转换流...
  10. duilib入门简明教程 -- 前言(1)
  11. nyoj--49--开心的小明(背包)
  12. 联想y7000p不识别耳机,联想y7000插上耳机没有声音
  13. Acrel 2000E/G配电室综合监控系统
  14. RayTrace2:如何添加反射光线的衰减效果
  15. mysql存储过程 插数据_mysql 使用存储过程批量插数据
  16. 基于SSH的在线问卷调查系统的设计与实现
  17. 对于硬盘做了raid的Windows server 2016服务器重置密码
  18. 惠普服务器dl388g7光盘引导,hp dl388g7 无光驱怎么安装系统
  19. UVM:一个简易验证平台例子
  20. Monkey测试教程

热门文章

  1. Bootstrap 多媒体对象(Media Object)
  2. C++ 日期 时间
  3. Vue 组件(二)父组件与子组件传递数据 之props
  4. html简单实现下拉菜单
  5. 【Swing 3】布局管理器与简单的聊天界面
  6. 找到驱动精灵屏幕保护图片
  7. Atitit 信息系统安全法 目录 1. 常见的安全保护目标 1 2. WEB安全风险行为 2 2.1. Injection 2 2.2. Broker Authentication损坏的身份验证
  8. Atitit 循环处理的新特性 for...else...
  9. Atitit 基于sql编程语言的oo面向对象大规模应用解决方案attilax总结
  10. Atitit paip.对象方法的实现原理与本质.txt