McNamaraPSD: Power Spectral Density

View source: R/spectralUtils.R

McNamaraPSDR Documentation

Power Spectral Density

Description

The McNamaraPSD() function implements the spectral density algorithm specified in the "Data Preparation and Processing" section of Seismic Noise Analysis System Using Power Spectral Density Probability Density Functions.

Usage

McNamaraPSD(tr, loFreq=.005, hiFreq=10, alignFreq=0.1, binned=TRUE)

Arguments

tr

a Trace object

loFreq

optional lo end of frequency binning range

hiFreq

optional hi end of frequency binning range

alignFreq

optional alignment frequency for determining frequency bins

binned

logical determining whether the return spectrum is binned

Details

This PSD algorithm is designed to be used on one to three hour segments of seismic data and will return a PSD object containing the (potentially binned) spectrum for that segment. See the psdList function for automatic segmenting of longer Stream objects.

The McNamara PSD algorithm is similar to MATLAB's pwelch() function and has the following steps:

  1. Calculate averaged spectrum

    # Truncate incoming segment of trace data to nearest power of 2 samples.
    # Divide each truncated segment into 13 chunks with 75% overlap. The first
    # chunk begins at 0/16 and ends at 4/16.  The 13'th chunk begins at 12/16
    # and ends at 16/16.  The chunks overlap like this:
    #   
    #   1---5---9---3---
    #    2---6---0---
    #     3---7---1---
    #      4---8---2---
    # 
    # Deman, detrend and taper the chunk.
    # Calculate the 'one-sided' spectrum for the chunk.
    #
    # Average together all 13 spectra to get an averaged spectrum.
    
  2. Create smoothed version of spectrum with binning

    When binned=TRUE, McNamara style binning is turned on and a smoothed spectrum is returned that contains many fewer points than the full spectrum. When these arguments are not specified, binning is automatically turned off and the full spectrum is returned.

    Frequencies for binning are generated at 1/8 octave intervals aligned to alignFreq. The power (dB) associated with each frequency bin is calculated by averaging over an entire octave centered on that frequency.

    Note: The spectra returned by McNamaraPSD() have not had instrument correction applied. Use getEvalresp to get instrument correction values for specific frequencies.

  3. convert binned spectra to decibels

Value

An R list object with the following named elements:

freq, spec, snclq, starttime, endtime

Elements freq and spec are numeric vectors while snclq, starttime and endtime are single values.

Note

During the binning process, an arithmetic mean is used to average together power levels in decibels. This is equivalent to averaging of power levels before conversion to dB using a geometric mean.

Author(s)

Jonathan Callahan jonathan@mazamascience.com

References

Seismic Noise Analysis System Using Power Spectral Density Probability Density Functions (McNamara and Boaz 2005)

See Also

McNamaraBins, psdList


IRISSeismic documentation built on Oct. 16, 2022, 1:09 a.m.