throbber
(12) United States Patent
`Kahn et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,653,508 B1
`Jan. 26, 2010
`
`USOO7653508B1
`
`(54) HUMAN ACTIVITY MONITORING DEVICE
`O O
`(75) Inventors: Reft AES AS)CA
`t"MEE, Christic, Santa
`Cruz, CA (US); Brian Y. Lee, Aptos, CA
`(US); David Vogel, Santa Cruz, CA (US)
`
`(73) Assignee: prechnologie. Inc., Scotts Valley, CA
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 556 days.
`(21) Appl. No.: 11/644,455
`
`Dec. 22, 2006
`
`(22) Filed:
`(51) Int. Cl.
`(2006.01)
`G0IB 21/02
`(2006.01)
`G0IB 700
`(2006.01)
`GOIC 22/00
`(2006.01)
`G06F 9/00
`(2006.01)
`G06F 7/40
`(52) U.S. Cl. ............................. 702160. 33,700; 377/1.
`377/13; 377/25; 377/242; 702/1; 702/127;
`702/155; 702/158; 702/187; 702/189
`(58) Field of Classification Search ................... 33/700,
`33/701; 73/1.01, 1.37, 1.38, 1.75, 1.76, 1.77,
`73/1.78, 1.79, 1.81; 377/1, 13, 15, 17, 20,
`377/24, 24.1, 24.2: 702/1, 85,97, 127, 141,
`702/150, 155, 158, 160, 187, 189
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`4,285,041
`4,578,769
`5,446,725
`5,446,775
`5,593,431
`5,955,667
`5,976,083
`
`8, 1981
`3, 1986
`8, 1995
`8, 1995
`1/1997
`9, 1999
`11, 1999
`
`Smith
`Frederick
`Ishiwatari
`Wright et al.
`Sheldon
`Fyfe
`Richardson et al.
`
`Filter
`120
`A. t
`i
`Acceleration
`Measuring
`logic
`105
`
`Final Step
`Count ---or
`S
`
`6,135,951 A 10/2000 Richardson et al.
`6,145,389 A 1 1/2000 Ebeling et al.
`6,369,794 B1 * 4/2002 Sakurai et al. .............. 345,156
`6,493,652 B1
`12/2002 Ohlenbusch et al.
`6,513.381 B2
`2/2003 Fyfe et al.
`6,522,266 B1
`2/2003 Soehren et al.
`6,532,419 B1
`3/2003 Begin et al.
`6,539,336 B1
`3/2003 Vocket al.
`6,700,499 B2 * 3/2004 Kubo et al. .............. 340,686.1
`6,790, 178 B1
`9, 2004 Mault et al.
`6,813,582 B2 11/2004 Levi et al.
`6,823,036 B1
`1 1/2004 Chen
`6.826477 B2 * 1 1/2004 Ladetto et al. .............. 701. 217
`6,836,744 B1
`12/2004 Asphahani et al.
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`Margaria, Rodolfo, "Biomechanics and Energetics of Muscular
`Exercise", Chapter 3, pp. 105-125, Oxford. Clarendon Press 1976.
`(Continued)
`
`Primary Examiner Edward R Cosimano
`(74) Attorney, Agent, or Firm Blakely, Sokoloff, Taylor &
`Zafman, LLP: Judith A. Szepesi
`
`(57)
`
`ABSTRACT
`
`A method for monitoring human activity using an inertial
`sensor includes continuously determining an orientation of
`the inertial sensor, assigning a dominant axis, updating the
`dominant axis as the orientation of the inertial sensor
`changes, and counting periodic human motions by monitor
`ing accelerations relative to the dominant axis.
`
`20 Claims, 9 Drawing Sheets
`
`Dominant Axis logic27
`Dominant
`Rolling Average
`Axis Setting
`Logic 135
`logic
`-
`140
`Cadence Logic
`132
`
`------->
`
`i
`
`Measurement
`Selection
`Logic 145
`
`Cadence
`
`Measurement
`Comparator
`SS
`
`resh
`Comparator k---
`160
`
`Mice
`Logic
`190
`
`Step Count
`Buffet
`S5
`Step Counting logic 130
`
`---
`
`Electronic device
`
`SAMSUNG EXHIBIT 1001
`
`Page 1 of 19
`
`

