View Full Version : Digital Filter Cutoff Frequencies for GRF Data - Summary

Dewitt, John K. (jsc-sk) (wls)
02-25-2004, 09:23 AM
Hello All,
Thank you to all that responded to my posting. I have attached all
responses below. I think that there were many good issues brought up in the
responses, including some alternatives for optimal filtering methodologies.
For my problem, in consultation with Peter Vint and taking into
account many of the responses, it was decided to select a single cutoff
frequency at which to filter all of the data. FFT analyses were performed on
the worst case (i.e. highest running speed) trials. It was found that 99% of
the signal power for all of the trials (8 footfalls per trials = 48 total
footfalls analyzed) were at frequencies below 40 Hz. Using that rationale,
it was decided to filter all data at 40 Hz. In addition, all data sets are
being padded at the front and back with zeros to alleviate endpoint issues.
Preliminary processing is revealing that this cutoff frequency is sufficient
to remove random noise, but to also maintain the integrity of the signal.
I did find a couple of issues through the process that may be of
interest that occur with the Challis (1999) algorithm.
1) If the Challis algorithm is run on data that is not padded, a different
cutoff frequency may be selected than if that data set were padded.
2) The Challis algorithm will select different cutoff frequencies depending
upon which data are used during the auto correlation.

It is my suggestion that when using the Challis algorithm (which, by the
way, I feel is a very good algorithm), authors should pad their data, and if
the entire dataset is not used to determine the optimal cutoff frequency, it
should be noted in the methods. An example of this case would be just using
the propulsive phase of the GRF instead of the entire GRF trajectory when
using the algorithm.

In any case, here are the responses:
================================================== =========================
Hi John

I'm interested in your question for two reasons, (I) I will be collecting
ground reaction force data in the KC135 (for a jumping study) in less than 2
weeks's time, and (ii) for other studies, I am very involved in collecting
3D ground reaction forces using instrumented treadmills.

In the case of your data, would it make sense to treat each phase of the
ground contact differently? For instance, if you were interested in the
peak push off force, the method of Challis would seem to be perfectly
acceptable, since the initial transient at heal strike would not matter.
If, in addition, you wanted to know the timing and magnitude of the initial
transient, it might help to isolate your data for the first 0.05 seconds and
then either (a) subject this window to Challis' method or (b) simply
superimpose many trials on top of each other to ascertain whether there is a
transient force. I realize there are disadvantages with the latter, but the
advantage is that the vibrations due to the KC135 may cancel each other out
(assuming there was no synchronization between the KC135's vibrations and
the timing of footstrike events), and you would be left with some indication
of a heelstrike transient.

Regards, Brian -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Brian L. Davis, Ph.D.
Department of Biomedical Engineering (ND20)
Cleveland Clinic Foundation

================================================== =========================
Hi John

What I meant was that you don't need the whole contact phase if you want to
focus on the heel transients. Likewise, you don't need the transient
portion if you are interested in peak push off forces. You could break the
data into two pieces---and treat each piece differently.

Regards, Brian -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Brian L. Davis, Ph.D.
Department of Biomedical Engineering (ND20)
Cleveland Clinic Foundation

================================================== =========================
Hi John
we face similar questions with our force-treadmill data collected on Earth.
obviously the vibration of the treadmill motor is not what we want to

my student Jinger Gottschall has written some Matlab code to
successively filter the data at decreasing cut offs and chart the
effect on the average impact peaks.
obviously, the lower the cut off the lower the impact peaks. so i
would filter at the "elbow" frequency where above it, there is no
dimunition of the peaks.
i have asked Jinger to contact you, but she is away next week and she
is trying to finish her PhD.

rather than rely on a generic algorithm, i would: collect the same
data for one subject on Earth (if possible). compare the noisy KC 135
data and the clean Earth data. that will tell you what you are
looking for. i would then FFT both data sets. the real FFT peaks
should show up on both data sets, the other FFT peaks are noise. that
should help you to decide how to filter it.

you might check out my paper on our older force treadmill. we talk
about this filteringn decision process.
R. Kram, T.M. Griffin, J.M. Donelan, Y.H. Chang. Force-treadmill for
measuring vertical and horizontal ground reaction forces. J. Applied
Physiology 85: 764-769, 1998.
you can download the paper from my web site listed below.
We have built a new force treadmill that has two belts and thus can
record individual foot forces in walking.

So, what was the KC-135 experiment? As you probably know my
colleague Young Hui Chang and I have thought about impact forces in
hypo-gravity. Y.-H. Chang, C. M. Hamerski and R. Kram. Applied
horizontal force increases impact loading in reduced gravity running.
J. Biomechanics. 34:679-685, 2001.


Rodger Kram, Ph.D.
Associate Professor
Dept. of Integrative Physiology
Univ. of Colorado
354 UCB
Boulder, CO 80309-0354

================================================== =========================
Hi Mr DeWitt,

I think you have a great application for using wavelet
filtering. I would use the review from Chau as a starting

Good luck!
Michel Ladouceur, PhD
================================================== =========================
Dear Dr. DEWITT,
in the '90s I presented an automatic digital filtering procedure named
LAMBDA based on the automatic identification from the noisy signal of both
signal and frequency content. This method determines an optimal (in some
sense) filtering frequency cut-off taking into account signal and noise
characteristics. In this period I'm going to present a new enhanced version
of LAMBDA procedure that is applicable even to not equispaced samples. Given
the fact there are a lot of considerations about signal sampling frequency,
signal frequency content and noise frequency content and level, before
entering into more detailed theoretical discussion about signal filtering
and derivatives assessment, I think You could send me a copy of the signals
You need to process in ASCII format specifying at the first line the signal
sampling frequency. I shall process these data for You with such new method
and I shall enter in further considerations once I'll get access to signals

[1] M. D'Amico and G. Ferrigno: Technique for the Evaluation of Derivatives
from Noisy Biomechanical Displacement Data Using a Model-Based
Bandwidth-Selection Procedure, Med. & Biol. Eng. & Comput. 28, pp.407-415,
1990. [2] M. D'Amico and G. Ferrigno, Comparison between the More Recent
Techniques for Smoothing and Derivative Assessment in Biomechanics, Med. &
Biol. Eng. & Comput. 30, pp. 193-204, 1992. Dr. Ing. MORENO D'AMICO
65124 Pescara Sede Operativa Via Aterno 154 (giÓ Via Salara 7) 66020 San
Giovanni Teatino (CH) C.F. - P. IVA 01457770681 Tel. (+39) 085-4463940
Fax: (+39) 085-4408450
================================================== =========================

I'm not familiar with this specific problem, but just wanted to offer a
concern about using different filters for distinct data sets. If you filter
causally, then different filter cutoffs will produce different phase delays.
Thus, differences in timing in the filtered signal can be the result of
changes in the cutoff frequency location. Thus, real changes could be
masked. So. I'd recommend either (1) demonstrating that the range of filters
that you would use have sufficiently similar phase responses, or (2) use
zero-phase, non-causal filtering to avoid this particular issue (e.g., see
"filtfilt()" in MATLAB).

Best of luck,

Ted Clancy

================================================== =========================

I have measured GRF from Gaitway treadmill for the purpose of simulating
effects of walking on floors of wafer-fab facilities.
For that I need up to 30Hz. The walking data and some frequency information
are in Candadian journal of civil engineering online 2004, I have a copy
somewhere. Essentially for walking/running the sequence of harmonics goes on
almost indefinitely so for say 2Hz walking (fpacing rate) you could take 6
to 8 times that.

Actually For civil dynamics of high frequency floors we find that a
footfall, e.g. heelstrike works like an impulse with frequency content
dropping off quite fast, as the pulse is wide.

I don't follow any of the procedures you mention but it is clear from the
GRF auto spectra that energy diminishes rapidly above 30Hz.

I have used 200Hz sample rate but for time history calulcation would be
happy to downsample to 100Hz, retaining information up to 40Hz zero

Not sure if this helps ...

Until Feb 14th I am .....

James M W Brownjohn
Associate Professor,
Division of Structures and Mechanics,
School of Civil and Environmental Engineering,
Nanyang Technological University,
50 Nanyang Avenue,
Tel +65 67904773
Fax +65 67910676
Email cjames@ntu.edu.sg
Homepage http://www.ntu.edu.sg/home/cjames

After that you can still reach me by this e-mail for a while but my postal
address will be:

James M W Brownjohn
Professor of Structural Engineering
School of Engineering
University of Plymouth
Drake Circus
Plymouth PL4 8AA
United Kingdom
================================================== =========================
My preferred method for determining the appropriate cut-off frequency is
found in:

Yu, B., Gabriel, D., Noble, L., and Kai-Nan, A. (1999) Estimate of the
Optimum Cut-off Frequency for the Butterworth Low-Pass Digital Filter.
Journal of Applied Biomechanics, 15(3), 318-329.

I have used this method for many years and it usually chooses a rather high
cut-off frequency leaving a lot if the signal while eliminating much of the
noise. I have a Matlab routine that applies this method, if you are


Tim Doyle
Edith Cowan University
PhD Candidate - Biomechanics
Perth, WA, Australia
+61 411 551 744 (Mobile/Cell)
+61 8 9400 5097 (Office)

================================================== =========================
Dear John,
I would suggest to find once and for all a suitable cut-off frequency,
and then stick to it.
In this way you have data sets which are mutually comparable.
This is better than squeezing all information out of any available
The choice of the cut-off depends on your application. In this
aspect I am against so-called objective criteria, as Challis' is
probably one. It is, for example, advisable to use the same cut-off
frequency (often 3-6 Hz) for the force plate data as for the
kinematics, when you do inverse dynamics (see discussion on

The worst case I ever saw was commercial software for kinematics,
in which x, y and z coordinates were all filtered with different
'optimal' cut-off frequencies, one by one determined with a very
clever algorithm.

These were my subjective opinions. Yours,

At Hof
Institute of Human Movement Science
University of Groningen
PO Box 196
9700 AD Groningen
The Netherlands
Tel: (31) 50 363 2645

================================================== =========================

Hello John,

I was reading thru your question on Challis' method to determine the cutoff
frequency. I am not familiar with his method, but I am familiar with the
lowpass filter that he is using. My initial guess after reading the abstract
of his method is that it is iteratively computing the the error between the
filtered signal and non-filtered signal and changing the cutoff frequency
until the error obtained is minimal.

I have done a bit of signal processing with regards to images and I wouldn't
mind discussing it with you. I have requested a copy of his article so I
could learn about his method.

Just a thought:

In his work, he has determined the cutoff frequency using the
characteristics of white noise as a reference. I am not fully aware of the
type of signal you are acquiring, but, will it help to do a dry-run and use
that as a reference to determine the cutoff frequency?

dry-run: Collect data without taking the airplane for a parabolic cycle i.e.
collect treadmill data without take-off. Use that as the ideal signal
characteristic and identify the cut-off freq accordingly. This will help you
to isolate the noise components due to the motion of the plane, and then you
will just have to deal with general noise in the signal.

Will this help???



Archana P. Sangole, Ph.D.
Engineering Postdoctoral Fellow
Rehabilitation Sciences and Orthopaedics
The University of Texas Medical Branch
Mail Route #0892
Tel: (409) 747-4545
Fax: (409) 747-4223
E-mail: archana.sangole@utmb.edu

================================================== =========================
Hi John:

When I have processed noisy GRF data, I have done the calculations and the
identification of critical points using unfiltered data, and have just
filtered for "presentation" purposes. This idea probably comes from the
processing of EMG data. Filtered GRF curves may look right, but I don't
think that there is any real way of knowing what is correct for each
subject. Unless your data are so noisy that you are getting unrealistic
peak values, I would suggest finding important points such as maxima from
the unfiltered data.

If you do decide to filter the data, it would likely be very difficult to
convince reviewers that filtering some trials one way, and other trials with
another method would be acceptable. Although I agree that this is probably
the best solution if it is done well, and with integrity, as you would do,
it also leads to the perception that the data could have been "fudged."

Hope this helps.

Al Hreljac

================================================== =========================
Dear Mr Dewitt,

My collegue has forwarded me your e-mail, regarding the selection of an
appropriate cuttoff frequency. My name is Radmila Maksimovic, and I'm a PhD
student at King's College, London. The subject of my thesis is detection and
prediction of epileptic seizures through non-invasive evaulation of body
moevemnts and cardiac parameters. Seems to me that I have very similar
problem to yours: namely, I am trying to remove the aretfact (noise) and to
extract the QRS peak frequency, which is corrupted in that noise. Using the
4th order Butterworth filter I was not able to distinguish it from the noise
(you seem to have the same problem with an impact peak). I also agree with
you in the thing that you have to use various methods for determination of
the cuttoff frequency. In my case heart rate varies a lot from patient to
patient and different cuttoff frequencies have to be used anyway. I would be
interested to try Challis approach on my data and would be very grateful if
you could send me the algorithm you use - so, we can make the conclusions
for different data.Look forward to hearing from you.

Best regards,
Radmila Maksimovic

================================================== =========================
Dear John,
You ask a great question with which I have struggled lately. My colleagues
and I have been developing analyses in Matlab to study hip and pelvis
synchronization and kinematics. We are identifying characteristics that may
distinguish movement patterns in persons with and without low back pain. One
task has subjects laying face-down, bending hip and knee, and trying to
rotate only at the hip while preventing motion at the pelvis and the knee.
Subjects chose their own paces, so movement times in one direction ranged
from 1 to 6 seconds. We are particularly interested in the start of pelvic
movement relative to hip, but the pelvic movements were generally small and
did not vary consistently through a trial. Hence, we thought a lot about
finding a good filtering strategy and start-end of motion algorithm.
Smoothing the data with a dualpass butterworth 4th order filter resulted in
a fairly significant oversmoothing/undersmoothing tradeoff when we chose a
single cutoff (attenuation) frequency across subjects with different
movement times. We decided on a two-pass filtering procedure. In the first
pass, the raw data was filtered at 2.5Hz, and the primary hip angle
(transverse rotation) was used to determine the start and end of motion. A
period of movement was estimated as twice the movement time, from which a
trial-specific frequency cutoff was determined as 1/(.15*period), e.g. a
movement time of 2s yields a cutoff of 1/(.15*4)=1.67Hz. This ratio was
developed in part from the discussion in Dr. Winter's text.
We then filtered the raw hip and pelvic angles with the trial-specific
cutoff, determined angular velocities, and calculated start and end of
motion for hip and pelvis angles from an algorithm using both angle and
velocity. The objective algorithm agreed with our subjective visual
assessments of start and end of motion for over 99% of the data). However,
the filtering itself seemed a little high or low for 10-15% of the data
(oversensitive to the trial-specific cutoff frequencies), so we may revise
this procedure somewhat. We look forward to your summary for possible
improvements and opposing opinions.
Dave Collins, PhD, Washington University School of Medicine, St. Louis, MO,
================================================== =========================
Dear John,
In your recent email to biomch-l you describe problems you are having
selecting a filter cut-off frequency for processing ground reaction force
data collected from a treadmill. In principle it makes sense to use
different cut-off frequencies for different data sets as the signal to noise
content varies depending on the measurement equipment and the signal
generated by each subject.

Methods which automatically determine the cut-off frequency (or amount of
smoothing) effectively make a judgment about the signals signal-to-noise
ratio; typically assuming the noise is white. White noise has a flat power
spectrum, and is present across all frequencies. In the case you are
examining, treadmill ground reaction force data, I suspect the natural
frequency of your measurement equipment is generating noise which is not
white, thus violating one of the assumptions of automatic methods. This
combined with the impact peak in the ground reaction force data being of a
much higher frequency than the rest of the ground reaction force signal,
makes appropriate filtering of ground reaction force data with an automatic
method problematic.

I would be happy to look at some of your data, for example you could send me
example trials on which the automated procedure works and some on which it
does not work.


John H. Challis, Ph.D.
Center for Locomotion Studies
29, Recreation Building
The Pennsylvania State University
University Park

John DeWitt, M.S., C.S.C.S.
Biomechanist - Exercise Physiology Laboratory
Space Physiology & Countermeasures
NASA - Johnson Space Center
Houston, TX 77058
281-483-8939 / 281-483-4181 (fax)

To unsubscribe send SIGNOFF BIOMCH-L to LISTSERV@nic.surfnet.nl
For information and archives: http://isb.ri.ccf.org/biomch-l
Please consider posting your message to the Biomch-L Web-based
Discussion Forum: http://movement-analysis.com/biomch_l