导航:首页 > 源码编译 > gsensor算法

gsensor算法

发布时间:2022-08-23 05:10:20

❶ 如何计算sensor出来的数据量

着作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:肥肥鱼
来源:知乎

目前 Android 设备支持的传感器类型如下:
TYPE_ACCELEROMETER 加速度传感器又叫 G-sensor,该数值包含地心引力的影响,单位是 m/s2,测量应用于设备 x 、y、z 轴上的加速度。
将手机平放在桌面上,x 轴默认为0,y 轴默认0,z 轴默认9.81。
将手机朝下放在桌面上,z 轴为-9.81。
将手机向左倾斜,x 轴为正值。
将手机向右倾斜,x 轴为负值。
将手机向上倾斜,y 轴为负值。
将手机向下倾斜,y 轴为正值。

TYPE_AMBIENT_TEMPERATURE 温度传感器,单位是 ℃,返回当前的温度。
TYPE_GAME_ROTATION_VECTOR 用来探测运动而不必受到电磁干扰的影响,因为它并不依赖于磁北极。
TYPE_GEOMAGNETIC_ROTATION_VECTOR 地磁旋转矢量传感器,提供手机的旋转矢量,当手机处于休眠状态时,仍可以记录设备的方位。
TYPE_GRAVITY 重力传感器简称 GV-sensor,单位是 $m/s^2%,测量应用于设备X、Y、Z轴上的重力。在地球上,重力数值为9.8,
TYPE_GYROSCOPE 陀螺仪传感器叫做Gyro-sensor,返回x、y、z三轴的角加速度数据。单位是 radians/second。
TYPE_GYROSCOPE_UNCALIBRATED 未校准陀螺仪传感器,提供原始的、未校准、补偿的陀螺仪数据,用于后期处理和融合定位数据。
TYPE_LIGHT 光线感应传感器检测实时的光线强度,光强单位是lux,其物理意义是照射到单位面积上的光通量。
TYPE_LINEAR_ACCELERATION 线性加速度传感器简称LA-sensor。线性加速度传感器是加速度传感器减去重力影响获取的数据。单位是 m/s2。
TYPE_MAGNETIC_FIELD 磁力传感器简称为M-sensor,返回 x、y、z 三轴的环境磁场数据。该数值的单位是微特斯拉(micro-Tesla),用uT表示。单位也可以是高斯(Gauss),1Tesla=10000Gauss。硬件上一般没有独立的磁力传感器,磁力数据由电子罗盘传感器提供(E-compass)。电子罗盘传感器同时提供方向传感器数据。
TYPE_MAGNETIC_FIELD_UNCALIBRATED 未校准磁力传感器,提供原始的、未校准的磁场数据。
TYPE_ORIENTATION 方向传感器简称为O-sensor,返回三轴的角度数据,方向数据的单位是角度。为了得到精确的角度数据,E-compass 需要获取 G-sensor 的数据,经过计算生产 O-sensor 数据,否则只能获取水平方向的角度。方向传感器提供三个数据,分别为azimuth、pitch和roll:
azimuth: 方位,返回水平时磁北极和 Y 轴的夹角,范围为0°至360°。0°为北,90°为东,180°为南,270°为西。
pitch: x 轴和水平面的夹角,范围为-180°至180°。当 z 轴向 y 轴转动时,角度为正值。
roll: y 轴和水平面的夹角,由于历史原因,范围为-90°至90°。当 x 轴向 z 轴移动时,角度为正值。
TYPE_PRESSURE 压力传感器,单位是hPa(百帕斯卡),返回当前环境下的压强。
TYPE_PROXIMITY 接近传感器检测物体与手机的距离,单位是厘米。一些接近传感器只能返回远和近两个状态,因此,接近传感器将最大距离返回远状态,小于最大距离返回近状态。
TYPE_RELATIVE_HUMIDITY 湿度传感器,单位是 %,来测量周围环境的相对湿度。
TYPE_ROTATION_VECTOR 旋转矢量传感器简称RV-sensor。旋转矢量代表设备的方向,是一个将坐标轴和角度混合计算得到的数据。RV-sensor输出三个数据:
x*sin(theta/2)
y*sin(theta/2)
z*sin(theta/2)
sin(theta/2)是 RV 的数量级。RV 的方向与轴旋转的方向相同。RV 的三个数值,与cos(theta/2)组成一个四元组。
TYPE_SIGNIFICANT_MOTION 特殊动作触发传感器。
TYPE_STEP_COUNTER 计步传感器,用于记录激活后的步伐数。
TYPE_STEP_DETECTOR 步行检测传感器,用户每走一步就触发一次事件。
TYPE_TEMPERATURE 温度传感器,目前已被TYPE_AMBIENT_TEMPERATURE替代。

