decomp(Sigdata, ncomp = 2, constant = TRUE, typ = "cw", control.args = list(), transf = TRUE, weight = FALSE, plot = TRUE, xylog = FALSE, lwd = 3, outfile = NULL)
"cw"
or "lm"
) of a decay curve"outfile"
and saved to the current work directory0
if constant=FALSE)
I(t)=a1*b1*exp(-b1*t)+...+ak*bk*exp(-bk*t)
,
where k=1, 2, ..., 7
, I(t)
is the luminescence intensity as a function of time, a
is the number of trapped electrons, and b
is the detrapping rate. The constant component is c
if constant=TRUE
.
For a LM-OSL decay curve, the fitting model (Bulur, 2000) is:
I(t)=a1*b1*(t/P)*exp[-b1*t^2/(2*P)]+...+ak*bk*(t/P)*exp[-bk*t^2/(2*P)]
,
where k=1, 2, ..., 7
, and I(t)
is the luminescence intensity as a function of time, P
is the total stimulation time, a
is the number of trapped electrons, and b
is the detrapping rate. The constant component is c*(t/P)
if constant=TRUE
.
Parameters are initialized using a differential evolution method suggested by Bluszcz and Adamiec (2006), then the Levenberg-Marquardt algorithm (minpack: Fortran 90 version by John Burkardt, freely available at http://people.sc.fsu.edu/~jburkardt/f_src/minpack/minpack.html) will be performed to optimize the parameters. If weight=TRUE
, the photon counts will be assumed to follow a Possion distribution with a standard error equal to the square root of the number of photon counts, and the decay curve will be fitted using a weighted procedure. Setting weight=TRUE
gives more weight to photon counts from slower decaying components.
Arguments in control.args
that control the differential evolution algorithm include:
(1) factor: the number of population members, np=factor*ncomp
, default factor=10
;
(2) f: a weighting factor that lies between 0
and 1.2
, default f=0.5
;
(3) cr: a crossover constant that lies between 0
and 1
, default cr=0.99
;
(4) maxiter: maximum number of iterations, default maxiter=500
;
(5) tol: tolerance for stopping the iteration, the procedure will be terminated if
all relative standard deviations of parameters are smaller than tol
, defalut tol=0.1
.
Bluszcz A, Adamiec G, 2006. Application of differential evolution to fitting OSL decay curves. Radiation Measurements, 41(7-8): 886-891.
Bulur E, 2000. A simple transformation for converting CW-OSL curves to LM-OSL curves. Radiation Measurements, 32(2): 141-145.
Differential evolution algorithm, http://en.wikipedia.org/wiki/Differential_evolution Jain M, Murray AS, Boetter-Jensen L, 2003. Characterisation of blue-light stimulated luminescence components in different quartz samples: implications for dose measurement. Radiation Measurements, 37(4-5): 441-449.
More JJ, 1978. "The Levenberg-Marquardt algorithm: implementation and theory," in Lecture Notes in Mathematics: Numerical Analysis, Springer-Verlag: Berlin. 105-116.
Further reading
Adamiec G, 2005. OSL decay curves-relationship between single- and multiple-grain aliquots. Radiation Measurements, 39(1): 63-75.
Choi JH, Duller GAT, Wintle AG, 2006. Analysis of quartz LM-OSL curves. Ancient TL, 24(1): 9-20.
Li SH, Li B, 2006. Dose measurement using the fast component of LM-OSL signals from quartz. Radiation Measurements, 41(5): 534-541.
Peng J, Dong ZB, Han FQ, Han YH, Dai XL, 2014. Estimating the number of components in an OSL decay curve using the Bayesian Information Criterion. Geochronometria, 41(4): 334-341.
data(Signaldata)
decomp(Signaldata$lm,ncomp=3,typ="lm",
control.args=list(maxiter=10))
Run the code above in your browser using DataLab