EMD分解的流程图如下(共8页).doc

上传人:飞****2 文档编号:14482809 上传时间:2022-05-04 格式:DOC 页数:8 大小:327.50KB
返回 下载 相关 举报
EMD分解的流程图如下(共8页).doc_第1页
第1页 / 共8页
EMD分解的流程图如下(共8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《EMD分解的流程图如下(共8页).doc》由会员分享,可在线阅读,更多相关《EMD分解的流程图如下(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 用户名 Email1.什么是HHT?HHT就是先将信号进行经验模态分解(EMD分解),然后将分解后的每个IMF分量进行Hilbert变换,得到信号的时频属性的一种时频分析方法。2.EMD分解的步骤。EMD分解的流程图如下:3.实例演示。给定频率分别为10Hz和35Hz的两个正弦信号相叠加的复合信号,采样频率fs=2048Hz的信号,表达式如下:y=5sin(2*pi*10t)+5*sin(2*pi*35t)(1)为了对比,先用fft对求上述信号的幅频和相频曲线。 1. function fftfenxi2. clear;clc;3. N=2048;4. %fft默认

2、计算的信号是从0开始的5. t=linspace(1,2,N);deta=t(2)-t(1);1/deta6. x=5*sin(2*pi*10*t)+5*sin(2*pi*35*t);7. % N1=256;N2=512;w1=0.2*2*pi;w2=0.3*2*pi;w3=0.4*2*pi;8. % x=(t=-200&t-200+N1*deta&t-200+N2*deta&t=200).*sin(w3*t);9. y = x;10. m=0:N-1;11. f=1./(N*deta)*m;%可以查看课本就是这样定义横坐标频率范围的12. %下面计算的Y就是x(t)的傅里叶变换数值13. %

3、Y=exp(i*4*pi*f).*fft(y)%将计算出来的频谱乘以exp(i*4*pi*f)得到频移后-2,2之间的频谱值14. Y=fft(y);15. z=sqrt(Y.*conj(Y);16. plot(f(1:100),z(1:100);17. title(幅频曲线)18. xiangwei=angle(Y);19. figure(2)20. plot(f,xiangwei)21. title(相频曲线)22. figure(3)23. plot(t,y,r)24. %axis(-2,2,0,1.2)25. title(原始信号)复制代码(2)用Hilbert变换直接求该信号的瞬时频

4、率 1. clear;clc;clf;2. %假设待分析的函数是z=t33. N=2048;4. %fft默认计算的信号是从0开始的5. t=linspace(1,2,N);deta=t(2)-t(1);fs=1/deta;6. x=5*sin(2*pi*10*t)+5*sin(2*pi*35*t);7. z=x;8. hx=hilbert(z);9. xr=real(hx);xi=imag(hx);10. %计算瞬时振幅11. sz=sqrt(xr.2+xi.2);12. %计算瞬时相位13. sx=angle(hx);14. %计算瞬时频率15. dt=diff(t);16. dx=dif

5、f(sx);17. sp=dx./dt;18. plot(t(1:N-1),sp)19. title(瞬时频率)20.复制代码小结:傅里叶变换不能得到瞬时频率,即不能得到某个时刻的频率值。Hilbert变换是求取瞬时频率的方法,但如果只用Hilbert变换求出来的瞬时频率也不准确。(出现负频,实际上负频没有意义!)(3)用HHT求取信号的时频谱与边际谱 1. function HHT2. clear;clc;clf;3. N=2048;4. %fft默认计算的信号是从0开始的5. t=linspace(1,2,N);deta=t(2)-t(1);fs=1/deta;6. x=5*sin(2*p

6、i*10*t)+5*sin(2*pi*35*t);7. z=x;8. c=emd(z);9.10. %计算每个IMF分量及最后一个剩余分量residual与原始信号的相关性11. m,n=size(c);12. for i=1:m;13. a=corrcoef(c(i,:),z);14. xg(i)=a(1,2);15. end16. xg;17.18. for i=1:m-119. %-20. %计算各IMF的方差贡献率21. %定义:方差为平方的均值减去均值的平方22. %均值的平方23. %imfp2=mean(c(i,:),2).224. %平方的均值25. %imf2p=mean(c

7、(i,:).2,2)26. %各个IMF的方差27. mse(i)=mean(c(i,:).2,2)-mean(c(i,:),2).2;28. end;29. mmse=sum(mse);30. for i=1:m-131. mse(i)=mean(c(i,:).2,2)-mean(c(i,:),2).2; 32. %方差百分比,也就是方差贡献率33. mseb(i)=mse(i)/mmse*100;34. %显示各个IMF的方差和贡献率35. end;36. %画出每个IMF分量及最后一个剩余分量residual的图形37. figure(1)38. for i=1:m-139. disp(

8、imf,int2str(i) ;disp(mse(i) mseb(i);40. end;41. subplot(m+1,1,1)42. plot(t,z)43. set(gca,fontname,times New Roman)44. set(gca,fontsize,14.0)45. ylabel(signal,Amplitude)46.47. for i=1:m-148. subplot(m+1,1,i+1);49. set(gcf,color,w)50. plot(t,c(i,:),k)51. set(gca,fontname,times New Roman)52. set(gca,fo

9、ntsize,14.0)53. ylabel(imf,int2str(i)54. end55. subplot(m+1,1,m+1);56. set(gcf,color,w)57. plot(t,c(m,:),k)58. set(gca,fontname,times New Roman)59. set(gca,fontsize,14.0)60. ylabel(r,int2str(m-1)61.62. %画出每个IMF分量及剩余分量residual的幅频曲线63. figure(2)64. subplot(m+1,1,1)65. set(gcf,color,w)66. f,z=fftfenxi(

10、t,z);67. plot(f,z,k)68. set(gca,fontname,times New Roman)69. set(gca,fontsize,14.0)70. ylabel(initial signal,int2str(m-1),Amplitude)71.72. for i=1:m-173. subplot(m+1,1,i+1);74. set(gcf,color,w)75. f,z=fftfenxi(t,c(i,:);76. plot(f,z,k)77. set(gca,fontname,times New Roman)78. set(gca,fontsize,14.0)79.

11、 ylabel(imf,int2str(i),Amplitude)80. end81. subplot(m+1,1,m+1);82. set(gcf,color,w)83. f,z=fftfenxi(t,c(m,:);84. plot(f,z,k)85. set(gca,fontname,times New Roman)86. set(gca,fontsize,14.0)87. ylabel(r,int2str(m-1),Amplitude)88.89. hx=hilbert(z);90. xr=real(hx);xi=imag(hx);91. %计算瞬时振幅92. sz=sqrt(xr.2+

12、xi.2);93. %计算瞬时相位94. sx=angle(hx);95. %计算瞬时频率96. dt=diff(t);97. dx=diff(sx);98. sp=dx./dt;99. figure(6)100. plot(t(1:N-1),sp)101. title(瞬时频率)102.103. %计算HHT时频谱和边际谱104. A,fa,tt=hhspectrum(c);105. E,tt1=toimage(A,fa,tt,length(tt);106. figure(3)107. disp_hhs(E,tt1) %二维图显示HHT时频谱,E是求得的HHT谱108. pause109.

13、figure(4)110. for i=1:size(c,1)111. faa=fa(i,:);112. FA,TT1=meshgrid(faa,tt1);%三维图显示HHT时频图113. surf(FA,TT1,E)114. title(HHT时频谱三维显示)115. hold on116. end117. hold off118. E=flipud(E);119. for k=1:size(E,1)120. bjp(k)=sum(E(k,:)*1/fs; 121. end122. f=(1:N-2)/N*(fs/2);123. figure(5)124. plot(f,bjp);125.

14、xlabel(频率 / Hz);126. ylabel(信号幅值);127. title(信号边际谱)%要求边际谱必须先对信号进行EMD分解128.129. function A,f,tt = hhspectrum(x,t,l,aff)130.131. error(nargchk(1,4,nargin);132.133. if nargin 2134.135. t=1:size(x,2);136.137. end138.139. if nargin 3140.141. l=1;142.143. end144.145. if nargin 4146.147. aff = 0;148.149. e

15、nd150.151. if min(size(x) = 1152. if size(x,2) = 1153. x = x;154. if nargin = 0214. error(inf doit etre 0)215. end216.217. M=max(max(im);218.219. im = log10(im/M+1e-300);220.221. inf=inf/10;222.223.224. imagesc(t,fliplr(1:size(im,1)/(2*size(im,1),im,inf,0);225. set(gca,YDir,normal)226. xlabel(time)2

16、27. ylabel(normalized frequency)228. title(Hilbert-Huang spectrum)229. function f,z=fftfenxi(t,y)230. L=length(t);N=2nextpow2(L);231. %fft默认计算的信号是从0开始的232. t=linspace(t(1),t(L),N);deta=t(2)-t(1);233. m=0:N-1;234. f=1./(N*deta)*m;235. %下面计算的Y就是x(t)的傅里叶变换数值236. %Y=exp(i*4*pi*f).*fft(y)%将计算出来的频谱乘以exp(i

17、*4*pi*f)得到频移后-2,2之间的频谱值237. Y=fft(y);238. z=sqrt(Y.*conj(Y);239.240.241.242.复制代码4.总结。(1)边际谱与傅里叶谱的比较: 意义不同:边际谱从统计意义上表征了整组数据每个频率点的累积幅值分布,而傅里叶频谱的某一点频率上的幅值表示在整个信号里有一个含有此频率的三角函数组分。 作用不同:边际谱可以处理非平稳信号,如果信号中存在某一频率的能量出现,就表示一定有该频率的振动波出现,也就是说,边际谱能比较准确地反映信号的实际频率成分。而傅里叶变换只能处理平稳信号。(2) HHT与Hilbert变换的比较: Hilbert变换只是单纯地求信号的瞬时振幅,频率和相位,有可能出现没有意义的负频率;HHT变换先将信号进行EMD分解,得到的是各个不同尺度的分量,对每一个分量进行Hilbert变换后得到的是有实际意义的瞬时频率。PS:运行上面的程序需要装时频工具箱,我仅将用到的emd分解的程序贴到下面。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