Code covered by the BSD License  

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
The Waveform Suite for MATLAB

5.0 | 4 ratings Rate this file 56 Downloads (last 30 days) File Size: 191 KB File ID: #23809 Version: 1.13
image thumbnail

The Waveform Suite for MATLAB



16 Apr 2009 (Updated )

The Waveform Suite is now developed as part of the geoscience community codes, linked below.

| Watch this File

File Information

The Waveform Suite is now distributed as the core component of the GISMO project. More information and download links are available at
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!


This file inspired Geoscience Community Codes/Gismo.

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7.10 (R2010a)
MATLAB Search Path
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 (8)
06 Nov 2015 Glenn Thompson  
06 Nov 2015 Glenn Thompson

GISMO (of which The Waveform Suite is the core component) has now moved to:

We are building a wiki at:

- Glenn & Celso

Comment only
06 Nov 2015 Glenn Thompson

GISMO (of which The Waveform Suite is the core component) has now moved to:

We are building a wiki at:

- Glenn & Celso

Comment only
25 Sep 2015 Celso Reyes

With the closing of google code, development continues on the waveform suite on GitHub , where the waveform suite underpins GISMO. Right now the entire suite is undergoing renovation. The next stable version will be posted here. Then, I will split off a newer version which takes advantage of MATLAB's current object-oriented methods.

The next (NEW) version will very likely break backwards compatibility, but should be even easier to use.

Thanks for your support, and come visit on GitHub as well.
- Celso

Comment only
29 May 2015 thabangke  
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 1.1

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

02 Sep 2009 1.2

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 1.3

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

16 Feb 2010 1.4

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 1.5

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

18 Feb 2010 1.6

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

13 Mar 2010 1.7

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 1.8

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 1.9

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

03 May 2010 1.10

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 1.11

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 1.12

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

06 Feb 2012 1.13

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

23 Jun 2016 1.13

The Waveform Suite is no longer maintained at this page. It is now accessible as a core component of GISMO and is available at

Contact us