`
`USOO7653508B1
`
`(12) United States Patent
`Kahn et a].
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,653,508 B1
`Jan. 26, 2010
`
`(54) HUMAN ACTIVITY MONITORING DEVICE
`
`(75)
`
`Inventors: Philippe Kahn. Aptos. CA (US):
`Arthur Kinsolving. Santa Cruz. CA
`(US); Mark Andrew Christensen. Santa
`Cruz. CA (US): Brian Y. Lee. Aptos. CA
`(US): David Vogel. Santa Cruz. CA (US)
`
`(73) Assignee: DP Technologies, Inc.. Scotts Valley. CA
`(US)
`
`( * ) 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
`
`(22)
`
`Filed:
`
`Dec. 22, 2006
`
`(51)
`
`Int. Cl.
`(2006.01)
`G018 21/02
`(2006.01)
`0013 7/00
`(2006.01)
`G01C 22/00
`(2006.01)
`G06F 19/00
`(2006.01)
`(1'06F I 7/40
`(52) U.S. Cl.
`............................. 702/160: 33/700: 377/1:
`377/13: 377/25: 377/242; 702/1: 702/127:
`702/155: 702/158; 702/187: 702/189
`(58) Field ofClassitication 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: 3770.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.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4.285.041 A
`4.578.769 A
`5.446.725 A
`5.446.775 A
`5.593.43l A
`5.955.667 A
`5.976.083 A
`
`8'1981 Smith
`31986 Frederick
`81995 Ishiwatari
`81995 Wrightetal.
`1‘1997 Sheldon
`91999 Fyfe
`11'199‘) Richardson et a1.
`
`6.135.951 A
`
`[02000 Richardson etal.
`
`6.145.389 A
`6.369.794 BI “
`6.493.652 BI
`
`[12000 Ebeling etal.
`432002 Sakuraietal.
`12’2002 ()hlenbusch etal.
`
`6.5l3.381 B2
`6.522.266 BI
`
`2"‘2003 Fyfe eta].
`2"‘2003 Soehren et a].
`
`345.1156
`
`6.532.419 BI
`6.539.336 BI
`6.700.499 B2 "
`6.790.178 Bl
`6.813.582 B2
`6.823.036 Bl
`6.826.477 B2 "
`
`3"‘2003 Begin et al.
`3"‘2003 Vock et a1.
`3,-“2004 Kubo et a1.
`9,-“2004 Mault et al.
`11,-“2004 Levi et a1.
`11,-“2004 Chen
`11,-“2004 Ladetto etal.
`
`.............. 340.6861
`
`.............. 7016217
`
`6.836.744 Bl
`
`12-"2004 Asphahani et al.
`
`(Continued)
`
`OTI IER 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 HrmiBlakely. Sokoloff. 'l'aylor &
`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
`
`
`
`
`
`LGE v. Uniloc 2017 LLC
`
`Page 1 of 19
`
`LGE Ex. 1001
`
`
`
`
`
`
`US 7,653,508 B1
` Page 2
`
`
`
`
`
`
`
`
`
`
`U.S. PATENT DOCUMENTS
`
`
`4/2005 Oakley et al~
`6,881,191 132
`
`
`
`
`
`
`4/2005 Vock et al.
`6,885,971 132
`
`
`
`
`
`
`5/2005 Blackadar et al~
`6,898,550 Bl
`
`
`
`
`
`
`8/2005 Hong et al~
`6928382 B2
`
`
`
`
`
`
`9/2005 Unuma et al~
`6,941,239 132
`
`
`
`
`
`
`10/2005 Vock 6t al~
`6,959,259 32
`
`
`
`
`
`
`70006 Vock et al.
`7072789 132
`
`
`
`
`
`
`8/2006 Vock et al.
`7,092,846 132
`
`
`
`
`
`
`12/2006 Albert
`7,148,797 B2
`
`
`
`
`1/2007 Vock et al.
`7,158,912 B2
`
`
`
`
`
`
`1/2007 Tsuji
`............................. 482/8
`7,169,084 B2 *
`
`
`
`
`
`1/2007 Vock et al.
`7,171,331 B2
`
`
`
`
`
`
`4/2007 Darley et al.
`7,200,517 B2
`
`
`
`
`
`
`5/2007 Aoshima et al.
`7,212,943 B2
`
`
`
`
`
`
`5/2007 Stubbs et al.
`7,220,220 B2
`
`
`
`
`
`
`7,297,088 B2 * 11/2007 Tsuji
`............................. 482/3
`
`
`
`
`
`7,328,611 B2
`2/2008 Klees et al.
`
`
`
`
`
`
`7,334,472 B2 *
`2/2008 Seo et a1.
`................. 73/379.01
`
`
`
`
`
`
`
`7,387,611 B2
`6/2008 Inoue et al.
`
`
`
`
`
`
`7,457,719 B1 *
`11/2008 Kahn et al.
`
`
`
`
`
`2002/0089425 A1 *
`7/2002 Kubo et al.
`
`
`
`
`2002/0109600 A1
`8/2002 Mault 6t 31.
`
`
`
`
`
`
`2002/0151810 A1
`10/2002 Wong et 31.
`
`
`
`
`
`
`.............. 701/217
`2003/0018430 A1 *
`1/2003 Ladetto et al.
`
`
`
`
`
`
`
`2003/0109258 A1
`6/2003 Mantyjarvi et 31~
`
`
`
`
`
`
`2004/0225467 A1
`11/2004 VOCk et 31~
`
`
`
`
`
`
`2005/0033200 A1
`2/2005 Soehren et a1.
`
`
`
`
`
`
`2005/0222801 A1
`10/2005 Wulff et al.
`
`
`
`
`
`
`2005/0232388 A1 * 10/2005 Tsuji
`......................... 377/24.2
`
`
`
`
`
`
`
`
`
`
`
`
`................. 702/ 141
`
`.............. 340/573.1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`......................... 377/24.2
`
`
`2005/0238132 A1 * 10/2005 Tsuji
`
`
`
`
`2005/0240375 A1
`10/2005 Sugai
`
`
`
`2005/0248718 A1
`11/2005 Howell et 31.
`
`
`
`
`
`
`2006/0020177 A1 *
`1/2006 Seo et a1.
`.................... 600/300
`
`
`
`
`
`
`2006/0136173 A1
`6/2006 Case, Jr. et a1.
`
`
`
`
`
`
`
`2006/0223547 A1
`10/2006 Chin et a1.
`
`
`
`
`
`
`2007/0063850 A1
`3/2007 Devaul et a1.
`
`
`
`
`
`
`2007/0067094 A1 *
`3/2007 Park et a1.
`................... 701/200
`
`
`
`
`
`
`
`
`2007/0142715 A1
`6/2007 Banet et a1.
`
`
`
`
`
`
`2009/0043531 A1 *
`2/2009 Kahn et 31.
`
`
`
`
`
`
`
`
`................. 702/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 ofWalking 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-
`
`
`
`
`
`
`
`erg, 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
`
`
`
`
`
`
`LGE V. Unlloc 2017 LLC
`
`Page 2 of 19
`
`LGE EX. 1001
`
`LGE v. Uniloc 2017 LLC
`
`Page 2 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 1 on
`
`Us 7,653,508 B1
`
`Dominant Axis Logic m
`
`Dominant
`Axis Setting
`Logic
`
`Rolling Average
`Logiclafi "
`:
`
`Cadence Logic
`
`Z
`
`:
`
`
`
`iAcceIeration
`
`I Measuring r
`
`Logic
`
`i
`
`Measurement
`Selection
`
`Measurement
`
`Threshoid
`
`Comparator
`
`Comparator
`
`Step Counting Logic 1_3_Q
`
`Electronic Device mg
`
`Figure 1
`
`LGE v. Uniloc 2017 LLC
`
`Page 3 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 2 of 9
`
`US 7,653,508 B1
`
`_
`
` A
`
`H2...........u
`
`i.
`
`8N
`
`m933E
`
`(6) uoumeuaoov
`
`LGE v. Uniloc 2017 LLC
`
`Page 4 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 3 of9
`
`US 7,653,508 B1
`
`300A
`
`0» Initial State
`
`
`Sleep Mode 3 t’\
`
`
`’\. Detect Accelerations
`
`No Activity
`
`Sleep
`
`Conagltons
`
`i.
`
`.............511:“ Entry Mode 3;
`
`l”
`
`\— N Steps in Cadence
`
`
`A
`
`
`I/Il'
`
`,,,,,,
`
`Stepping Mode i
`
`’\, Steps in
`" Cadence
`
`
`X Steps in
`v
`{\' Cadence
`/\— No Steps Detected Within
`\\\ \
`Cadence Window
`
`
`
`Figure 3
`
`LGE v. Uniloc 2017 LLC
`
`Page 5 of 19
`
`LGE Ex. 1001
`
`
`
`US. Patent
`
`Jan. 26, 2010
`
`Sheet 4 of9
`
`us 7,653,508 Bl
`
`400A
`
`'
`
`fie? f1eep Tofie famp1lng fate
`495
`.¢ .
`i
`
`., ._~r_.______.,-___..m_.___.r-__.._._...
`
`|
`
`a e Veasuremen s o cce eratlon la a
`
`41 I
`
`%
`
`I§ A
`
`cceleration Detected?
`
`m
`
`; Yes
`
`Initiate Entry
`Mode fl
`
`Figure 4
`
`LGE v. Uniloc 2017 LLC
`
`Page 6 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 5 of 9
`
`US 7,653,508 B1
`
`
`
`«
`
`i Start
`
`500
`
`—v—
`
`
`
`Set Stepping
`Sampling Rate 5_Q_4_
`
`<
`
`
`
`
`Recognize First Step
`53:
`
`—Y—
`Set Default Cadence
`
`Window 514
`
`—Y—
`
`Set Buffered Step
`Count to One 520
`Yes
`
`530
`
`l
`Still
`-
`In Cadence
`Window?
`
`i "524
`
`H Y
`
`VialRecognize "
`i.
`'-J%:.;'_:
`a " Additional Step?” "
`
` Yes
`
`540
`
`_’
`
`'Aoceleration
`
`- Detected?” - -
`
`7 H 'No
`
`“e
`“
`
`I Initiate Sleep Mode 7'
`fl
`
`u‘
`
`
`
`Yes
`
`V
`
`it,
`
`
`
`Add One to Buffered
`
`Reset Buffered
`
`Step Count
`5E2
`
`Step Count to Zero
`&
`
`.V A
`
`M Steps in
`Buffered Step
`" , ,Count?
`
`7
`
`Yes
`
`No<—
`
`564
`‘
`
`
`
`Set New Cadence
`Window
`
`Yes
`
`57—4
`
`Cadenee
`Window =
`, Default? --
`
`_,
`,7 _j
`
`'
`
`570
`
`n,, 584
`
`
`No
`
`<
`
`580f
`
`_ N Steps in
`Buffered Step
`7 Count?
`
`Add Buffered Steps to
`Actual Step Count and .‘
`Initiate Stepping Mode
`
`Figure 5
`
`LGE v. Uniloc 2017 LLC
`
`Page 7 of 19
`
`LGE Ex. 1001
`
`
`
`US. Patent
`
`Jan. 26, 2010
`
`Sheet 6 of9
`
`US 7,653,508 B1
`
`615
`
`’
`
`J
`
`
`
`m-—-—«---—~_——-._-~_.-._q§ /
`
`:No
`
`i
`
`Add One to Step
`Count E
`
`Initiate Exit Mode
`E
`
`Figure 6
`
`LGE v. Uniloc 2017 LLC
`
`Page 8 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 7 m9
`
`US 7,653,508 B1
`
`700A
`
`Initiate (Reset)
`Step Timer
`29.5.
`
`Add One to
`
`Buffered Step
`
`715
`
`'uffered Step
`Count = X?
`
`
`Count 112
`
`
`
`
`
`
`
`
`
`
`
`Add Buffered Steps to
`
`Actual Step Count and
`Return to Stepping Mode
`m
`
`
`
`Yes
`
`Clear Buffered Step Yes
`Count and initiate
`
`
`
`
`Entry Mode _7_39
`
`735
`
`
`Step Timer
`Elapsed?
`
`
`
`Recognize
`dditional Ste.
`
`
`
`
`
`Figure 7
`
`LGE v. Uniloc 2017 LLC
`
`Page 9 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 8 of9
`
`US 7,653,508 B1
`
`‘/////_\\ 800
`
`Take Measurement(s) of Acceleration Data so;
`
`Filter Measurement(s) m
`
`Orient Device by Assigning Dominant Axis
`
`81
`
`
`
`
`-.
`
`v easurement(s) Within Cadenc
`VWndow? w
`
`No
`
`i I
`
`i
`No Step
`Counted 840
`
`Yes
`
`
`
`
`
`- celeration Along Dominant ‘V'
`eater Than Lower Thresholo '7
`
`Yes‘
`320
`
` Acceleration Greater Than
`
`
`Previous Measurement(s)?
`
`Yes
`
`
`Acceleration Lower Than
`
`Upper Threshold?
`
`Yes i
`
`0
`
`Count Step £5
`
`Figure 8
`
`LGE v. Uniloc 2017 LLC
`
`Page 10 of 19
`
`LGE Ex. 1001
`
`
`
`U.S. Patent
`
`Jan. 26, 2010
`
`Sheet 9 of9
`
`US 7,653,508 B1
`
`900 d
`
`’
`
`Detect Period of Stepping Cadence m l
`
`ii
`v
`
`I Create Rolling Averages of Accelerations 9l5 l
`
`i i v
`
`|
`
`Assign Dominant Axis Q
`
`I
`
`i
`
`End
`
`Figure 9
`
`LGE v. Uniloc 2017 LLC
`
`Page 11 of 19
`
`LGE Ex. 1001
`
`
`
`
`
`US 7,653,508 B1
`
`
`
`1
`
`HUMAN ACTIVITY MONITORING DEVICE
`
`
`
`
`
`
`FIELD OF THE INVENTION
`
`
`
`
`
`
`2
`
`
`FIG. 9 illustrates a flow diagram for a method of orienting
`
`
`
`
`
`
`
`
`an inertial sensor, in accordance with one embodiment of the
`
`
`
`
`
`
`
`
`
`present 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 individual’s
`
`
`
`
`
`
`
`
`
`
`
`
`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.
`
`
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The present invention is illustrated by way of example, and
`
`
`
`
`
`
`
`
`
`
`not by way of limitation, and can be more fully understood
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 ofthe 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
`
`
`
`
`
`
`
`
`
`in accordance with one embodiment of the present
`100,
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ofa 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`25
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`LGE V. Uniloc 2017 LLC
`
`Page 12 0f 19
`
`LGE Ex. 1001
`
`LGE v. Uniloc 2017 LLC
`
`Page 12 of 19
`
`LGE Ex. 1001
`
`
`
`
`3
`fewer logics may be used to determine a dominant axis.
`Alternative means of identifying a dominant axis may be used
`in other embodiments.
`
`
`window may be set based on the period and/or cadence ofthe
`actual motion cycle (e.g., a stepping period), on set limits,
`and/or on other determiners.
`
`4
`
`
`
`US 7,653,508 B1
`
`
`
`In one embodiment, the dominant axis logic 127 is used to
`determine an orientation of the electronic device 100 and/or
`an inertial sensor within the electronic device 100. In alter-
`
`5
`
`native embodiments, other logics may be used to determine
`an orientation of the electronic device 100.
`
`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
`
`10
`
`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-
`
`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 ofmotions that are useful to keep track ofhave
`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 ofpushing, coasting and liftoff
`for each leg. For a particular individual, the series of walking
`motions will usually occur in about the same amount oftime,
`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 ofthe present invention. The exemplary motion-
`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 ofthe 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, second axis 205 and third axis 207 to detect a 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.
`A cadence window may be used to facilitate accurate mea-
`surement of a step, or other periodic human motion. A
`cadence window is a window of time since a last step was
`counted that is looked at to detect a new step. A cadence
`
`
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`mums 235 and 250 are determined by measuring lengths of
`time since the most recent step was counted. In one embodi-
`ment, this length oftime 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 within a cadence window, a step
`is detected, whereas when motion criteria are met outside of
`the cadence windows no step is detected.
`Ifno 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
`
`LGE V. Uniloc 2017 LLC
`
`Page 13 0f 19
`
`LGE Ex. 1001
`
`LGE v. Uniloc 2017 LLC
`
`Page 13 of 19
`
`LGE Ex. 1001
`
`
`
`
`
`US 7,653,508 B1
`
`
`
`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 suflicient 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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`dominant axis. 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 cr