声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1933|回复: 9

[HHT] 关于emd的包络线问题

[复制链接]
发表于 2017-7-15 10:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我已经有镜像延拓的子程序和窗函数了,我在论文上看到说可以通过加窗函数改进镜像延拓的效果,我不知道怎么加这个窗函数,求一段这样的代码,学习。谢谢了
回复
分享到:

使用道具 举报

发表于 2017-7-17 14:13 | 显示全部楼层
  1. %% 窗函数测试
  2. function main
  3. clc
  4. close all
  5. Ts = 0.001;
  6. Fs = 1/Ts;
  7. %% 原始信号
  8. t = 0:Ts:pi/2;
  9. yt = sin(2*pi*5*t) + sin(2*pi*10*t) + sin(2*pi*15*t);
  10. [Yf, f] = Spectrum_Calc(yt, Fs);
  11. figure
  12. subplot(211)
  13. plot(t, yt)
  14. xlabel('t')
  15. ylabel('y')
  16. title('原始信号')
  17. subplot(212)
  18. plot(f, Yf)
  19. xlabel('f')
  20. ylabel('|Yf|')
  21. xlim([0 100])
  22. ylim([0 1])
  23. title('原始信号频谱')
  24. %% 加窗信号
  25. win = hann(length(t));
  26. yt1 = yt.*win';
  27. [Yf1, f1] = Spectrum_Calc(yt1, Fs);
  28. figure
  29. subplot(211)
  30. plot(t, yt1)
  31. xlabel('t')
  32. ylabel('y')
  33. title('加窗信号')
  34. subplot(212)
  35. plot(f1, 2*Yf1) % 2表示能量系数
  36. xlabel('f')
  37. ylabel('|Yf|')
  38. xlim([0 100])
  39. ylim([0 1])
  40. title('加窗信号频谱')
  41. end
  42. %% 求取频谱
  43. function [Yf, f] = Spectrum_Calc(yt, Fs)
  44. L = length(yt);
  45. NFFT = 2^nextpow2(L);
  46. Yf = fft(yt,NFFT)/L;
  47. Yf = 2*abs(Yf(1:NFFT/2+1));
  48. f = Fs/2*linspace(0,1,NFFT/2+1);
  49. end
复制代码
 楼主| 发表于 2017-7-17 16:21 | 显示全部楼层
亲,我可以加你qq或者你加我,我想单独向你请教几个问题,可以吗?我的qq1751214238
 楼主| 发表于 2017-7-17 16:22 | 显示全部楼层
亲,我可以加你qq,私下问你几个问题吗?emd算法对我来说压力有点大,我的qq1751214238

点评

有什么问题 在论坛里讨论就行  详情 回复 发表于 2017-7-19 15:05
发表于 2017-7-19 15:05 | 显示全部楼层
yx2012042217 发表于 2017-7-17 16:22
亲,我可以加你qq,私下问你几个问题吗?emd算法对我来说压力有点大,我的qq1751214238

有什么问题  在论坛里讨论就行
发表于 2017-7-19 17:30 | 显示全部楼层
本帖最后由 dingdingysu 于 2017-7-19 17:31 编辑

加窗改进延拓效果,可能考虑的是,不管怎么延拓,最终数据仍然是发散的,加窗之后,起始点和终点数据就收敛到0了,也许可以改变EMD的分解效果。步骤就是先延拓波形,然后按照2楼作者直接加窗就可以。窗函数可以选择余弦窗等。
 楼主| 发表于 2017-7-19 20:16 | 显示全部楼层
亲,我可以加你扣扣私聊吗
 楼主| 发表于 2017-7-19 20:29 | 显示全部楼层
我想要实现这个步骤,可以指导我一下吗
 楼主| 发表于 2017-7-19 20:29 | 显示全部楼层
我想实现这个步骤,你们可以帮我吗
QQ图片20170719202426.png
 楼主| 发表于 2017-7-19 20:40 | 显示全部楼层
function [y]=win(N,A)
%  论文中定义的特殊窗函数
%---------
%N  为窗口长度 这里指延拓后的信号长度N=length(x);
%   A  信号延拓部分
k=0:1:N-1;
k=k.';
x1=0.5*(1-cos(2*pi*k/(N-1)));
x1=x1.*(k>=0&k<=A);
x1=x1/max(abs(x1));
%-----
x2=1;
x2=x2.*(k>A&k<N-A);
%----
x3=0.5*(1-cos(2*pi*k/(N-1)));
x3=x3.*(k>=N-A&k<=N);
x3=x3/max(abs(x3));
y=x1+x2+x3;
end
这是窗函数
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 11:28 , Processed in 0.071429 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表