Gait events


Gait Event Detection in Real-World Environments for Long-Term Applications

Detecting gait events is the key to many gait analysis applications that would benefit from continuous monitoring or long-term analysis. Most gait event detection algorithms using wearable sensors that offer a potential for use in daily living have been developed from data collected in controlled indoor experiments. However, for real-word applications, it is essential that the analysis is carried out in humans’ natural environment; that involves different gait speeds, changing walking terrains, varying surface inclinations and regular turns among other factors. Existing domain knowledge in the form of principles or underlying fundamental gait relationships can be utilized to drive and support the data analysis in order to develop robust algorithms that can tackle real-world challenges in gait analysis. This paper presents a novel approach that exhibits how domain knowledge about human gait can be incorporated into time-frequency analysis to detect gait events from longterm accelerometer signals. The accuracy and robustness of the proposed algorithm are validated by experiments done in indoor and outdoor environments with approximately 93,600 gait events in total. The proposed algorithm exhibits consistently high performance scores across all datasets in both, indoor and outdoor environments.

"Figure 1: Position and orientation of each accelerometer at the beginning of each experiment. The accelerometer at the right ankle is attached arbitrarily without any pre-defined orientation. The FSRs are instrumented into the shoe soles to collect the ground truth. The data from all sensors is sampled at a frequency of 128 Hz."

List of Specifications

  • Activities: Walking and running

  • Accelerometer:
    • Placement of 3-axis Accelerometer: Anywhere around the ankle in any orientation as shown in Figure 1.
    • Sensitivity of the Accelerometer: (+-) 4g or more. Please also check if the accelerometer signal has saturated during intense activity such as running.
    • Sampling Frequency: Preferred - 128 Hz [A Sampling frequency of 50Hz and above is acceptable.]

  • Input data:
    • accX - accelerometer data from X - axis
    • accY - accelerometer data from Y - axis
    • accZ - accelerometer data from Z - axis
    • Input data format: The accelerometer signals should be in units of m/s^2 and need to be in .mat format [in Matlab file format].
    • IMPORTANT NOTE: The data should consist of ONLY walking and running segments of the signal. Segments corresponding to inactivity or any other activity should be removed from the signals prior to running the implementation.


The implementation of the algorithm is provided as a library that can be used to detect gait events from 3-axis accelerometer signals collected during walking or running.

"Figure 2: The magnitude of the resultant accelerometer signal along with the detected Heel-Strike and Toe-Off events"

The MATLAB code can be found here: Link to Github repository

[HS,TO] = SK_gedAlgo(accX,accY,accZ,Fs,winSizeFactor,implement_type);

Input Arguments:

  • accX, accY, accZ [unit: m/s^2]- signals obtained from each individual axis of 3-axes accelerometer
  • Fs [unit: Hz] - sampling frequency of the acceleration signal. Originally developed for 128 Hz
  • winSizeFactor - size of the running window. Default value = 3. Vary this size from 2 to 6 to get better results or if code crashes.
  • implement_type - To detect the gait event, two implementations are provided. Default value: 'fit'
    • 'fit' - 2D Gaussian distribution fitting is done to estimate gait event (runs slow)
    • 'fast'- faster implementation to estimate the event. Warning: 'fast' implementation might not give the best estimate of the gait event compared to gaussian fitting. It is not presented in the paper but is solely provided to estimate events faster without gaussian fitting.

Output Arguments:

  • HS - vector containing sample numbers of Heel-Strike occurrences
  • TO - vector containing sample numbers of Toe-Off occurrences


Please remember to include an appropriate citation to acknowledge the use of library in all documents and papers that uses it:

[1] Siddhartha Khandelwal; Nicholas Wickström, "Gait Event Detection in Real-World Environment for Long-Term Applications: Incorporating Domain Knowledge into Time-Frequency Analysis," in IEEE Transactions on Neural Systems and Rehabilitation Engineering , vol. 24, no. 12, pp.1363-1372, 2016

IEEE url: [1] DiVA url: [2]

[2] Siddhartha Khandelwal; Nicholas Wickström, "Identification of Gait Events using Expert Knowledge and Continuous Wavelet Transform Analysis", in BIOSIGNALS 2014, 7th International Conference on Bio-inspired Systems and Signal Processing, Angers, France, March 3-6, 2014

DiVA url: [3]

You may also want to read:

[3] Siddhartha Khandelwal, Nicholas Wickström, Evaluation of the performance of accelerometer-based gait event detection algorithms in different real-world scenarios using the MAREA gait database, Gait & Posture, Volume 51, January 2017, Pages 84-90, ISSN 0966-6362,

Sciencedirect: [4] Diva: [5]

Link to the MAREA gait database: MAREA gait databse

Created By

Siddhartha Khandelwal