Calculating Background Seismic Noise Levels: A Step-by-Step Guide

Understanding background seismic noise levels is crucial for assessing the suitability of a site for seismic monitoring and instrumentation. Background noise analysis helps identify optimal locations for seismic sensors and ensures accurate detection of seismic events. This blog explores how to calculate background noise levels based on methodologies from Ramirez et al. (2019), using power spectral density (PSD) techniques.

Why Measure Seismic Noise Levels?

Seismic stations continuously record ambient noise from both natural and anthropogenic sources. High noise levels can mask low-magnitude earthquakes and reduce the effectiveness of seismic monitoring networks. The analysis of background noise levels provides insights into:

  • The impact of environmental conditions on sensor performance.
  • The influence of geological settings on noise characteristics.
  • The optimal placement of seismic sensors for improved data quality.

Step 1: Data Collection

To measure background seismic noise, long-term continuous seismic data from a given site must be collected. Typically, broadband seismometers and accelerometers are used to capture signals across a wide range of frequencies. These data are stored in a digital format, such as miniSEED, which allows for efficient processing.

Step 2: Preprocessing the Seismic Data

Before analyzing noise levels, raw seismic data must be preprocessed to remove unwanted signals. This includes:

  • Segmenting Data: Breaking continuous records into smaller time windows (e.g., hourly segments) to analyze temporal variations.
  • Applying Windowing Functions: Using techniques like cosine tapers to reduce spectral leakage.
  • Fourier Transform: Converting time-domain data into the frequency domain for spectral analysis.
  • Acceleration Conversion: Deriving acceleration spectra from velocity or displacement records.

Step 3: Power Spectral Density (PSD) Calculation

The Power Spectral Density (PSD) method is widely used to quantify ambient seismic noise levels. This technique measures the energy distribution of seismic signals across different frequencies. The steps include:

  1. Computing the Fast Fourier Transform (FFT): This transforms seismic data from the time domain to the frequency domain.
  2. Averaging Spectra: To improve statistical reliability, multiple PSD estimates are averaged over time.
  3. Expressing Noise Levels in Decibels (dB): PSD values are converted to decibels relative to a reference power level (e.g., 1 μm²/s⁴/Hz).
  4. Generating PSD Probability Density Functions (PDFs): A statistical representation of noise levels over time to assess variations.

Step 4: Analyzing Noise Level Trends

Once PSDs are computed, trends in noise levels can be analyzed:

  • Comparing Different Geological Settings: Sites on sedimentary deposits often exhibit higher noise levels than those on bedrock.
  • Assessing Diurnal Variations: Noise levels tend to be higher during the day due to human activities.
  • Impact of Environmental Factors: Atmospheric pressure and temperature fluctuations can influence background noise levels.

Step 5: Comparing with Standard Noise Models

To interpret seismic noise levels, results are compared with global noise models:

  • New High-Noise Model (NHNM): Represents the highest observed noise levels at global seismic stations.
  • New Low-Noise Model (NLNM): Represents the lowest possible ambient noise levels.

Step 6: Identifying and Mitigating Noise Sources

If noise levels are excessive, it is essential to identify and mitigate noise sources:

  • Relocating Sensors: Moving stations away from urban areas or installing them in underground vaults can reduce anthropogenic noise.
  • Improving Insulation: Using thermal and acoustic insulation can minimize environmental noise interference.
  • Using Different Sensor Types: Some sensors may exhibit different sensitivity to background noise, requiring careful selection based on site conditions.

Complete Python Code for Computing Background Seismic Noise Levels

Below is a full Python script that includes preprocessing, PSD computation, and noise model comparison.

import numpy as np
import obspy
import matplotlib.pyplot as plt
from obspy.signal.spectral_estimation import PSD, get_nlnm, get_nhnm

def preprocess_seismic_data(trace):
    """Preprocess seismic data: detrend, taper, and remove response."""
    trace.detrend("linear")
    trace.taper(max_percentage=0.05, type="hann")
    return trace

def compute_psd(trace, nfft=1024, overlap=0.5):
    """Compute Power Spectral Density (PSD) for a given seismic trace."""
    psd, freq = PSD(trace.data, nfft=nfft, overlap=overlap, fs=trace.stats.sampling_rate)
    psd_db = 10 * np.log10(psd)
    return freq, psd_db

def plot_noise_models(freq, psd_db):
    """Plot the computed PSD against global noise models."""
    nlnm_freq, nlnm_psd = get_nlnm()
    nhnm_freq, nhnm_psd = get_nhnm()
    
    plt.figure(figsize=(8,6))
    plt.plot(nlnm_freq, nlnm_psd, label="NLNM", linestyle="dashed")
    plt.plot(nhnm_freq, nhnm_psd, label="NHNM", linestyle="dashed")
    plt.plot(freq, psd_db, label="Computed PSD", color='red')
    plt.xlabel("Frequency (Hz)")
    plt.ylabel("Power Spectral Density (dB)")
    plt.legend()
    plt.title("Comparison of Seismic Noise Levels with Global Models")
    plt.grid()
    plt.show()

