y = sgolayfilt(x,k,f) y = sgolayfilt(x,k,f,w) y = sgolayfilt(x,k,f,w,dim)

Description

y = sgolayfilt(x,k,f) applies
a Savitzky-Golay FIR smoothing filter to the data in vector x.
If x is a matrix, sgolayfilt operates
on each column. The polynomial order k must be
less than the frame size, f, which must be odd.
If k = f-1,
the filter produces no smoothing.

y = sgolayfilt(x,k,f,w) specifies
a weighting vector w with length f,
which contains the real, positive-valued weights to be used during
the least-squares minimization. If w is not specified
or if it is specified as empty, [], w defaults
to an identity matrix.

y = sgolayfilt(x,k,f,w,dim)
specifies the dimension, dim, along which the filter
operates. If dim is not specified, sgolayfilt operates
along the first non-singleton dimension; that is, dimension 1 for
column vectors and nontrivial matrices, and dimension 2 for row vectors.

Savitzky-Golay smoothing filters (also called digital smoothing
polynomial filters or least-squares smoothing filters) are typically
used to "smooth out" a noisy signal whose frequency
span (without noise) is large. In this type of application, Savitzky-Golay
smoothing filters perform much better than standard averaging FIR
filters, which tend to filter out a significant portion of the signal's
high frequency content along with the noise. Although Savitzky-Golay
filters are more effective at preserving the pertinent high frequency
components of the signal, they are less successful than standard averaging
FIR filters at rejecting noise.

Savitzky-Golay filters are optimal in the sense that they minimize
the least-squares error in fitting a polynomial to frames of noisy
data.

References

[1] Orfanidis, Sophocles J. Introduction
to Signal Processing. Englewood Cliffs, NJ: Prentice-Hall,
1996.