envelope包络与findpeaks求极值点包络对比

matlab 自带函数:function [upperEnv,lowerEnv] = envelope(x, n, method)
函数可使用三种方式计算:如下matlab帮助文档:

%   [YUPPER,YLOWER] = ENVELOPE(X,N,ENVTYPE) specifies the type of envelope
%   to return. The default is 'analytic':
%      'analytic' - returns the analytic envelope via an N-tap FIR filter
%      'rms'      - returns the RMS envelope of X over a sliding window
%                   of N samples.  
%      'peak'     - returns the peak envelope of the signal using a spline
%                   over local maxima separated by at least N points.

方法一:
peak:使用样条返回信号的峰值包络线(由至少N个点分隔的局部极大值)
方法二:
对比直接利用findpeaks函数查找峰值,然后用插值interp1得到包络线;

包络效果对比
N = length(x);
[pks,p]=findpeaks(x);
return=interp1([0 p N+1],[0 x§ 0],1:N,‘pchip’);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值