Be the first to rate this file! 163 downloads (last 30 days) File Size: 173.81 KB File ID: #23809

The Waveform Suite for MATLAB

by Celso Reyes

 

16 Apr 2009 (Updated 13 Mar 2010)

Code covered by the BSD License  

Allows seismic data retrieval from varied sources and simplified creation of sophisticated programs

Download Now | Watch this File

File Information
Description

The waveform suite is designed to allow easy data retrieval from a variety of sources and to make basic waveform research quick and easy. It is a toolset that allows the creation of more sophisticated programs without having to be concerned with all details. Features include:
    * History feature tracks changes to your waveforms
    * Plotting tools for waveforms
    * Waveforms work for any regularly sampled data stream
    * Mathematical functions make manipulating easier: +, -, /, .*, .^
    * Standard manipulations: filter, crop, subset, subset, stack, normalize, automatic gain control, demean, detrend, taper, etc.
    * Statistics: max, min, mean, median, etc.
    * Waveform operations: hilbert transform, integration and differentiation
    * Operates N-dimensional waveforms (in most cases without requiring loops)
    * Object architecture provides a stable base for writing more complex programs

Data can be imported from Antelope databases (requires the BRTT Antelope toolbox), Winston databases, SAC files, SEISAN, .mat files, or your own homegrown file format. With minimal coding, most any homegrown MATLAB format can take advantage of waveform architecture. The core suite consists of a scnlobject class, a datasource class, and the waveform class.
Two basic additional utility classes come with the waveform toolbox: filterobject and spectralobject. Filterobject allows easy filtering. Spectralobject allows easy manipulation of parameters used to create spectrograms.

The waveform suite:
    * makes playing with data easier by automating the tedious aspects of data manipulation
    * makes programs more stable by ensuring proper data typing
    * makes code more portable by reading multiple formats and functioning on multiple systems
    * makes troubleshooting faster by providing more detailed messages and warnings

Additional information can be found from the online examples and help files at:
http://kiska.giseis.alaska.edu/Input/celso/matlabweb/waveform_suite/waveform.html

The Waveform Suite and related codes can also be discussed at:
http://groups.google.com/group/gismotools

If you find this program useful, and you'd like to reference it, please reference: Reyes, C. G., M. E. West, S. R. McNutt (2009), The Waveform Suite: A robust platform for accessing and manipulating seismic waveforms in MATLAB, Eos Trans. AGU, 90 (52), Fall Meet. Suppl, Abstract S11B-1704

As always, Comments are welcome, as are reviews and bug reports. Thanks!

MATLAB release MATLAB 7.9 (2009b)
Other requirements Antelope Toolbox (for interaction with Antelope databases), appropriate JAVA libraries for accessing a winston wave server. MATLAB exchange File ID:11368 is required to do log-scaled spectrograms
Zip File Content  
Other Files
@datasource/datasource.m,
@datasource/disp.m,
@datasource/display.m,
@datasource/get.m,
@datasource/getfilename.m,
@datasource/isunassigned.m,
@datasource/load_file.m,
@datasource/load_objects_from_file.m,
@datasource/loadobj.m,
@datasource/private/void_interpreter.m,
@datasource/query_file.m,
@datasource/requires_file.m,
@datasource/setfile.m,
@datasource/setinterpreter.m,
@datasource/subdivide_files_by_date.m,
@filterobject/disp.m,
@filterobject/display.m,
@filterobject/filterobject.m,
@filterobject/filtfilt.m,
@filterobject/get.m,
@filterobject/set.m,
@scnlobject/disp.m,
@scnlobject/display.m,
@scnlobject/eq.m,
@scnlobject/get.m,
@scnlobject/ismember.m,
@scnlobject/scnlobject.m,
@scnlobject/set.m,
@scnlobject/uiscnlobject.m,
@scnlobject/uiscnlobject.mat,
@scnlobject/unique.m,
@spectralobject/colorbar_axis.m,
@spectralobject/disp.m,
@spectralobject/display.m,
@spectralobject/fft.m,
@spectralobject/get.m,
@spectralobject/getmap.m,
@spectralobject/ifft.m,
@spectralobject/loadobj.m,
@spectralobject/private/parse_xunit.m,
@spectralobject/private/subdivide_axes.m,
@spectralobject/pwelch.m,
@spectralobject/set.m,
@spectralobject/setmap.m,
@spectralobject/specgram.m,
@spectralobject/specgram2.m,
@spectralobject/spectralobject.m,
@spectralobject/spwelch.m,
@waveform/abs.m,
@waveform/addfield.m,
@waveform/addhistory.m,
@waveform/align.m,
@waveform/clearhistory.m,
@waveform/clip.m,
@waveform/combine.m,
@waveform/delfield.m,
@waveform/demean.m,
@waveform/detrend.m,
@waveform/diff.m,
@waveform/disp.m,
@waveform/display.m,
@waveform/double.m,
@waveform/extract.m,
@waveform/fillgaps.m,
@waveform/fix_data_length.m,
@waveform/get.m,
@waveform/getm.m,
@waveform/getpeaks.m,
@waveform/gettimerange.m,
@waveform/hilbert.m,
@waveform/history.m,
@waveform/integrate.m,
@waveform/isempty.m,
@waveform/isfield.m,
@waveform/ismember.m,
@waveform/loadobj.m,
@waveform/loadsac.m,
@waveform/max.m,
@waveform/mean.m,
@waveform/median.m,
@waveform/min.m,
@waveform/minus.m,
@waveform/mrdivide.m,
@waveform/mtimes.m,
@waveform/plot.m,
@waveform/plus.m,
@waveform/power.m,
@waveform/private/autoscale.m,
@waveform/private/dep2mep.m,
@waveform/private/getproperty.m,
@waveform/private/load_antelope.m,
@waveform/private/load_file.m,
@waveform/private/load_sac.m,
@waveform/private/load_seisan.m,
@waveform/private/load_winston.m,
@waveform/private/loadGlobalNamespace.m,
@waveform/private/marktimes.m,
@waveform/private/mep2dep.m,
@waveform/private/offset2time.m,
@waveform/private/parse_xunit.m,
@waveform/private/parseargs.m,
@waveform/private/property2varargin.m,
@waveform/private/readsacfile.m,
@waveform/private/rqbn.m,
@waveform/private/rqhd.m,
@waveform/private/sac2waveform.m,
@waveform/private/set_sacheader.m,
@waveform/private/time2offset.m,
@waveform/private/waveform2sacheader.m,
@waveform/private/writesac.m,
@waveform/rdivide.m,
@waveform/README.txt,
@waveform/resample.m,
@waveform/rms.m,
@waveform/savesac.m,
@waveform/set.m,
@waveform/sign.m,
@waveform/smooth.m,
@waveform/stack.m,
@waveform/std.m,
@waveform/subtime.m,
@waveform/taper.m,
@waveform/times.m,
@waveform/uminus.m,
@waveform/var.m,
@waveform/waveform.m,
@waveform/waveform2sound.m,
@waveform/waveformicon.gif,
license.txt,
uispecgram.fig,
uispecgram.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Updates
17 Apr 2009

README file has been updated (4/17), located in @waveform/
It is also available to view online from the download page:
http://www.giseis.alaska.edu/input/celso/matlabweb/waveform_suite/download.html

02 Sep 2009

Mostly, many fixes and modifications to how SAC files are treated. Data that is derivable from waveform is no longer duplicated in user fields. waveform/private sac-related m-files were updated and renamed. GISMO revision 136

19 Oct 2009

no software update at this time, only updating info about my AGU poster session (S11B-1704)

16 Feb 2010

Improved: speed, error handling, NaN support, help text; Added log specgram plots , cumtrapz integration; Upgraded NxM waveform (./,.*,-,+) NxM numeric (see help); Removed: outdated user doc outdated, lookupunits(antelope dependent)

17 Feb 2010

updated the waveform/readme.txt to reflect the great many changes that occurred in r206.

18 Feb 2010

fixed issue where saved waveforms were not successfully loaded. made history a field (instead of being stored in misc_fields).

13 Mar 2010

removed dependence upon statistics toolbox, (fixes mean/median/std/var issue), fixed where demean turns off history, overhauled specgram & specgram2 to allow multiple plots with additional options (see help), updated uispecgram.

Tag Activity for this File
Tag Applied By Date/Time
data import Celso Reyes 17 Apr 2009 10:15:17
earth science Celso Reyes 17 Apr 2009 10:15:17
seismology Celso Reyes 17 Apr 2009 10:15:17
signal processing Celso Reyes 17 Apr 2009 10:15:17
sac Celso Reyes 17 Apr 2009 10:15:17
seisan Celso Reyes 17 Apr 2009 10:15:17
antelope Celso Reyes 17 Apr 2009 10:15:17
time series Celso Reyes 17 Apr 2009 10:15:17
winston Celso Reyes 17 Apr 2009 10:15:17
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com