`

`US 7.653.508 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`4/2005 Oakley et al.
`6,881,191 B2
`4/2005 Vocket al.
`6,885,971 B2
`5/2005 Blackadar et al.
`6,898,550 B1
`8/2005 Hong et al.
`6,928,382 B2
`9/2005 Unuma et al.
`6,941,239 B2
`6.959,259 B2 10/2005 Vocket al.
`7,072,789 B2
`7/2006 Vocket al.
`7,092,846 B2
`8/2006 Vocket al.
`7,148,797 B2 12/2006 Albert
`7,158,912 B2
`1/2007 Vocket al.
`7,169,084 B2* 1/2007 Tsuji ............................. 482/8
`7,171,331 B2
`1/2007 Vocket al.
`7,200,517 B2
`4/2007 Darley et al.
`7.212,943 B2
`5, 2007 Aoshima et al.
`7,220,220 B2
`5, 2007 Stubbs et al.
`7,297,088 B2 * 1 1/2007 Tsuji ............................. 482/3
`7,328,611 B2
`2/2008 Klees et al.
`7.334,472 B2 * 2/2008 Seo et al. ................. 73/37901
`7,387,611 B2
`6, 2008 Inoue et al.
`7,457.719 B1 * 1 1/2008 Kahn et al. ................. TO2/141
`2002/00894.25 A1
`7/2002 Kubo et al. .............. 340,573.1
`2002/0109600 A1
`8, 2002 Mault et al.
`2002/0151810 A1 10/2002 Wong et al.
`2003/0018430 A1
`1/2003 Ladetto et al. .............. 701. 217
`2003.0109258 A1
`6/2003 Mantyjarvi et al.
`2004/0225467 A1 11, 2004 Vocket al.
`2005, OO33200 A1
`2/2005 Soehren et al.
`2005/02228O1 A1 10, 2005 Wulff et al.
`2005/0232388 A1* 10/2005 Tsuji ......................... 377,242
`
`2005/0238 132 A1* 10/2005 Tsuji ......................... 377,242
`2005/0240375 A1 10/2005 Sugai
`2005/0248718 A1 11/2005 Howell et al.
`2006/0020177 A1
`1/2006 Seo et al. .................... 600/300
`2006/0136.173 Al
`6/2006 Case, Jr. et al.
`2006/0223547 A1 10, 2006 Chin et al.
`2007, OO63850 A1
`3, 2007 Devaul et al.
`2007/0067094 A1
`3/2007 Park et al. ................... TO1,200
`2007. O142715 A1
`6, 2007 Banet et al.
`2009.0043531 A1
`2/2009 Kahn et al. ................. TO2/149
`
`OTHER PUBLICATIONS
`
`PCT International Search Report and Written Opinion for Interna
`tional Application No. PCT/US2008/072537, mailed Oct. 22, 2008,
`10 pages.
`Lee, Seon-Woo, et al., “Recognition of Walking Behaviors for Pedes
`trian Navigation.” ATR Media Integration & Communications
`Research Laboratories, Kyoto, Japan, 4 pages.
`Ormoneit, D., et al., “Learning and Tracking Cyclic Human Motion.”
`7 pages.
`Dao, Ricardo, “Inclination Sensing with Thermal Accelerometers'.
`MEMSIC, May 2002, 3 pages.
`Mizell, David, “Using Gravity to Estimate Accelerometer Orienta
`tion'. Seventh IEEE International Symposium on Wearable Comput
`ers, 2003, 2 pages.
`Weinberg, Harvey, “MEMS Motion Sensors Boost Handset Reliabil
`ity”, Jun. 2006, mwrf.com/Articles/Print.cfm?ArticleID=12740,
`Feb. 21, 2007, 4 pages.
`
`* cited by examiner
`
`Page 2 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 1 of 9
`
`US 7,653,508 B1
`
`
`
`
`
`
`
`Dominant Axis Logic 127
`Dominant
`Rolling Average
`Axis Setting
`Logic 135
`3.
`
`:
`
`Measurement
`
`Logic 145
`
`Measurement
`Comparator
`155
`
`Threshold
`Comparator K--
`160
`
`
`
`
`
`
`
`Fifter
`
`
`
`
`
`Acceleration
`Measuring
`Logic
`
`
`
`
`
`
`
`
`
`Final Step
`Count
`175
`
`man-
`
`
`
`:
`
`Mode
`
`Logic
`190
`
`Step Count
`Buffer
`165
`Step Counting Logic 130
`
`Electronic Device 100
`
`Figure 1
`
`Page 3 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 2 of 9
`
`US 7,653,508 B1
`
`c
`
`O.
`O)
`
`
`
`wax wit air w it
`
`was aw
`
`(6) uOOJeepov
`
`Z elnõ|-
`
`Page 4 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 3 of 9
`
`US 7,653,508 B1
`
`300 -1 N.
`
`O- Initial State
`
`-- Sleep Mode 305) Y- No Activity
`—-1 M
`?\u Detect ACCelerations
`
`Sleep ^U
`Congons
`
`6
`
`
`
`
`
`?\- N Steps in Cadence
`- ru Steps in
`Cadence
`
`-> Stepping Mode 325
`
`X Steps in
`i
`(Y Cadence N No Steps Detected Within
`w N. N.
`Cadence Window
`
`...
`
`Y
`
`1
`
`Figure 3
`
`Page 5 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 4 of 9
`
`US 7,653,508 B1
`
`400 1
`
`et Sleep Mode Sampling Rate
`405
`---...---
`ake Measurement(S) of Acceleration Data
`41 O
`
`
`
`
`
`ACCeleration Detected?
`415
`
`Yes
`initiate Entry
`Mode 420
`
`Figure 4
`
`Page 6 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 5 Of 9
`
`US 7,653,508 B1
`
`5OO
`
`u - ( Start )
`
`—V Set Stepping
`Sampling Rate 504
`
`Y-
`
`-X
`
`t
`V
`Recognize First Step
`51O
`
`YeS
`
`V
`Set Default Cadence
`WindoW 514
`V
`Set Buffered Step
`Count to One 520
`b
`v / 524
`st -
`-Recognizes Nou u- Still is
`/
`In Cadence >
`Additional Step?
`is Window?-
`
`Y
`
`-
`
`-
`
`-
`
`.
`
`Add One to Buffered
`Step Count
`
`ReSet Buffered
`Step Count to Zero
`
`f
`
`540
`YeS
`8 A
`--
`- -
`- AC celerations
`D
`>
`
`- - -
`
`NO
`( Initiate Sleep Mode
`x
`544
`u/
`
`y
`M Steps in
`No
`Buffered step
`>
`2 u
`-
`Count
`
`Yu-
`
`Yes
`
`
`

