SENSOR

  • Post author:
  • Post category:其他


1 Sensor Type

1.1 Gyro(陀螺仪)

unit: deg/s

陀螺仪的XYZ分别代表设备围绕XYZ三个轴旋转的角速度:deg/second。XYZ使用的坐标系与gsensor相同。



azimuth方位角:就是绕z轴转动的角度(顺时针为正),0度=正北,(假设Y轴指向地磁正北方);90度=正东;180度=正南;270度=正西。




pitch仰俯:绕X轴转动的角度(-180<=pitch<=180), 如果设备水平放置,前方向下俯就是正;前方向上仰就是负值。




roll滚转:绕Y轴转动(-90<=roll<=90),向左翻滚是正值。






关于gyro积分,可以取一段时间内的积分(∑角速度*时间戳ms),for example:




(i_start,i_end)= 2s,然后根据gyro上报数值的时间戳,不断地移动i_start和i_end,保证(i_start,i_end)的时间间隔在2s以内,并且取这段时间的积分,可以得出人的转动快慢。






1.2 Magnetic(磁力计)

unit: microtesla


地磁场是一个矢量,对于一个固定的地点来说,这个矢量可以被分解为两个与当地水平面平行的分量和一个与当地水平面垂直的分量。如果保持电子罗盘和当地的水平面平行,那么罗盘中磁力计的三个轴就和这三个分量对应起来,如下图所示。

实际上对水平方向的两个分量来说,他们的矢量和总是指向磁北的。罗盘中的航向角(Azimuth)就是当前方向和磁北的夹角。由于罗盘保持水平,只需要用磁力计水平方向两轴(通常为X轴和Y轴)的检测数据就可以计算出航向角。当罗盘水平旋转的时候,航向角在0°- 360°之间变化。

磁力计会上报 (x, y, z, accuracy),其中accuracy的范围在0-3之间,数字越大越精确,低了需要做8字校准。

1.3 方位传感器(Orientation Sensors)





Android指南针应用就是用的这个类型。




这个传感器是virtual sensor,是通过Magnetic的 (x, y, z, accuracy) 计算出来的,其中azimuth作为指南针应用的指针方向来源。




azimuth方位角:就是绕z轴转动的角度(顺时针为正),0度=正北,(假设Y轴指向地磁正北方);90度=正东;180度=正南;270度=正西。




pitch仰俯:绕X轴转动的角度 (-180<=pitch<=180), 如果设备水平放置,前方向下俯就是正;前方向上仰就是负值。




roll滚转:绕Y轴转动(-90<=roll<=90),向左翻滚是正值。



1.4 PDR(室内定位)




根据GPS输入的值(经度,维度,地面速度m/sec,定位精度GPACCURACY,真北True方位角-顺时针为正),sensorhub或者sensor fusion库返回经度和维度作为PDR的输出值。一般情况是GPS喂一次数据,sensorhub预测并给出接下来的几个GPS点。GPS不喂数据,sensorhub也不吐数据。




Cywee CMH1000 sensorhub(224KB DRAM,336KB IRAM)带有这个算法。




PDR实现方式




https://wenku.baidu.com/view/f2675c3010661ed9ad51f355.html







1.5 Pedometer(计步器)




accumulated_step_count/步数:总共走或跑的步数 (unit: 步)




accumulated_step_length:所有步幅的总和,即所走的路程(unit:meter)




step_frequency/步频:每分钟走或跑的步数 (unit: 步/分钟)




step_length/步幅:每步的步长 (unit: centimeter)




step_type: 1 for walk, 2 for run, and 3 for jogging


配速的单位是min/KM,即为每公里的用时。


1.6 心率




Beats Per Minute,每分钟心跳次数




1.6.1 HRM(心率监控)




IC:台湾原相




光学传感器(2个绿光LED和一个红外LED)会产生PPG1和PPG2两个数据,基于这2个数据,计算得出HRM和TAKE_OFF数据。




为了计算更准确,HRM融合了G-sensor和光学传感器PPG1的数据。




SLEEPING检测是用G-sensor与HRM数据计算而得。




TAKE_OFF(从手腕上脱下手表)检测是用G-sensor和PPG2(TOUCH)的数据计算而得。




1.6.2 ECG(美国叫EKG,心电图,双电极技术)




IC:NeuroSky(神念科技)BMD101








名副其实,专业级可穿戴设备参考方案——佳明Forerunner 630运动手表拆解




http://www.eeboard.com/teardown/garmin630/




佳明Forerunner 235拆解,超长待机、支持防水




http://www.eeboard.com/teardown/forerunner-235/2/




GARMIN 佳明 fenix3 HR 小银人(含拆解)




https://post.smzdm.com/p/595994/



1.7 Pressure(气压计)




单位hPa(hundred Pa,Android就是用这个:hardware/*/sensors.h),100帕斯卡




0.12 hPa = 1米



1.8 Sedentary reminder(久坐提醒)




Probability of sedentary reminder, the value range is from 0 to 100.




久坐一般由MMI层预设一个时间下到sensorhub中去,时间unit: minute




久坐的算法:一般是如果在触发时间到之前(譬如1小时),有累计行走一分钟就会解除久坐,并重新计算时间(还是按照1小时计算)。


1.9 Sleep

主要判断入睡和出睡满足的条件。

包括SLEEP和SLEEP_STAGING(SLEEPING)

SLEEP:纯粹由G-sensor的数据计算而得

SLEEP_STAGING(SLEEPING):融合了G-sensor、光学传感器PPG1和BISI(Beat Interval and Signal Integrity detection)的数据;半小时以上的低运动量才会触发SLEEP_STAGING测量人的睡眠状态(进入睡眠、浅度睡眠、深度睡眠、状态切换或起床、结束睡眠);睡眠数据的几种状态都存储在sensorhub中(起床时会集中一次上报),如果中途有起床方便之类的(这个也会报一次数据),只要时间不大于30分钟,算法会认为仍然是一次睡眠过程,将起床前后的2个时间段一起计算睡眠数据。

SLEEPING算法需要data-time,这个需要每天都写入SLEEPING算法中。


1.10 Shake and Twist(抬起唤醒)


Probability of gesture detection, the value range is from 0 to 100.

2 Abbreviation

PDR: Pedestrian dead reckoning, calculating one’s current position by using a previously determined position or fix, and advancing that position based upon known or estimated speeds over elapsed time and course.

EKG:  Electrocardiography (ECG or EKG) is the process of recording the electrical activity of the heart over a period of time using electrodes placed on a patient’s body.

EEG: Electroencephalography (EEG) is an electrophysiological monitoring method to record electrical activity of the brain.

EMG: Electromyography (EMG) is an electrodiagnostic medicine technique for evaluating and recording the electrical activity produced by skeletal muscles.

GSR: Galvanic skin response (GSR) is an electrophysiological monitoring method to record conductance of the skin.

PPG: Photoplethysmogram (PPG) is an optical volumetric measurement of an organ. By illuminating skin with LED, the PPG is measured from the light transmitted or reflected to photodiode.

BISI: Beat interval (BI) and signal integrity (SI) detection. The BI is computed based on subtracting the peak position of the successive PPG beats. The SI is an indicator to identify the PPG signal integrity.

ODR: Output Data Rate, for PDR and other Sensors