❷ htc-什么是G-Sensor

G-sensor中文是
重力传感器

的意思(英文全称是Gravity-
sensor),它能够感知到加速力的变化,加速力就是当物体在加速过程中作用在物体上的力,比如晃动、跌落、上升、下降等各种移动变化都能被G-sensor转化为电信号,然后通过微处理器的计算分析后,就能够完成程序设计好的功能,比如MP3能根据使用者的甩动方向,前后更换歌曲,放进衣袋的时候也能够计算出使用者的前进步伐。个别高端
笔记本例如IBM高端系列也内置了G-sensor,在感知发生剧烈加速度时(如开始跌落),立即保护硬盘,避免硬盘损害。简单的说,
G-Sensor
是智能化
重力感应系统,应用在硬盘上可以检测当前硬盘的状态,当发生意外跌落时,会产生加速度,硬盘感应到加速度,磁头就会自动归位,使盘体和磁头分离,防止在读写操作的时候受到意外的冲击,从而有效的保护硬盘。在手机中应用此项技术,可以根据使用者的动作而进行相应的软件应用,比如游戏,使用者挥舞手机,游戏也会有相应的反应,就像Wii的
微电机
械系统(MEMS)。明白了吗?

❸ 六轴g-sensor 是什么意思,能达到什么样的效果

其实六轴包含的是在一个模块内整合一个3轴加速度计和一个3轴陀螺仪,通过两者的融合算法,可以确定该g-sensor的状态。

❹ c语言gsensor急加速算法

1、加速度传感器又叫G-sensor,返回x、y、z三轴的加速度数值。
该数值包含地心引力的影响,单位是m/s^2。
将手机平放在桌面上,x轴默认为0,y轴默认0,z轴默认9.81。
将手机朝下放在桌面上,z轴为-9.81。
将手机向左倾斜,x轴为正值。
将手机向右倾斜,x轴为负值。
将手机向上倾斜,y轴为负值。
将手机向下倾斜,y轴为正值。
加速度传感器可能是最为成熟的一种mems产品,市场上的加速度传感器种类很多。
手机中常用的加速度传感器有BOSCH(博世)的BMA系列,AMK的897X系列,ST的LIS3X系列等。
这些传感器一般提供±2G至±16G的加速度测量范围,采用I2C或SPI接口和MCU相连,数据精度小于16bit。


2、例程:

java">{

privatestaticfinalStringTAG=MainActivity.class.getSimpleName();
;
privateSensormSensor;
privateTextViewtextviewX;
privateTextViewtextviewY;
privateTextViewtextviewZ;
privateTextViewtextviewF;

privateintmX,mY,mZ;
privatelonglasttimestamp=0;
CalendarmCalendar;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textviewX=(TextView)findViewById(R.id.textView1);
textviewY=(TextView)findViewById(R.id.textView3);
textviewZ=(TextView)findViewById(R.id.textView4);
textviewF=(TextView)findViewById(R.id.textView2);

mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//TYPE_GRAVITY
if(null==mSensorManager){
Log.d(TAG,"");
}
//参数三,检测的精准度
mSensorManager.registerListener(this,mSensor,
SensorManager.SENSOR_DELAY_NORMAL);//SENSOR_DELAY_GAME

}