`
`564
`u-
`---
`- -
`?
`Set New Cadence YeS u-Cadence N
`Window
`s
`Window = >
`574
`Default?
`NO
`- N Steps in
`NO
`Buffered Step
`580 SS Count?
`2 -
`-
`N -
`Y
`
`--
`
`570
`
`- 584
`
`/
`
`-
`N
`Add Buffered Steps to \
`Yes
`Actual Step Count and
`\Initiate Stepping Mode/
`
`>
`
`Y
`
`Y.
`
`Page 7 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 6 of 9
`
`US 7,653,508 B1
`
`Set New Cadence
`Window 610
`-
`
`61 5
`
`
`
`
`
`Recognize Step?
`
`Yes
`
`625
`u/
`
`Add One to Step
`Count 620
`
`Initiate Exit Mode
`630
`
`Figure 6
`
`Page 8 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 7 Of 9
`
`US 7,653,508 B1
`
`700 1 \
`
`Initiate (Reset)
`Step Timer
`705
`
`Add One to
`Buffered Step
`Count 710
`
`
`
`
`
`
`
`Add Buffered Steps to
`Actual Step Count and
`Return to Stepping Mode
`720
`
`Yes
`
`Buffered Step
`
`
`
`715
`
`
`
`
`
`
`
`Count and initiate
`Entry Mode 730
`
`
`
`
`
`Step Timer
`Elapsed?
`
`735
`
`Recognize
`Agditional Step
`
`
`
`Figure 7
`
`Page 9 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 8 of 9
`
`US 7,653,508 B1
`
`-
`
`800
`
`Take Measurement(s) of Acceleration Data 805
`
`Filter Measurement(s) 810
`
`Orient Device by Assigning Dominant Axis 812
`
`
`
`
`
`
`
`
`
`
`
`
`
`Weasurement(s) Within Cadence
`Window? 815
`
`Yes |
`
`
`
`Acceleration Along Dominant Axi
`reater Than LOWer Threshold
`
`Yes.
`
`820
`
`
`
`Acceleration Greater Than
`Previous Measurement(s)?
`Yes |
`ACCeleration LOWer Than
`Upper Threshold?
`Yes |
`Count Step 835
`
`Figure 8
`
`No Step
`Counted 840
`
`Page 10 of 19
`
`

