^{★}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

This paper presents a two stage algorithm for real-time estimation of instantaneous tremor parameters from gyroscope recordings. Gyroscopes possess the advantage of providing directly joint rotational speed, overcoming the limitations of traditional tremor recording based on accelerometers. The proposed algorithm first extracts tremor patterns from raw angular data, and afterwards estimates its instantaneous amplitude and frequency. Real-time separation of voluntary and tremorous motion relies on their different frequency contents, whereas tremor modelling is based on an adaptive LMS algorithm and a Kalman filter. Tremor parameters will be employed to drive a neuroprosthesis for tremor suppression based on biomechanical loading.

Tremor is defined as a rhythmic oscillation of a body part [

Regarding its aetiology, tremors are caused by the different combinations of four different mechanisms: (1) mechanically induced oscillations, (2) oscillations due to reflexes, (3) oscillations due to central neuronal circuits, and (4) oscillations because of disturbed feedback or feedforward loops [

Pathological tremors are typically classified by position/motor behavior, which reflects under which circumstances tremor appears. According to this criterium, tremor falls into three categories: rest, postural and kinetic tremor [

Current strategies on the treatment of tremors are based on drugs, surgery (thalatomy), or deep brain stimulation. The last two options are typically employed in patients refractory to drugs [

In this context, functional compensation of pathological tremors via biomechanical loading has appeared as a promising alternative. It is based on the fact that most types of tremors change their characteristics (amplitude and frequency) when the apparent limb impedance is modified, for example, applying a force or adding a mass [

Inertial sensors technologies constitute a breakthrough and optimal approach to worn sensors in motion analysis [

Other solutions for kinematic recording of tremors found in the literature are instrumented, ad-hoc devices, such as the instrumented glove [

Regarding tremor monitoring with MEMS inertial sensors, accelerometers constitute the most spread alternative [

Most of currently existing tremor estimation algorithms have been developed for cancelling physiological tremor in human-machine interfaces. Physiological tremor has another aetiology than pathological tremors, and possesses also different characteristics: it is barely visible to the unaided eye, and has frequency between 8 and 12 Hz [

In this paper, we present a two stage algorithm that estimates instantaneous tremor parameters from wearable gyroscope data. As above mentioned, information about current tremor amplitude and frequency will be employed to drive a neuroprosthesis for tremor suppression based on application of selective biomechanical loads. We employ MEMS gyroscopes to record joint kinematics. Next, tremorous patterns are extracted from the recorded motion, based on the frequency distribution of voluntary and tremorous components of movement. The second stage of the algorithm estimates tremor amplitude and frequency from the tremorous component of joint motion. Robust, precise and low delay estimation of tremor parameters is achieved: average amplitude estimation error is 0.001 ± 0.002 rad/s, and frequency estimation agrees with spectrograms.

This paper is organized as follows. First, Section 2 presents selection of sensors, patients, and clinical and functional tests to be recorded. Next, in Section 3, we introduce the architecture of our two stage algorithm, and a series of estimators that will be evaluated for voluntary movement estimation and tremor modelling (each of the stages). The performance of these algorithms when tracking tremor parameters in real data is compared in Section 4; which serves to define an optimal architecture for the algorithm. Finally, we end the paper with a discussion on the results, and some conclusions summarizing major achievements.

In order to assess time varying tremor parameters, we record hand motion by measuring wrist flexion-extension. We decide to measure wrist tremor because: (1) tremors are more explicit at distal joints [

Wrist rotation is obtained with two solid state gyroscopes, placed on the distal part of the forearm, and on the hand,

Proper alignment between gyroscope axes and wrist joint is ensured before recording. Wrist flexion-extension is simply calculated subtracting the rotation measured with the hand gyroscope from the forearm rotation. Gyroscope bias is compensated online, based on its correlation with temperature, which is measured by the sensor itself. Correlation between gyroscope bias and temperature in three axes of one of the inertial measurement units (IMUs) we employ is shown in _{axis}

Sensors selected are off the shelf inertial measurement units (IMU) provided by Technaid S.L. They are compound of triaxial accelerometers, gyroscopes, and magnetometers. The low weight of these IMUs, around 40 g, makes them an optimal solution for our application, as tremor would change its characteristics if a larger mass were attached to the limbs [

A group of patients affected by the most common pathologies that cause tremor was recruited for this study. The patients group was compound of four men and one woman, ages ranging from 48 to 74 years old (average 63 years old). All of them agreed to participate in the experiments, and gave their written informed consent. Patients had been previously diagnosed by the neurological personnel of the Hôpital Erasme at Brussels; their clinical features are depicted in

We selected four tasks that are relevant either from the clinical or usability analysis standpoint. Three of them are employed by neurologists to activate the different types of tremor [

During the whole session, patients were sitting, with both arms comfortably resting on their lap. Selected tasks were:

Arms outstretched: The patient is asked to elevate both arms and hold them against gravity with fingers abducted, hands in supination, during 30 s. This task is typically employed to activate postural tremor.

Finger to nose: The patient is asked to alternatively touch his nose and knee with the tip of his/her finger during 30 s. The patient must keep contact with nose and knee during a few seconds. This task is typically used to activate kinetic tremor.

Rest: The patient is asked to keep both arms resting on the lap during 30 s. The elbow is flexed around 90°. This tasks is typically used to activate rest tremor.

Pouring water into a glass: The patient is asked to pour 20 cl water from a standard bottle into a regular glass. The patient could choose how to perform the task,

This section presents our two stage algorithm for real-time modelling of tremor. It relies on two assumptions: (1) pathological tremors and voluntary motions have different frequency distributions, and (2) pathological tremor constitutes, from a signal processing standpoint, additive noise superimposed to volitional movement [

The data we collected yields that pathological tremors occur in a frequency band higher than voluntary motion,

In addition, pathological tremors are reported to occur at higher frequencies, typically in the 3–12 Hz band [

According to this, it is possible to extract voluntary and/or tremorous motion from kinematic data time series based solely on their different frequency contents, for example with a forth and back recursive digital filter that removes one of them from the original signal without causing phase distortion,

However, at the moment of developing a real-time algorithm, we must take into account that power of tremorous component of motion is considerably smaller than that of volitional origin. This makes estimation algorithms based on gradient like approaches tend to converge towards the voluntary component, making them unsuitable for direct tremor modelling [

This section reviews a series of algorithms that are employed to develop the two stage algorithm. First, we present a number of techniques to track voluntary movement based on its lower frequency content. Next, we introduce two adaptive algorithms that track an input signal based on Fourier modelling and the Least Mean Square (LMS) recursion, a gradient-like approach [

Two types of tracking algorithms for real-time estimation of voluntary movement will be evaluated. As discussed above, voluntary movements are assumed to be performed between 0 and 2 Hz. Therefore, the tracking algorithm must be designed to neglect any component of the movement over 2 Hz.

Voluntary movement is modelled as a first order process. If we consider a Taylor series that represents voluntary movement, we can neglect the second derivative _{s}^{−4} rad·s^{−3}, 4 orders of magnitude smaller than average angular velocity.

g–h filters are simple recursive filters that estimate future position and velocity of a variable based on first order model of the process. Measurements are used to correct these predictions, minimizing the estimation error. Traditional applications of g–h filters are radar tracking and aeronautics [

_{k,k}_{k,k}_{k,k−1}, _{k,k−1}, taking current measurement _{k}_{k}_{k}_{k+1,k}, _{k+1,k}, based on first order dynamic model of the variable. As g–h trackers consider a constant velocity model, predicted velocity _{k+1,k} is equal to the current one, _{k,k}

g–h filters are affected by two error sources [_{k}_{k}

Benedict–Bordner Filter: The Benedict–Bordner Filter (BBF) minimizes the total transient error, defined as the weighted sum of the total transient error and the variance of prediction error due to measurement noise errors [

As

Critically Dampened Filter: The Critically Dampened Filter (CDF) minimizes the least squares fitting line of previous measurements [

Selection of filter gain for the CDF is analogous to that for the BBF.

The Kalman filter (KF) is the most widespread estimation algorithm, and is employed in a large number of applications. We implement a KF that tracks voluntary movement modelled as a first order process,

Covariance matrices are defined taking into account the following considerations:

Measurement noise covariance

Process noise covariance

To select the variance of the random velocity component,
_{ẍ}_{ν}_{ẍ}_{ẍ}^{−3}.

State of the art tremor modelling algorithms rely on a time-varying Fourier series, which parameters are estimated recursively. Adaptation to the input signal is based on the LMS algorithm developed by Widrow [

We evaluate the performance of two algorithms originally developed to track physiological tremor, and of a Kalman Filter we have developed to estimate tremor amplitude, the parameter that is more prone to change during the execution of a task, while tremor frequency keeps within a ±1.5 Hz interval around tremor frequency [

The Weighted Frequency Fourier Linear Combiner (WFLC) is the most widespread algorithm for tremor modelling. It consists in an extension of the classical noise canceller presented in [

_{0}, and _{1}, and a bias weight _{b}

The Bandlimited Multiple Fourier Linear Combiner (BMFLC) is a more recent algorithm derived from the FLC. It emerged to compensate for the limitations of the WFLC to track physiological tremor when two constituent frequencies [

The performance of the BMFLC relies on the multiple fixed frequencies it can track. An interval is thus defined with the lower and upper frequency of the FLCs bank, _{0}, and _{f}

_{0}, and _{f}_{b}

Although the BMFLC is not conceived as a frequency tracking algorithm, we developed an equation to estimate the current frequency of the input signal,

The WFLC and BMFLC algorithms provide adaptation to the input signal based on special estimates of the gradient. On the contrary, Kalman Filter (KF) constitutes the optimal solution for estimation problems, in the sense it minimizes the covariance of a posteriori estimation error. Therefore the performance of WFLC and BMFLC, overall in terms of amplitude estimation, as it is the parameter that varies the most, can be enhanced using an adequate KF. In a similar manner to WFLC, we define our KF as:
_{0} the current tremor frequency. As tremor frequency suffers slow changes, and varies in a ±1.5 Hz interval around a characteristic frequency that depends on the patient, [

Covariance matrices are adjusted as follows:

Measurement noise covariance

Process noise covariance is defined as _{1,1}, _{2,2}, _{3,3}, _{4,4}), because state variables are considered to be mutually independent.

This section presents evaluation of the algorithms described in previous section for both voluntary motion tracking, and estimation of tremor parameters. The idea is to find a unique filter setup that provides accurate tracking of instantaneous tremor parameters for every patient and task. To do so, first, we present the figure of merit that will be employed to tune each algorithm, and compare the performance of different candidates. Next, we summarize the results obtained with each of them.

The Kinematic Tracking Error (KTE) evaluates the smoothness, response time, and execution time of a tracking algorithm, [_{|b*|} and
_{k}_{k+1,k}|, respectively. The former measures how fast the algorithm is capable of reacting when the velocity changes, whereas the latter quantifies the smoothness or filtering of the estimated variable [

First, we present results obtained with the optimal parameter(s) for each of the voluntary movement estimation algorithms presented in Section 3.1 The condition to select the optimal parameter(s) for each algorithm is to find the tuning that minimizes the KTE between filter estimation of voluntary motion and zero phase (off-line) recursive estimation of voluntary movement. Optimal filters are:

Benedict–Bordner Filter with

Critically Dampened Filter with

Kalman Filter with

The KTE is employed next to compare their relative performance.

An optimal figure of merit to evaluate tremor estimation algorithms must consider the physical nature of the estimation error; for example if it originates from phase difference between real and estimated tremor, or estimation overshoots and undershoots. Traditional use of root mean square error (RMSE) suffers from these problems: (1) because errors due to undershoots and overshoots posses large power, which make them overshadow errors from interest, and (2) because the presence of delays affects the RMSE severely, although it does not necessarily indicate poor performance [_{d}, takes both phenomena into account [_{d} is defined as follows:
_{k}_{k−d̂k} stands for the delay compensated tremor estimation. Instantaneous delay _{k}_{d}.

First we select filter parameters so that they minimize FMSE_{d}, and afterwards we compare the performance of each filter presented in Section 3.2 Optimal filters are:

Weighted Frequency Fourier Linear Combiner with _{0} = 5 · 10^{−4}, _{1} = 2 · 10^{−2}, _{b}^{−2}, _{0} = 6 Hz.

Bandlimited Multiple Fourier Linear Combiner with ^{−2}, _{b}_{0} = 3 Hz, _{n}

Kalman Filter with _{0} = 5 · 10^{−4}, _{1} = 1 · 10^{−2}, _{b}^{−2}, _{0} = 6 Hz,

_{d} per task and patient for the optimal setup for the three algorithms. FMSE_{d} is computed as the error between applying the different tremor modelling algorithms to the estimated tremor, obtained as the difference between raw gyroscope signal and CDF estimation, and the zero phase offline estimation of tremor. We observe that among the WFLC, BMFLC, and KF, the KF (with a previous WFLC stage) performs the best when estimating instantaneous tremor amplitude, as it provides the least FMSE_{d} for all tasks, and also is capable of tracking tremor frequency in a robust fashion, as shown below. Therefore, we choose to employ a WFLC in cascade with a KF to estimate tremor parameters in real-time.

Previous sections presented a two stage algorithm for real-time estimation of tremor parameters. The first stage is in charge of separating voluntary and tremorous components of movement, based on the fact that tremor alters volitional motion in an additive manner [

Regarding voluntary movement estimation, we evaluated two g–h filters, the Benedict–Bordner (BBF) and Critically Dampened Filters (CDF), and a Kalman Filter (KF), for tracking volitional motion based on a figure of merit that accounts for tracking error and estimation smoothness, the Kinematic Tracking Error (KTE). This analysis yielded that g–h filters outperform the KF, because it results difficult to make it adapt quickly to changing voluntary movement patterns without tracking tremor, which translates into a larger KTE,

Algorithms for estimation of instantaneous tremor frequency and amplitude are evaluated based on the Filtered Mean Square Error with Delay correction (FMSE_{d}). This metric presents the advantages of accounting for errors due to undershoots and overshoots, and those originated from estimation delays [_{d}, as it puts together accurate tremor frequency estimation based on a WFLC, and an independent KF for amplitude estimation, _{d} is at least five time smaller than that obtained with the BMFLC, which constitutes the second best candidate. KF tremor estimation proves to be robust and precise both during steady state regime and transitory periods, while BMFLC and overall WFLC lack of that accurate adaptation during transients, mainly because of the fixed gain they employ. This is demonstrated because performance in terms of FMSE_{d} degrades the most during finger to nose and water glass tests,

Therefore, the optimal architecture for the two-stage algorithm is constituted by a Critically Dampened Filter that estimates voluntary movement, and a cascade algorithm compound by a Weighted Frequency Fourier Linear Combiner that estimates tremor frequency and feds it into a Kalman Filter that tracks tremor amplitude,

This paper presented a two stage algorithm for real-time estimation of instantaneous tremor parameters. At the first stage, the algorithm separates tremorous and concomitant voluntary movement based on their different distributions in the frequency domain. Next, estimated voluntary movement is removed from raw kinematic data, in order to generate an estimation of tremor. This estimation is then fed, at a second stage, into aWeighted Frequency Fourier Linear Combiner (WFLC) that tracks tremor frequency, and into a Kalman Filter that uses WFLC frequency information to estimate tremor amplitude.

The resulting algorithm provides accurate estimation of tremor amplitude, with an average FMSE_{d} of 0.001 ± 0.002 rad/s, and robust frequency estimation when compared with spectrograms. Our two stage algorithm has been validated with patients suffering from major pathologies that cause tremor during the execution of both clinical and functional tasks. Real-time tremor parameters will be employed to drive a “soft robot” or neuroprosthesis for tremor suppression based on Functional Electrical Stimulation.

The work presented in this paper has been carried out with the financial support from the Commission of the European Union, within Framework 7, specific IST programme “Accessible and Inclusive ICT”, Target outcome 7.2 “Advanced self-adaptive ICT-enabled assistive systems based on non-invasive Brain to Computer Interaction (BCI)”, under Grant Agreement number ICT-2007-224051, “TREMOR: An ambulatory BCI-driven tremor suppression system based on functional electrical stimulation.”

Placement of MEMS gyroscopes (red boxes) for recording wrist flexion-extension. A differential measurement directly provides wrist rotation.

Relationship between gyroscope offset and temperature. Top plot shows temperature variation measured by the IMU. Bottom plot shows correlation between offset and temperature for X (blue), Y (green) and Z (red) axis gyroscopes. High correlation is observed.

Power spectral density of wrist rotation during a finger to nose task performed by patient 01. It is observed that voluntary movement (below 2 Hz) has considerably more energy than tremorous movement (centered around 5.5 Hz). Dashed red line separates energy attributed to voluntary (left) and tremorous motion (right).

Separation of voluntary and tremorous components of movement by means of recursive digital filters. Top left figure shows the original signal (black) and voluntary movement (red) obtained with a zero phase low pass filter, _{c}

Block diagram of the two stage algorithm for real-time estimation of tremor parameters. First, we generate an estimation of the voluntary component of motion, which subtracted from the total movement yields an estimate of tremor. Afterwards, in stage two, and adaptive algorithm tracks instantaneous tremor parameters.

Comparison between CDF and BBF estimation of voluntary movement from raw gyroscope data during an arms outstretched test performed by patient 01.

Top plot: Comparison between tremor amplitude tracking with the WFLC (blue line), and a cascade algorithm compound by a KF preceded by a WFLC (red line). Bottom plot: frequency tracking with the WFLC (solid line), plotted against tremor spectrogram. Data corresponds to an arms outstretched test performed by patient 01.

Block diagram summarizing the two stage algorithm for real-time estimation of instantaneous tremor parameters. First, a Critically Dampened Filter estimates voluntary motion from raw kinematic data. Next, we generate an estimation of tremor by subtracting voluntary from raw movement. At the second stage, the Weighted Frequency Fourier Linear Combiner estimates instantaneous tremor frequency, and then feds it into a Kalman Filter that tracks instantaneous tremor amplitude.

Clinical features of enroled patients.

Patient number | Medical History | Tremor | Body segments affected | Frequency | Grade^{1} |
---|---|---|---|---|---|

01 | Essential Tremor | Postural | Right upper limb | 7 Hz | 2 |

Kinetic | Right upper limb | 4 Hz | 2 | ||

| |||||

02 | Paraneoplastic Syndrome | Kinetic | Upper/lower limbs | 5–6 Hz | 1,2 |

Postural | Right/left inch | 2–3 Hz | 1 | ||

| |||||

03 | Idiophatic Parkinson | Rest | Upper limbs | 3–4 Hz | 1,3 |

Postural | Left hand | 6 Hz | 1 | ||

| |||||

04 | Extrapyramidal Syndrome | Rest | Upper limbs | 3–4 Hz | 2 |

Postural | Upper limbs | 3–4 Hz | 1 | ||

| |||||

05 | Essential Tremor | Postural | Right upper limb | 7 Hz | 2 |

Kinetic | Upper limbs | 4 Hz | 2 |

If there are two figures the first one refers to the right limb and the second one to the left limb. If not, tremor severity is the same for both limbs. The grades are: 0: Absent, 1: Discrete and infrequent, not disturbing for the patient, 2: Mild, tremor amplitude is discrete but persistent, or tremor amplitude is mild but its presence is intermittent, 3: Intense, the tremor interferes in some activities, its amplitude is mild but it appears most of the time, 4: Severe, the tremor interferes in most of the chores, its amplitude is high, and it appears most of the time.

Kinematic Tracking Error (rad/s) for voluntary movement tracking algorithms organized by

Algorithm | Arms Outstretched | Finger to nose | Rest | Water into a glass |
---|---|---|---|---|

Benedict–Bordner Filter | 0.194 ± 0.058 | 0.400 ± 0.134 | 0.147 ± 0.091 | 0.291 ± 0.083 |

Critically Dampened Filter | 0.121 ± 0.053 | 0.372 ± 0.118 | 0.134 ± 0.081 | 0.264 ± 0.073 |

Kalman Filter | 0.169 ± 0.100 | 0.378 ± 0.143 | 0.174 ± 0.129 | 0.312 ± 0.124 |

Filtered Mean Square Error with Delay correction (rad/s) for tremor estimation algorithms

Algorithm | Arms Outstretched | Finger to nose | Rest | Water into a glass |
---|---|---|---|---|

Weighted Frequency FLC | 0.017 ± 0.007 | 0.052 ± 0.023 | 0.014 ± 0.006 | 0.042 ± 0.020 |

Bandlimited Multiple FLC | 0.007 ± 0.008 | 0.008 ± 0.019 | 0.005 ± 0.012 | 0.006 ± 0.013 |

Kalman Filter | 0.001 ± 0.003 | 0.000 ± 0.002 | 0.001 ± 0.001 | 0.001 ± 0.003 |