算法进阶
文章平均质量分 64
jjwwwww
逐步成长中。。。
展开
-
说一说室内定位中的一些黑幕
文章目录说一说室内定位中的一些黑幕前言说一说室内定位中的一些黑幕前言首先自我介绍下,本人研究生学历,接触室内定位这个行业三年多,主要从事定位算法的研究。本人接触过的定位算法主要包括蓝牙、WIFI、地磁、惯性、灯光定位算法,据我所知这几种方式基本覆盖了市面上80%的室内定位公司。黑幕其实也说不上,主要是说说我这几年踩到的一些有意思的坑,顺便对有志入行的朋友提个醒。...原创 2020-01-20 08:57:16 · 1015 阅读 · 8 评论 -
蓝牙定位算法融合惯性导航
蓝牙定位算法融合惯性导航算法前言思路C++实现前言做了蓝牙定位有一段时间了,蓝牙定位算法想要做到高精度是非常困难的,目前流行的指纹法也很难。纯蓝牙定位的效果很难做到理想状态,所以加上惯性导航来进行辅助。思路蓝牙融合惯性导航的难点在于谁的权重更大,我该相信谁多一点。在两种定位方式精度都不太高的时候,我们要有取舍。蓝牙的优势在于在大范围内的精度是相对靠谱的,而惯性导航的优势则在是小范围下相对准...原创 2019-03-09 14:37:46 · 3134 阅读 · 3 评论 -
三点定位法原理及实现——蓝牙定位
三点定位法原理及C语言实现前言原理两圆相交两圆不相交代码实现前言最近在做蓝牙室内定位,蓝牙定位用到的一个非常经典的算法就是三点定位法。原理三点定位法,顾名思义首先有三个圆点,同时我们也知道这三个圆的半径,最终求得三圆的交点,达到定位效果。如图:我们的目的是求得O点,利用毕达哥拉斯定理我们可以快速求得O点坐标。不过事与愿违,现实情况并不总是如人意,而是这样:甚至有的情况其中两个圆或者...原创 2019-02-19 15:58:04 · 35948 阅读 · 19 评论 -
Android计步器算法实现(2)
Android计步器算法实现(2)前言算法实现的意义现实原因优缺点算法原理运动状态判断计步原理步长计算原理Java实现前言在之前我也写过两篇关于计步器的博客,一篇介绍原理,一篇给出封装好的类型。这里是新算法Android工程github地址。之前的那套算法自己平时玩玩其实还是没问题的,但是在大工程里面运用遇到了一些不得不优化的问题:定时器太耗资源每次计算的时间间隔短(几十毫秒)但计算...原创 2018-11-19 21:59:33 · 4741 阅读 · 23 评论 -
手机方向传感器的缺点及解决方法探究
方向传感器是算法生成的传感器之一,主要借助于磁场传感器的数据。Android系统自带了方向传感器,不过系统5.0之后方法就被废除了(我们还是可以使用的,只是谷歌不推荐继续使用了)。谷歌提供了一套新的算法来作为替代,运用磁场传感器和加速度传感器来计算方向(可自行搜索调用方法)。两种方法之间的优劣暂时无法判定,当然我们希望新方法的效果更好。由于没有具体研究两个算法之间的区别,根据我个人使用经验...原创 2018-10-18 16:05:02 · 3190 阅读 · 0 评论 -
Java实现波峰统计
如何统计一段离散信号中波峰的个数呢?来看下面一段波形:可以非常容易数出波峰的个数3,我们都知道波峰是一段波中的局部最高点,那么此时我们只要找到这样一个点满足:High(x1)>High(x1-1)High(x1)>High(x1+1)即此时x1的值大于其左右两边的值,就可以确定一个波峰了。代码实现一下:public static int getPeakNum1...原创 2018-09-21 17:43:37 · 5042 阅读 · 0 评论 -
Android计步器算法实现
最近在研究惯性导航和其他导航算法的融合,顺手把计步、步长等一堆算法写成类了,舒服~这篇文章我不会具体的讲解实现原理,有兴趣研究的朋友直接看我写的计步算法实现和步长计算。 Android系统有自带的计步器,那么为什么要自己实现一套记步算法呢?一.可以做步长估计二.鉴于国产手机碎片化比较严重,不同系统都会有一套自己的记步算法,导致系统算法在实际运用中表现不同: 1.算法...原创 2018-09-17 21:19:21 · 7668 阅读 · 5 评论 -
Java中实现正态随机分布
这次内容分为两部分,如果你对算法怎么实现没兴趣的话,看看简单版如何调用库函数就好了,如果你和我一样对算法又有那么点兴趣,那就接着看看进阶版,看不懂也不亏嘛。简单版如果不想自己写的话,Java util库中早就有提供好的标准正态分布的随机函数://标准正态随机分布public static double StandardNormalDistribution(){ ...原创 2018-08-24 17:00:52 · 18646 阅读 · 6 评论 -
基于地磁场的室内定位介绍
声明一下,该篇文章纯粹是科普性质的,不涉及任何代码和算法实现。我们来看看如何利用磁场来定位。1、为什么能用磁场定位这个问题估计有很多人都想不明白,那么就听我来解释一下。首先地球就可以看成一块大磁铁,因此磁场在我们身边是无处不在的,我们利用地球的磁场可以快速确认南北极,进而确定我们所处的方向,手机中的方向传感器就是由此而来。那么磁场又跟定位有什么关系呢,我们身边的磁场其实很容易受到铁制品...原创 2018-08-07 15:11:36 · 7397 阅读 · 8 评论 -
惯性导航在室内定位中的优势与劣势
研究了一段时间手机的惯性导航,跟大家分享一下学习的心得。先下个结论,高精度的室内定位是无法单靠惯性导航(简称:惯导)来实现的。为什么我会这么说呢,看完这篇文章你就明白了。先说下为什么要研究室内导航技术,一个非常简单的原因:室内GPS信号差。假如室内能清晰的收到GPS信号,这个问题就不会令那么多所谓的科学家、研究人员感到头疼了。 进入正题,首先惯性导航主要依赖于两个传感器,和通过传感...原创 2018-07-29 00:06:47 · 14066 阅读 · 2 评论 -
简单的记步算法
这篇文章是介绍算法原理的,对造轮子没兴趣的朋友直接可以直接点这里(Android计步器的实现)。 最近遇到一个小项目需要研究下记步的算法,闲来无事,花了几天时间自己写了一套简单的记步算法,算法还是不很完善。经过测试除了下楼梯丢失步数较多外,正常行走,跑步,爬楼梯的准确度大致能达到98%以上。 在处理数据的时候没有用到非常高级的处理技巧,用的是都是最简单的滤波...原创 2018-06-27 20:08:08 · 5886 阅读 · 2 评论 -
利用加速度传感器计算步长——个人猜想
前几天写了一篇关于如何记步的博客之后,我就在思考怎么样利用手机的传感器来计算步长呢?和记步不一样,步长是一个相对比较精确的值,通过手机端那个不靠谱的加速度传感器真的有办法计算步长吗? 看了几篇利用GPS计算步长方法,大概就是现在我们用的一些运动软件的算法了,先利用不太精确的GPS画出运动轨迹,计算出轨迹的长度,再除上运动步数,就是步长了。当然其中会运用到很多辅助算法来...原创 2018-07-04 20:56:13 · 6075 阅读 · 0 评论