SAVITZKY-GOLAY FILTERS
The computation of
the susceptibilities of
a system from
experimental data involves specific problems that have to be addressed.
Neville's algorithm is
suitable for the computation of derivatives from nearly exact data. However, when
the level of noise is significant, alternative procedures must be used. One of them
is the Savitzky-Golay algorithm for smoothing and differentiation.
The idea is to fit
equally-spaced data points within a moving window,
,
with
,
to a polynomial of order
.
For this, a least-squares procedure can be used. Since the polynomial is of the form
,
we must solve the matrix equation
|
(1) |
where
is the matrix of powers
|
(2) |
is the vector of coefficients of the polynomial and
is the vector
of data. Note that
is the distance of the
point to the central point in the window of data.
The matrix
has more rows than columns and, hence, the system
(1) is overdetermined,
as long as the rank is
,
i.e., full-rank. In order to obtain the least-squares solution, one
must solve the normal equations:
|
(3) |
That is,
|
(4) |
The key point of the Savitzky-Golay method is the realization that,
because eq.
(3) is linear, eq.
(4) can be expressed as
|
(5) |
where
,
a Savitzky-Golay matrix, does not depend on the vector of data.
Therefore, there exist universal sets of
Savitzky-Golay coefficients that transform any vector of data into the vector of
polynomial coefficients for the best fit,
.
This means that one need not repeat the least-squares fit for every vector of data,
but it is possible to precalculate
,
once
and
have been specified.
Moreover, the polynomial coefficients are related to the first
derivatives, plus the zeroth-order one, at the central point in the window,
:
|
(6) |
is the interval between points (in the context of biochemical
susceptibilities,
a perturbation magnitude, i.e., a variation of a concentration). As a consequence of eq.
(6),
if the goal is smoothing the data (zeroth-order term), only the first row of
is needed, for the first derivative, the second row suffices, etc. This can be written
as a convolution (linear combination),
|
(7) |
from which the filtered
order derivative can be calculated.
Now, we note that,
if
, then
, with
and
,
where
is
Kronecker's delta. Substituting in eq.
(4), we get
|
(8) |
These are the Savitzky-Golay coefficients for smoothing and differentiation. They
satisfy the normalization condition
|
(9) |
REFERENCE
A. Savitzky and M.J.E. Golay "Smoothing and differentiation of data by simplified
least squares procedures" Anal. Chem., 36, 1627-1639 (1964)
|