论坛首页    职业区    学术与写作    工程技术区    软件区    资料区    商务合作区    社区办公室
 您好! 欢迎 登录注册 最新帖子 邀请注册 活动聚焦 统计排行 社区服务 帮助
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
  • 3204阅读
  • 1回复

构造振荡信号时程光滑包络线的MEX程序 [复制链接]

上一主题 下一主题
离线grit
 
发帖
40
土币
2
威望
340
原创币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-06
envlp.rar (5 K) 下载次数:5 3'u%[bx E  
f>ED  
转个多年老帖,不知道是否还有人感兴趣 Zf]d'oW{/  
*[W!ng  
长久以来看见有不少朋友寻找构造信号时程光滑包络线的程序,网上有一些源程序,但是对振荡强烈信号好像无效(得到的包络线不够光滑),有人是用ORIGIN选PEAK的方法来构造,但是觉得自动化程度不够难于大规模操作,于是自己想了一下,编了个MATLAB程序把这个问题解决了(至少是满足了自己的需要),为了使更多的坛友受益,特将MEX程序(即那个DLL文件)共享一下,基本能满足大家的应用需要吧。 >0@X^o  
t}nZrD  
使用方法:将该DLL文件放到你的工作目录下,用下面的格式调用 fn#b3ee  
[up,down] = envlp(x,y,interpMethod) #hR}7K+@  
x、y分别为输入文件的X Y离散数据,为列向量即N×1矩阵 wOHK dQ'  
interpMethod 为插值方法,因为构造包络时,采用MATLAB插值函数INTERP1,这就是插值方法名,如‘linear’为线性插值 \RMYaI^+;  
up、down分别为为上包络和下包络输出数据文件文件,大小和 x y相同 faD(, H  
3{d1Jk/S  
!!!注:本程序是针对振荡强烈信号而设计的,对于一些平缓信号有可能无法正常运行,请采用前作一下数值试验,对于平缓信号(如低频谐波)的包络好像网上的一些公开源程序能解决,大家可以仔细找找;该程序的边界处理采用简单的直接等于第一个和最后一个数据点对应的Y值,部分需要专门进行边界处理分析(如EMD/HHT)的同仁请不要采用该程序来作包络处理!!! T"9`[Lzva  
1;vn*w`p  
再注:本DLL文件是基于MATLAB 6.5环境编译过来的,在MATLAB 7.0可能不一定能正确使用(因为这两个版本生成可执行文件和DLL文件的思路可能在MATLAB底层支持这个层面上存在差异)
=kZPd>&L  
B`RbXk68q  
6=A ++H @  
骑白马的不只是王子,还有唐僧;
长翅膀飞的不只是天使,还有鸟人......
离线grit
发帖
40
土币
2
威望
340
原创币
0
只看该作者 1楼 发表于: 2009-05-06
这是上面文件生成包络线的效果图
骑白马的不只是王子,还有唐僧;
长翅膀飞的不只是天使,还有鸟人......
快速回复
限100 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个

      浙公网安备 33010602003799号 浙ICP备14021682号-1

      工业和信息化部备案管理系统网站