`

`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 9 Of 9
`
`US 7,653,508 B1
`
`900 - S.
`
`Detect Period of Stepping Cadence 910
`
`y
`Create Rolling Averages of Accelerations 915
`
`Assign Dominant Axis 920
`
`Figure 9
`
`Page 11 of 19
`
`

`

`1.
`HUMAN ACTIVITY MONITORING DEVICE
`
`FIELD OF THE INVENTION
`
`This invention relates to a method of monitoring human
`activity, and more particularly to counting periodic human
`motions such as steps.
`
`BACKGROUND
`
`The development of Micro-Electro-Mechanical Systems
`(MEMS) technology has enabled manufacturers to produce
`inertial sensors (e.g., accelerometers) of Sufficient size, cost,
`and power consumption to fit into portable electronic devices.
`Such inertial sensors can be found in a limited number of
`commercial electronic devices such as cellular phones, por
`table music players, pedometers, game controllers, and por
`table computers.
`Step counting devices are used to monitor an individuals
`daily activity by keeping track of the number of steps that he
`or she takes. Generally, step counting devices that utilize an
`inertial sensor to measure motion to detect steps require the
`user to first position the device in a limited set of orientations.
`In some devices, the required orientations are dictated to the
`user by the device. In other devices, the beginning orientation
`is not critical, so long as this orientation can be maintained.
`Step counting devices are often confused by motion noise
`experienced by the device throughout a user's daily routine.
`This noise causes false steps to be measured and actual steps
`to be missed in conventional step counting devices. Conven
`tional step counting devices also fail to accurately measure
`steps for individuals who walk at a slow pace. Such step
`counting devices can fail to operate for seniors and others
`walking at a slow pace.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`45
`
`The present invention is illustrated by way of example, and
`not by way of limitation, and can be more fully understood
`40
`with reference to the following detailed description when
`considered in connection with the following figures:
`FIG. 1 is a block diagram illustrating one embodiment of
`an electronic device;
`FIG. 2 illustrates an exemplary cadence of motion graph
`that measures time versus acceleration, in accordance with
`one embodiment of the present invention:
`FIG.3 shows a state diagram for the behavior of a system
`of monitoring human activity using an inertial sensor, in
`accordance with one embodiment of the present invention;
`FIG. 4 illustrates a flow diagram for a method of operating
`an electronic device in sleep mode, in accordance with one
`embodiment of the present invention;
`FIG. 5 illustrates a flow diagram for a method of operating
`an electronic device in entry mode, in accordance with one
`embodiment of the present invention;
`FIG. 6 illustrates a flow diagram for a method of operating
`an electronic device in stepping mode, in accordance with one
`embodiment of the present invention;
`FIG. 7 illustrates a flow diagram for a method of operating
`an electronic device in exit mode, in accordance with one
`embodiment of the present invention;
`FIG. 8 illustrates a flow diagram for a method of recogniz
`ing a step in accordance with one embodiment of the present
`invention, in accordance with one embodiment of the present
`invention; and
`
`50
`
`55
`
`60
`
`65
`
`US 7,653,508 B1
`
`2
`FIG. 9 illustrates a flow diagram for a method of orienting
`an inertial sensor, in accordance with one embodiment of the
`present invention.
`
`DETAILED DESCRIPTION
`
`Embodiments of the present invention are designed to
`monitor human activity using an inertial sensor. In one
`embodiment, a dominant axis is assigned after determining an
`orientation of an inertial sensor. The orientation of the inertial
`sensor is continuously determined, and the dominant axis is
`updated as the orientation of the inertial sensor changes. In
`one embodiment, periodic human motions are counted by
`monitoring accelerations relative to the dominant axis.
`FIG. 1 is a block diagram illustrating an electronic device
`100, in accordance with one embodiment of the present
`invention. The electronic device 100 in one embodiment
`comprises an acceleration measuring logic 105, a filter 120, a
`dominant axis logic 127, a step counting logic 130, a timer
`170, and a final step count 175. In one embodiment, the
`electronic device 100 is a portable electronic device that
`includes one or more inertial sensors. The inertial sensors
`may measure accelerations along a single axis or multiple
`axes. The inertial sensors may measure linear as well as
`rotational (angular) accelerations. The electronic device 100
`may be used to count steps or other periodic human motions.
`Steps may be accurately counted regardless of the placement
`and/or orientation of the device on a user. Steps may be
`accurately counted whether the electronic device 100 main
`tains a fixed orientation or changes orientation during opera
`tion. The electronic device 100 may be carried in a backpack,
`pocket, purse, hand, or elsewhere, and accurate steps may still
`be counted.
`The acceleration measuring logic 105 measures accelera
`tion data at a sampling rate. The sampling rate may be fixed or
`variable. In one embodiment, the acceleration measuring
`logic 105 receives a timing signal from the timer 170 in order
`to take measurements at the sampling rate. The acceleration
`measuring logic 105 may be an inertial sensor.
`In one embodiment, measurement data is processed by the
`filter 120 to remove noise. The filter 120 may be implemented
`in hardware, software, or both hardware and software. The
`filter 120 may include a high pass filter, a low pass filter, a
`bandpass filter, a bandstop filter and/or additional filters. The
`filter 120 may include a digital filter and/or an analog filter. In
`one embodiment, a hardware digital filter includes at least one
`of a finite impulse response (FIR) filter and an infinite impulse
`response (IIR) filter. In one embodiment, an N-tap hardware
`digital FIR filter is used. The use of a hardware FIR filter may
`reduce power consumption by reducing and/or eliminating
`Software digital filtering.
`In one embodiment, the filter 120 includes multiple filters,
`and a determination of which filters to apply to the measure
`ment data is made based upon an operating mode of the
`electronic device 100. In one embodiment, the selection of
`which filters to use is determined by the type of user activity
`detected. For example, a low pass filter may be used to remove
`high frequency noise that would interfere with step counting
`when a user is walking. In contrast, a high pass filter may be
`used when quick motions are to be monitored.
`Filtered measurement data may be passed on to the domi
`nant axis logic 127 and the step counting logic 130. In one
`embodiment, the dominant axis logic 127 includes a cadence
`logic 132, a rolling average logic 135, and a dominant axis
`setting logic 140. In an alternative embodiment, more or
`
`Page 12 of 19
`
`

`