# Example usage
st = obspy.read("example.mseed")
st = st.select(component="Z")
for tr in st:
    tr = preprocess_seismic_data(tr)
    freq, psd_db = compute_psd(tr)
    plot_noise_models(freq, psd_db)

Conclusion

Calculating background seismic noise levels using the PSD method provides a robust approach to evaluating site suitability for seismic monitoring. By following these steps, researchers and engineers can optimize sensor placement, minimize noise interference, and enhance the reliability of seismic data. Understanding noise trends and environmental influences allows for better decision-making in seismic instrumentation and hazard assessment.ntal influences allows for better decision-making in seismic instrumentation and hazard assessment.

Reference

Ramírez, E. E., Vidal-Villegas, J. A., Nuñez-Leal, M. A., Ramírez-Hernández, J., Mejía-Trejo, A., & Rosas-Verdug, E. (2019). Seismic noise levels in northern Baja California, Mexico. Bulletin of the Seismological Society of America, 109(2), 610–620. https://doi.org/10.1785/0120180155

Standard vs. Compact Broadband Seismometers: Choosing the Right Sensor

Seismic monitoring requires precise, reliable instrumentation capable of detecting and recording ground motion with high fidelity. Two popular categories of seismometers in modern applications are Standard Broadband Seismometers and Compact Broadband Seismometers. Each has unique advantages and trade-offs depending on portability, installation, power consumption, temperature sensitivity, and performance characteristics. In this article, we compare the SS08 (Standard Broadband Seismometer) and SS08C (Compact Broadband Seismometer), highlighting their respective strengths and weaknesses to help you choose the best sensor for your application.

1. Overview of SS08 and SS08C

SS08 – Standard Broadband Seismometer

The SS08 is a high-sensitivity, ultra-low noise broadband triaxial seismometer, designed for observatory-grade seismic monitoring, planetary geophysics, and tsunami early warning systems. It features automatic mass centering, electric mass locking, and magnetic shielding, making it ideal for long-term deployments in both field and laboratory environments.

SS08C – Compact Broadband Seismometer

The SS08C is a lightweight, portable broadband triaxial seismometer designed for quick deployment in various environments, including reservoir microseismic monitoring, soil property inspection, and microzonation studies. Its compact form factor, low power consumption, and ease of deployment make it suitable for applications requiring rapid setup and mobility.

2. Key Comparison Factors

FeatureSS08 (Standard)SS08C (Compact)
Portability❌ Heavier (15kg), requires careful handling✅ Lightweight (1.42kg), easy to transport
Installation❌ Requires precise leveling, mass centering✅ Fast deployment, usable within minutes
Power Consumption✅ Low (<500mW @ 12VDC)✅ Ultra-low (<500mW @ 12VDC)
Self-Noise✅ Below USGS NLNM (0.004 – 25Hz)✅ Below USGS NLNM (0.03 – 10Hz)
Dynamic Range✅ >150dB (0.1 – 10Hz)❌ >135dB (0.1 – 10Hz)
Temperature Sensitivity✅ Wide range (-20°C to +70°C)❌ Narrower range (-20°C to +50°C)
Mass Centering✅ Automatic mass centering❌ Not necessary due to small size
Housing Options✅ Rugged aluminum, IP68K✅ Multiple options: borehole, posthole (AISI316)
Shock Resistance✅ 5g half sine✅ 5g half sine
Applications✅ Long-term, observatory-grade✅ Short-term, rapid deployment

3. Pros & Cons of SS08 vs. SS08C

SS08 – Standard Broadband Seismometer

✅ Pros:

  • High sensitivity and precision for observatory-grade monitoring
  • Lower self-noise, superior dynamic range (>150 dB)
  • Wide temperature operation (-20°C to +70°C)
  • Automatic mass centering and electric mass lock
  • Excellent for long-term seismic monitoring

❌ Cons:

  • Larger and heavier (15kg), making transport difficult
  • Requires leveling and careful installation
  • Longer setup time

SS08C – Compact Broadband Seismometer

✅ Pros:

  • Highly portable (1.42kg), ideal for field deployment
  • Quick and simple installation, similar to a geophone
  • Suitable for posthole deployments without special care
  • Energy-efficient for remote installations

❌ Cons:

  • Slightly higher self-noise at lower frequencies
  • Narrower dynamic range (>135dB vs. >150dB)
  • Limited temperature range (-20°C to +50°C)

4. Choosing the Right Sensor for Your Needs

Choose the SS08 if:

  • You need ultra-low noise performance for high-precision monitoring.
  • Your project involves long-term deployments in observatories or seismic networks.
  • You require automatic mass centering and electric mass locking.
  • You are working in extreme temperature conditions (-20°C to +70°C).

Choose the SS08C if:

  • You need a lightweight, compact sensor for fieldwork.
  • Your application requires quick deployment and ease of use.
  • You operate in shallow posthole or surface installations.
  • You need low power consumption for remote monitoring.

Conclusion

