Code covered by the BSD License  

Highlights from
The Waveform Suite for MATLAB

5.0 | 2 ratings Rate this file 55 Downloads (last 30 days) File Size: 191 KB File ID: #23809
image thumbnail

The Waveform Suite for MATLAB



16 Apr 2009 (Updated )

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

| Watch this File

File Information

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 (via the BRTT Antelope toolbox), Winston databases, the IRIS-DMC, 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:

The Waveform Suite and related codes can also be discussed at:

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

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7.10 (R2010a)
Other requirements Access to Antelope databases, Winston Wave-Servers, and the IRIS-DMC archive all require additional libraries (see docs). MATLAB exchange File ID:11368, for log-scaled spectrograms. Signal processing toolbox required for spectralobject and filtfilt.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (3)
25 Sep 2014 Andre

Andre (view profile)

This toolbox is very useful to me, for my school works, but, i'm new in Matlab, can you tell me how i can use this toolbox?

17 Jan 2012 Tim

Tim (view profile)

03 Jan 2011 Celso Reyes

Waveform Suite News: An article describing the Waveform Suite appears in the Jan/Feb 2011 edition of Seismological Research Letters, in the Electronic Seismologist column.

Reyes, C. G. and West, M. E., 2011. "The Waveform Suite: A Robust Platform for Manipulating Waveforms in MATLAB", SRL 82 (1) 104-110.

Please, feel free to reference that if you find this program helpful to your research.
Thank you,

Comment only
17 Apr 2009

README file has been updated (4/17), located in @waveform/
It is also available to view online from the download page:

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.

02 Apr 2010

Improved waveform's handling of multi-dimensional cell dates,
added a waveform/legend function, added "builtin" resample method, fixed a datasource/getfilename issue, and fixed a cell vs string problem with load_seisan.

27 Apr 2010

Corrected an issue where the waveform constructor might not be able to parse dates.

03 May 2010

updated the "Other requirements" to reflect spectralobject's and filterobject's dependence upon the hanning.m and butter.m from the signal processing toolbox

03 Jan 2011

r258 includes fixes to dates, history, extract (eliminating possible 1-extra datapoint at end of timeseries), and an error generated when creating a specgram from a single waveform.

06 Feb 2012

Variety of bug fixes and improvements (see @waveform/readme). Details of changes are available at the GISMO development site,

06 Feb 2012

This version also can access waveforms from the IRIS-DMC, using the IRIS-WS java library. More information is available from:

Contact us