SeparateSignalFromNoise: Calculate signal and noise spectra

View source: R/SeparateSignalFromNoise.R

SeparateSignalFromNoiseR Documentation

Calculate signal and noise spectra

Description

Calculate the raw signal and noise spectra and the corresponding signal-to-noise ratio spectrum from the spectral estimates of an array of n proxy records. Where applicable, these raw results can be corrected for the effects of time uncertainty and diffusion-like smoothing.

Usage

SeparateSignalFromNoise(
  spectra,
  neff = NULL,
  measurement.noise = NULL,
  diffusion = NULL,
  time.uncertainty = NULL
)

Arguments

spectra

a list of the spectral estimates from a proxy record array in the format as output from ObtainArraySpectra.

neff

the effective number of records (neff <= n, e.g. to account for an expected spatial correlation of the local noise). Per default extracted from the array.par attribute of spectra (see section "Value" under ?ObtainArraySpectra), but you can supply the neff explicitly here to overwrite the default value.

measurement.noise

a measurement noise level for correcting the proxy noise spectrum: either a single value or a spectral object (?spec.object). In the former case, the measurement noise is assumed to exhibit a white spectrum and the given value is interpreted as its total variance; the latter case can be applied if the measurement noise has a known spectral shape different from white noise (but the frequency range of the given measurement noise spectral object must then cover the frequency range of the proxy spectra). The default NULL assumes no measurement noise.

diffusion

a spectral object of a transfer function desribing a diffusion-like proxy smoothing process (see Details), e.g. diffusion in ice cores: ?CalculateDiffusionTF. Internally, the inverse of the transfer function values are applied to correct for the smoothing effect on the estimated signal and noise spectra (see Eq. 4 in Münch and Laepple, 2018). The default NULL is to apply no correction.

time.uncertainty

as diffusion but for a transfer function that describes the effect of time uncertainty (see also CalculateTimeUncertaintyTF for calculating transfer functions in the case of layer-counted proxy chronologies) and which is used to correct the effect it has on the estimated signal spectrum. The default NULL is to apply no correction.

Details

This function is an implementation of Eq. (4) in Münch and Laepple (2018). While the diffusion transfer function there specifically refers to the diffusional smoothing of stable isotopes from firn and ice cores, it can be interpreted in a much more general sense as a transfer function that describes any smoothing process affecting a proxy record (e.g., bioturbation in marine sediment or biological memory in tree ring records). Therefore, this function can be applied to a large set of proxy data, also because the application of the transfer functions is flexible: e.g., it can be applied on proxy data where only time uncertainty is relevant, or for estimating raw signal and noise spectra by supplying no transfer functions at all.

Value

A list of three spectral objects:

signal:

the raw or corrected signal spectrum;

noise:

the raw or corrected noise spectrum;

snr:

the signal-to-noise ratio as calculated from the previous components;

with the attribute array.par: a named vector with information on the proxy record array: number of (effective) records (nc = neff), number of observation points per record (nt), and sampling resolution (res).

Author(s)

Thomas Münch

References

Münch, T. and Laepple, T.: What climate signal is contained in decadal- to centennial-scale isotope variations from Antarctic ice cores? Clim. Past, 14, 2053–2070, https://doi.org/10.5194/cp-14-2053-2018, 2018.

See Also

ObtainArraySpectra, CalculateDiffusionTF, CalculateTimeUncertaintyTF, spec.object for the definition of a proxysnr spectral object.


EarthSystemDiagnostics/proxysnr documentation built on June 9, 2025, 11:58 a.m.