Both the SS08 and SS08C serve distinct purposes in seismic monitoring. While the SS08 excels in precision, long-term observatory use, and extreme environmental conditions, the SS08C is ideal for rapid deployment, portability, and energy-efficient remote installations. Selecting the right sensor depends on your specific project requirements, including installation constraints, power availability, and monitoring objectives.

🔗 Purchase SS08: SS08 Broadband Seismometer

🔗 Purchase SS08C: SS08C Compact Broadband Seismometer

For more information or to request a quote, contact us at sales@quakelogic.net.

Generating Noise Inputs for Shake Table Testing

Shake tables are widely used in structural and mechanical engineering research to simulate dynamic loads, including earthquakes, vibrations, and random noise inputs. One common requirement in laboratory testing is generating noise-based input signals to study how structures respond to broadband vibrations. This blog post will guide you through the process of generating noise signals and inputting them into a shake table, with a focus on achieving controlled displacement amplitudes.

Understanding Noise Inputs for Shake Tables

Noise inputs refer to random or controlled vibration signals that can be applied to a test structure using a shake table. Unlike sinusoidal or earthquake simulations, noise-based inputs provide a broad spectrum of frequency content, making them useful for:

  • Structural modal identification
  • Fatigue testing under random loads
  • Simulation of real-world environmental vibrations
  • Testing damping characteristics of structures

Key Considerations When Generating Noise Signals

Before applying a noise signal to a shake table, consider the following factors:

  1. Desired Displacement Amplitude: If you aim to achieve a maximum vibration amplitude (e.g., 1 cm), you must carefully scale your input signal. Displacement is related to acceleration and frequency through fundamental vibration equations.
  2. Frequency Content: White noise provides a flat frequency spectrum, whereas filtered noise can be tailored to a specific range (e.g., low-frequency dominant vibrations).
  3. Shake Table Limits: Ensure that your generated input signal does not exceed the physical displacement, velocity, or acceleration limits of your shake table.

Methods for Generating Noise-Based Inputs

There are multiple approaches to generating noise signals for shake tables:

1. Using MATLAB or Python for Signal Generation

Both MATLAB and Python (with libraries like NumPy and SciPy) can generate noise signals in a format compatible with shake table controllers.

  • MATLAB Example:
fs = 1000; % Sampling frequency in Hz  
t = 0:1/fs:10; % Time vector for 10 seconds  
noise_signal = 0.01 * randn(size(t)); % Generate white noise scaled to desired amplitude  
csvwrite('noise_input.csv', noise_signal); % Save the signal as a CSV file  
  • Python Example:
import numpy as np  
import pandas as pd  

fs = 1000  # Sampling frequency in Hz  
t = np.linspace(0, 10, fs*10)  # Time vector for 10 seconds  
noise_signal = 0.01 * np.random.randn(len(t))  # Generate white noise  

# Save the noise signal to a CSV file  
pd.DataFrame(noise_signal).to_csv('noise_input.csv', index=False, header=False)  

These signals can then be uploaded to the shake table control software.

2. Using EASYTEST Software for Signal Generation

EASYTEST is the primary software used by most of our shake tables for control and signal processing. It provides a user-friendly interface to generate various types of signals, including:

  • White noise and filtered noise
  • Sine sweep signals for frequency response analysis
  • Custom waveform inputs based on experimental requirements

How to Use EASYTEST for Noise-Based Testing:

  1. Open EASYTEST and navigate to the signal generation module.
  2. Select the “Random Noise” option and configure the amplitude and frequency range.
  3. Specify the duration and sampling rate for the test.
  4. Load the generated signal into the shake table controller and run the test.

3. Sine-Sweep Testing for Structural Identification

Before applying a noise input, it is often helpful to conduct a sine-sweep test to identify the resonance frequencies of the test structure. EASYTEST can also be used to generate sine-sweep signals that gradually increase or decrease in frequency over time. This helps in fine-tuning the noise signal to focus on critical frequency ranges.

Implementing the Noise Input on a Shake Table

Once the noise signal has been generated, follow these steps to apply it to your shake table:

  1. Convert the Signal Format: Ensure the signal is in a format supported by your shake table control system (CSV, TXT, or direct software input).
  2. Scale the Input Properly: If a displacement of 1 cm is required, ensure the noise amplitude is scaled appropriately.
  3. Load the Input into EASYTEST or Shake Table Controller: Import the file and preview the waveform.
  4. Run a Test Simulation: Before running the actual experiment, conduct a short-duration test to verify that the desired displacement is achieved.
  5. Analyze Results: Use accelerometers or displacement sensors to confirm the input and response of the structure.

Conclusion

Generating noise-based inputs for shake table testing is a powerful way to simulate real-world vibration conditions. Whether using MATLAB, Python, or the EASYTEST software, researchers can create controlled random vibration signals tailored to their experimental needs. By understanding the relationship between frequency, displacement, and acceleration, users can ensure precise control over the shake table’s motion.

For users of our shake tables, we highly recommend using EASYTEST for signal generation and control. If you have any questions about generating noise inputs or using EASYTEST, feel free to reach out to us at support@quakelogic.net.

Seeing is Believing!