CN108318905B - 在智能手机上实现亚米级定位的方法及亚米定位智能手机 - Google Patents
在智能手机上实现亚米级定位的方法及亚米定位智能手机 Download PDFInfo
- Publication number
- CN108318905B CN108318905B CN201810010183.3A CN201810010183A CN108318905B CN 108318905 B CN108318905 B CN 108318905B CN 201810010183 A CN201810010183 A CN 201810010183A CN 108318905 B CN108318905 B CN 108318905B
- Authority
- CN
- China
- Prior art keywords
- data
- precision
- satellite
- sub
- observation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/43—Determining position using carrier phase measurements, e.g. kinematic positioning; using long or short baseline interferometry
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/29—Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/30—Acquisition or tracking or demodulation of signals transmitted by the system code related
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/40—Correcting position, velocity or attitude
- G01S19/41—Differential correction, e.g. DGPS [differential GPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明提出的一种在智能手机上实现亚米级定位的方法及亚米定位智能手机,利用RTK载波相位差分技术来消除或者削弱单点定位模型中的系统误差,并使用观测精度更高的载波相位观测值代替伪距进行位置解算,在智能手机上实现了亚米级定位。本发明的方法包括:通过手机自带的移动通信功能模块接收北斗地基增强系统及各类位置服务网络播发的地面站差分数据;实时获取由卫星导航观测量推送模块上报的卫星原始观测量数据;根据获取的地面站差分数据和卫星原始观测量数据进行差分解算,得到亚米级定位精度的定位结果;将亚米级定位结果通过手机位置管理模块的应用程序接口提供给第三方应用程序,实现高精度位置输出与手机系统标准接口的无缝对接。
Description
技术领域
本发明属于智能手机技术领域,特别是涉及一种在智能手机上实现亚米级定位的方法及亚米定位智能手机。
背景技术
随着智能手机的普及和卫星导航定位技术的不断发展,卫星导航(GlobalNavigation Satellite Systems,GNSS)定位功能已成为智能手机上的标配。现有手机芯片大都已集成了GNSS基带信号处理器,能够对卫星信号进行实时捕获和跟踪,并进行单点定位(SPP,Single Point Positioning)解算。然而,由于单点定位模型包含了较多的系统误差,手机的天线性能影响伪距精度,因此,现有手机定位精度通常为十米级。
现有手机上卫星导航定位采用的单点定位解算模型,其原理上不能消除影响定位精度的三类误差:
(1)与接收机有关的误差
主要是指接收机钟差。一般将接收机钟差作为未知参数与位置参数一起求解。接收机钟差求解的准确度会影响位置计算的精度。
(2)与卫星有关的误差
主要是指广播星历误差和卫星钟差。广播星历误差和卫星钟差由地面站注入卫星,通过导航电文播发。广播星历误差、卫星钟差引起的等效伪距偏差均方差约为2米。
(3)与传播路径有关的误差
主要是指电离层延迟、对流层延迟和多路径。电离层延迟和对流层延迟一般采用模型进行改正,但受模型精度和大气不规则变化的影响,改正后误差仍可达米级,一般来说卫星的仰角越低模型改正的误差越大。电离层延迟模型矫正后的误差约为1-5米,对流层延迟模型矫正后的误差约为0.1-1米。多路径是指接收机接收到反射信号引起的观测误差,对伪距的影响总是正的,最长可达几百米。
其中,第(2)、(3)类误差均是系统误差,在单点定位解算中这些误差最终会被反映到位置和接收机钟差的解算精度。
通过星基增强(SBAS,Satellite-Based Augmentation System)改正信息,从专有卫星上获取上述系统误差的更精确的改正值,从而可以显著地提高单点定位的精度。然而SBAS是一种广域改正信息,其改正精度受地面站的数量和分布的影响,难以确保亚米级的改正精度。又由于手机内置GNSS天线一般尺寸都很小,并且通常与WIFI、蓝牙等无线通信技术所使用的天线集成一体化,天线性能较差:增益不高、方向性较差,使得对卫星信号的码跟踪精度(伪距)下降。因此,即使采用了SBAS改正信息,在手机上仍难以实现亚米定位。
发明内容
本发明提出一种在智能手机上实现亚米级定位的方法,利用RTK载波相位差分技术来消除或者削弱单点定位模型中的系统误差,并使用观测精度更高的载波相位观测值代替伪距进行位置解算,在智能手机上实现了亚米级定位。
本发明还提供一种采用上述亚米级定位的方法的亚米定位智能手机。
本发明的技术方案是:
1.一种在智能手机上实现亚米级定位的方法,其特征在于,包括:通过手机自带的移动通信功能模块接收北斗地基增强系统及各类位置服务网络播发的地面站差分数据;实时获取由卫星导航观测量推送模块上报的卫星观测量数据;根据获取的地面站差分数据和卫星观测量数据进行RTK差分解算,得到亚米级定位精度的定位结果;将亚米级定位结果通过手机系统位置服务接口提供给第三方应用程序,实现高精度位置输出与手机系统标准接口的无缝对接。
2.所述方法基于Android系统采用Java开发实现,包括以下步骤:
1)在Java层应用程序APP封装进行RTK差分解算的高精度算法库,在Native层设立卫星导航观测量推送模块GNSS Host用于推送卫星观测量数据;
2)建立Java层APP与Native层GNSS Host之间的Local Socket串行通信链路;采用Local Socket来实现Java层与Native层的全双工通信;
3)Java层APP实时获取Native层GNSS Host上报的卫星观测量数据;
4)Java层APP通过手机移动通信网络实时获取地面站播发的差分数据;
5)Java层APP的高精度算法库根据输入的差分数据和卫星观测量数据进行RTK差分解算,获得高精度的定位结果;
6)Java层APP将高精度定位结果下报给Native层GNSS Host,Native层GNSS Host进行融合并与手机系统位置服务接口无缝对接。
3.步骤(1)中,高精度算法库放置在Java层,需要将高精度算法软件用JNI对代码进行优化和软件封装,使其能够成为一个可供上层Java应用程序调用的动态库(.so);输入高精度算法库的内容包括RTCM差分数据和卫星观测量数据。
4.步骤(2)中,采用二进制数据传输协议,包含完整的数据帧结构定义和校验和,数据以二进制的方式进行编码,以帧为单位进行打包传输;帧结构如下:
14比特 | 10比特 | 12比特 | N比特 | 24比特 |
同步码 | 帧长度 | 消息号 | 数据内容 | 校验和 |
帧同步算法如下:通过同步码找到一个候选帧的开头;通过帧长度定位到帧尾,提取校验和;校验和通过,认为正确找到了一个数据帧;根据消息号,按消息号定义的数据格式对数据内容进行解析。
5.步骤(3)中,首次通信之前,Java层需先发送一次初始化的消息数据,指明约定的数据源ID、目的地ID及初始化命令ID,按照一定的格式编写初始化消息,发送正确的初始化消息后,才能开始卫星观测量数据的传输。
6.步骤(3)中,Java层单独开一个线程实现本地Socket通信,通信链路初始化完成以后,GNSS Host主动推送卫星观测量数据,Java层不断收取GNSS Host上报的卫星观测量数据,并将数据传入高精度算法库;Java层收到的GNSS Host上报的卫星观测量数据是约定好的数据帧结构。
7.步骤(4)中,差分数据接收线程作为Ntrip客户端,负责建立与基准站的连接以及接收基准站播发的差分数据,然后将收到的RTCM差分数据传入高精度算法库;接收差分数据采用Android网络Socket通讯方式,实现自动重连机制;与服务器的通信和数据传输遵循Ntrip差分数据网络传输协议。
8.步骤(6)中,Java层APP将高精度定位结果通过Local Socket下报给Native层GNSS Host,GNSS Host将高精度结果反馈至Android应用框架层的位置管理模块LocationManager,并更新Location Manager位置为高精度位置;第三方APP即可通过LocationManager获得高精度位置。
9.一种采用上述方法的亚米定位智能手机,其特征在于,包括高精度亚米定位单元,所述高精度亚米定位单元包括高精度算法库模块、卫星导航观测量推送模块,所述高精度算法库模块用于实时获取卫星导航观测量推送模块上报的卫星观测量数据,并通过手机自带的移动通信功能模块接收地面站差分数据,根据获取的地面站差分数据和卫星观测量数据进行RTK差分解算,得到亚米级定位精度的定位结果;再通过卫星导航观测量推送模块将亚米级定位结果反馈给手机位置管理模块,由手机位置管理模块提供给第三方应用程序,实现高精度位置输出与手机系统标准接口的无缝对接。
10.还包括卫星导航跟踪模块GNSS Tracker,所述卫星导航跟踪模块包括基带信号处理单元,用于卫星导航信号的捕获、跟踪、比特同步、比特数据的解调,并通过中断机制获取基带数据,然后通过安卓系统API接口将获取的基带数据上报给卫星导航观测量推送模块GNSS Host。
11.所述卫星导航观测量推送模块GNSS Host包括PVT单点定位解算单元,用于对GNSS Tracker上报的基带数据提取出伪距、多普勒、载波相位等观测量信息及导航电文信息,进行PVT单点定位解算;将定位结果和观测量信息上报给高精度算法库模块参与解算RTK,将卫星位置和速度及星历预测信息下发给卫星导航跟踪模块GNSS Tracker,对卫星导航跟踪模块GNSS Tracker进行状态控制。
本发明的技术效果:
本发明提出一种在智能手机上实现亚米级定位的方法及亚米定位智能手机,利用RTK载波相位差分技术来消除或者削弱单点定位模型中的系统误差,并使用观测精度更高的载波相位观测值代替伪距进行位置解算,在智能手机上实现了亚米级定位。
采用本发明的技术方案之后的优势在于采用RTK双差模型,消除了接收机钟差对定位的影响。短基线(手机与最近的地面站直线距离10公里以内)情况下,广播星历误差和卫星钟差可以认为能够被完全消除掉;电离层延迟、对流层延迟的残余误差被削弱至仅剩几个厘米,最大误差一般不超过分米。与伪距相比,载波相位的观测精度高两个数量级,最高可达毫米级,并且受信号多径的影响很小,一般仅为几个厘米。因此,采用本发明的定位精度可达亚米级。
附图说明
图1为本发明的实施例结构示意图。
具体实施方式
以下结合附图对本发明的实施例做进一步的详细说明。
本发明的一种在智能手机上实现亚米级定位的方法,包括:通过手机自带的移动通信功能模块接收北斗地基增强系统及各类位置服务网络播发的地面站差分数据;实时获取由卫星导航观测量推送模块上报的卫星观测量数据;根据获取的地面站差分数据和卫星观测量数据进行差分解算,得到亚米级定位精度的定位结果;将亚米级定位结果通过手机手机系统位置服务接口提供给第三方APP,实现高精度位置输出与手机系统标准接口的无缝对接。
图1为本发明的实施例结构示意图。所述方法基于Android系统采用Java开发实现。
本方案的设计思路是:利用RTK技术来消除或者削弱单点定位模型中的系统误差,并使用观测精度更高的载波相位观测值代替伪距进行位置解算。
本方案的实施需要卫星观测量数据。本方案通过本地Socket通信机制建立Java应用层APP与Native层GNSS Host之间的通信。这种通信方式是全双工的,适用于本机大数据实时高效传输。
本方案的实施需要依赖地面站信息,已建成的北斗地基增强系统及各类位置服务网络均可满足要求,可通过手机2G/3G/4G移动通信功能实时在线获取。
本方案将Java层APP高精度定位结果下报给Native层GNSS Host,并由其融合输出,从而实现高精度位置输出与手机系统标准接口的无缝对接。
工作原理:
通过手机自带的网络功能接收北斗地基增强系统及各类位置服务网络播发的差分信息(RTCM差分协议数据),通过进程间本地Socket通信机制,在安卓(Android)系统的Java AP层与Native层的GNSS Host之间建立通信,并在Java APP(Application)中进行RTK(Real-time Kinematic)解算,所得高精度定位结果再通过Socket回传给GNSS Host融合输出至Android Location Manager。
总体设计方案分为三个部分:第一部分,Java层应用程序(APP)封装高精度算法库,输入高精度算法库的内容包含RTCM差分数据和卫星观测量数据;第二部分,Java层与Native层的全双工通信,使用Local Socket来实现该功能,Native层将GNSS Host的卫星观测量数据上报给Java层的高精度库,高精度库将解算后的结果反馈给GNSS Host;第三部分,GNSS Host作为安卓位置管理模块(Android应用框架层的Location Manager)下的一个驱动,在收到高精度位置结果后,将定位结果通过位置管理模块的应用程序接口,提供给上层第三方APP,如地图导航软件等。
本发明的方法包括以下步骤(包含如下要点)::
1)在Java层应用程序APP封装进行差分解算的高精度算法库,在Native层设立卫星导航观测量推送模块GNSS Host用于推送卫星观测量数据;
2)建立Java层APP与Native层GNSS Host之间的Local Socket串行通信链路;采用Local Socket来实现Java层与Native层的全双工通信;
3)Java层APP实时获取Native层GNSS Host上报的卫星观测量数据;
4)Java层APP通过手机移动通信网络实时获取地面站播发的差分数据;
5)Java层APP的高精度算法库根据输入的差分数据和卫星观测量数据进行差分解算,获得高精度的定位结果;
6)Java层APP将高精度定位结果下报给Native层GNSS Host,Native层GNSS Host进行融合并与手机系统位置服务接口无缝对接。
步骤(1)中,高精度算法库放置在Java层,需要将高精度算法软件用JNI对代码进行优化和软件封装,使其能够成为一个可供上层Java应用程序调用的动态库(.so);输入高精度算法库的内容包括RTCM差分数据和卫星观测量数据。
JNI是Java Native Interfac的缩写,中文翻译为“Java本地调用”。它是一种Java本地编程接口,使得在Java虚拟机(VM)内部运行的Java代码能够与用其它编程语言(如C、C++和汇编语言)编写的应用程序和库进行互操作。也就是说,JNI是一种技术方式,通过这种技术可以做到:Java程序中的函数可以调用Native语言写的函数,一般指的是C/C++编写的函数;同样,C/C++程序中的函数也可以调用Java层的函数。
步骤(2)中,由于本地Socket是串行通信方式,不保证数据传输的可靠性。本方案设计了一套二进制数据数据传输协议,包含完整的数据帧结构定义和校验和,数据以二进制的方式进行编码,以帧为单位进行打包传输;帧结构如下:
14比特 | 10比特 | 12比特 | N比特 | 24比特 |
同步码 | 帧长度 | 消息号 | 数据内容 | 校验和 |
帧同步算法如下:通过同步码找到一个候选帧的开头;通过帧长度定位到帧尾,提取校验和;校验和通过,认为正确找到了一个数据帧;根据消息号,按消息号定义的数据格式对数据内容进行解析。
步骤(3)中,采用Local Socket的方式获取卫星观测量数据。Local Socket是一种进程间的通信方式,是用于同一台主机的进程间通讯(IPC)的一种机制,可用于两个没有亲缘关系的进程,是全双工的,适用于本机大数据实时高效传输。它的实现机制简单,不需要经过网络协议栈,只需将数据从一个进程拷贝到另一个进程。本地Socket通信线程作为服务端,负责接收GNSS Host上传的卫星观测量数据,将数据传入高精度算法库。待高精度算法库解算完毕,再将高精度定位结果下报给GNSS Host。
步骤(3)中,首次通信之前,Java层需先发送一次初始化的消息数据,指明约定的数据源ID、目的地ID及初始化命令ID,按照一定的格式编写初始化消息,发送正确的初始化消息后,才能开始卫星观测量数据的传输。
步骤(3)中,Java层单独开一个线程实现本地Socket通信,通信链路初始化完成以后,GNSS Host主动推送卫星观测量数据,Java层不断收取GNSS Host上报的卫星观测量数据,并将数据传入高精度算法库;Java层收到的GNSS Host上报的卫星观测量数据是约定好的数据帧结构。
步骤(4)中,差分数据接收线程作为Ntrip客户端,负责建立与基准站的连接以及接收基准站播发的差分数据,然后将收到的RTCM差分数据传入高精度库;接收差分数据采用Android网络Socket通讯方式,实现自动重连机制;与服务器的通信和数据传输遵循Ntrip差分数据网络传输协议。
步骤(5)中,Java层APP进行差分解算,获得高精度的定位结果。
步骤(6)中,Java层APP将高精度定位结果通过Local Socket下报给Native层GNSSHost,GNSS Host将高精度结果反馈至Android应用框架层的Location Manager,并更新Location Manager位置为高精度位置;第三方APP即可通过Location Manager获得高精度位置。
本方案中,Java层APP有个单独的差分线程负责不断地从地基增强网获取差分数据并传入高精度算法库。高精度算法库的另外一个输入则是通过Local Socket从GNSSHost获取到卫星原始观测量数据,结果解码再传入高精度算法库。高精度位置的解算是实时进行的,并实时将高精度位置结果通过Local Socket回传给GNSS Host。最后,GNSS Host将收到的高精度位置与自身的单点定位解算结果融合并上报至Location Manager,这样,所有第三方应用都可以实时获取高精度位置。
相应的,本发明提供一种亚米定位智能手机,包括高精度亚米定位单元,所述高精度亚米定位单元包括高精度算法库模块、卫星导航观测量推送模块,所述高精度算法库模块用于实时获取卫星导航观测量推送模块上报的卫星观测量数据,并通过手机自带的移动通信功能模块接收地面站差分数据,根据获取的地面站差分数据和卫星观测量数据进行RTK差分解算,得到亚米级定位精度的定位结果;再通过卫星导航观测量推送模块将亚米级定位结果反馈给手机位置管理模块,由手机位置管理模块提供给第三方应用程序,实现高精度位置输出与手机系统标准接口的无缝对接。
还包括卫星导航跟踪模块GNSS Tracker,卫星导航跟踪模块GNSS Tracker包括基带信号处理单元,用于卫星导航信号的捕获、跟踪、比特同步、比特数据的解调,并通过TRACKER中断机制获取基带数据,包括:卫星类型,卫星编号,通道运行状态信息,复制信号载波频率和相位信息,码相位信息,信号能量信息,解调出的导航电文数据等,然后通过安卓系统API接口将获取的基带数据上报给卫星导航观测量推送模块GNSS Host。
另外,卫星导航观测量推送模块GNSS Host包括PVT单点定位解算单元,用于对GNSS Tracker上报的基带数据提取出伪距、多普勒、载波相位等观测量信息,还有基带数据中的比特数据流解码出的导航电文(星历、历书)等信息,并使用导航电文计算出卫星位置,大气延迟改正,卫星钟差改正,将这些信息组合成方程式,使用PVT算法(如最小二乘,卡尔曼滤波),进行PVT单点定位解算;PVT解算出结果后,将定位结果和观测量信息上报给高精度库参与解算RTK,并将卫星位置和速度以及星历预测等信息下发给GNSS Tracker模块,对GNSS Tracker模块进行状态控制,主要包括增删通道、调整卫星多普勒频率和频率搜索范围、通道状态切换条件等。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造的保护范围当中。
Claims (10)
1.一种在智能手机上实现亚米级定位的方法,其特征在于,包括:通过手机自带的移动通信功能模块接收北斗地基增强系统及各类位置服务网络播发的地面站差分数据;实时获取由卫星导航观测量推送模块上报的卫星观测量数据;根据获取的地面站差分数据和卫星观测量数据进行RTK差分解算,得到亚米级定位精度的定位结果;将亚米级定位结果通过手机系统位置服务接口提供给第三方应用程序,实现高精度位置输出与手机系统标准接口的无缝对接;
所述方法基于Android系统采用Java开发实现,包括以下步骤:
1)在Java层应用程序APP封装进行RTK差分解算的高精度算法库,在Native层设立卫星导航观测量推送模块GNSS Host用于推送卫星观测量数据;
2)建立Java层APP与Native层GNSS Host之间的Local Socket串行通信链路;采用Local Socket来实现Java层与Native层的全双工通信;
3)Java层APP实时获取Native层GNSS Host上报的卫星观测量数据;
4)Java层APP通过手机移动通信网络实时获取地面站播发的差分数据;
5)Java层APP的高精度算法库根据输入的差分数据和卫星观测量数据进行RTK差分解算,获得高精度的定位结果;
6)Java层APP将高精度定位结果下报给Native层GNSS Host,Native层GNSS Host进行融合并与手机系统位置服务接口无缝对接。
2.根据权利要求1所述的方法,其特征在于,步骤(1)中,高精度算法库放置在Java层,需要将高精度算法软件用JNI对代码进行优化和软件封装,使其能够成为一个可供上层Java应用程序调用的动态库“ .so” ;输入高精度算法库的内容包括RTCM差分数据和卫星观测量数据。
3.根据权利要求1所述的方法,其特征在于,步骤(2)中,采用二进制数据传输协议,包含完整的数据帧结构定义和校验和,数据以二进制的方式进行编码,以帧为单位进行打包传输;帧结构如下:
帧同步算法如下:通过同步码找到一个候选帧的开头;通过帧长度定位到帧尾,提取校验和;校验和通过,认为正确找到了一个数据帧;根据消息号,按消息号定义的数据格式对数据内容进行解析。
4.根据权利要求1所述的方法,其特征在于,步骤(3)中,首次通信之前,Java层需先发送一次初始化的消息数据,指明约定的数据源ID、目的地ID及初始化命令ID,按照一定的格式编写初始化消息,发送正确的初始化消息后,才能开始卫星观测量数据的传输。
5.根据权利要求1所述的方法,其特征在于,步骤(3)中,Java层单独开一个线程实现本地Socket通信,通信链路初始化完成以后,GNSS Host主动推送卫星观测量数据,Java层不断收取GNSS Host上报的卫星观测量数据,并将数据传入高精度算法库;Java层收到的GNSSHost上报的卫星观测量数据是约定好的数据帧结构。
6.根据权利要求1所述的方法,其特征在于,步骤(4)中,差分数据接收线程作为Ntrip客户端,负责建立与基准站的连接以及接收基准站播发的差分数据,然后将收到的RTCM差分数据传入高精度算法库;接收差分数据采用Android网络Socket通讯方式,实现自动重连机制;与服务器的通信和数据传输遵循Ntrip差分数据网络传输协议。
7.根据权利要求1所述的方法,其特征在于,步骤(6)中,Java层APP将高精度定位结果通过Local Socket下报给Native层GNSS Host,GNSS Host将高精度结果反馈至Android应用框架层的位置管理模块Location Manager,并更新Location Manager位置为高精度位置;第三方APP即可通过Location Manager获得高精度位置。
8.一种采用权利要求1至7之一所述方法的亚米定位智能手机,其特征在于,包括高精度亚米定位单元,所述高精度亚米定位单元包括高精度算法库模块、卫星导航观测量推送模块,所述高精度算法库模块用于实时获取卫星导航观测量推送模块上报的卫星观测量数据,并通过手机自带的移动通信功能模块接收地面站差分数据,根据获取的地面站差分数据和卫星观测量数据进行RTK差分解算,得到亚米级定位精度的定位结果;再通过卫星导航观测量推送模块将亚米级定位结果反馈给手机位置管理模块,由手机位置管理模块提供给第三方应用程序,实现高精度位置输出与手机系统标准接口的无缝对接。
9.根据权利要求8所述的亚米定位智能手机,其特征在于,还包括卫星导航跟踪模块GNSS Tracker,所述卫星导航跟踪模块包括基带信号处理单元,用于卫星导航信号的捕获、跟踪、比特同步、比特数据的解调,并通过中断机制获取基带数据,然后通过安卓系统API接口将获取的基带数据上报给卫星导航观测量推送模块GNSS Host。
10.根据权利要求9所述的亚米定位智能手机,其特征在于,所述卫星导航观测量推送模块GNSS Host包括PVT单点定位解算单元,用于对GNSS Tracker上报的基带数据提取出伪距、多普勒、载波相位的观测量信息及导航电文信息,进行PVT单点定位解算;将定位结果和观测量信息上报给高精度算法库模块参与解算RTK,将卫星位置和速度及星历预测信息下发给卫星导航跟踪模块GNSS Tracker,对卫星导航跟踪模块GNSS Tracker进行状态控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810010183.3A CN108318905B (zh) | 2018-01-05 | 2018-01-05 | 在智能手机上实现亚米级定位的方法及亚米定位智能手机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810010183.3A CN108318905B (zh) | 2018-01-05 | 2018-01-05 | 在智能手机上实现亚米级定位的方法及亚米定位智能手机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108318905A CN108318905A (zh) | 2018-07-24 |
CN108318905B true CN108318905B (zh) | 2021-12-17 |
Family
ID=62893064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810010183.3A Active CN108318905B (zh) | 2018-01-05 | 2018-01-05 | 在智能手机上实现亚米级定位的方法及亚米定位智能手机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108318905B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111077542A (zh) * | 2018-10-18 | 2020-04-28 | 千寻位置网络有限公司 | 支持mqtt物联网协议的高精度rtk接收装置和系统 |
CN111148015B (zh) * | 2018-11-06 | 2021-05-04 | 千寻位置网络有限公司 | 定位方法及装置、移动终端及Android系统的终端、应用系统 |
CN110118983A (zh) * | 2019-04-23 | 2019-08-13 | 广州南方卫星导航仪器有限公司 | 基于csd数据传输模式的rtk定位方法、设备、介质及系统 |
CN112073894B (zh) * | 2019-05-24 | 2022-03-22 | 大唐移动通信设备有限公司 | 一种信息确定方法及装置 |
CN111505676A (zh) * | 2020-05-29 | 2020-08-07 | 武汉大学 | 基于窄带物联网的低功耗亚米级通信导航定位装置及方法 |
CN111988842A (zh) * | 2020-07-22 | 2020-11-24 | 山东高速信息工程有限公司 | 一种基于云端和边缘计算的手机定位方法与系统 |
CN114185865A (zh) * | 2021-12-13 | 2022-03-15 | 国汽大有时空科技(安庆)有限公司 | 一种基于分布式存储的大规模基站数据存储与解析的方法及系统 |
CN114509792B (zh) * | 2022-01-20 | 2022-11-11 | 重庆市规划和自然资源调查监测院 | 一种高精度gnss移动应用增强定位系统及其工作方法 |
CN114814913A (zh) * | 2022-04-19 | 2022-07-29 | 大唐终端技术有限公司 | Android平台北斗高精度定位控制系统 |
CN115639583A (zh) * | 2022-12-21 | 2023-01-24 | 深圳华大北斗科技股份有限公司 | 基于Android系统的高精度定位装置 |
CN116708542B (zh) * | 2023-08-02 | 2023-10-24 | 福建福大北斗通信科技有限公司 | 一种基于Android平台的高精度位置共享系统及方法 |
CN116990848B (zh) * | 2023-08-03 | 2024-04-09 | 齐鲁空天信息研究院 | 一种基于卫星导航的移动端增强定位方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102540228B (zh) * | 2012-03-02 | 2015-09-16 | 重庆九洲星熠导航设备有限公司 | 一种单频gps高精度单点定位系统及方法 |
CN104570024A (zh) * | 2014-12-22 | 2015-04-29 | 中国科学院国家授时中心 | 北斗天基高精度实时定位方法 |
CN104749595A (zh) * | 2015-03-19 | 2015-07-01 | 上海北伽导航科技有限公司 | 一种基于高精度地基增强系统的定位服务方法及系统 |
CN106125110B (zh) * | 2016-06-12 | 2018-08-24 | 中国科学院上海天文台 | 基于分区改正的星基增强系统定位精度提高方法 |
CN106447818A (zh) * | 2016-08-01 | 2017-02-22 | 上海贝哲信息科技有限公司 | 基于移动终端的智能巡检方法 |
CN106324645A (zh) * | 2016-08-19 | 2017-01-11 | 付寅飞 | 一种基于惯性导航和卫星差分定位的车辆精准定位方法 |
CN106255065B (zh) * | 2016-08-30 | 2020-02-07 | 广东工业大学 | 智能手机室内外无缝定位系统及其方法 |
CN107478221A (zh) * | 2017-08-11 | 2017-12-15 | 黄润芳 | 一种用于移动终端的高精度定位方法 |
-
2018
- 2018-01-05 CN CN201810010183.3A patent/CN108318905B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108318905A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108318905B (zh) | 在智能手机上实现亚米级定位的方法及亚米定位智能手机 | |
US9042913B2 (en) | Transmitter position integrity checking | |
CN103852773B (zh) | 一种基于云计算技术的定位系统和定位方法 | |
US9562974B2 (en) | Multiple content message base-rover architecture | |
JPWO2018083803A1 (ja) | 測位補強装置、測位補強システムおよび測位補強方法 | |
GB2442511A (en) | Method for testing a navigation receiver in a communication device | |
US20150247931A1 (en) | Locally enhanced gnss wide-area augmentation system | |
CN105607079A (zh) | 一种gnss定位精度增强方法及gnss定位系统 | |
CN108333603B (zh) | 基于gnss星基地基播发服务和位置服务的方法 | |
US20230061599A1 (en) | Positioning method, electronic device and storage medium | |
Diessongo et al. | Precise position determination using a Galileo E5 single-frequency receiver | |
Li et al. | Improving availability and accuracy of GPS/BDS positioning using QZSS for single receiver | |
CN113093250B (zh) | 伪距观测数据修复方法、定位信息确定方法及装置 | |
Bisnath | PPP: Perhaps the natural processing mode for precise GNSS PNT | |
Liu et al. | Performance analysis of real-time precise point positioning with GPS and BDS state space representation | |
KR102057547B1 (ko) | Lte 기반 이동 통신 기지국을 이용한 이동국의 위치 보정 방법 | |
KR20150145039A (ko) | 위치 보정 정보를 제공하기 위한 장치, 위치 보정 정보를 이용하여 위치 정보를 제공하기 위한 장치 및 이를 위한 방법 | |
CN112731268B (zh) | 一种差分数据的处理方法和定位跟踪系统 | |
CN114966777A (zh) | 一种基于北斗短报文的精密单点定位系统和方法 | |
CN212540724U (zh) | 一种局部实时差分数据多路径播发系统 | |
Miya et al. | Centimeter level augmentation service (clas) in japanese quasi-zenith satellite system, design for satellite based rtk-ppp services | |
Harima et al. | Transmission of augmentation messages for precise point positioning utilizing Japanese QZSS LEX signal | |
Zhang et al. | Asynchronous and time-differenced RTK for ocean applications using the BeiDou short message service | |
Yang et al. | Research on real-time precise point positioning method based on short message communication | |
CN115575991B (zh) | 一种卫星导航可信位置服务方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |