First-class canonical skin-conductance response kernel used throughout
PhysioEDA as the single source of the SCR shape (simulation,
CDA / cvxEDA deconvolution, and GLM designs). The response is the
biexponential (Bateman) function
h(t) = exp(-t / tau2) - exp(-t / tau1) for t >= 0 (0 otherwise),
optionally augmented with a Gaussian bump for the PsPM-style canonical form
(Bach et al., 2010). Both the kernel and its first/second time-derivatives are
available (the derivatives drive GLM temporal/dispersion regressors).
Arguments
- t
Numeric vector of times in seconds. Values
< 0return 0.- tau1
SCR rise time constant in seconds (default: 0.75).
- tau2
SCR decay time constant in seconds (default: 2.0). Must differ from
tau1; the canonical shape hastau2 > tau1.- form
Kernel family:
"bateman"(pure biexponential) or"pspm_canonical"(biexponential plus a Gaussian bump).- normalize
Normalisation of the kernel:
"peak"(unit maximum, the default),"area"(unit integral), or"none"(raw). Derivatives are scaled by the same constant.- deriv
Derivative order to return: 0 (kernel), 1, or 2.
- bump_amp
Gaussian bump amplitude, relative to the raw Bateman peak, for
form = "pspm_canonical"(default: 0.3; ignored otherwise).- bump_center
Gaussian bump centre in seconds (default: the analytic Bateman peak time).
- bump_sd
Gaussian bump standard deviation in seconds (default: 0.7).
Value
A numeric vector the same length as t: the requested derivative
of the (optionally normalised) response kernel.
References
Bach, D.R., Flandin, G., Friston, K.J., & Dolan, R.J. (2010). "Modelling event-related skin conductance responses." International Journal of Psychophysiology, 75(3), 349-356. doi:10.1016/j.ijpsycho.2010.01.005
See also
scrfPeak for the analytic Bateman maximum,
edaSimulate and edaDecompose which consume it.
Examples
t <- seq(0, 15, by = 0.1)
k <- scrf(t) # unit-peak Bateman kernel
dk <- scrf(t, deriv = 1) # its temporal derivative
ck <- scrf(t, form = "pspm_canonical")