Способ и устройство для определения ориентации акселерометра

1. Способ определения ориентации акселерометра, который носится пользователем или одет на нем, включающий:
измерение ускорения с помощью акселерометра при движении пользователя;
обработку измеренного ускорения для определения частоты шагов движения пользователя; и
обработку измеренного ускорения для определения поперечной составляющей ускорения как составляющей ускорения, имеющей высокий отклик на частоте, соответствующей половине частоты шагов.
2. Способ по п. 1, в котором этап обработки измеренного ускорения для определения поперечной составляющей ускорения включает:
определение набора углов поворота для измеренного ускорения, который минимизирует автокорреляцию измеренного ускорения в конкретном направлении при задержке автокорреляции, то есть на половине частоты шагов или приблизительно на половине частоты шагов; при этом поперечная составляющая ускорения включает в себя измеренное ускорение в конкретном направлении.
3. Способ по п. 2, в котором этап определения включает:
(i) определение автокорреляции измеренного ускорения;
(ii) вычисление наклона функции автокорреляции и определение направления, в котором имеет место самый крутой угол снижения в автокорреляции;
(iii) обновление набора углов поворота для выполнения поворота пространства измерения с целью сокращения угла между осью у в пространстве измерения и определенным направлением;
(iv) определение автокорреляции ускорения в повернутом пространстве измерения;
(v) отказ от обновления набора углов поворота, выполненного на этапе (iii), и повторение этапов (iii) и (iv) с меньшим поворотом пространства измерения в случае, если автокорреляция ускорения в повернутом пространстве измерения меньше автокорреляции, определенной на этапе (i);
(vi) определение разницы между автокорреляцией, определенной на этапе (iv), и автокорреляцией, определенной на этапе (i), в случае, если автокорреляция ускорения в повернутом пространстве измерения больше автокорреляции, определенной на этапе (i); и
(vii) повторение этапов (ii)-(vi), если указанная разница больше порогового значения, а в противном случае - определение ускорения в направлении, в котором имеет место самый крутой угол снижения в повернутом пространстве измерения, которое и будет являться поперечной составляющей ускорения.
4. Способ по п. 1, в котором этап обработки измеренного ускорения для определения поперечной составляющей ускорения включает преобразование измерений ускорения в частотную область и определение поперечной составляющей ускорения как составляющей ускорения, имеющей высокий отклик на частоте, равной половине частоты шагов или находящейся в заданных пределах от половины частоты шагов.
5. Способ по п. 1, в котором этап обработки измеренного ускорения для определения частоты шагов движения пользователя включает:
вычисление величины измеренного ускорения; и
использование алгоритма нахождения пика для определения частоты шагов в данной частотной области.
6. Способ по п. 1, в котором этап обработки измеренного ускорения для определения частоты шагов движения пользователя включает:
вычисление величины измеренного ускорения;
вычисление автокорреляции сигнала, представляющего величину измеренного ускорения;
определение максимальной автокорреляции сигнала; и
определение времени шага пользователя как задержки, соответствующей максимальной автокорреляции сигнала.
7. Способ по п. 1, дополнительно включающий этапы:
обработки измеренного ускорения для определения того, шагает ли пользователь; и
обработки измеренного ускорения для определения поперечной составляющей ускорения, если установлено, что пользователь шагает.
8. Способ по п. 7, в котором этап обработки измеренного ускорения для определения того, шагает ли пользователь, включает определение того, находится ли определенная частота шагов в заданном диапазоне.
9. Компьютерный программный продукт, содержащий реализованный в нем машиночитаемый код, причем указанный машиночитаемый код обуславливает при его исполнении надлежащим компьютером или блоком обработки выполнение указанным компьютером или блоком обработки способа по любому из пп. 1-8.
10. Устройство для определения ориентации акселерометра, который носится пользователем или одет на нем, содержащее:
блок обработки, который выполнен с возможностью:
приема данных измерений ускорения от акселерометра;
обработки измеренного ускорения для определения частоты шагов движения пользователя; и
обработки измеренного ускорения для определения поперечной составляющей ускорения как составляющей ускорения, имеющей высокий отклик на частоте, соответствующей половине частоты шагов.
11. Устройство по п. 10, в котором блок обработки выполнен с возможностью обработки измеренного ускорения для определения поперечной составляющей ускорения путем
определения набора углов поворота для измеренного ускорения, который минимизирует автокорреляцию измеренного ускорения в конкретном направлении при задержке автокорреляции, то есть на половине частоты шагов или приблизительно на половине частоты шагов; при этом поперечная составляющая ускорения включает в себя измеренное ускорение в конкретном направлении.
12. Устройство по п. 10 или 11, в котором блок обработки выполнен с возможностью обработки измеренного ускорения для определения поперечной составляющей ускорения путем
(i) определения автокорреляции измеренного ускорения;
(ii) вычисления наклона функции автокорреляции и определения направления, в котором имеет место самый крутой угол снижения в автокорреляции;
(iii) обновления набора углов поворота для выполнения поворота пространства измерения с целью сокращения угла между осью у в пространстве измерения и определенным направлением;
(iv) определения автокорреляции ускорения в повернутом пространстве измерения;
(v) отказа от обновления набора углов поворота, выполненного на этапе (iii), и повторения этапов (iii) и (iv) с меньшим поворотом пространства измерения в случае, если автокорреляция ускорения в повернутом пространстве измерения меньше автокорреляции, определенной на этапе (i);
(vi) определения разницы между автокорреляцией, определенной на этапе (iv), и автокорреляцией, определенной на этапе (i), в случае, если автокорреляция ускорения в повернутом пространстве измерения больше автокорреляции, определенной на этапе (i); и
(vii) повторения этапов (ii)-(vi), если указанная разница больше порогового значения, а в противном случае - путем определения ускорения в направлении, в котором имеет место самый крутой угол снижения в повернутом пространстве измерения, которое и будет являться поперечной составляющей ускорения.
13. Устройство по п. 10 или 11, в котором блок обработки выполнен с возможностью обработки измеренного ускорения для определения частоты шагов движения пользователя путем вычисления величины измеренного ускорения и использования алгоритма нахождения пика для определения частоты шагов в данной частотной области.
14. Устройство по п. 10 или 11, в котором блок обработки выполнен с возможностью обработки измеренного ускорения для определения частоты шагов движения пользователя путем вычисления величины измеренного ускорения; вычисления автокорреляции сигнала, представляющего величину измеренного ускорения; определения максимальной автокорреляции сигнала; и определения времени шага пользователя как задержки, соответствующей максимальной автокорреляции сигнала.
15. Устройство по п. 10 или 11, в котором блок обработки дополнительно выполнен с возможностью обработки измеренного ускорения для определения того, шагает ли пользователь; и обработки измеренного ускорения для определения поперечной составляющей ускорения, если установлено, что пользователь шагает.