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

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6185|回复: 4
打印 上一主题 下一主题

寻找包络线

[复制链接]

6

主题

8

帖子

63

积分

版主

Rank: 7Rank: 7Rank: 7

积分
63
跳转到指定楼层
楼主
发表于 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])
回复

使用道具 举报

6

主题

8

帖子

63

积分

版主

Rank: 7Rank: 7Rank: 7

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 20:18 , Processed in 0.082332 second(s), 18 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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