Step counting using a single-axis signal
By selecting the highest signal quality from acceleration data and using a step-rate-based filter, the user device enhances step count accuracy in pedometers, particularly in slow walking scenarios, addressing the issue of high error rates in non-standard positions.
Patent Information
- Application Number
- PCT/CN2023/133530
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-23
- Publication Date
- 2025-05-30
AI Technical Summary
Existing pedometers face high error rates in step counting when worn in non-standard positions, particularly when the device is carried in a pocket, backpack, or handbag, or held in hands, due to noise interference from lateral movement signals.
A user device selects a single signal with the highest signal quality from acceleration data on orthogonal axes, estimates the step rate using the frequency spectrum of the selected signal, and processes the signal with a filter tailored to the step rate estimate to improve filtering and reduce noise, thereby enhancing step count accuracy.
This approach significantly improves step count accuracy, especially in slow walking scenarios, by reducing noise and enhancing the detectability of step features, thus enhancing the performance of the user device as a pedometer.
Smart Images

Figure CN2023133530_30052025_PF_FP_ABST
Abstract
Description
STEP COUNTING USING A SINGLE-AXIS SIGNAL
[0001] FIELD OF THE DISCLOSURE
[0002] Aspects of the present disclosure generally relate to pedometers and, for example, to step counting using a single-axis signal.BACKGROUND
[0003] A pedometer, also known as a step counter, is a portable device that is used to count each step that a person takes as that person walks, runs, or the like. A pedometer may include a mechanical sensor and a counter (e.g., software) that counts steps based on information generated by the mechanical sensor.SUMMARY
[0004] Some aspects described herein relate to a user device. The user device may include one or more memories, one or more sensors, and one or more processors coupled to the one or more memories and the one or more sensors. The one or more processors may be configured to cause the user device to obtain, from the one or more sensors, acceleration data for orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis. The one or more processors may be configured to cause the user device to select, responsive to the acceleration data being indicative of a walking movement of a subject, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal. The one or more processors may be configured to cause the user device to select a filter in accordance with a step rate estimate derived using a frequency spectrum of the single signal. The one or more processors may be configured to cause the user device to process the single signal using the filter to obtain a filtered signal. The one or more processors may be configured to cause the user device to output a step count that is in accordance with a quantity of peaks of the filtered signal.
[0005] Some aspects described herein relate to a method. The method may include obtaining, by a user device and from one or more sensors of the user device, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis. The method may include selecting, by the user device, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal. The method may include identifying, by the user device, a step rate estimate using a frequency spectrum of the single signal. The method may include processing, by the user device, the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal. The method may include outputting, by the user device, a step count that is in accordance with a quantity of peaks of the filtered signal.
[0006] Some aspects described herein relate to a non-transitory computer-readable medium that stores a set of instructions. The set of instructions, when executed by one or more processors of a user device, may cause the user device to obtain, from one or more sensors, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis. The set of instructions, when executed by one or more processors of the user device, may cause the user device to select a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal. The set of instructions, when executed by one or more processors of the user device, may cause the user device to identify a step rate estimate using a frequency spectrum of the single signal. The set of instructions, when executed by one or more processors of the user device, may cause the user device to process the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal. The set of instructions, when executed by one or more processors of the user device, may cause the user device to output a step count that is in accordance with a quantity of peaks of the filtered signal.
[0007] Some aspects described herein relate to an apparatus. The apparatus may include means for obtaining, from one or more sensors of the apparatus, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis. The apparatus may include means for selecting a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal. The apparatus may include means for identifying a step rate estimate using a frequency spectrum of the single signal. The apparatus may include means for processing the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal. The apparatus may include means for outputting a step count that is in accordance with a quantity of peaks of the filtered signal.
[0008] Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user device, user equipment, wireless communication device, and / or processing system as substantially described with reference to and as illustrated by the drawings and specification.
[0009] The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed herein, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purposes of illustration and description, and not as a definition of the limits of the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] So that the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.
[0011] Fig. 1 is a diagram of an example environment in which systems and / or methods described herein may be implemented.
[0012] Fig. 2 is a diagram illustrating example components of a device, in accordance with the present disclosure.
[0013] Figs. 3A-3D are diagrams illustrating an example associated with step counting using a single-axis signal, in accordance with the present disclosure.
[0014] Fig. 4 is a flowchart of an example process associated with step counting using a single-axis signal, in accordance with the present disclosure.
[0015] Fig. 5 is a flowchart of an example process associated with step counting using a single-axis signal, in accordance with the present disclosure.DETAILED DESCRIPTION
[0016] Various aspects of the disclosure are described more fully hereinafter with reference to the accompanying drawings. This disclosure may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. One skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the disclosure disclosed herein, whether implemented independently of or combined with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.
[0017] A pedometer may be used to track the number of steps taken by a subject over a particular time period. A pedometer may be embodied as a standalone device, or may be implemented in a wireless communication device, such as a smartphone. While a pedometer may provide accurate step counting when worn on a subject’s wrist or waist, other placements of a pedometer may be associated with high error rates. For example, a smartphone being used as a pedometer may be carried in a pocket, in a backpack or a handbag, or held in the hands of a subject (e.g., held out in front of the subject for viewing, held to the subject’s ear, or the like) . Furthermore, a smartphone may be used in a vertical orientation or in a horizontal orientation. These various positions generally produce high step count error rates, particularly when a subject is walking slowly (e.g., at a step rate less than or equal to 1.2 hertz (Hz) ) .
[0018] A pedometer may be equipped with an acceleration sensor (e.g., an inertial measurement unit (IMU) ) that can detect acceleration in three orthogonal axes (e.g., an x-axis, a y-axis, and a z-axis) . Generally, a pedometer may use a movement signal that is based on acceleration signals in the three axes to perform step counting. However, when a subject is walking slowly, a step signal may be difficult to discern from noise in the movement signal. One reason for this is that a signal in one axis, representing lateral movement (e.g., side-to-side movement) of the subject, may have a different frequency than a walking frequency indicated in signals of the other axes representing front-and-back movement and up-and-down movement. Accordingly, the lateral movement signal may act as noise in the movement signal. In addition, the lateral movement signal may also have a greater amplitude than the signals of the other axes, thereby degrading a quality of the movement signal (e.g., a Euclidean norm of the signals in the three axes) needed for accurate step detection. Furthermore, filtering of the movement signal may fail to produce detectable step features if the filter is not tuned properly to a step rate associated with slow walking, which may vary in frequency from case-to-case.
[0019] Some aspects described herein enable improved step count accuracy in a pedometer. For example, aspects described herein enable improved step count accuracy in a slow walking scenario. In some aspects, a user device operating as a pedometer may obtain acceleration data indicating acceleration signals for three orthogonal axes. Rather than using a movement signal based on the three acceleration signals, the user device may select a single signal associated with a highest signal quality among the three acceleration signals. Selecting the signal with the highest signal quality improves the detectability of step features. In some aspects, a signal quality metric may be a signal to noise ratio (SNR) . In some aspects, the user device may estimate SNRs for the signals using respective variances of the signals, which reduces the consumption of computing resources relative to computing actual SNRs.
[0020] The user device may estimate a step rate indicated by the selected signal using a frequency spectrum of the selected signal. Moreover, the user device may select a filter having a passband in accordance with the estimated step rate (e.g., a cutoff frequency for a low-pass filter may correspond to the estimated step rate) , and may process the selected signal using the selected filter. Using a step-rate-based passband improves filtering of the selected signal to produce a filtered signal with reduced noise and pronounced step features. The user device may then identify peaks in the filtered signal, and may output a step count in accordance with a quantity of peaks identified. The techniques described herein enable high-accuracy step counting, particularly in a slow walking scenario, thereby improving a performance of the user device operating as a pedometer.
[0021] Fig. 1 is a diagram of an example environment 100 in which systems and / or methods described herein may be implemented. As shown in Fig. 1, environment 100 may include a user device 110, a wireless communication device 120, and a network 130. Devices of environment 100 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
[0022] The user device 110 may include one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with step counting, as described elsewhere herein. The user device 110 may include a communication device and / or a computing device. For example, the user device 110 may include a wireless communication device, a mobile phone, a user equipment, a laptop computer, a tablet computer, a desktop computer, a gaming console, a set-top box, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, a head mounted display, or a virtual reality headset) , or a similar type of device.
[0023] The wireless communication device 120 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with step counting. For example, the wireless communication device 120 may include a base station, an access point, and / or the like. Additionally, or alternatively, wireless communication device 120 may include a communication and / or computing device, such as a mobile phone, a user equipment, a laptop computer, a tablet computer, a desktop computer, a gaming console, a set-top box, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, a head mounted display, or a virtual reality headset) , or a similar type of device.
[0024] The network 130 may include one or more wired and / or wireless networks. For example, the network 130 may include a wireless wide area network (e.g., a cellular network or a public land mobile network) , a local area network (e.g., a wired local area network or a wireless local area network (WLAN) , such as a Wi-Fi network) , a personal area network (e.g., a Bluetooth network) , a near-field communication network, a telephone network, a private network, the Internet, and / or a combination of these or other types of networks. The network 130 enables communication among the devices of environment 100.
[0025] The number and arrangement of devices and networks shown in Fig. 1 are provided as an example. In practice, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in Fig. 1. Furthermore, two or more devices shown in Fig. 1 may be implemented within a single device, or a single device shown in Fig. 1 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.
[0026] Fig. 2 is a diagram illustrating example components of a device 200, in accordance with the present disclosure. The device 200 may correspond to the user device 110 and / or the wireless communication device 120. In some aspects, the user device 110 and / or the wireless communication device 120 may include one or more devices 200 and / or one or more components of the device 200. As shown in Fig. 2, the device 200 may include a bus 205, a processor 210, a memory 215, an input component 220, an output component 225, a communication component 230, and / or a sensor 235.
[0027] The bus 205 may include one or more components that enable wired and / or wireless communication among the components of the device 200. The bus 205 may couple together two or more components of Fig. 2, such as via operative coupling, communicative coupling, electronic coupling, and / or electric coupling. For example, the bus 205 may include an electrical connection (e.g., a wire, a trace, and / or a lead) and / or a wireless bus. The processor 210 may include a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field-programmable gate array, an application-specific integrated circuit, and / or another type of processing component. The processor 210 may be implemented in hardware, firmware, or a combination of hardware and software. In some aspects, the processor 210 may include one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.
[0028] The memory 215 may include volatile and / or nonvolatile memory. For example, the memory 215 may include random access memory (RAM) , read only memory (ROM) , a hard disk drive, and / or another type of memory (e.g., a flash memory, a magnetic memory, and / or an optical memory) . The memory 215 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and / or removable memory (e.g., removable via a universal serial bus connection) . The memory 215 may be a non-transitory computer-readable medium. The memory 215 may store information, one or more instructions, and / or software (e.g., one or more software applications) related to the operation of the device 200. In some aspects, the memory 215 may include one or more memories that are coupled (e.g., communicatively coupled) to one or more processors (e.g., processor 210) , such as via the bus 205. Communicative coupling between a processor 210 and a memory 215 may enable the processor 210 to read and / or process information stored in the memory 215 and / or to store information in the memory 215.
[0029] The input component 220 may enable the device 200 to receive input, such as user input and / or sensed input. For example, the input component 220 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system sensor, a global navigation satellite system sensor, an accelerometer, a gyroscope, and / or an actuator. The output component 225 may enable the device 200 to provide output, such as via a display, a speaker, and / or a light-emitting diode. The communication component 230 may enable the device 200 to communicate with other devices via a wired connection and / or a wireless connection. For example, the communication component 230 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and / or an antenna.
[0030] The sensor 235 includes one or more devices capable of detecting a characteristic associated with the device 200. For example, the sensor 235 may include one or more acceleration sensors capable of detecting acceleration in multiple dimensions. As an example, the sensor 235 may include one or more gyroscopes, one or more accelerometers, one or more micro-electromechanical system (MEMS) inertial sensors, and / or one or more IMUs, among other examples.
[0031] The device 200 may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 215) may store a set of instructions (e.g., one or more instructions or code) for execution by the processor 210. The processor 210 may execute the set of instructions to perform one or more operations or processes described herein. In some aspects, execution of the set of instructions, by one or more processors 210, causes the one or more processors 210 and / or the device 200 to perform one or more operations or processes described herein. In some aspects, hardwired circuitry may be used instead of or in combination with the instructions to perform one or more operations or processes described herein. Additionally, or alternatively, the processor 210 may be configured to perform one or more operations or processes described herein. Thus, aspects described herein are not limited to any specific combination of hardware circuitry and software.
[0032] In some aspects, device 200 may include means for obtaining, from one or more sensors, acceleration data for orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis; means for selecting, responsive to the acceleration data being indicative of a walking movement of a subject, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal; means for selecting a filter in accordance with a step rate estimate derived using a frequency spectrum of the single signal; means for processing the single signal using the filter to obtain a filtered signal; and / or means for outputting a step count that is in accordance with a quantity of peaks of the filtered signal. In some aspects, device 200 may include means for obtaining, from one or more sensors, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis; means for selecting a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal; means for identifying a step rate estimate using a frequency spectrum of the single signal; means for processing the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal; and / or means for outputting a step count that is in accordance with a quantity of peaks of the filtered signal. In some aspects, the means for device 200 to perform processes and / or operations described herein may include one or more components of device 200 described in connection with Fig. 2, such as bus 205, processor 210, memory 215, input component 220, output component 225, communication component 230, and / or sensor 235.
[0033] The number and arrangement of components shown in Fig. 2 are provided as an example. The device 200 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 2. Additionally, or alternatively, a set of components (e.g., one or more components) of the device 200 may perform one or more functions described as being performed by another set of components of the device 200.
[0034] Figs. 3A-3D are diagrams illustrating an example 300 associated with step counting using a single-axis signal, in accordance with the present disclosure. As shown in Figs. 3A-3D, example 300 includes the user device 110. For example, the user device 110 may be, or may include, a pedometer. As an example, the user device 110 may be configured to perform operations that enable the user device 110 to function as a pedometer.
[0035] As shown in Fig. 3A, and by reference number 305, the user device 110 may obtain acceleration data. For example, the user device 110 may obtain the acceleration data from one or more sensors (e.g., one or more sensors 235) of the user device 110, as described herein. In some aspects, the acceleration data may be input to a data buffer of the user device 110. The acceleration data may relate to movement of the user device 110. Movement of the user device 110 may be dependent on movement of a subject (e.g., a person) carrying the user device 110 (e.g., in a hand, in a pocket, in a backpack, in a handbag, or the like) . In some aspects, the subject may be holding the user device 110 out in front of the subject (e.g., in a horizontal orientation or in a vertical orientation) to view a display of the user device 110.
[0036] The acceleration data may be multiple-axis data. For example, the acceleration data may be three-axis (also referred to as three-dimensional) data. As an example, the acceleration data may be for orthogonal axes including an x-axis, a y-axis, and a z-axis (e.g., of a Cartesian coordinate system) . Accordingly, the acceleration data may include multiple signals, each relating to an acceleration component of a respective axis. For example, the acceleration data may include a first signal relating to acceleration in the x-axis, a second signal relating to acceleration in the y-axis, and a third signal relating to acceleration in the z-axis.
[0037] In some aspects, the user device 110 may compute a magnitude signal of the first signal, the second signal, and the third signal. For example, the magnitude signal may be a Euclidean norm of the first signal, the second signal, and the third signal. In some aspects, the acceleration data can be modeled as a sine function according to Equations 1-4: ay = Bsinωx+ny Equation 2 az = Csinωx+nz Equation 3 ah = (ax, ay , az) Equation 4
[0038] where ω represents a wave frequency, ax, ay, az, and ah represent an x-axis acceleration signal, a y-axis acceleration signal, a z-axis acceleration signal, and an aggregate movement signal, respectively, A, B, and C represent amplitudes for the ax, ay, and az signals, respectively, and nx, ny, and nz, represent noise in the ax, ay, and az signals, respectively. Using Equations 1-4, Equations 5 and 6, defining the Euclidean norm (e.g., the magnitude signal) , can be derived:
[0039] As shown by reference number 310, the user device 110 may identify whether the acceleration data is indicative of a walking movement of the subject. For example, as shown by reference number 315, the user device 110 may perform feature extraction on the acceleration data (e.g., on the first signal, the second signal, the third signal, and / or the magnitude signal) . The feature extraction may extract a set of features relating to the first signal, the second signal, the third signal, and / or the magnitude signal in a time domain, a frequency domain, and / or a statistical domain. As shown by reference number 320, the user device 110 may use the set of features to identify a classification of the movement of the subject carrying the user device 110. For example, the user device 110 may classify the movement as running, walking, slow walking, stationary, or the like. In some aspects, the user device 110 may employ a classifier algorithm using the set of features to classify the movements.
[0040] In some aspects, the user device 110 may identify the classification of the movement using multiple classifiers. For example, in a first classifier, the user device 110 may classify the movement as walking or as stationary (e.g., using a classification technique described herein) . If in the first classifier the movement is classified as stationary, in a second classifier, the user device 110 may classify the movement as slow walking or as stationary (e.g., using a classification technique described herein) . The first classifier and the second classifier may use different coefficients, may use different features of the set of features, and / or may use different classification techniques, among other examples. If the movement is classified as stationary in the second classifier, then the user device 110 may refrain from performing a step-counting procedure described herein. For example, the user device 110 may record zero steps on a portion of the acceleration data classified as stationary. If the movement is classified as walking in the first classifier or as slow walking in the second classifier, then the user device 110 may perform a step-counting procedure, described herein, on a portion of the acceleration data classified as walking or slow walking. In some aspects, the user device 110 may perform a step-counting procedure described herein if (e.g., only if) the movement is classified as slow walking in the second stage. In some aspects, slow walking may refer to walking that has a step rate less than or equal to 1.2 Hz.
[0041] Accordingly, responsive to the acceleration data being indicative of a walking movement (e.g., a slow walking movement) of the subject, the user device 110 may perform a step-counting procedure (e.g., perform one or more operations of the step-counting procedure) . The step-counting procedure may include selecting a particular signal associated with a highest signal quality, processing the selected signal with a step-rate-dependent filter, and performing a peak detection technique on the filtered signal to identify a step count, as described herein.
[0042] As shown in Fig. 3B, and by reference number 325, the user device 110 may identify a respective signal quality for each of the first signal, the second signal, the third signal, and the magnitude signal. For example, the user device 110 may compute an SNR and / or an estimated SNR for each of the first signal, the second signal, the third signal, and the magnitude signal. In some aspects, the user device 110 may identify a respective variance for each of the first signal, the second signal, the third signal, and the magnitude signal, where the variances indicate signal qualities of the signals. In some aspects, the user device 110 may identify a respective SNR estimate for each of the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal. For example, an SNR estimate for an acceleration signal may be dependent on the signal’s amplitude.
[0043] Assuming the sensors have the same Gaussian white noise n in the three axes, and a constant gravity bias (Gx, Gy, Gz in the three axes, respectively) over a period of time, then Equations 7 and 8 can be derived: ni =Gi+n (i=1, 2, 3) Equation 7
[0044] where is the variance of ni and is the variance of Gaussian white noise. Using the acceleration data modeled as a sine function (Equations 1-4 above) , variances of an x-axis acceleration signal, a y-axis acceleration signal, and a z-axis acceleration signal may be given by Equations 9-11, respectively:
[0045] Thus, estimating an SNR as a rate of signal variance to noise variance, SNR estimates for the x-axis acceleration signal, the y-axis acceleration signal, and the z-axis acceleration signal may be given by Equations 12-14, respectively:
[0046] where μ is a coefficient indicating a magnitude of noise variance.
[0047] As shown in Fig. 3C, and by reference number 330, the user device 110 may select (e.g., using an identifier component) a signal that has a highest (e.g., a maximum) signal quality among the first signal, the second signal, the third signal, and the magnitude signal. The highest signal quality may be a highest variance, a highest SNR, and / or a highest estimated SNR, as described herein. In some aspects, the signal that has the highest signal quality may be the signal that represents lateral movement of the user device 110 (e.g., in contrast to front-and-back movement or up-and-down movement) , however this may not always be the case. In some aspects, the user device 110 may identify whether the selected signal represents lateral movement of the user device 110. For example, the user device 110 may identify frequency spectra for the selected signal and the unselected signals, and identify a respective dominant frequency component of each signal using the frequency spectra. Continuing with the example, the user device 110 may identify that the selected signal represents lateral movement if the dominant frequency associated with selected signal is approximately half the dominant frequencies of the unselected signals.
[0048] As shown by reference number 335, the user device 110 may identify a frequency spectrum (e.g., a power spectrum) of the selected signal. For example, the user device 110 may perform a fast-Fourier transform (FFT) on the selected signal to obtain the frequency spectrum. As shown by reference number 340, the user device 110 may estimate a step rate of the subject using the frequency spectrum of the selected signal. For example, using the frequency spectrum, the user device 110 may identify a dominant frequency of the frequency spectrum (e.g., a frequency at which the power of the selected signal is concentrated) . As an example, the user device 110 may identify a frequency associated with a highest peak of the frequency spectrum. This frequency may indicate a step rate estimate.
[0049] As shown in Fig. 3D, and by reference number 345, the user device 110 may select a filter in accordance with the step rate estimate derived using the frequency spectrum of the selected signal. For example, the user device 110 may be configured with a plurality of filters (e.g., implemented in hardware and / or in software) having respective passbands associated with respective cutoff frequencies (e.g., 0.6 Hz, 0.8 Hz, 1.0 Hz, and 1.2 Hz) . Accordingly, the user device 110 may select the filter, from the plurality of filters, in accordance with the step rate estimate. For example, the user device 110 may select the filter that has a passband associated with a cutoff frequency that is closest to the step rate estimate among the respective cutoff frequencies of the passbands of the plurality of filters. In some aspects, the filter may be low-pass filter, such as third-order low-pass Butterworth filter.
[0050] As shown by reference number 350, the user device 110 may process the selected signal using the selected filter to obtain a filtered signal. Generally, a signal with a relatively low frequency can be filtered without difficulty. As shown by reference number 355, the user device 110 may identify a quantity of peaks of the filtered signal. For example, the user device 110 may perform a peak detection technique on the filtered signal to identify the quantity of peaks.
[0051] As shown by reference number 360, the user device 110 may output a step count that is in accordance with (e.g., that is derived using) the quantity of peaks. In some aspects, the user device 110 may identify a step count for the subject in accordance with the quantity of peaks. For example, the quantity of peaks may equal the step count for the subject. In some aspects, such as when the selected signal has been identified as representing lateral movement, the user device 110 may identify a step count for the subject that is greater than the quantity of peaks. For example, the step count may equal twice the quantity of peaks. Outputting the step count may include outputting the step count to a display of the user device 110, outputting the step count to a memory of the user device 110, outputting the step count into a message to be transmitted from the user device 110, and / or outputting the step count to another device, among other examples.
[0052] By using the selected signal with the highest signal quality, and using the step-rate-based filter on the selected signal, the filtered signal with reduced noise and well-defined step features can be obtained. In this way, techniques described herein enable high-accuracy step counting, particularly in a slow walking scenario, thereby improving a performance of the user device 110 operating as a pedometer.
[0053] As indicated above, Figs. 3A-3D are provided as an example. Other examples may differ from what is described with respect to Figs. 3A-3D.
[0054] Fig. 4 is a flowchart of an example process 400 associated with step counting using a single-axis signal, in accordance with the present disclosure. In some aspects, one or more process blocks of Fig. 4 are performed by a user device (e.g., user device 110) . In some aspects, one or more process blocks of Fig. 4 are performed by another device or a group of devices separate from or including the user device, such as a wireless communication device (e.g., wireless communication device 120) . Additionally, or alternatively, one or more process blocks of Fig. 4 may be performed by one or more components of device 200, such as processor 210, memory 215, input component 220, output component 225, communication component 230, and / or sensor 235.
[0055] As shown in Fig. 4, process 400 may include obtaining, from one or more sensors, acceleration data for orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis (block 410) . For example, the user device may obtain, from one or more sensors, acceleration data for orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis, as described above.
[0056] As further shown in Fig. 4, process 400 may include selecting, responsive to the acceleration data being indicative of a walking movement of a subject, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal (block 420) . For example, the user device may select, responsive to the acceleration data being indicative of a walking movement of a subject, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal, as described above.
[0057] As further shown in Fig. 4, process 400 may include selecting a filter in accordance with a step rate estimate derived using a frequency spectrum of the single signal (block 430) . For example, the user device may select a filter in accordance with a step rate estimate derived using a frequency spectrum of the single signal, as described above.
[0058] As further shown in Fig. 4, process 400 may include processing the single signal using the filter to obtain a filtered signal (block 440) . For example, the user device may process the single signal using the filter to obtain a filtered signal, as described above.
[0059] As further shown in Fig. 4, process 400 may include outputting a step count that is in accordance with a quantity of peaks of the filtered signal (block 450) . For example, the user device may output a step count that is in accordance with a quantity of peaks of the filtered signal, as described above.
[0060] Process 400 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in connection with one or more other processes described elsewhere herein.
[0061] In a first aspect, process 400 includes identifying whether the acceleration data is indicative of the walking movement of the subject.
[0062] In a second aspect, alone or in combination with the first aspect, the highest signal quality is a highest SNR or a highest estimated SNR.
[0063] In a third aspect, alone or in combination with one or more of the first and second aspects, process 400 includes identifying respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal, where the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.
[0064] In a fourth aspect, alone or in combination with one or more of the first through third aspects, the magnitude signal is a Euclidean norm of the first signal, the second signal, and the third signal.
[0065] In a fifth aspect, alone or in combination with one or more of the first through fourth aspects, process 400 includes identifying that the single signal represents lateral movement of the user device, and identifying, in accordance with the single signal representing the lateral movement, the step count as a quantity greater than the quantity of peaks.
[0066] In a sixth aspect, alone or in combination with one or more of the first through fifth aspects, the filter is one of a plurality of filters having respective passbands associated with respective cutoff frequencies, and where the filter has a passband associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.
[0067] In a seventh aspect, alone or in combination with one or more of the first through sixth aspects, process 400 includes identifying the quantity of peaks of the filtered signal using a peak detection technique.
[0068] Although Fig. 4 shows example blocks of process 400, in some aspects, process 400 includes additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in Fig. 4. Additionally, or alternatively, two or more of the blocks of process 400 may be performed in parallel.
[0069] Fig. 5 is a flowchart of an example process 500 associated with step counting using a single-axis signal, in accordance with the present disclosure. In some aspects, one or more process blocks of Fig. 5 are performed by a user device (e.g., user device 110) . In some aspects, one or more process blocks of Fig. 5 are performed by another device or a group of devices separate from or including the user device, such as a wireless communication device (e.g., wireless communication device 120) . Additionally, or alternatively, one or more process blocks of Fig. 5 may be performed by one or more components of device 200, such as processor 210, memory 215, input component 220, output component 225, communication component 230, and / or sensor 235.
[0070] As shown in Fig. 5, process 500 may include obtaining, from one or more sensors, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis (block 510) . For example, the user device may obtain, from one or more sensors, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, where the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis, as described above.
[0071] As further shown in Fig. 5, process 500 may include selecting a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal (block 520) . For example, the user device may select a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal, as described above.
[0072] As further shown in Fig. 5, process 500 may include identifying a step rate estimate using a frequency spectrum of the single signal (block 530) . For example, the user device may identify a step rate estimate using a frequency spectrum of the single signal, as described above.
[0073] As further shown in Fig. 5, process 500 may include processing the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal (block 540) . For example, the user device may process the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal, as described above.
[0074] As further shown in Fig. 5, process 500 may include outputting a step count that is in accordance with a quantity of peaks of the filtered signal (block 550) . For example, the user device may output a step count that is in accordance with a quantity of peaks of the filtered signal, as described above.
[0075] Process 500 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in connection with one or more other processes described elsewhere herein.
[0076] In a first aspect, process 500 includes identifying whether the acceleration data is indicative of a walking movement of a subject, where the single signal is selected responsive to the acceleration data being indicative of the walking movement.
[0077] In a second aspect, alone or in combination with the first aspect, the highest signal quality is a highest SNR or a highest estimated SNR.
[0078] In a third aspect, alone or in combination with one or more of the first and second aspects, process 500 includes identifying respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal, where the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.
[0079] In a fourth aspect, alone or in combination with one or more of the first through third aspects, the magnitude signal is a Euclidean norm of the first signal, the second signal, and the third signal.
[0080] In a fifth aspect, alone or in combination with one or more of the first through fourth aspects, process 500 includes identifying that the single signal represents lateral movement of the user device, and identifying, in accordance with the single signal representing the lateral movement, the step count as a quantity greater than the quantity of peaks.
[0081] In a sixth aspect, alone or in combination with one or more of the first through fifth aspects, process 500 includes selecting the filter from a plurality of filters having respective passbands associated with respective cutoff frequencies, where the passband is associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.
[0082] In a seventh aspect, alone or in combination with one or more of the first through sixth aspects, process 500 includes identifying the quantity of peaks of the filtered signal using a peak detection technique.
[0083] Although Fig. 5 shows example blocks of process 500, in some aspects, process 500 includes additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in Fig. 5. Additionally, or alternatively, two or more of the blocks of process 500 may be performed in parallel.
[0084] The following provides an overview of some Aspects of the present disclosure:
[0085] Aspect 1: A user device, comprising: one or more memories; one or more sensors; and one or more processors, coupled to the one or more memories and the one or more sensors, configured to cause the user device to: obtain, from the one or more sensors, acceleration data for orthogonal axes including an x-axis, a y-axis, and a z-axis, wherein the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis; select, responsive to the acceleration data being indicative of a walking movement of a subject, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal; select a filter in accordance with a step rate estimate derived using a frequency spectrum of the single signal; process the single signal using the filter to obtain a filtered signal; and output a step count that is in accordance with a quantity of peaks of the filtered signal.
[0086] Aspect 2: The user device of Aspect 1, wherein the one or more processors are further configured to: identify whether the acceleration data is indicative of the walking movement of the subject.
[0087] Aspect 3: The user device of any of Aspects 1-2, wherein the highest signal quality is a highest signal to noise ratio (SNR) or a highest estimated SNR.
[0088] Aspect 4: The user device of any of Aspects 1-3, wherein the one or more processors are further configured to: identify respective signal to noise ratio (SNR) estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal, wherein the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.
[0089] Aspect 5: The user device of any of Aspects 1-4, wherein the magnitude signal is a Euclidean norm of the first signal, the second signal, and the third signal.
[0090] Aspect 6: The user device of any of Aspects 1-5, wherein the one or more processors are further configured to: identify that the single signal represents lateral movement of the user device; and identify, in accordance with the single signal representing the lateral movement, the step count as a quantity greater than the quantity of peaks.
[0091] Aspect 7: The user device of any of Aspects 1-6, wherein the filter is one of a plurality of filters having respective passbands associated with respective cutoff frequencies, and wherein the filter has a passband associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.
[0092] Aspect 8: The user device of any of Aspects 1-7, wherein the one or more processors are further configured to: identify the quantity of peaks of the filtered signal using a peak detection technique.
[0093] Aspect 9: A method, comprising: obtaining, by a user device and from one or more sensors of the user device, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, wherein the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis; selecting, by the user device, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal; identifying, by the user device, a step rate estimate using a frequency spectrum of the single signal; process, by the user device, the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal; and outputting, by the user device, a step count that is in accordance with a quantity of peaks of the filtered signal.
[0094] Aspect 10: The method of Aspect 9, further comprising: identifying whether the acceleration data is indicative of a walking movement of a subject, wherein the single signal is selected responsive to the acceleration data being indicative of the walking movement.
[0095] Aspect 11: The method of any of Aspects 9-10, wherein the highest signal quality is a highest signal to noise ratio (SNR) or a highest estimated SNR.
[0096] Aspect 12: The method of any of Aspects 9-11, further comprising: identifying respective signal to noise ratio (SNR) estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal, wherein the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.
[0097] Aspect 13: The method of any of Aspects 9-12, wherein the magnitude signal is a Euclidean norm of the first signal, the second signal, and the third signal.
[0098] Aspect 14: The method of any of Aspects 9-13, further comprising: identifying that the single signal represents lateral movement of the user device; and identifying, in accordance with the single signal representing the lateral movement, the step count as a quantity greater than the quantity of peaks.
[0099] Aspect 15: The method of any of Aspects 9-14, further comprising: selecting the filter from a plurality of filters having respective passbands associated with respective cutoff frequencies, wherein the passband is associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.
[0100] Aspect 16: The method of any of Aspects 9-15, further comprising: identifying the quantity of peaks of the filtered signal using a peak detection technique.
[0101] Aspect 17: A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a user device, cause the user device to: obtain, from one or more sensors, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis, wherein the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis; select a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal; identify a step rate estimate using a frequency spectrum of the single signal; process the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal; and output a step count that is in accordance with a quantity of peaks of the filtered signal.
[0102] Aspect 18: The non-transitory computer-readable medium of Aspect 17, wherein the one or more instructions further cause the user device to: identify whether the acceleration data is indicative of a walking movement of a subject, wherein the one or more instructions cause the user device to select the single signal responsive to the acceleration data being indicative of the walking movement.
[0103] Aspect 19: The non-transitory computer-readable medium of any of Aspects 17-18, wherein the one or more instructions further cause the user device to: identify respective signal to noise ratio (SNR) estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal, wherein the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.
[0104] Aspect 20: The non-transitory computer-readable medium of any of Aspects 17-19, wherein the one or more instructions further cause the user device to: select the filter from a plurality of filters having respective passbands associated with respective cutoff frequencies, wherein the passband is associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.
[0105] Aspect 21: A system configured to perform one or more operations recited in one or more of Aspects 1-20.
[0106] Aspect 22: An apparatus comprising means for performing one or more operations recited in one or more of Aspects 1-20.
[0107] Aspect 23: A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising one or more instructions that, when executed by a device, cause the device to perform one or more operations recited in one or more of Aspects 1-20.
[0108] Aspect 24: A computer program product comprising instructions or code for executing one or more operations recited in one or more of Aspects 1-20.
[0109] The foregoing disclosure provides illustration and description but is not intended to be exhaustive or to limit the aspects to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the aspects.
[0110] As used herein, the term “component” is intended to be broadly construed as hardware and / or a combination of hardware and software. “Software” shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, and / or functions, among other examples, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. As used herein, a “processor” is implemented in hardware and / or a combination of hardware and software. It will be apparent that systems and / or methods described herein may be implemented in different forms of hardware and / or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not limiting of the aspects. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, since those skilled in the art will understand that software and hardware can be designed to implement the systems and / or methods based, at least in part, on the description herein.
[0111] As used herein, “satisfying a threshold” may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, or the like.
[0112] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. Many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. The disclosure of various aspects includes each dependent claim in combination with every other claim in the claim set. As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a + b, a + c, b + c, and a + b + c, as well as any combination with multiples of the same element (e.g., a + a, a + a + a, a + a + b, a + a + c, a + b + b, a + c + c, b + b, b + b + b, b + b + c, c + c, and c + c + c, or any other ordering of a, b, and c) .
[0113] No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more. ” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more. ” Furthermore, as used herein, the terms “set” and “group” are intended to include one or more items and may be used interchangeably with “one or more. ” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has, ” “have, ” “having, ” or the like are intended to be open-ended terms that do not limit an element that they modify (e.g., an element “having” A may also have B) . Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and / or, ” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of” ) .
Claims
1.A user device, comprising:one or more memories;one or more sensors; andone or more processors, coupled to the one or more memories and the one or more sensors, configured to cause the user device to:obtain, from the one or more sensors, acceleration data for orthogonal axes including an x-axis, a y-axis, and a z-axis,wherein the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis;select, responsive to the acceleration data being indicative of a walking movement of a subject, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal;select a filter in accordance with a step rate estimate derived using a frequency spectrum of the single signal;process the single signal using the filter to obtain a filtered signal; andoutput a step count that is in accordance with a quantity of peaks of the filtered signal.2.The user device of claim 1, wherein the one or more processors are further configured to:identify whether the acceleration data is indicative of the walking movement of the subject.3.The user device of claim 1, wherein the highest signal quality is a highest signal to noise ratio (SNR) or a highest estimated SNR.4.The user device of claim 1, wherein the one or more processors are further configured to:identify respective signal to noise ratio (SNR) estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal,wherein the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.5.The user device of claim 1, wherein the magnitude signal is a Euclidean norm of the first signal, the second signal, and the third signal.6.The user device of claim 1, wherein the one or more processors are further configured to:identify that the single signal represents lateral movement of the user device; andidentify, in accordance with the single signal representing the lateral movement, the step count as a quantity greater than the quantity of peaks.7.The user device of claim 1, wherein the filter is one of a plurality of filters having respective passbands associated with respective cutoff frequencies, andwherein the filter has a passband associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.8.The user device of claim 1, wherein the one or more processors are further configured to:identify the quantity of peaks of the filtered signal using a peak detection technique.9.A method, comprising:obtaining, by a user device and from one or more sensors of the user device, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis,wherein the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis;selecting, by the user device, a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal;identifying, by the user device, a step rate estimate using a frequency spectrum of the single signal;processing, by the user device, the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal; andoutputting, by the user device, a step count that is in accordance with a quantity of peaks of the filtered signal.10.The method of claim 9, further comprising:identifying whether the acceleration data is indicative of a walking movement of a subject,wherein the single signal is selected responsive to the acceleration data being indicative of the walking movement.11.The method of claim 9, wherein the highest signal quality is a highest signal to noise ratio (SNR) or a highest estimated SNR.12.The method of claim 9, further comprising:identifying respective signal to noise ratio (SNR) estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal,wherein the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.13.The method of claim 9, wherein the magnitude signal is a Euclidean norm of the first signal, the second signal, and the third signal.14.The method of claim 9, further comprising:identifying that the single signal represents lateral movement of the user device; andidentifying, in accordance with the single signal representing the lateral movement, the step count as a quantity greater than the quantity of peaks.15.The method of claim 9, further comprising:selecting the filter from a plurality of filters having respective passbands associated with respective cutoff frequencies,wherein the passband is associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.16.The method of claim 9, further comprising:identifying the quantity of peaks of the filtered signal using a peak detection technique.17.A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:one or more instructions that, when executed by one or more processors of a user device, cause the user device to:obtain, from one or more sensors, acceleration data relating to orthogonal axes including an x-axis, a y-axis, and a z-axis,wherein the acceleration data includes a first signal relating to the x-axis, a second signal relating to the y-axis, and a third signal relating to the z-axis;select a single signal that has a highest signal quality among the first signal, the second signal, the third signal, or a magnitude signal of the first signal, the second signal, and the third signal;identify a step rate estimate using a frequency spectrum of the single signal;process the single signal using a filter, having a passband that is according to the step rate estimate, to obtain a filtered signal; andoutput a step count that is in accordance with a quantity of peaks of the filtered signal.18.The non-transitory computer-readable medium of claim 17, wherein the one or more instructions further cause the user device to:identify whether the acceleration data is indicative of a walking movement of a subject,wherein the one or more instructions cause the user device to select the single signal responsive to the acceleration data being indicative of the walking movement.19.The non-transitory computer-readable medium of claim 17, wherein the one or more instructions further cause the user device to:identify respective signal to noise ratio (SNR) estimates for the first signal, the second signal, the third signal, and the magnitude signal using respective variances of the first signal, the second signal, the third signal, and the magnitude signal,wherein the highest signal quality is a highest SNR estimate among the respective SNR estimates for the first signal, the second signal, the third signal, and the magnitude signal.20.The non-transitory computer-readable medium of claim 17, wherein the one or more instructions further cause the user device to:select the filter from a plurality of filters having respective passbands associated with respective cutoff frequencies,wherein the passband is associated with a cutoff frequency that is closest, among the respective cutoff frequencies, to the step rate estimate.
Citation Information
Patent Citations
Step counting method and step counting device
CN103727959A
Apparatus and method for detecting wrist steps
CN105277208A
Ankle step counter with distance measuring function
CN105910621A
Ankle type step counter based on single-shaft micro-mechanical accelerometer
CN105953813A
Step counting method and system based on dynamic axis selection and terminal equipment
CN113804215A