`US 7,653,508 B1
`
`10
`
`15
`
`30
`
`35
`
`3
`fewer logics may be used to determine a dominant axis.
`Alternative means of identifying a dominant axis may be used
`in other embodiments.
`In one embodiment, the dominant axis logic 127 is used to
`determine an orientation of the electronic device 100 and/or 5
`an inertial sensor within the electronic device 100. In alter
`native embodiments, other logics may be used to determine
`an orientation of the electronic device 100.
`Referring to FIG. 1, the cadence logic 132 may determine
`one or more sample periods to be used by the rolling average
`logic 135, and may determine a cadence window 150 to be
`used by the step counting logic 130. In one embodiment, the
`cadence logic 135 detects a period and/or cadence of a motion
`cycle. The period and/or cadence of the motion cycle may be
`based upon user activity (e.g. rollerblading, biking, running,
`walking, etc).
`Many types of motions that are useful to keep track of have
`a periodic set of movements. Specific periodic human
`motions may be characteristic of different types of user activ
`ity. For example, to walk, an individual must lift a first leg,
`move it forward, plant it, then repeat the same series of
`motions with a second leg. In contrast, a person rollerblading
`performs a repeated sequence of pushing, coasting and liftoff
`for each leg. For a particular individual, the series of walking
`motions will usually occur in about the same amount of time,
`and the series of rollerblading motions will usually occur in
`the same amount of time. The repeated set of motions can be
`considered a unit, and defines the motion cycle. The amount
`of time that it takes to complete one motion cycle defines the
`motion cycle's period, and the number of motion cycles that
`occur in a given unit of time define the motion cycle's
`cadence. For simplicity, the term “step” is used in this appli
`cation to describe the user activity being evaluated. However,
`in the context of this application, the term “step’ should be
`taken to mean any user activity having a periodic set of
`repeated movements.
`FIG. 2 illustrates an exemplary motion cycle graph 200 that
`measures time versus acceleration, in accordance with one
`embodiment of the present invention. The exemplary motion
`40
`cycle graph 200 shows acceleration data taken with a single
`tri-axis inertial sensor. The acceleration at a given period of
`time is represented for a first axis 203 of an inertial sensor(s),
`a second axis 205 of the inertial sensor(s), and a third axis 207
`of the inertial sensor(s). In one embodiment, the cadence
`logic 132 of FIG. 1 analyzes the acceleration along the first
`axis 203, secondaxis 205 and third axis 207 to detecta motion
`cycle. Once a motion cycle is detected, a period of the motion
`cycle is determined, and a cadence of the motion cycle is
`determined. FIG. 2 shows an exemplary period of a motion
`cycle 215 for the third axis 207, the period being approxi
`mately 0.6 seconds. The same period can also be seen to a
`lesser degree in the second axis 205 and the first axis 203. The
`corresponding cadence to the motion cycle is approximately
`one hundred motion cycles per minute.
`In one embodiment, once a stepping period (or other
`motion cycle period) is determined, that period may be used
`to set the cadence window (the allowable time window for
`steps to occur). In one embodiment, the period is updated
`after each step. The current stepping period may be a rolling
`average of the stepping periods over previous steps, as dis
`cussed in more detail with reference to the rolling average
`logic 135 of FIG. 1.
`Acadence window may be used to facilitate accurate mea
`Surement of a step, or other periodic human motion. A
`65
`cadence window is a window of time since a last step was
`counted that is looked at to detect a new step. A cadence
`
`50
`
`45
`
`55
`
`60
`
`4
`window may be set based on the period and/or cadence of the
`actual motion cycle (e.g., a stepping period), on set limits,
`and/or on other determiners.
`Referring to FIG. 2, an exemplary first cadence window
`240 and second cadence window 255 are shown. The first
`cadence window 240 may be defined by a first cadence win
`dow minimum 230 and a first cadence window maximum
`235. The second cadence window 255 may be defined by a
`second cadence window minimum 245 and a second cadence
`window maximum 250. In one embodiment, the cadence
`window minimums 230 and 245 and cadence window maxi
`mums 235 and 250 are determined by measuring lengths of
`time since the most recent step was counted. In one embodi
`ment, this length of time is measured via the timer 170 of FIG.
`1. In other embodiments, other variables may be used to set
`the cadence window. For example, cadence windows may be
`determined by measuring cumulative amounts of accelera
`tion that have been measured since the previous step was
`counted.
`Returning to FIG. 2, cadence windows may be used to
`count steps until an expected Step is not encountered. In one
`embodiment, new cadence windows are determined periodi
`cally. In one embodiment, the cadence window is a dynamic
`cadence window that continuously updates as a user's
`cadence changes. For example, using a dynamic cadence
`window, a new cadence window length may be set after each
`step. The cadence window minimums may be determined by
`Subtracting a value from the stepping period, and the cadence
`window maximums may be determined by adding a value to
`the stepping period. In one embodiment, the cadence window
`maximums are preset, and the cadence window minimums
`are updated after each step is counted. In one embodiment, the
`cadence window minimums are preset, and the cadence win
`dow maximums are updated after each step is counted. In one
`embodiment, both the cadence window minimums and
`cadence window maximums are updated when a step is
`counted. In one embodiment, the current cadence window
`minimum is determined by subtracting 200 ms from the cur
`rent stepping cadence period. In one embodiment, the
`cadence window minimum has a minimum value of 240 ms.
`In the illustrated embodiment of FIG. 2, a first step 217 is
`counted at 0.65 seconds, and a second step 232 is counted at
`approximately 1.15 seconds. The first cadence window 240
`opens at approximately 0.4 seconds from the first step 217,
`and closes at approximately 0.8 seconds from the first step
`217. As shown, the second step 232 falls within the first
`dynamic cadence window 240. A third step 233 falls within
`the second dynamic cadence window 255, which may have a
`second cadence window minimum 245 and second cadence
`window maximum 250 that are different from the first
`cadence window minimum 230 and first cadence window
`maximum 235. The illustrated second cadence window mini
`mum is about 0.35 seconds from the second step 232, and the
`second cadence window maximum 250 is about 0.75 seconds
`from the second step 232. Other cadence window minimums
`and maximums are also possible. When motion criteria (e.g.,
`threshold conditions) are met withina cadence window, a step
`is detected, whereas when motion criteria are met outside of
`the cadence windows no step is detected.
`If no previous steps have been detected, there is no cadence
`minimum, and a step may be detected at any time that motion
`criteria are met. If fewer than the required number of steps to
`determine a dynamic cadence window have been detected,
`then the cadence window may have a default minimum and
`maximum value. In one embodiment, the cadence window
`has a default minimum of around 325 ms and a default maxi
`mum of around 1000 ms. Once enough steps have been
`
`Page 13 of 19
`
`

