Available via license: CC BY 4.0

Content may be subject to copyright.

Step Counting Using Smartphone-Based

Accelerometer

Ms. Najme Zehra Naqvi

Department of Computer Science Engineering, Guru Gobind Singh Indraprastha University,

Indira Gandhi Institute of Technology

Delhi,110006,India

naqvizehra@rediffmail.com

Dr. Ashwani Kumar

Department of Computer Science Engineering, Guru Gobind Singh Indraprastha University,

Indira Gandhi Institute of Technology

Delhi,110006,India

dr_ashwanikumar@yahoo.com

Aanchal Chauhan

Department of Computer Science Engineering, Guru Gobind Singh Indraprastha University,

Indira Gandhi Institute of Technology

Delhi,110006,India

aanchal.chauhan16@gmail.com

Kritka Sahni

Department of Computer Science Engineering, Guru Gobind Singh Indraprastha University,

Indira Gandhi Institute of Technology

Delhi,110006,India

kritkasahni@yahoo.co.in

Abstract—This paper presents a method for counting the number of steps taken by a user, while walking

at any variable speed, using smartphone-based accelerometer. For this purpose, the steps are detected

based on a relation between frequency of step, which varies inversely with speed of motion, and the

magnitude of accelerometer signal. The pattern of the forward acceleration was observed to arrive at the

final relation.

Keywords-accelerometer; step detection; step counting.

I. I

NTRODUCTION

A. Need for a Step Counting Algorithm

Step detection is the automatic determination of the moments in time at which footsteps occur. Step counters

are becoming popular as an everyday exercise measurer and motivator, as well as a part of certain navigation

systems. Accelerometers are becoming increasingly ubiquitous in commercially sold devices, such as mobile

phones like the Apple iPhone or the Samsung Galaxy Ace. This paper explains a new step detection algorithm

that utilises the accelerometer of a waist-mounted smartphone.

Smartphone-based accelerometer step counting is emerging as a motivational tool for people wanting to

increase their physical activity. People, especially those suffering from obesity, can utilize it to count number of

steps taken and hence, the number of calories burnt.

Parameters of gait, like step duration and step length are related with an increased risk of falling. Hence,

phone based accelerometer scan be used as a major strategy to improve fall prevention, being of great value to

older persons.

Besides these, such an algorithm can also be used for estimating the distance and hence, the position in

pedestrian navigation systems (PNS) that involve multiplying the step count with the average step length.

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

675

Counting of steps involves two things: the detection of the starting point of motion, and the detection of each

step. Starting point of motion is detected when standard deviation starts increasing considerably, as compared to

the mean standard deviation in the quiet standing phase. This is followed by step detections, for which, a

relation has been established between frequency of steps and the magnitude of the accelerometer signal.

B. Related Work

Accelerometer signals have previously been shown to be useful for step detection, especially in pedestrian

navigation systems (PNS). There are three types of methods: peak detection[1,2,3], zero crossing detection[4,5]

and flat zone detection using acceleration differential[6]. The peak detection method is not appropriate for

detecting steps because the peak of the accelerometer output is greatly affected by the user’s walking velocity.

The flat zone of the signal is not detected when the accelerometer is attached to the user’s waist. Zero crossing

detection is not appropriate because erroneous peaks contribute to misdetection of steps in this method.

Sliding window summing[7] is another approach but it involves flat detection using the acceleration

differential which itself is not appropriate. Hence, there is a need for a new approach, which is exactly what this

paper explores.

II. STEP COUNTING ALGORITHM

A. Device positioning and orientation

The device is fixed near the centre of mass of the subject, as shown, so that the net external force acting on it

can be detected by the accelerometer of the device. The positive x, y, and z axes point to the left of the subject

(horizontal), vertically upwards, and backwards (horizontal) for the subject respectively.

B. Dataset used for analysis

Accelerometer samples from a smartphone device fixed in the aforementioned position were collected at a

frequency of 100Hz. Data was collected for five people, for their slow, medium, fast and mixed pace walks, on a

plane surface. Forward acceleration signal was used for the analysis.

C. Understanding the accelerometer reading

Since the accelerometer measures the external forces acting on the centre of mass, the forward acceleration

should ideally be zero while standing still. But, due to certain errors creeping in (white noise or due to the

inability of humans to stand still like an inanimate object), a signal with a very low magnitude and variance is

obtained.

For successive sections, we define a step as the motion of a foot from the point of lift-off of its heel to the

heel’s touch-down, as the subject moves forward. Also, step duration, i.e., time for one step, can be defined as

time between successive steps. Thus, frequency of a step is the inverse of step duration.

The graphs shown in Fig. 1 represent accelerometer readings in the direction of walking which, according to

orientation of the device, represents the negative z direction. The graph on top is for a slower pace as compared

