PSDMetric | R Documentation |

The PSDMetric() function performs spectral analysis on a seismic signal and returns 'PSD' metrics with discretized spectral components as well as other metrics based on PSDs.

PSDMetric(st, linLoPeriod=4/(st@traces[[1]]@stats@sampling_rate), linHiPeriod=100, evalresp=NULL, noCorrection=FALSE)

`st` |
a |

`linLoPeriod` |
low end of the period band use for calculating the linear dead channel metric |

`linHiPeriod` |
high end of the period band use for calculating the linear dead channel metric |

`evalresp` |
dataframe of freq, amp, phase information matching output of |

`noCorrection` |
boolean (default=FALSE), TRUE=only generate list of PSDs uncorrected for instrument response; FALSE=generate list of uncorrected PSDs, list of corrected PSDs, dataframe of PDF values,and PSD-derived metrics |

This function calculates average power spectra for a seismic signal as described in the McNamara paper.
See the `McNamaraPSD`

method of `Stream`

objects in the IRISSeismic package for details.

If optional `evalresp`

dataframe is not supplied, the code will call `getEvalresp`

to obtain response
information from webservices.

*Uncorrected* spectral density values are returned in `spectrumMetricList`

in units of dB.

*Instrument response corrected* spectral density values are returned in `correctedPsdDF`

in units of dB.

Probability Density Function (PDF) histogram values are returned in `pdfDF`

.

Other metrics calculated from the PSDs are returned in `svMetricList`

. These metrics are:

**pct_above_nhnm**– "percent above New High Noise Model"Percentage of PSD values that are above the New High Noise Model for their frequency. Only frequencies less than the sample_rate/3 are considered to avoid instrument response effects as you approach the nyquist frequency. This value is calculated over the entire time period.

**pct_below_nlnm**– "percent below New Low Noise Model"Percentage of PSD values that are below the New Low Noise Model for their frequency. Only frequencies less than the sample_rate/3 are considered to avoid instrument response effects as you approach the nyquist frequency. This value is calculated over the entire time period.

**dead_channel_lin**– "dead channel metric - linear fit"A "dead channel" metric is calculated from the mean of all the PSDs generated. (Typically 47 for a 24 hour period.) Values of the PSD mean line over the band (linLoPeriod:linHiPeriod) are fit to a line. The

`dead_channel_lin`

metric is the standard deviation of the fit residuals. Lower numbers indicate a better fit and a higher likelihood that the mean PSD is linear – an indication of a "dead channel".

Note: The dead_channel_exp metric has been removed.

A list of lists is returned containing:

`spectrumMetricList`

= list of`SpectrumMetric`

objects`correctedPsdDF`

= dataframe of starttime, endtime, frequency (Hz), power (dB) values`pdfDF`

= dataframe of frequency (Hz), power (dB), hits (count) values`svMetricList`

= list of`SingleValueMetric`

objects:`pct_above_nhnm`

`pct_below_nlnm`

`dead_channel_lin`

Jonathan Callahan jonathan@mazamascience.com

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

Observations and Modeling of Seismic Background Noise (Peterson 1993).

`SpectrumMetric`

`SingleValueMetric`

## Not run: # Open a connection to IRIS DMC webservices iris <- new("IrisClient") # NOTE: The following trace has 1.728 million points. # NOTE: Downloading and calculating PSD may take a few seconds. starttime <- as.POSIXct("2010-02-27",tz="GMT") endtime <- as.POSIXct("2010-02-28",tz="GMT") # Get the waveform st <- getDataselect(iris,"IU","ANMO","00","BHZ",starttime,endtime) # Calculate the PSD metric and show the SingleValueMetric results listOfLists <- PSDMetric(st) svMetricList <- listOfLists[['svMetricList']] dummy <- lapply(svMetricList, show) ## End(Not run)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.