`

`US 7,653,508 B1
`
`10
`
`15
`
`5
`detected to determine a dynamic stepping cadence or period,
`the cadence window may be set to the determined stepping
`period plus or minus an error factor. In one embodiment, a
`count of between about two to about ten periodic human
`motions is sufficient to set a dynamic cadence window.
`The cadence of any periodic human motion will generally
`not change more than a certain amount in a given time period.
`In one embodiment, the cadence window may be sufficiently
`wide to continue counting periodic human motions even
`when a stepping cadence changes. In one embodiment, the
`cadence window is narrower, and steps may not be counted
`when a stepping cadence changes. So as not to miss steps,
`once a new stepping cadence is detected, previous measure
`ments may be examined to determine whether they register as
`steps under the new stepping cadence and a new cadence
`window. Therefore, steps may be counted even if they did not
`occur in the original cadence window. The cadence window
`may update dynamically to a user's actual cadence. Human
`cadences change within a known window of rates, and so
`steps can be differentiated from other noise. This may ame
`liorate and/or eliminate missed step counts due to changes in
`cadence.
`In one embodiment, when steps repeatedly occur at a time
`different from the current stepping period, a new stepping
`period and a new cadence window are set. For example, when
`the stepping period is 0.7 seconds, and a step occurs about
`every 0.6 seconds enough times in a row, then the stepping
`period is changed to 0.6 seconds and a new cadence window
`is set based on the changed stepping period.
`Returning to FIG. 1, once the stepping period is detected,
`the cadence logic 132 may set one or more sample periods for
`the rolling average logic 135 to use based upon the stepping
`period. In one embodiment, the sample period(s) are set Such
`that at least one sample period is approximately the length of
`or longer than, the stepping period. In one embodiment, a
`sample period is set such that it is a multiple of the stepping
`period.
`The rolling average logic 135 creates one or more rolling
`averages of accelerations as measured by the inertial sensor
`(s) over the sample period(s) set by the cadence logic 132. The
`rolling averages of accelerations may be used for determining
`an orientation of the electronic device, for determining
`thresholds to compare acceleration measurements against,
`and/or for other purposes. In one embodiment, the rolling
`average logic 135 creates a rolling average of accelerations
`for determining an orientation of the electronic device 100,
`the rolling average having a period that is at least the stepping
`period. In one embodiment, the rolling average logic creates
`a rolling average of accelerations for determining a lower
`threshold to compare acceleration measurements against, the
`rolling average having a sample period that is at least twice
`the stepping period.
`The rolling average logic 135 may create one or more
`rolling averages of data other than accelerations. In one
`embodiment, the rolling average logic 135 creates a rolling
`average of stepping periods, where the rolling average is the
`rolling average time between steps. In one embodiment, the
`rolling average of stepping periods is calculated over the past
`four counted steps. The rolling average of the stepping peri
`ods may be used by the cadence logic 132 to determine a
`cadence window and a current stepping cadence.
`In one embodiment, rolling averages may be maintained in
`registries that keep track of rolling average values and the
`number of samples that were used to calculate current rolling
`average values. When a new measurement is taken, it can be
`incorporated into the previous rolling average value, and the
`registry can than be updated with a new rolling average value.
`
`6
`Alternatively, the rolling averages may be maintained by
`buffering the measurements used to calculate the rolling aver
`ages. As the buffers fill, oldest measurement data can be
`discarded and replaced by new measurement data. The mea
`Surements in the buffer can be averaged after each measure
`ment to determine a new rolling average.
`In one embodiment, the dominant axis setting logic 140
`determines an orientation of the electronic device 100 and/or
`the inertial sensor(s) within the electronic device 100. The
`orientation may be determined based upon the rolling aver
`ages of accelerations created by the rolling average logic 135.
`In one embodiment, once the orientation is determined, a
`dominant axis is assigned based upon the orientation. Deter
`mining an orientation of the electronic device 100 may
`include identifying a gravitational influence. The axis with
`the largest absolute rolling average may be the axis most
`influenced by gravity, which may change over time (e.g. as
`the electronic device is rotated). Therefore, a new dominant
`axis may be assigned when the orientation of the electronic
`device 100 and/or the inertial sensor(s) attached to or embed
`ded in the electronic device 100 changes.
`In one embodiment, the actual axis with the largest abso
`lute rolling average over the sample period is assigned as the
`dominantaxis. In alternative embodiments, the dominant axis
`does not correspond to one of the actual axes of the inertial
`sensor(s) in a current orientation, but rather to an axis that is
`defined as approximately aligned to gravity. In one embodi
`ment, the dominant axis corresponds to a virtual axis that is a
`component of a virtual coordinate system. In one embodi
`ment, the dominant axis setting logic 140 assigns the domi
`nant axis by performing a true gravity assessment, such as by
`doing trigonometric calculations on the actual axes based on
`the gravitational influence. In one embodiment, the dominant
`axis setting logic 140 assigns the dominant axis by comparing
`the gravitational influence to a data structure Such as a lookup
`table, associative array, hash table, adjacency matrix, etc.
`Returning to FIG. 1, the step counting logic 130 may
`include a measurement selection logic 145, a cadence win
`dow 150, a measurement comparator 155, a threshold com
`parator 160, a step count buffer 165, and a mode logic 190.
`The measurement selection logic 145 may determine which
`measurements from the measurement buffer to use to deter
`mine if a step has occurred. In one embodiment, the measure
`ment selection logic 145 may monitor accelerations relative
`to the dominant axis, and select only those measurements
`with specific relations to the dominant axis for measurement.
`For example, only accelerations that are approximately par
`allel to the dominant axis may be selected, or alternatively,
`only accelerations that are approximately perpendicular to
`the dominant axis may be selected. In one embodiment, the
`measurement selection logic 145 selects only measurements
`of acceleration data along the dominant axis. In alternative
`embodiments, measurements of acceleration data along other
`axes may also be used. In one embodiment, measurements of
`acceleration along only the other axes are used.
`Selected measurements may be forwarded to the measure
`ment comparator 155 and the threshold comparator 160 to
`determine whether a step has occurred. The measurement
`comparator 155 may compare a current measurement to pre
`vious measurements. Based on this comparison, a current
`measurement may qualify as a step if it has met certain com
`parison criteria, as discussed in more detail with reference to
`FIG 8.
`In one embodiment, a motion cycle graph is maintained,
`and the current measurement is compared to the motion cycle
`graph. If the motion cycle graph indicates that the current
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 14 of 19
`
`

`

`US 7,653,508 B1
`
`15
`
`25
`
`30
`
`7
`measurement in relation to preceding measurements fits the
`profile of a step, then a step may be counted. Otherwise a step
`may not be counted.
`Returning to FIG. 1, the threshold comparator 160 dis
`qualifies measurements from being counted as steps for fail
`ure to meet certain thresholds. In one embodiment, measure
`ments must be larger than a lower threshold to qualify as a
`step. In one embodiment, the threshold comparator 160 com
`pares measurements to an upper threshold. In one embodi
`ment, only a measurement having a smaller absolute value of 10
`acceleration than the upper threshold and a higher absolute
`value than the lower threshold is counted as a step. The upper
`threshold and the lower threshold are discussed in more detail
`below with reference to FIG. 8.
`In one embodiment, the threshold comparator 160 and the
`measurement comparator 155 are combined into a single
`comparator. In on

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket