signal_deconvolve: Deconvolve a signal vector.

View source: R/signal_deconvolve.R

signal_deconvolveR Documentation

Deconvolve a signal vector.

Description

The function removes the instrument response from a signal vector.

Usage

signal_deconvolve(
  data,
  sensor = "TC120s",
  logger = "Cube3BOB",
  gain = 1,
  use_metadata = FALSE,
  dt,
  p = 10^-6,
  waterlevel = 10^-6,
  na.replace = FALSE
)

Arguments

data

eseis object, numeric vector or list of objects, data set to be processed.

sensor

Character value or list object, seismic sensor name. Must be present in the sensor library (list_sensor) or parameters must be added manually (see examples). Default is "TC120s".

logger

Character value, seismic logger name. Must be present in the logger library (list_logger) or parameters must be added manually. Default is "Cube3extBOB".

gain

Numeric value, signal gain level of the logger. Default is 1.

use_metadata

Logical value, option to take keywords for sensor, logger and gain from eseis object meta data element instead of using explicitly provided arguments. Default is FALSE.

dt

Numeric value, sampling rate. Only needed if data is not an eseis object

p

Numeric value, proportion of signal to be tapered. Default is10^-6.

waterlevel

Numeric value, waterlevel value for frequency division, default is 10^-6.

na.replace

Logical value, option to replace NA values in the data set by zeros. Default is FALSE. Attention, the zeros will create artifacts in the deconvolved data set. However, NA values will result in no deconvolution at all.

Details

The function requires a set of input parameters, apart from the signal vector. These parameters are contained in and read from the function list_sensor() and list_logger(). Poles and zeros are used to build the transfer function. The value s is the generator constant in Vs/m. The value k is the normalisation factor. AD is the analogue-digital conversion factor. If the signal was recorded with a gain value other than 1, the resulting signal needs to be corrected for this, as well.

Value

Numeric vector or list of vectors, deconvolved signal.

Author(s)

Michael Dietze

Examples


## load example data set
data(rockfall)

## deconvolve signal with minimum effort
rockfall_decon <- signal_deconvolve(data = rockfall_eseis)

## plot time series
plot_signal(data = rockfall_decon, 
     main = "Rockfall, deconvolved signal", 
     ylab = "m/s")
 
## add new logger manually
logger_new <- list_logger()[[1]]

## add logger data
logger_new$ID <- "logger_new"
logger_new$name <- "logger_new"
logger_new$AD <- 2.4414e-07

## deconvolve signal with new logger
rockfall_decon <- signal_deconvolve(data = rockfall_eseis,
                                    sensor = "TC120s", 
                                    logger = logger_new)
                                    
## Change the setup of a logger, here: Centaur AD is changed due to 
## other than default Vpp value, according to AD = V / (2^24).

## extract default Centaur logger
Centaur_10V <- list_logger()[[2]]

## replace AD value
Centaur_10V$AD <- 20/(2^24)
                                    

eseis documentation built on Aug. 10, 2023, 5:08 p.m.