Announcement

Collapse
No announcement yet.

Re: Experiment design for comparing filters

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Re: Experiment design for comparing filters

    Emma Pratt wrote:

    > Can anyone suggest some experimental techniques that will
    > highlight the relative problems of using the GCV smoothing
    > and different values of MSE in the Woltering filter routine,
    > for gait analysis?

    There was a related question today by Julius Verrel.

    I may be one of the earliest users of GCVSPL, Herman Woltring sent it to
    me on a 9 track tape in 1985. This eventually led to the formation of
    Biomch-L, but that is a different story.

    GCVSPL can be used in three modes: GCV, MSE, and fixed smoothing. I am
    writing the following from memory, please consult the documentation for
    authoritative information. Also I recommend reading Woltring's 1985
    paper in Human Movement Science. That paper presents some tests on
    actual data.

    The Generalized Cross Validation (GCV) mode determines the optimal
    amount of smoothing based on statistical analysis of the signal. The
    amount of smoothing is chosen such that you get minimal error in
    estimating a data point that was left out. While this is intuitively
    appealing, I quickly found out that this does not always give good
    results. If the noise is not perfectly uncorrelated and Gaussian, GCV
    may think that some of your noise contains useful information, and do
    insufficient smoothing. This may not be apparent when you look at joint
    angles, but if you do inverse dynamic analysis, joint moments (which
    contain second derivatives) may become too noisy.

    The MSE mode is useful if you know the magnitude of the noise. In this
    mode, GCVSPL will increase the amount of smoothing just enough that the
    difference between smoothed signal and original signal is equal to the
    square root of the MSE. I found this to be give better results than
    GCV. For instance, if your raw data is motion capture data (in mm) and
    you know your noise is 0.5 mm, set MSE to a value of 0.25 to get the
    desired result. If it is not smooth enough, you probably underestimated
    the noise level and you can try a higher MSE.

    In fixed smoothing, you set the amount of smoothing (p value) yourself.
    This is the fastest mode because it does not involve iteration. In the
    release notes, Woltring explains that (except for boundary effects) the
    GCVSPL acts like a Butterworth filter, and there is a relationship
    between p and the cutoff frequency. This is how I always use GCVSPL
    now. The advantage is that you can report your cutoff frequency when
    describing Methods and this relates to other filtering methods. It also
    avoids the situation that every trial is smoothed differently.

    If you use GCVSPL this way, it does not really do anything different
    than a Butterworth filter, with the following differences:

    - Different results near the beginning and end of data. What is "near"
    depends on the cutoff frequency.
    - GCVSPL can process data that is not sampled at a constant sampling
    rate (but large gaps are not interpolated well!)
    - GCVSPL can resample filtered data at arbitrary time points
    - GCVSPL can calculate signal derivatives from splines, without finite
    differences

    For most applications, you can use a Butterworth filter (e.g. Matlab
    functions "butter" and "filtfilt") and get the same results.

    By the way, there have been several Matlab interfaces developed for
    GCVSPL, and they can be found in the ISB software repository
    (www.isbweb.org). These may need to be updated for new Matlab versions.
    ISB also has the original Fortran code and an Windows/MSDOS command-line
    interface which I adapted from Woltring's original test program.

    Finally a specific answer to Julius' question: from the above
    explanation it should be clear that there is no relationship between MSE
    and cutoff frequency. In MSE mode, the cutoff frequency will depend on
    the MSE value you provide, and on the signal. If it is a very low
    frequency signal, the cutoff frequency will be lower. Afterwards,
    GCVSPL tells you which p value it used, and you can convert this into a
    cutoff frequency (in Hz) using the formula in the GCVSPL release notes.

    There are probably other relevant postings in the Biomch-L archives,
    search for "GCVSPL".

    Ton van den Bogert

    --

    A.J. (Ton) van den Bogert, PhD
    Department of Biomedical Engineering
    Cleveland Clinic Foundation
    http://www.lerner.ccf.org/bme/bogert/


    P Please consider the environment before printing this e-mail

    Cleveland Clinic is ranked one of the top hospitals
    in America by U.S. News & World Report (2007).
    Visit us online at http://www.clevelandclinic.org for
    a complete listing of our services, staff and
    locations.


    Confidentiality Note: This message is intended for use
    only by the individual or entity to which it is addressed
    and may contain information that is privileged,
    confidential, and exempt from disclosure under applicable
    law. If the reader of this message is not the intended
    recipient or the employee or agent responsible for
    delivering the message to the intended recipient, you are
    hereby notified that any dissemination, distribution or
    copying of this communication is strictly prohibited. If
    you have received this communication in error, please
    contact the sender immediately and destroy the material in
    its entirety, whether electronic or hard copy. Thank you.
Working...
X