52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2380|回复: 4

寻找包络线

[复制链接]

6

主题

7

帖子

60

积分

版主

Rank: 7Rank: 7Rank: 7

积分
60
发表于 2015-5-26 19:48:56 | 显示全部楼层 |阅读模式
close all
fs=30;
t=0:1/fs:200;
x6=sin(2*pi*2*t)+sin(2*pi*4*t);
x6 = x6 + randn(1, length(x6));
% 包络算法,未考虑边界条件
d = diff(x6);
n = length(d);
d1 = d(1:n-1);
d2 = d(2:n);
indmin = find(d1.*d2<0 & d1<0)+1;
indmax = find(d1.*d2<0 & d1>0)+1;
envmin = spline(t(indmin),x6(indmin),t);
envmax = spline(t(indmax),x6(indmax),t);
figure
hold on
plot(t,x6);
plot(t,envmin,'r');
plot(t,envmax,'m');
hold off
xlim([0 9])
回复

使用道具 举报

13

主题

33

帖子

229

积分

版主

Rank: 7Rank: 7Rank: 7

积分
229
发表于 2015-5-27 14:27:06 | 显示全部楼层
对于有毛刺的情况效果不好啊,怎么去噪声呢???
千娇百媚栏杆下,不敌东风一转身~~~
回复 支持 反对

使用道具 举报

6

主题

7

帖子

60

积分

版主

Rank: 7Rank: 7Rank: 7

积分
60
 楼主| 发表于 2015-5-27 14:29:06 | 显示全部楼层
matlab的小调 发表于 2015-5-27 14:27
对于有毛刺的情况效果不好啊,怎么去噪声呢???

先对原始数据做滤波,然后再寻找包络。
回复 支持 反对

使用道具 举报

3

主题

7

帖子

53

积分

版主

Rank: 7Rank: 7Rank: 7

积分
53
发表于 2015-6-11 15:26:50 | 显示全部楼层
楼主MATLAB哪个版本的,我按照你的代码运行不行哦,envmin = interp1(t(indmin),x6(indmin),t,'spline'); 用interp1插值才能出包络的效果
回复 支持 反对

使用道具 举报

0

主题

2

帖子

132

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
132
发表于 2015-6-11 17:20:38 | 显示全部楼层
风子师兄 发表于 2015-6-11 15:26
楼主MATLAB哪个版本的,我按照你的代码运行不行哦,envmin = interp1(t(indmin),x6(indmin),t,'spline');  ...

不会吧,你的版本spline都没有啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2019-11-19 01:02 , Processed in 0.066962 second(s), 19 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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