fastest_emd
所属分类:matlab编程
开发工具:matlab
文件大小:3300KB
下载次数:232
上传日期:2008-11-20 09:02:59
上 传 者:
aikudo
说明: fastest algorithm to find EMD.
文件列表:
fastest_emd\COPYRIGHT.txt (965, 2007-03-13)
fastest_emd\disclaimer2.txt (3019, 2007-03-13)
fastest_emd\ex1_fig1.jpg (150144, 2006-08-04)
fastest_emd\ex1_fig2.jpg (121302, 2006-08-04)
fastest_emd\ex1_fig3.jpg (100572, 2006-08-04)
fastest_emd\example1.m (3290, 2007-03-13)
fastest_emd\example2.m (1446, 2007-03-13)
fastest_emd\extr.m (2583, 2007-03-13)
fastest_emd\extr2.m (2297, 2007-03-13)
fastest_emd\fhilbert.m (3000, 2007-03-13)
fastest_emd\fidelity_error.m (2532, 2007-03-13)
fastest_emd\IMFpick.m (1618, 2007-03-13)
fastest_emd\line15.mat (2592888, 2006-08-04)
fastest_emd\line15.txt (4379394, 2006-08-04)
fastest_emd\mat_emd.m (1687, 2007-03-13)
fastest_emd\semd.m (9723, 2007-03-13)
fastest_emd\splaid.m (3447, 2007-03-13)
fastest_emd (0, 2008-11-19)
These codes were developed using matlab 6.0 under Linux. They have been
successfully run on all versions of matlab >6.0 and on all operating systems.
They can be quite memory intensive (and slow) if using a large time series.
A quick test of these codes is run using the file example1.m
imf = example1; or imf = example1(t,x);
this runs a synthetic example or runs on user provided data
(type 'help example1' at matlab's command prompt for more information)
A much longer test is also provided to demonstrate the use of EMD for
time-domain filtering. See the help for example2.m (type 'help example2').
example2;
this loads a matlab file, line15.mat, or an ASCII file, line15.txt, and
performs the EMD on every seismic trace in the file. The ASCII file contains
two-way travel time in column 1, followed by trace data in every additional
column. Once loaded, the emd is performed using mat_emd.m, and the user
(after a long time) is allowed to interactively select which cumulative-sum
IMFs best represent their desired output.
Additional help can be found while running matlab by typing 'help function.m'
where function.m is the script of interest.
The general application of these codes is as follows:
To perform the Empirical Mode Decomposition
imf = semd(x,nIMFs,nITS);
inputs:
x = time series to decompose
nIMFS = max number of IMFs to produce
nITS = max number of iterations for sifting
outputs:
imf = IMFs for x
To perform the EMD on a matrix
[imf,cumimf] = mat_emd(X,nIMFs,nITS);
inputs:
X = matrix of several time series to decompose,
one column per signal
nIMFS = max number of IMFs to produce
nITS = max number of iterations for sifting
outputs:
imf = bank of IMFs for each X
cumimf = cumulative-sum bank of IMFs for each X
To select filtered traces from the outputs from mat_emd
[y,index] = IMFpick(X,t,cumimf,scale);
inputs:
X = same as in mat_emd above
t = single column vector of times for each sample in X
cumimf = cumulative-sum IMFs from mat_emd above
scale = optional t^n scaling factor. [] for no scaling
outputs:
y = EMD-filtered data
index = number of IMFs used to produce each 'y'
To perform the Hilbert-Huang Transform (after completing the EMD)
[omega,amp,mag,phase,w] = fhilbert(imf,t0,tf,H);
inputs:
imf = IMFs from semd.m
t0 = start time for series in seconds
tf = stop time for series in seconds
H = set to [] or type 'help fhilbert' in matlab for more information
outputs:
omega = instantaneous frequency as a function of time
amp = instantaneous amplitude as a function of time
mag = time-frequency amplitude matrix
(another form of omega(t) and amp(t)
phase = instantaneous phase as a function of time
w = frequencies for which 'mag' was calculated
All other files are called from within.
A sample data file (line15.mat) is included to test these codes. Type
'load line15.mat' in matlab and a matrix of seismic traces will be loaded
into memory (one trace per column)
*** The official signal processing toolbox for matlab is required.
Bradley M. Battista
University of South Carolina
Department of Geological Sciences
701 Sumter Street, EWS 617
Columbia, SC. 29208
COPYRIGHT: see the associated COPYRIGHT.txt file, and also
http://software.seg.org/disclaimer2.txt
This source code may be found online at:
http://software.seg.org/2007/0003
近期下载者:
相关文件:
收藏者: