Signal processing and earthquake triggering

Jackie Caplan-Auerbach
Western Washington University, Bellingham, WA
Author Profile


In this exercise, written for an undergraduate seismology class, students use MATLAB to analyze waveforms from the 2004 Sumatra M9.0 earthquake, as they were recorded on three seismic stations in Alaska. Two of the stations are broadbands and one is a short period station. Students use MATLAB scripts (provided) to plot and filter the time series data and to calculate power spectra at the different stations. They also see that surface waves from the Sumatra earthquake triggered microseismicity at Wrangell volcano as they passed through the hydrothermal system, an observation first made by West et al. (2005).

Click to watch Jackie Caplan-Auerbach discuss her activity or watch the full webinar.

In doing this exercise students learn how the type of instrument and the instrument response affect the appearance of a seismogram. They identify body and surface waves in broadband seismograms. After examining the data on their own, students read a scientific paper that describes how microearthquakes were triggered by the passing surface waves. Not only does this provide them with experience reading and interpreting a scientific paper, but it shows them the types of observations made by the authors when they first analyzed the same data presented in this study.

Used this activity? Share your experiences and modifications

Learning Goals

The primary goals of this activity are threefold:
  1. Through the filtering and plotting of real seismic data students learn that seismic waveforms comprise many frequencies that can be plotted or filtered out.
  2. Students learn that different seismometers may record the same data very differently, because they have different instrument responses (i.e. short period seismometers do not record low frequencies well).
  3. Students gain experience reading a scientific paper and seeing how those researchers interpreted the same data that the students just analyzed.
A secondary goal is for students to practice plotting data in terms of time. This requires that they understand the concept of sample rate, and that they be able to think about time series data in terms of both samples and in terms of relative and absolute time.

In this exercise MATLAB is used as a means of plotting and analyzing time series data. While students could simple create plots in a program such as Excel, with MATLAB they are also able to do basic signal processing including filtering, calculating a Fourier transform, and plotting a power spectrum. This activity also provides the opportunity for students to work with real seismic data, and to work with binary data files. Through the use of a MATLAB function provided with the exercise, students learn to pull data from the header of a binary data file and use it to associate the data with metadata such as station name, file start time, and sample rate.

Context for Use

This exercise was written for a combined undergraduate/graduate level seismology class at Western Washington University. Because most of these students have taken only one or two math classes beyond calculus, the class introduces some seismic theory and focuses mostly on analysis of real data.

The assignment is given during a class period but students are expected to complete it as a homework assignment. Students should be able to work with MATLAB functions (they should understand function syntax), and to plot data in terms of relative or absolute time, given the sample rate of the data. The header for the seismic data is a structure, so it helps if students have familiarity with that syntax. Key seismological concepts required for this project include identification of body and surface waves, sample rate, power spectrum, and instrument response. Students should have a qualitative understanding of the Fourier transform.

Prior to tackling this assignment it helps to explain the concept of binary data, and specifically the SAC (Seismic Analysis Code) data format. Information on SAC and the structure of the SAC header may be found at However, students can do the exercise without understanding the SAC format by using (and trusting) the function "readsac.m".

Description and Teaching Materials

A full description of this activity is included in the attached file "signal_processing_in_seismology.docx". In this activity students are guided through a series of steps including (1) reading seismic data into MATLAB, (2) plotting the data as a function of time, and (3) using the signal processing toolbox to filter the data and create power spectra for the data. With each step students are asked questions about why the waveforms have specific characteristics. Finally, students are asked to read a Science paper (West et al., 2005; full citation below) and describe how the authors of that paper interpreted the same data that the students just examined.

The West et al. (2005) paper is available on line at All other files, including the assignment itself, the seismic data files, and the MATLAB functions invoked in the activity are attached.

Signal Processing in Seismology Assignment (Microsoft Word 2007 (.docx) 178kB Sep24 15)

MATLAB files (Zip Archive 4kB Sep24 15)

Data files (Zip Archive 1.8MB Sep24 15)

Teaching Notes and Tips

This is a fairly stand-alone activity, if students are familiar with basic signal processing (filtering, the Fourier transform, the concept of a sample rate, etc). The assignment itself walks students through each successive step.

Before assigning this project I have the students do a lab focused on the use of time in MATLAB. They are asked to plot time series data against (1) sample number, (2) time in seconds (with a start time of zero), and (3) absolute time, after extracting the file start time from the SAC file header. The project can be done without this step, but in that case step 1a of the assignment itself should be modified.

Note that this assignment requires use of the signal processing toolbox in MATLAB.


In plotting the original data, students should observe and comment on the following:

  1. Two of the stations (PAX and HARP) appear very similar in time series and have similar power spectra, with strength at low frequencies. WANC, on the other hand, looks very different, with stronger signal at the beginning of the waveform and no visible surface waves. Instead, WANC shows several very short duration pulses. High frequencies dominate in the WANC power spectrum, but the low frequencies that show up at the other stations are weakly visible.
  2. Because all of the stations are at equal distance from the earthquake they should be recorded the same waves. The fact that WANC looks different from the others must either be due to local site effects or to a difference in how the data are recorded (i.e. the seismometer). The lack of surface waves visible on WANC strongly suggests that it is in fact a short period seismometer.
  3. Lowpass filtering the data at WANC reveals the same surface waves visible at the other stations. This confirms that those waves are present but muffled by the response of the seismometer.
  4. The high frequency signals visible late in the time series at WANC correlate strongly with the surface waves: they take place at the same part of each surface wave cycle. The fact that these signals are not recorded by PAX or HARP suggests that they must be local to station WANC, on Wrangell volcano.
  5. West et al. (2005), in their study of these signals argue that the high frequency pulses on WANC are microearthquakes occurring in the hydrothermal system of Wrangell volcano and that they are triggered by the passing of surface waves from the Sumatra earthquake.

References and Resources

SAC data format:

West, M., Sánchez, J. J., & McNutt, S. R. (2005). Periodically triggered seismicity at Mount Wrangell, Alaska, after the Sumatra earthquake. Science,308(5725), 1144-1146.