• 大小: 194KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: EEMD  EMD  MATLAB  

资源简介

集合经验模态分解(EEMD)经验模态分解(EMD)分解 Matlab 工具包

资源截图

代码片段和文件信息

%function [ndataa]=blocknormalize(data)

% The function BLOCKNORMALIZE normalizes each block of the input signal 
% as defined by zero crossings to have a maximum amplitude of 1.
%
% Suggestion: if the routine is needed than use it with caution.
disp(‘Using block-normalize are you sure?!‘)
disp(‘Slope discontinuous will happen in left and right side about a zero‘)
pause(2);    
%
% Calling sequence-
% [ndataa]=blocknormalize(data)
%
% Input-
% data - 2-D matrix data(nptncol) 
% Output-
% ndata - 2-D matrix of normalized data (FM)
%    a - 2-D matrix of envelope        (AM)
%
% Used by-
%  FA

%written by 
% Kenneth Arnold (NASA GSFC)    Summer 2003 Initial
% Kenneth Arnold (NASA GSFC) June 6 2004 Tweaked
%footnote: S.C.Su (2009/09/01)
%this code is with complex structurebut easy meanings
%just remember about some easy sentences
%“Blocks are defined as those segments between the  zero-crossing points“
%“Finding the extreme value in each blockthe value is the amplitude of this block“
%
%1.read the datacheck input matrix
%2.Do the normalization  for an IMF ---loop A start
  %3.checking each data value from the beginning point of each block----loop B start
    %4.read the sign (+-0) form starting of every block 
    %5. make judgement block by blockstart from point 1-----loop C start 
      %6.judge the value about its signdifferent sign means the end of this block
      %7.judge the value about its signthe same sign means still in the same block
    %5. make judgement block by blockstart from point 1-----loop C end 
  %3.checking each data value from the beginning point of each block----loop B end
%2.Do the normalization  for an IMF ---loop A end    
%
function [ndataa]=blocknormalize(data)

%1.read the datacheck input matrix
%----- Get the dimension
[nptncol] = size(data);

%----- Flip data if needed
flipped=0;
if (ncol > npt)
    data=data‘;
    [nptncol] = size(data);
    flipped=1;
end

%----- Initialize amplitude matrix
a = ones(nptncol);

%2.Do the normalization  for an IMF ---loop A start
%----- Process each column of data
for col=1:ncol
 
    i=1;
%3.checking each data value from the beginning point of each block----loop B start
    while (i<=npt)  
%4.read the sign (+-0) form starting of every block      
        blockSign = sign(data(icol)); %get blocksign : + or -or 0find it first
       
        % when zero is meetuse right-hand side sign as the blocksign for it
        while (blockSign == 0 & i < npt) % handle zero case 
            i=i+1;
            blockSign = sign(data(icol));
        end
    
       
  if (i==npt)
   break; %after all values are checkedthis if help to stop “while“
    end
   
%5. make judgement block by blockstart from point 1-----loop C start 
        blockExtr = 0; % extreme value (maximum or minimum)
        
        
        %----- Find the end of this block and its extreme value
        for (j=i:npt) %this block from (i~j)
            j; %the jth value is the value that we are 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-10-01 14:19  Matlab runcode\
     文件        4316  2009-10-08 01:34  Matlab runcode\blocknormalize.m
     文件        5770  2009-10-08 16:07  Matlab runcode\confidenceLine.m
     文件        2115  2009-10-08 16:07  Matlab runcode\dist_value.m
     文件        5276  2009-10-08 15:59  Matlab runcode\eemd.m
     文件         853  2009-10-08 15:37  Matlab runcode\emax.m
     文件         867  2009-10-08 15:36  Matlab runcode\emin.m
     文件        9997  2009-10-08 16:52  Matlab runcode\endprocess1.m
     文件        1296  2009-11-25 13:16  Matlab runcode\endprocess1.p
     文件        5152  2009-10-13 21:40  Matlab runcode\ex02d.m
     文件        4361  2009-10-08 15:59  Matlab runcode\extrema.m
     文件        7935  2009-10-27 04:03  Matlab runcode\fa.m
     文件        3356  2009-10-08 01:39  Matlab runcode\FAacos.m
     文件        3013  2009-10-21 16:40  Matlab runcode\FAcosfor.m
     文件        1528  2009-10-08 01:42  Matlab runcode\FAhilbert.m
     文件        1603  2009-10-27 04:11  Matlab runcode\FAimphilbert.m
     文件        7896  2009-10-08 01:42  Matlab runcode\FAquadrature.m
     文件        6695  2009-10-08 01:38  Matlab runcode\FAzc.m
     文件        3103  2009-10-08 15:46  Matlab runcode\findcriticalpoints.m
     文件        6536  2009-10-08 16:41  Matlab runcode\findEE.m
     文件       11957  2009-10-12 01:41  Matlab runcode\findEEfsp.m
     文件       13153  2009-10-11 12:08  Matlab runcode\fspecial.m
     文件        3794  2009-10-12 00:01  Matlab runcode\FSPHSP.m
     文件        2207  2009-10-11 16:47  Matlab runcode\hilbert.m
     文件        1683  2009-10-08 01:37  Matlab runcode\hilbertnormalize.m
     文件       18846  2009-10-27 04:06  Matlab runcode\hilbtm.m
     文件        3502  2009-10-08 15:58  Matlab runcode\ifndq.m
     文件        3610  2009-10-08 01:36  Matlab runcode\linearnormalize.m
     文件        2614  2009-10-09 00:36  Matlab runcode\local_max.m
     文件      319505  2009-06-08 13:25  Matlab runcode\LOD-imf.csv
     文件       29021  2002-09-25 14:23  Matlab runcode\LOD78.csv
............此处省略15个文件信息

评论

共有 条评论