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

资源简介

学习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  2018-08-02 09:39  EMD_MATLAB_sourcecode\
     目录           0  2018-07-17 09:55  EMD_MATLAB_sourcecode\1\
     文件        4316  2009-10-08 01:34  EMD_MATLAB_sourcecode\blocknormalize.m
     文件        5770  2009-10-08 16:07  EMD_MATLAB_sourcecode\confidenceLine.m
     文件        2115  2009-10-08 16:07  EMD_MATLAB_sourcecode\dist_value.m
     文件        5276  2009-10-08 15:59  EMD_MATLAB_sourcecode\eemd.m
     文件         853  2009-10-08 15:37  EMD_MATLAB_sourcecode\emax.m
     文件         867  2009-10-08 15:36  EMD_MATLAB_sourcecode\emin.m
     文件        9997  2009-10-08 16:52  EMD_MATLAB_sourcecode\endprocess1.m
     文件        1296  2009-11-25 13:16  EMD_MATLAB_sourcecode\endprocess1.p
     文件        5152  2009-10-13 21:40  EMD_MATLAB_sourcecode\ex02d.m
     文件        4361  2009-10-08 15:59  EMD_MATLAB_sourcecode\extrema.m
     文件        7935  2009-10-27 04:03  EMD_MATLAB_sourcecode\fa.m
     文件        3356  2009-10-08 01:39  EMD_MATLAB_sourcecode\FAacos.m
     文件        3013  2009-10-21 16:40  EMD_MATLAB_sourcecode\FAcosfor.m
     文件        1528  2009-10-08 01:42  EMD_MATLAB_sourcecode\FAhilbert.m
     文件        1603  2009-10-27 04:11  EMD_MATLAB_sourcecode\FAimpHilbert.m
     文件        7896  2009-10-08 01:42  EMD_MATLAB_sourcecode\FAquadrature.m
     文件        6695  2009-10-08 01:38  EMD_MATLAB_sourcecode\FAzc.m
     文件        3103  2009-10-08 15:46  EMD_MATLAB_sourcecode\findcriticalpoints.m
     文件        6536  2009-10-08 16:41  EMD_MATLAB_sourcecode\findEE.m
     文件       11957  2009-10-12 01:41  EMD_MATLAB_sourcecode\findEEfsp.m
     文件       13153  2009-10-11 12:08  EMD_MATLAB_sourcecode\fspecial.m
     文件        3794  2009-10-12 00:01  EMD_MATLAB_sourcecode\FSPHSP.m
     文件        2207  2009-10-11 16:47  EMD_MATLAB_sourcecode\hilbert.m
     文件        1683  2009-10-08 01:37  EMD_MATLAB_sourcecode\hilbertnormalize.m
     文件       18846  2009-10-27 04:06  EMD_MATLAB_sourcecode\hilbtm.m
     文件        3502  2009-10-08 15:58  EMD_MATLAB_sourcecode\ifndq.m
     文件        3610  2009-10-08 01:36  EMD_MATLAB_sourcecode\linearnormalize.m
     文件        2614  2009-10-09 00:36  EMD_MATLAB_sourcecode\local_max.m
     文件      319505  2009-06-08 13:25  EMD_MATLAB_sourcecode\LOD-imf.csv
............此处省略24个文件信息

评论

共有 条评论