@Override
publicvoidonAccuracyChanged(Sensorsensor,intaccuracy){

}

@Override
publicvoidonSensorChanged(SensorEventevent){
if(event.sensor==null){
return;
}

if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
intx=(int)event.values[0];
inty=(int)event.values[1];
intz=(int)event.values[2];
mCalendar=Calendar.getInstance();
longstamp=mCalendar.getTimeInMillis()/1000l;//1393844912

textviewX.setText(String.valueOf(x));
textviewY.setText(String.valueOf(y));
textviewZ.setText(String.valueOf(z));

intsecond=mCalendar.get(Calendar.SECOND);//53

intpx=Math.abs(mX-x);
intpy=Math.abs(mY-y);
intpz=Math.abs(mZ-z);
Log.d(TAG,"pX:"+px+"pY:"+py+"pZ:"+pz+"stamp:"
+stamp+"second:"+second);
intmaxvalue=getMaxValue(px,py,pz);
if(maxvalue>2&&(stamp-lasttimestamp)>30){
lasttimestamp=stamp;
Log.d(TAG,"sensorisMoveorchanged....");
textviewF.setText("检测手机在移动..");
}

mX=x;
mY=y;
mZ=z;

}
}

/**
*获取一个最大值
*
*@parampx
*@parampy
*@parampz
*@return
*/
publicintgetMaxValue(intpx,intpy,intpz){
intmax=0;
if(px>py&&px>pz){
max=px;
}elseif(py>px&&py>pz){
max=py;
}elseif(pz>px&&pz>py){
max=pz;
}

returnmax;
}
}

❺ 行车记录仪g-sensor是什么意思


gsensor 指G-sensor(Gravity-sensor)中文是重力传感器的意思。它能够感知到加速力的变化。
带有 G-sensor 功能的行车记录仪,可以在感受到车辆急刹车的时候,将刹车前后一段时间内的记录作为独立文件保存,有助于事故调查。

(5)gsensor算法扩展阅读

G-sensor中文是加速度传感器的意思(英文全称是Accelerometer-sensor),它能够感知到加速力的变化。

G-sensor中文是加速度传感器的意思,它能够感知到加速力的变化,加速力就是当物体在加速过程中作用在物体上的力,比如晃动、跌落、上升、下降等各种移动变化都能被G-sensor转化为电信号,然后通过微处理器的计算分析后,就能够完成程序设计好的功能,比如MP3能根据使用者的甩动方向,前后更换歌曲,放进衣袋的时候也能够计算出使用者的前进步伐。

个别高端笔记本例如IBM高端系列也内置了G-sensor,在感知发生剧烈加速度时(如开始跌落),立即保护硬盘,避免硬盘损害。简单的说,G-Sensor是智能化重力感应系统,应用在硬盘上可以检测当前硬盘的状态,当发生意外跌落时,会产生加速度,硬盘感应到加速度,磁头就会自动归位,使盘体和磁头分离,防止在读写操作的时候受到意外的冲击,从而有效的保护硬盘。

参考资料来源:网络:G-sensor




❻ G-sensor的作用

g-sensor中文是重力传感器
的意思(英文全称是gravity-
sensor),它能够感知到加速力的变化,加速力就是当物体在加速过程中作用在物体上的力,比如晃动、跌落、上升、下降等各种移动变化都能被g-sensor转化为电信号,然后通过微处理器的计算分析后,就能够完成程序设计好的功能,比如mp3能根据使用者的甩动方向,前后更换歌曲,放进衣袋的时候也能够计算出使用者的前进步伐。个别高端
笔记本例如ibm高端系列也内置了g-sensor,在感知发生剧烈加速度时(如开始跌落),立即保护硬盘,避免硬盘损害。简单的说,g-sensor是智能化
重力感应系统,应用在硬盘上可以检测当前硬盘的状态,当发生意外跌落时,会产生加速度,硬盘感应到加速度,磁头就会自动归位,使盘体和磁头分离,防止在读写操作的时候受到意外的冲击,从而有效的保护硬盘。在手机中应用此项技术,可以根据使用者的动作而进行相应的软件应用,比如游戏,使用者挥舞手机,游戏也会有相应的反应,就像wii的微电机械系统(mems)。明白了吗?

❼ 重力感应器G-sensor的工作原理是什么

重力传感器是将运动或重力转换为电信号的传感器,主要用于倾斜角、惯性力、冲击及
震动等参数的测量[3]。在测量平台倾斜角时,将重力传感器垂直放置于在所测平台上,重力
传感器的敏感轴应与倾斜平台的轴向一致,在水平状态下应与水平面平行,如图1 所示,其
中α 为平台沿某一方向的倾斜角。重力传感器的质量块由于受到重力加速度g 在倾斜方向
上的分量α α α g : g = g sin 的作用产生偏移,使重力传感器的输出电压发生变化。若重力
传感器在水平状态下的输出为0 V ,倾角为α 时的输出为α V ,且在1g 加速度作用下的输出
为V ,则有:
0 V =V / g ×sinα ×1g +V α
即:
α = arcsin[(Vα �6�1V0 ) /V ]
利用上式可以方便求得平面某一方向上的倾斜角。如果将两个重力传感器正交放置在平台中
心,如图2 所示,则平台在x 方向上倾斜角x α 和平台在y 方向上倾斜角y α 为:
x arcsin[V( x V) /V] α = �6�1 , arcsin[(V V ) /V ] y y α = �6�1
根据这两个方向上的倾斜角可以确定出平台的横向倾角和纵向倾角。

❽ g sensor公式

具体如下:

在x, y , z 3个方向的分量,重力是1G=9.8。在gsensor driver打印出的x, y , z值就是gsensor对3个分量经ADC转换后的原始值。

故在HAL层中,对其会做一个转换。xx = 9.8*(x/(2的n次方)) , n为ADC的位数。dmard10为10bit ADC,故2的n次方为4*256=1024。而d06是7bit。

测量范围:

测量范围是传感器可以支持的输出加速度范围,通常用±g 表示。这就是G-sensor可以测量并准确输出的最大加速度。例如,一个测量范围是±8g G-sensor,它的输出一直到加速度达到±8g 时是线性的。

灵敏度:

灵敏度表示传感器输出随加速度(输入)变化的比例,它定义理想情况下加速度和传感器输出的直线关系。数字输出的传感器的灵敏度通常使用 LSB/g 或mg/LSB 表示。例如,一个灵敏度为4mg/LSB的G-sensor,若其Z轴输出为100,则可计算出Z轴加速度为400mg。

❾ 急:G-sensor 与M-sensor是什么

g-sensor是重力传感器,能感应芯片在三个方向(通常是)上的重力加速度。手机里的重力球用的就是这个技术,m-sensor如果是motion sensor的简称的话,基本上指的和g-sensor是一样东西。 查看原帖>>

记得采纳啊

阅读全文

与gsensor算法相关的资料

热点内容
全封闭压缩机qd91h 浏览:666
如何在我的世界免费开一个服务器 浏览:327
python时间对比 浏览:120
单片机模块化编程教学 浏览:344
打开pdf格式 浏览:733
跑显存命令 浏览:120
windows下编译python 浏览:609
linux蓝牙连接 浏览:900
安卓qq邮箱格式怎么写 浏览:431
如何电信租用服务器吗 浏览:188
编程中计算根号的思维 浏览:183
可爱的程序员16集背景音乐 浏览:448
软件代码内容转换加密 浏览:797
什么app看电视不要钱的 浏览:16
乌班图怎么安装c语言编译器 浏览:280
plc通讯块编程 浏览:923
我的世界服务器怎么清地皮 浏览:422
ftp服务器如何批量改名 浏览:314
网易我的世界服务器成员如何传送 浏览:268
公司云服务器远程访问 浏览:633