Seismic data is hard to interpret without prior experience and a keen eye. To simplify this process to others and machines, we created a Python program to filter out the unwanted noise and keep the substantial waves in the data. It's easier to look at can be used for further classification of wave types and spikes.

What it does

This script takes in a .sac file and a time frame. It processes frames bound by a set time along the entire length. These frames are filtered and manipulated to leave out background noise and leaving only the important features, here waves, for identification.

How I built it

Using signal analysis python libraries we used multiple techniques to remove noise and enhance prominent features.

Challenges I ran into

Working with obspy and data was unfamiliar with in general.

Accomplishments that I'm proud of

  • Programmed a reliable filter
  • Waves are now easily identifiable by eye
  • Program eliminates attenuated high frequency waves

What I learned

  • Learned how signal processing works
  • Understood how to read seismic data
  • Figured out how different filters work together for noise cancellation

What's next for Noise Reduction and Plotting of Seismic Data

Work on event classification needs to be done so that less time from a human is needed to identify when 'interesting' event occur. The final images should be many times more efficient in a ML approach than the original images, which could be explored.

Built With

Share this project: