Opensim low pass filter question
- James Buffi
- Posts: 6
- Joined: Tue Jul 06, 2010 9:27 am
Opensim low pass filter question
Does anyone know what type of low pass filter opensim uses to filter joint angle data for inverse dynamics, RRA, etc? At what point in the process is the filter applied?
Re: Opensim low pass filter question
For the InverseDynamicsTool and AnalyzeTool the joint angles are filtered using a 3rd order lowpass IIR Butterworth digital filter. The RRATool (and CMCTool) use a lowpass FIR nonrecursive filter, with the order set to 50 with the following reference: http://www.dspguide.com/CH16.PDF
In both cases they are filtered prior to being fitted by GCVSplines and the splines are differentiated to provide velocity and acceleration information.
In both cases they are filtered prior to being fitted by GCVSplines and the splines are differentiated to provide velocity and acceleration information.
- James Buffi
- Posts: 6
- Joined: Tue Jul 06, 2010 9:27 am
Re: Opensim low pass filter question
Thanks Ajay!
- Antoine Falisse
- Posts: 429
- Joined: Wed Jan 07, 2015 2:21 am
Re: Opensim low pass filter question
I have another question related to the low pass filter used in the InverseDynamicsTool.
If I am right, the filter is a dual pass 3rd order filter. Is it thus right to say that, due to the dual pass, the effective cutoff frequency is lower than the selected cutoff frequency? This follows what is discussed in those threads: http://biomch-l.isbweb.org/threads/2662 ... !!!)/page2 and http://biomch-l.isbweb.org/threads/2500 ... #post27431.
If the desired cutoff frequency is 6 Hz, we should thus adjust the selected frequency to 6/0.8634 = 6.9493 Hz in OpenSim to obtain the desired response. I don't think this adjustment is made in OpenSim (https://github.com/opensim-org/opensim- ... Signal.cpp).
Could anyone confirm? I am trying to compare two models/workflows and I want to make sure I am using the same filter. Many thanks.
Ps: 0.8634 = (sqrt(2)-1)^(1/(2*3)) where 3 is the order of the filter.
If I am right, the filter is a dual pass 3rd order filter. Is it thus right to say that, due to the dual pass, the effective cutoff frequency is lower than the selected cutoff frequency? This follows what is discussed in those threads: http://biomch-l.isbweb.org/threads/2662 ... !!!)/page2 and http://biomch-l.isbweb.org/threads/2500 ... #post27431.
If the desired cutoff frequency is 6 Hz, we should thus adjust the selected frequency to 6/0.8634 = 6.9493 Hz in OpenSim to obtain the desired response. I don't think this adjustment is made in OpenSim (https://github.com/opensim-org/opensim- ... Signal.cpp).
Could anyone confirm? I am trying to compare two models/workflows and I want to make sure I am using the same filter. Many thanks.
Ps: 0.8634 = (sqrt(2)-1)^(1/(2*3)) where 3 is the order of the filter.