to that in the lower one. To understand the pattern obtained, we analyse the forces that act on a foot while

walking.

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

676

Figure 1. Accelerometer readings for forward acceleration for slow and medium pace of walking.

At the beginning of each step, one pushes back with their foot on the floor. Without friction, the foot would

slide back. But, static friction opposes this motion, and is thus directed forward (in the negative z direction).

Similarly, at the end of each step, one pushes forward with their foot on the floor and thus, static friction is

directed backwards (in the positive z direction).

The same is evident in the graphs, as there are prominent peaks in the negative z direction at the beginning of

each step. Also, positive peaks can be seen towards the end of each step.

Another important observation is that the difference in the magnitudes of these two, i.e., a positive peak and

a (following) negative peak, is higher for higher speeds. Thus, it can be said that as step duration decreases with

increase in speed, this difference increases. Also, frequency is variable throughout the motion of an individual.

Our approach utilizes these simple observations to count number of steps taken by a user while walking.

D. Detection of starting point

As mentioned previously, while collecting the dataset, the subjects were required to stand still for at least 5

seconds. In order to detect starting point, standard deviations were used [9].

For this, 25 contiguous non-overlapping windows of size 10 samples each were considered during the still

phase. The mean standard deviation (SD) over the entire interval (mean) was calculated as well. The differences

between the standard deviations of the individual windows and the mean plotted. This was repeated for different

data, and from the graphs obtained (Fig. 2), the absolute difference was observed to lie below 0.07 m/s

2

during

the initial still phase. Hence, a threshold of 0.08 m/s

2

was selected for the detection of the moment when

walking started.

Figure 2. Plot of Difference between SD of window and initial mean SD, vs Window Number, during the initial still phase

Thereafter, standard deviation was calculated one by one for each of the successive windows, and its

difference from the mean was observed. Walking was considered to be started when this difference exceeded the

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

677

threshold set above. Thereafter, no more windows were taken.

E. Detection of steps

For this section, 'diff' would denote the difference in the magnitudes of the positive peak that appears

towards the end of a step and a negative peak that appear at the beginning of the step in the accelerometer signal

due to reasons explained previously. We plotted the frequency of steps and their respective diff, as shown in

figure 3, for the actual signals corresponding to the steps taken.

We intended to find a threshold for diff, which varied according to the frequency of the step. From the graph

in Fig. 3, the points that correspond to the two minimum diff values, marked in the figure, were considered to

obtain the following relation between the frequency of the step and the threshold for diff:

th = /(i-k) +

where,

th = threshold for current diff

i-k = tentative duration of current step

1/(i-k) = tentative frequency of current step

i = current sample number

k = sample number of sample where the previous step had been detected

a, b = constants derived from the graph in fig 3.

Figure 3. Plot of Diff, vs Frequency of Step. Graph was plotted from the actual steps data set, described in section 2.2.

This is the equation for the straight line shown in Fig. 3. Comparing this equation to the standard equation for a

line, y = mx + c,

We have,

th y

m

1/(i-k) x

c

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

678

where, x, y represent the x and y coordinates of a point on the line,

m is the slope of the line,

c is the intercept formed by it on the y-axis.

The proposed algorithm for the detection of footsteps is depicted in Fig. 4. In this figure, ‘accZ(i)’

represents the accelerometer reading at sample number i, and, ‘max’ is the maximum accelerometer reading

obtained since the last step. In the end, ‘steps’ contains the total number of steps taken.

Figure 4. Step Counting Algorithm proposed.

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

679

III. RESULTS

The algorithm, based on the relation derived previously, was tested on the data using Matlab. Results, can be

seen in

TABLE I.

TABLE I. RESULTS FROM THE STEP-COUNTING ALGORITHM PROPOSED

steps taken steps counted by algorithm

40 39

16 16

28 30

44 43

20 21

The results are promising. Error of 1 to 2 steps is observed due to the highly unstable pattern obtained

towards the end of walk. Since, the relation that is utilized by the algorithm takes frequency of a step into

consideration, hence, the method is effectively applicable to walk of any variable speed.

IV. CONCLUSION AND FUTURE WORK

This paper has presented a method for counting steps taken by a user while walking. The linear relation that

was proposed to hold between amplitude of the acceleration signal and the frequency of a step, is shown to be

effective in counting the steps taken, irrespective of the walking speed of the individual. This is reinforced by

the results obtained.

Moreover, it was observed that the numerical value of the constant , in the proposed relation, was found to

be 3.1541 very close to (3.1415). This may be because walking is often likened to the motion of two coupled

pendula [10]. The stance leg is said to behave like an inverted pendulum moving about the stance foot, and the

swing leg like a regular pendulum swinging about the hip.

In the future, we aim to verify the same. Also, we are currently working on the algorithm to consider the

various walking cases such as on stairs and steep sloping roads. We also aim to investigate whether the

proposed method is independent of the height and weight of the individual concerned.

A

CKNOWLEDGMENT

The authors would like to thank Ms Najme Zehra Naqvi and Dr. Ashwani Kumar for the enriching

discussions they had with us and their constant support and guidance.

R

EFERENCES

[1] R. Jirawimut, P. Ptasinski, V. Garaj, F. Cecelja, W. Balachandran,“A Method for Dead Reckoning Parameter Correction in Pedestrian

Navigation System,” Proc. of the 18th IEEE Instumentation and Measurement Technology Conference, VOL. 52,NO.1, 2001,pp.

1554-1558.

[2] R. W. Levi, T. Judd, “Dead Reckoning Navigational System using Accelerometer to Measurement Foot Impacts,” United States

Patent, No. 5,5583,776, 1996.

[3] Q. Ladetto, “On foot navigation : continuous step calibration using both complementary recursive prediction and adaptive Kalman

filtering,” Proc. of ION GPS, 2000, pp. 1735-1740.

[4] J. Kappi, J. Syrjarinne, J. Saarinen, “MEMS-IMU Based Pedestrian Navigator for Handheld Devices,” Proc. of ION GPS, 2001, pp.

1369-1373.

[5] H. Leppakoski,“Error Analysis of Step Length Estimation in Pedestrian Dead Reckoning,” Proc. of ION GPS,2002, pp. 1136-1142.

[6] S. Y. Cho, C. G. Park, G. I. Jee, “Measurement System of Walking Distance using Low-Cost Accelerometers,” Proc. of the 4th ASCC,

2002, pp. 1799-1803.

[7] S. Y. Cho, C. G. Park, G. I. Jee, "Sensor Fusion and Error Compensation Algorithm for Pedestrian Navigation System," International

Conference on Control, Automation and systems, 2003, pp. 1001-1006.

[8] S. H. Shin, Student Member, IEEE and C. G. Park, Member, IEEE, J. W. Kim, H. S. Hong and J. M.,"Adaptive Step Length

Estimation Algorithm Using Low-Cost MEMS Inertial Sensors, "Sensors Applications Symposium, IEEE,2007.

[9] Vânia Margarida Cardoso Guimarães,"Phone Based Fall Risk Prediction,"Master's Thesis, FACULDADE DE ENGENHARIA DA

UNIVERSIDADE DO PORTO,2011.

[10] Arthur D. Kuo,J. Maxwell Donelan, and Andy Ruina,"Energetic Consequences of Walking Like an Inverted Pendulum: Step-to-Step

Transitions,"Exercise and Sport Sciences Reviews,Vol. 33,No. 2,2005,pp. 88–97.

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

680

AUTHORS PROFILE

Ms. Najme Zehra Naqvi is a B.Tech. in Electronics and Communication with Hons. And M.Tech. in

Information Technology with Hons. She is currently (2012) a lecturer at Department of Computer Science

Engineering, Indira Gandhi Institue of Technology, Guru Gobind Singh Indraprastha University, Delhi, India.

She has more than 8 years of experience in teaching. Her research interests include the fields of embedded

systems, microcontrollers, microprocessors, operating systems, computer architecture, digital Circuits and

systems, measurement, control, and microelectromechanical systems.

Dr. Ashwani Kumar is a B.E. in Electronics and Communication , Delhi College of Engineering, M.E. in

Electronics and Communication, Delhi College of Engineering, Ph. D in Electronics and Communication , Delhi

University and MBA (FMS), Delhi University. He has 16 Years of Research and Development experience in

Centre for Development Of Telematics (C-DOT,India), Research & development Center of Ministry of

communication, Govt. of India. He is currently (2012) a Professor at IGIT. His areas of interest include optical

communication, digital dignal processing, strategic management, measurement, control, and

microelectromechanical systems.

Ms. Aanchal Chauhan was born in 1990. She is currently(2012) pursuing B.Tech in Computer Science

Engineering from Indira Gandhi Institue of Technology,Guru Gobind Singh Indraprastha University,

Delhi,India (expected 2012). Her areas of interest include sensors and their applications, operating systems, data

structures, measurement, control, and microelectromechanical systems.

Ms. Kritka Sahni was born in 1990. She is currently(2012) pursuing B.Tech in Computer Science Engineering

from Indira Gandhi Institue of Technology,Guru Gobind Singh Indraprastha University,Delhi,India (expected

2012). Her areas of interest include sensors and their applications, operating systems, data structures,

measurement, control, and microelectromechanical systems.

Ms. Najme Zehra Naqvi et al. / International Journal on Computer Science and Engineering (IJCSE)

ISSN : 0975-3397

Vol. 4 No. 05 May 2012

681