Van Den Bogert, Ton

09-18-2006, 03:22 AM

First some background for the Biomch-L subscriber. In the GCVSPL

software, VAL is the "smoothing parameter" of the spline, which occurs

as a weighting factor in a cost function which is minimized. This

produces a compromise between how well the spline fits the measurements

and its smoothness (for a more detailed explanation, see my notes in

http://isbweb.org/software/sigproc/bogert/filter.pdf).

Woltring describes the relationship between VAL and frequency domain

filter characteristics in his release notes:

http://isbweb.org/software/sigproc/gcvspl/gcvspl.memo. This states that

a smoothing spline is equivalent to a

"double, phase-symmetric

Butterworth filter, with transfer function H(w) = [1 +

(w/wo)^2M]^-1,

where w is the frequency, wo = (p*T)^(-0.5/M) the filter's

cut-off

frequency, p the smoothing parameter, T the sampling interval,

and 2M

the order of the spline. If T is expressed in seconds, the

frequen-

cies are expressed in radians/second."

The VAL calculations that you cited can be derived from this.

The equation for the transfer function has the property H(w0)= 0.5.

This is because it is a double Butterworth filter (applied twice).

Cut-off frequency is usually defined as the frequency at which

H=1/sqrt(2), and this is why Tony Reina and I have an extra factor in

the equation.

You can easily verify the correctness of your spline smoothing by

processing a sine wave signal at the cut-off frequency. If it comes out

as a sine wave with its amplitude reduced by a factor 1.41 (=sqrt(2)),

you have used the correct VAL. I have done this and it came out as

expected.

--

Ton van den Bogert

> -----Original Message-----

> From: * Biomechanics and Movement Science listserver

> [mailto:BIOMCH-L@NIC.SURFNET.NL] On Behalf Of Rettig, Oliver

> Sent: Friday, September 15, 2006 5:30 AM

> To: BIOMCH-L@NIC.SURFNET.NL

> Subject: [BIOMCH-L] Woltring Filter cutt-off-frequency

> VAL/P-value

>

> Dear all,

>

> we implement an algorithm for gait event detection.

>

> For smoothing and derivating the data we want to use the WOLTRING

> filter. We have found Tony Reina's Matlab MEX interface for the

> GCVSPL and SPLDER packages based on Dwight Meglan's C Code on the web

> address http://www.isbweb.org/software/sigproc.html.

>

> We have the problem to find the correct VAL value for the WOLTRING

> GCVSPL package.

> We found three approaches:

>

> 1. From dan@indy1.motorlab.nsi.eduSun

>

> VAL = sampling_freq/(2*PI*cut_off_freq)**(2*order)

>

> 2. from Ton van den Bogert

>

> w0factor = (sqrt(2.0)-1)**(0.5/m)

>

> val = 1.0/dt*(2*pi*f0/w0factor)**(-2*m)

>

> 3. Tony Reina

>

> VAL = (EMG-sampling_freqency/1000.0) /

> pow(2*PI*EMG_CUTOFF_FREQUENCY/1000.0/pow( (sqrt(2.0)-1),0.5/M),2.0*M)

>

> (including in EMG example)

>

>

> Our questions are:

>

> Do anybody know what is the correct equation for calculating the mode

> value VAL from given cut-off-frequeny?

>

> And why the factor 1000 appears in the equation from Tony Reina?

>

> Many thanks

>

> Kai Kraft

> Oliver Rettig

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

Cleveland Clinic is ranked one of the top 3 hospitals in America by U.S.News & World Report. 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.

software, VAL is the "smoothing parameter" of the spline, which occurs

as a weighting factor in a cost function which is minimized. This

produces a compromise between how well the spline fits the measurements

and its smoothness (for a more detailed explanation, see my notes in

http://isbweb.org/software/sigproc/bogert/filter.pdf).

Woltring describes the relationship between VAL and frequency domain

filter characteristics in his release notes:

http://isbweb.org/software/sigproc/gcvspl/gcvspl.memo. This states that

a smoothing spline is equivalent to a

"double, phase-symmetric

Butterworth filter, with transfer function H(w) = [1 +

(w/wo)^2M]^-1,

where w is the frequency, wo = (p*T)^(-0.5/M) the filter's

cut-off

frequency, p the smoothing parameter, T the sampling interval,

and 2M

the order of the spline. If T is expressed in seconds, the

frequen-

cies are expressed in radians/second."

The VAL calculations that you cited can be derived from this.

The equation for the transfer function has the property H(w0)= 0.5.

This is because it is a double Butterworth filter (applied twice).

Cut-off frequency is usually defined as the frequency at which

H=1/sqrt(2), and this is why Tony Reina and I have an extra factor in

the equation.

You can easily verify the correctness of your spline smoothing by

processing a sine wave signal at the cut-off frequency. If it comes out

as a sine wave with its amplitude reduced by a factor 1.41 (=sqrt(2)),

you have used the correct VAL. I have done this and it came out as

expected.

--

Ton van den Bogert

> -----Original Message-----

> From: * Biomechanics and Movement Science listserver

> [mailto:BIOMCH-L@NIC.SURFNET.NL] On Behalf Of Rettig, Oliver

> Sent: Friday, September 15, 2006 5:30 AM

> To: BIOMCH-L@NIC.SURFNET.NL

> Subject: [BIOMCH-L] Woltring Filter cutt-off-frequency

> VAL/P-value

>

> Dear all,

>

> we implement an algorithm for gait event detection.

>

> For smoothing and derivating the data we want to use the WOLTRING

> filter. We have found Tony Reina's Matlab MEX interface for the

> GCVSPL and SPLDER packages based on Dwight Meglan's C Code on the web

> address http://www.isbweb.org/software/sigproc.html.

>

> We have the problem to find the correct VAL value for the WOLTRING

> GCVSPL package.

> We found three approaches:

>

> 1. From dan@indy1.motorlab.nsi.eduSun

>

> VAL = sampling_freq/(2*PI*cut_off_freq)**(2*order)

>

> 2. from Ton van den Bogert

>

> w0factor = (sqrt(2.0)-1)**(0.5/m)

>

> val = 1.0/dt*(2*pi*f0/w0factor)**(-2*m)

>

> 3. Tony Reina

>

> VAL = (EMG-sampling_freqency/1000.0) /

> pow(2*PI*EMG_CUTOFF_FREQUENCY/1000.0/pow( (sqrt(2.0)-1),0.5/M),2.0*M)

>

> (including in EMG example)

>

>

> Our questions are:

>

> Do anybody know what is the correct equation for calculating the mode

> value VAL from given cut-off-frequeny?

>

> And why the factor 1000 appears in the equation from Tony Reina?

>

> Many thanks

>

> Kai Kraft

> Oliver Rettig

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

Cleveland Clinic is ranked one of the top 3 hospitals in America by U.S.News & World Report. 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.