资源简介
学习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个文件信息
- 上一篇:二极管不可控整流电路仿真
- 下一篇:基于线性支持向量机的水天线检测
相关资源
- Matlab实现小波去噪
- SAR 三点目标仿真及RD算法 MATLAB程序
- pLSA的Matlab代码
- 802.11awlan物理层的matlab仿真源码.rar
- LMS算法学习曲线的matlab仿真
- 一些比较经典的MATLABgui界面的,对指
- 单相pwm整流器MATLAB仿真
- MATLAB数字图像处理张德丰源代码
- 机械臂避障程序
- 机器人避障matlab算法
- 二级倒立摆matlab运行模型
- MATLAB实现基于BP神经网络英文字母识别
- matlab 图像提取中心线
- 基于DTW的全局平均方法(求解平均序
- matlab实现DTW算法
- 利用matlab实现dtw
- matlab读取avi的程序
- OFDMmatlab源码
- 完美的光伏发电模型 mppt都有 matlab
- 用MATLAB实现m序列的加扰与解扰
- 非局部均值去噪matlab源码
- 三维射线追踪
- 复杂电磁环境下的抗干扰建模
- OFDMA matlab仿真程序
- 基于matlab的数字滤波器的有限字长效
- 基于BP神经网络的手写体数字识别
- Matlab信源编码huffman
- ExOR算法 的 matlab 实现
- SUSAN 角点检测 matlab代码
- rs编译码程序MATLAB
评论
共有 条评论