⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cenvelope.m

📁 经验模式分解源码 学习希尔波特黄变换的参考程序 源于Internet网络
💻 M
字号:
%CENVELOPE  computes envelope curves for bivariate EMD%% [env, mean] = CENVELOPE(t,x,ndirs,interp) computes envelope curves for bivariate EMD [1] %% inputs : - x: analyzed signal%          - t (optional): sampling times, default 1:length(x)%          - ndirs: number of directions used to compute the mean (default: 4)%              rem: the actual number of directions according to the paper is 2*ndirs%          - interp (optional): interpolation scheme: 'linear', 'cubic' or 'spline' (default)%% outputs : - env: each stands for an envelope curve sustaining the tube envelope of%                  the complex signal%           - mean = mean of the envelope curves (corresponding to the first algorithm in the paper)%% use: env = cenvelope(x);%      env = cenvelope(x,ndirs);%      env = cenvelope(t,x,ndirs);%      env = cenvelope(x,8,'linear');%      env = cenvelope(t,x,8,'cubic');%%% [1] G. Rilling, P. Flandrin, P. Gon鏰lves and J. M. Lilly.,% "Bivariate Empirical Mode Decomposition",% Signal Processing Letters (submitted)%% See also%  cemd_disp (visualization)%  emd (EMD and bivariate EMD)%  cemdc, cemdc_fix, cemdc2, cemdc2_fix (fast implementations of bivariate EMD)%% G. Rilling, last modification 3.2007% gabriel.rilling@ens-lyon.frfunction [env,envmoy] = cenvelope(t,x,Nphases,INTERP)NBSYM = 2;DEF_INTERP = 'spline';if nargin < 2    x = t;    t = 1:length(x);endif nargin >= 2    if isscalar(x)        if nargin == 3          INTERP = Nphases;        end        Nphases = x;        x = t;        t = 1:length(x);    endendif ~exist('INTERP','var')    INTERP = DEF_INTERP;endif ~exist('Nphases','var')    Nphases = 4;endfor k = 1:Nphases    phi = (k-1)*pi/Nphases;    y = real(exp(-i*phi)*x);    [im,iM] = extr(y);    [tmin,tmax,zmin,zmax] = boundary_conditions_emd(im,iM,t,y,x,NBSYM);    envmin(k,:) = interp1(tmin,zmin,t,INTERP);    envmax(k,:) = interp1(tmax,zmax,t,INTERP);endenv=[envmin;envmax];    if nargout == 2  envmoy = mean(envmax + envmin,1)/2;endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -