一种基于北斗gps双模定位模块的差分定位算法的制作方法

文档序号:6009010阅读:507来源:国知局
专利名称:一种基于北斗gps双模定位模块的差分定位算法的制作方法
技术领域
本发明涉及一种卫星导航定位技术,具体地说是一种基于北斗GPS双模定位模块的差分定位算法。
背景技术
卫星导航定位系统是重要的空间基础设施,它综合了传统天文导航定位和地面无线电导航定位的优点,相当于一个设置在太空的无线电导航台,可带来巨大的社会经济效益。目前世界上只有少数几个国家能够自主研制开发卫星导航系统。世界上第一个全球卫星导航系统是美国从1973年开始实施的GPS系统,军民两用。但长期以来,美国只对本国军方提供的是精确定位信号,对其他用户提供的则是加了干扰的低精度信号,我国GPS用户实时定位精度仅为IOOm左右。为打破美国的垄断,俄罗斯建起了自己的全球卫星导航系统格罗纳斯;欧盟则启动了伽利略全球卫星导航定位系统计划。作为一个拥有广阔领土和海域的国家,中国有必要也有能力建立自己的全球定位系统。2000年以来,中国已成功发射了 4颗“北斗导航试验卫星”,建成北斗导航试验系统 (第一代系统)。目前,我国北斗导航系统还在建设时期,北斗一号定位精度偏低,第二代北斗卫星导航系统尚处于组网卫星发射阶段。因此,为满足用户需求,借鉴GPS定位的优势, 通过软件算法来提高目前北斗定位的精度具有积极意义。

发明内容
本发明的目的是在现有的广域GPS差分技术的基础之上,提出了一种适合北斗导航定位系统的基于北斗/GPS双模定位模块的差分定位算法。本发明的目的是按以下方式实现的,由基准站发送改正数,由用户站接收并对其测量结果进行修正,以获得精确的定位结果,具体算法如下设校准点(xO,y0, z0)位置精确已知,用户位于校准点时,至第i颗卫星的径向距离为RiO= (xO-xsi) 2+ (yO-ysi) 2+ (z0-zsi) 2,(1),式中“Si”表示第i颗卫星;在校准点,用户钟测得中心站经第i颗卫星发布的出站信号的到达时间为tuO则从中心站经卫星i到校准点的伪距为PO = C (tuO-tOO) = Ri+Ri0+c τ + δ r (2)(2)式中,c为光速,t00为在校准点时中心站出站信号的出发时间,Ri为中心站至第i颗卫星的径向距离,τ为中心站、卫星转发器和用户终端的设备群时延,δΓ为电波传播折射误差;当用户离开校准点到达位置(xl,yl,zl)时,用户钟测得出站信号的到达时间为 tul,此时从中心站经卫星到当前点的伪距为
P 1 = c(tul-tol) = Ri+Ril+c τ + δ r (3)(3)式中,t01为在当前点时中心站出站信号的出发时间,Ril为当前点用户终端至第i颗卫星的径向距离,式⑶减去式0),得Ril = Ri0+c(tul-t01)-c(tu0-t00)(4)利用(4)式,在解算出用户终端至两颗卫星实时径向距离并得到高程数据后,就可实时计算用户三维位置了 ;测距误差为σ r = ( Δ f/f) XcXT(5)(5)式中,Δ f/f为铷钟频率稳定度,c为光速,T为铷钟最长工作时间;系统三维定位误差为op= (or· HD0P) 2+ ( σ h · VDOP) 2(6)(6)式中,σ r为接收机测距误差,σ h为高度表高程测量误差;差分算法代码如下Il发送命令常数
enum NMEA—0183—SET
{——
NFUN_SET_DGPS=NFUN_0183—START,//是否启动差分NFUN_SET_T054,Il是否转换成54坐标NFUN_SET_SJQQ,//数据请求NFUN_SET_P0S0,-Il设置初始位置/高程NFUN_SET—MODE,Il设置0183数据输出包头NFUN_SET—WARN,//设置差分告警门限
};
//转换参数 struct SCoord
doubleXeIl旋转坐标χdoubleYeIl旋转坐标YdoubleZeIl旋转坐标ZdoubleXOIl平移坐标XdoubleYOIl平移坐标YdoubleZO; //平移坐标ζdoublem;Il尺度变化参数
//设置差分告警级别 typedef struct tagNSET_WARN
UINT32 srcID;_
int LevelH; int LevelV; int Level3D; }NSET—WARN, *LPNSET—WARN
//受控用户ID, —般没用,填零 //.水平告警级别门限 Il垂直告警级别门限 Il 3维告警门限// ALLPL,差分误差参数
typedef struct tagNGET一ALLPL
{
UINT8 T[4];‘
float HErr; float VErr; }NGET_ALLPL, *LPNGET_ALLPL;
// UTC时间
//水平误差 //垂直误差
//注册需要的数据类型 RSDataMsg(UFUN_GRT_TCXX, m—hWnd, WM—BD_GET_MSG) RSDataMsg(UFUN一GET—BBXX, m—hWnd, WM—BD—GET—MSG) RSDataMsg (UFUN_GET_XHXX, ra_hWnd, BD—GET—MSG) RSDataMsg(UFUN—GET—GIJX, m_hWnd, WM—BD—GET_MSG) RSDataMsg(UFUN—GET—DWXX, m_hWnd, WM—BD—GET一MSG) RSDataMsg(UFUN_GET_TXXX, m_hWnd, WM一BD一GET_MSG) RSDataMsg(UFUN_GET_TXHZ, m—hWnd, WM—BD—GET_MSG) RSDataMsg(UFUN GET FKXXim—hWnd,WM—Β —GET_MSG) RSDataMsg (UFUN_GF.T_S JXX, m_hWnd,WM—BD—GET—MSG) RSDataMsg(UFUN_GET_7JZK, m_hffnd, WM—BD—GET_MSG) RSDataMsg(UFUN_GET_GLZK, m_hWnd, WM_BD_GET—MSG) RSDataMsg(NFUN_GET_GPRMC, m_hWnd, WM_BD_GET—MSG) RSDataMsg(NFUN_GET_RDRMC, m_hWnd, WM—BD_GET—MSG) RSDataMsg(NFUN_GET_GPGGA, m_hWnd, WM_BD_GET_MSG) RSDataMsg(NFUN_GET_BDGGA, m_hWnd, WM_BD_GET—MSG)
case UFUN^GET_DWXX: // 定位信息
Il用户卡信息 Il版本信息 //序列号 Il管信信息 //定位信息 Il通信信息 //通信查询消息 //反馈信息 //北斗时间 //主机状况 Il功率状况
// // // Il
GPS-RMC 数据 BD-RMC数据 GPS-GGA 数据 BD-GGA数据
UGET—DWXX *pDwxx= (UGET^DWXX*)IParara;
sprintf (buf, 〃定位类别%02x,定位时间%02d :%02d:%02d. %02d, 经度:%02d |t%02d 分%02(1 %d 秒,纬度:%02d 度%02<] 分。/。02d. %d秒,高程:%d,高程异常:%d", pDwxx->Flag,
pDwxx->T
,pDwxx->T[l]’ pDwxx_>T[2]’ pDwxx->T[3], pDwxx->L'
, pDwxx->L[l], pDwxx->L[2], pDwxx->L[3], pDwxx->B
,pDwxx->B[1], pDwxx-〉B[2],pDwxx->B [3], pDwxx->H, pDwxx->Segma);
break; 本发明的优异效果如下北斗导航定位系统是我国独立开发的卫星导航定位系统,卫星导航定位涉及政治、经济、军事等领域,对维护国家利益具有重大意义。
本发明基于北斗/GPS双模定位模块,参考GPS广域差分技术,提出了一种适合北斗定位系统的基于北斗/GPS双模定位模块的差分定位算法,有效的提高了北斗模块的定位精度。本发明的应用和推广,不仅在军事上,而且在国民经济建设中都能够发挥巨大的作用。在军事上,一方面可以将我军的情报侦察能力提高到一个新的水平,使获取的情报更加准确。在国民经济建设中,本发明也可在许多领域中得到应用。比如在车辆导航、车辆(公安、消防、银行、出租等)的调度、监控、城市交通管理、野外作业等方面都有着良好的应用前景。


图1卫星轨道图;
具体实施例方式参照说明书附图对本发明的作以下详细地说明。本发明的基于北斗/GPS双模定位模块的差分定位算法(广域差分GPS系统 WADGPS),工作原理是对GPS观测量的误差源分别加以区分和“模型化”,然后将计算出来的每一个误差源的误差修正值(差分值)通过数据通讯链传输给用户,对用户在GPS定位中的误差加以修正,以达到削弱这些误差源和改善用户GPS定位精度的目的。WADGPS系统一般由一个主控站,若干个GPS卫星跟踪站,一个差分信号播发站,若干个监控站,相应的数据通讯网络和若干个用户站组成。按目前通行的WADGPS对通讯的技术要求是跟踪站需不间断(至少3s间隔)的实时向主控站传输GPS卫星的跟踪数据。主控站要通过差分信号播发站对在IOOOkm范围内的用户不间断地发播差分改正值,其更新率大体是星历3min,星钟6s,电离层lh。这种传输首先必须是高速率的否则差分改正的讯龄和时间差会变大而降低导航和定位精度;同时必须是低误码率,否则不能保证用户定位的完备性。我国的北斗卫星定位系统由两颗地球静止卫星(800E和1400E)、一颗在轨备份卫星(110. 50E)、中心控制系统、标校系统和各类用户机等部分组成。系统的工作过程是首先由中心控制系统向卫星I和卫星II同时发送询问信号,径卫星转发器项服务区内的用户广播。用户响应其中一颗卫星的询问信号,并同时向两颗卫星发送响应信号,径卫星转发回中心控制系统。中心控制系统接收并解调用户发来的信号,然后根据用的申请服务内容进行相应的数据处理。对定位申请,中心控制系统测出两个时间延迟即从中心控制系统发出询问信号,经某一颗卫星转发到达用户,用户发出定位响应信号,经同一颗卫星转发回中心控制系统的延迟;和从中心控制发出询问信号,经上述同一卫星到达用户,用户发出响应信号,经另一颗卫星转发回中心控制系统的延迟。由于中心控制系统和两颗卫星的位置均是已知的,因此由上面两个延迟量可以算出用户到第一颗卫星的距离,以及用户到两颗卫星距离之和,从而知道用户处于一个以第一颗卫星为球心的一个球面,和以两颗卫星为焦点的椭球面之间的交线上。另外中心控制系统从存储在计算机内的数字化地形图查寻到用户高程值,又可知道用户出于某一与地球基准椭球面平行的椭球面上。从而中心控制系统可最终计算出用户所在点的三维坐标,这个坐标经加密由出站信号发送给用户。本发明的差分算法是由基准站发送改正数,由用户站接收并对其测量结果进行修正,以获得精确的定位结果。算法具体实现如下设校准点(xO,yO, zO)位置精确已知,用户位于校准点时,至第i颗卫星的径向距离为RiO = (x0-xsi)2+(y0-ysi)2+(z0-zsi)2 (1)(1)式中,下标“Si”表示第i颗卫星。在校准点,用户钟测得中心站经第i颗卫星发布的出站信号的到达时间为tuO则从中心站经卫星i到校准点的伪距为pO = c (tuO-tOO) = Ri+Ri0+c τ + δ r(2)(2)式中,c为光速,t00为在校准点时中心站出站信号的出发时间,Ri为中心站至第i颗卫星的径向距离,τ为中心站、卫星转发器和用户终端的设备群时延,δΓ为电波传播折射误差。当用户离开校准点到达位置(xl,yl,zl)时,用户钟测得出站信号的到达时间为 tul,此时从中心站经卫星到当前点的伪距为P 1 = c(tul-tol) = Ri+Ril+c τ + δ r(3)(3)式中,t01为在当前点时中心站出站信号的出发时间,Ril为当前点用户终端至第i颗卫星的径向距离。式⑶减去式O),得Ril = Ri0+c(tul-t01)-C (tu0-t00)(4)利用(4)式,在解算出用户终端至两颗卫星实时径向距离并得到高程数据后,就可实时计算用户三维位置了。测距误差为σ r = (Δ f/f) XcXT(5)(5)式中,Δ f/f为铷钟频率稳定度,c为光速,T为铷钟最长工作时间。系统三维定位误差为op= (or· HD0P) 2+ ( σ h · VD0P) 2(6)
(6)式中,or为接收机测距误差,Qh为高度表高程测量误差, 实现差分算法的部分代码如下//发送命令常数
enum NMEA—0183—SET
{
NFUN_SET_DGPS=NFUN_0183_START,// 是否启动差分
NFUN_SET_T054,//是否转换成54坐标
NFUN_SET—SJQQ,// 数据请求
NFUN—SET—P0S0,//设置初始位置/高程
NFUN_SET_M0DE,//设置0183数据输出包头
NFUN—SET_WARN,//设置差分告警门限
};
......
//转换参数
struct SCoord
{
double Xe;//旋转坐标X
double Ye;//旋转坐标Y
double Ze;//旋转坐标Zdouble X0;//_ 平移坐标 X
double Y0;. Il 平移坐标 Y
double Z0;Il平移坐标Z
double m;//尺度变化参数
//设置差分告警级别 typedef struct tagNSET—WARN
UIKT32srcID;//受控用户ID, —般没用,填零intLevelH;//水平告警级别门限InLLevelV;Il垂直告警级别门限intLevel3D;H3维告警门限
}nset_warn, *lpnset_warn;
// ALLPL,差分误差参数 ’ typedef struct tagNGET—ALLPL
uint8 t [4]; float HErr; float VErr; }NGET_ALLPL, *LPNGET_ALLPL;
Il utc时间 Il水平误差 Il垂直误差
Il注册需要的数据类型
RSDataMsg (l'FUN_GET_ICXX,ra_hWnd,WM__BD__GET__MSG)RSDataMsg(UFUN_GET_BBXX,m__hWnd,WM__BD__GET__MSG)RSDataMsg(UFUN_GET_XHXX,.hWnd,WM__BD__GET__MSG)RSDataMsg(UFUN—GET—GLXX,m_hWnd,WM_风_MSG)RSDataMsg(UFUN_GET_DWXX,m_—hWnd,WM__BD__GET__MSG)RSDataMsg(UFUN—GET—TXXX’m_hWnd,WM__BD_—GET——MSG)RSDataMsg (UFIJN_GRT_TXHZ,m__hWnd,WM__BD__GET_JSG)RSDataMsg(UFUK_GET_FKXX,m__hWnd,WM__BD__GET__MSG)
RSDataMsg(UFUN_GET_SJXX, m_—hWnd,ffM_BD__GET__MSG)RSDataMsg(UFUN_GET_ZJZK, m__hWnd,WM_BD__GET_.MSG)RSDataMsg(UFUN_GET_GLZK, m__hWnd,WM_BD__GET_MSG)RSDataMsg(NFUN_GET_GPRMC, m__hWnd,WM__BD__GET_MSG)RSDataMsg(NFUN_GET_BDRMC, m__hWnd,WM__BD..GET—MSG)RSDataMsg(NFUN—GET—GPGGA,m_hWnd,WM__BD__GET_MSG)RSDataMsg(NFUN_GET_BDGGA, m__hWnd,WM__BD__GET_MSG)
Il用户卡信息 //版本信息 Il序列号
// // Il // Il // Il // 7/ // Il
管信信息定位信息通仏ib息通信查询消息反馈信息北斗时间主机状况功率状况 gps-rmc 数据 bd-rmc数据 gps-gga 数据
Il bd-gga 数据case UFUN—GET—DWXX // 定位信息
{ · .
UGET_DWXX *pDwxx=(UGET_DWXX*)IParam; sprintf (buf,〃定位类别%02x,定位时间%02d:%02d:%02d. %02d, 经度:%02d度%0201分%02丄%d秒,纬度:%02d度%0201 分%02& %d秒,高程%d,高程异常%d", pDwxx->Flag,
pDwxx->T
,pDwxx->T[l],pDwxx->T[2],pDwxx->T[3], pDwxx->L
, pDwxx->L[l], pDwxx->L[2], pDwxx->L[3], pDwxx->B
,pDwxx->B[l], pDwxx_>B[2],pDwxx->B[3]’
pDwxx->H, pDwxx->Segma);
break;
ο实施例本发明已成功应用到浪潮巧金刚北斗手持机及平板计算机上。目前,北斗导航系统三维定位精度约十几米,GPS三维定位精度P码约为6m,C/A码目前约为12m。经测试,在北斗手持机及平板计算机上,实际定位精度小于等于5米,定位效果良好。
权利要求
1. 一种基于北斗GPS双模定位模块的差分定位算法,其特征在于,由基准站发送改正数,由用户站接收并对其测量结果进行修正,以获得精确的定位结果,具体算法如下设校准点(xO,y0, z0)位置精确已知,用户位于校准点时,至第i颗卫星的径向距离为RiO = (xO-xsi)2+ (yO-ysi)2+(zO-zsi) 2,(1),式中“Si”表示第i颗卫星;在校准点,用户钟测得中心站经第i颗卫星发布的出站信号的到达时间为tuO则从中心站经卫星i到校准点的伪距为P0 = c (tu0-t00) = Ri+RiO+c τ + δ r (2)(2)式中,c为光速,t00为在校准点时中心站出站信号的出发时间,Ri为中心站至第i 颗卫星的径向距离,τ为中心站、卫星转发器和用户终端的设备群时延,δι·为电波传播折射误差;当用户离开校准点到达位置(xl,yl,Zl)时,用户钟测得出站信号的到达时间为tul, 此时从中心站经卫星到当前点的伪距为P 1 = c(tul-tol) = Ri+Ril+c τ + δ r (3)(3)式中,t01为在当前点时中心站出站信号的出发时间,Ril为当前点用户终端至第 i颗卫星的径向距离,式⑶减去式0),得Ril = Ri0+c(tul-t01)-c(tu0-t00) (4)利用(4)式,在解算出用户终端至两颗卫星实时径向距离并得到高程数据后,就可实时计算用户三维位置了; 测距误差为or= ( Δ f/f) XcXT(5)(5)式中,Δf/f为铷钟频率稳定度,c为光速,T为铷钟最长工作时间; 系统三维定位误差为op= (or· HD0P) 2+ ( σ h · VDOP) 2 (6)(6)式中,οr为接收机测距误差,σ h为高度表高程测量误差; 差分算法代码如下Il发送命令常数enum NMEA_0183_SET { ‘NFUN_SET_DGPS=NFUN_.0183—START,Il是否启动差分NFUN_SET_T054,Il是否转换成54坐标NFUN_SET_SJQQ,//数据请求NFUN_SET_P0S0,//设置初始位置/高程NFUN_SET_MODE,Il设置0183数据输出包头NFUN—SET—WARN,Il设置差分告警门限Ii转换参数struct SCoorddoubleXe//旋转坐标XdoubleYeIl旋转坐标YdoubleZe//旋转坐标ZdoubleXOIl平移坐标χdoubleYOIl平移坐标YdoubleZO//平移坐标Zdoublem;//尺度变化参数//设置差分告警级别typedef struct tagNSET—WARNUINT32srcID;//受控用户ID,一般没用,填零intLevelH;■ //水平告警级别门限j nt,LevclV;//垂直告警级别门限intLevel3D;Il3维告警门限}NSET—WARN’ *LPNSET_WARN;// ALLPL,差分误差参数typedef struct tagNGET_ALLPL{UINT8 T[4] ;// UTC 时间float HErr ;//水平误差float VErr;Il垂直误差}NGET_AU,PL,*LPNGRT_ALLPL;//注册需要的数据类型RSDataMsg(UFUN_GET_ICXX: RSDataMsg(UFUN_GET_BBXX: RSDataMsg(UFUN_GET_XHXX RSDataMsg(UFUN_GET_GLXX RSDataMsg(UFUK_GET_DWXX: KSDalaMsg(UFUN_GET_TXXX, RSDataMsg(UFUN_GET_TXHZ RSDataMsg(UFUN_GET_FKXX RSDataMsg(UFUN_GET_SJXX RSDataMsg(UFUN_GET_ZJZKm__hWnd,WM_BD_GET_MSG)m_hWnd,WM—BD—GET—MSG)m__hWnd,WM_BD_GET_MSG)m__hWnd,WM_BD_GET_MSG)m__hffnd,ffM_BD_GET_MSG)ra__hWnd,WM_BD_GET_MSG)m_hWnd,WM—BD—GET—MSC})m__hWnd,WM_BD_GET_MSG)//用户卡信息 Il版本信息 Il序列号m_hWnd, WM_BD_GET_MSG) m_hWnd, ffM_BD_GET_MSG)Il官仏1曰息.//定位信息IllMis Ib 窟、//通信查询消息//反馈信息Il北斗时间//主机状况RSDataMsg(UFUN—GET—GLZK, m_hWnd,WM—BD—GET—MSG); // RSDataMsg(NFUN_GET_GPRMC, m—hWnd,WM_BD_GET_MSG); RSDataMsg(NFUN—GET—BDRMC,ra_hWnd, WM—BD_GET—MSG); RSDataMsg(NFUN—GET一GPGGA, m—hWnd, WM_BD_GET_MSG); RSDataMsg(NFUN_GET_BDGGA, raJiWnd, WM_BD_GET_MSG);case UFUN_GET_DWXX: // 定位信息{UGET—DWXX *pDwxx=(UGET_DWXX*)IParam; sprintf (buf, 〃定位类别%02x,定位时间%02d:%02d:°/。02d. %02d, 经度%02d度%020分%02丄%d秒,纬度%02d度%02(1 分%02丄%d秒,高程:%d,高程异常:%d〃, pDwxx->Fl'ag,pDwxx->T
,pDwxx->T[1],pDwxx—>T[2],pDwxx-〉T [3], pDwxx->L
, pDwxx->L[l], pDwxx->L[2],pDwxx->L[3], pDwxx-〉B
, pDwxx->B[l],pDwxx->B[2],pDwxx->B[3], pDwxx->H, pDwxx->Segma);break;功率状况Il GPS-RMC 数据 // BD-RMC 数据 // GPS-GGA 数据 // BD-GGA 数据
全文摘要
本发明提供一种基于北斗GPS双模定位模块的差分定位算法,是基于北斗/GPS双模定位模块,参考GPS广域差分技术,提出了一种适合北斗定位系统的基于北斗/GPS双模定位模块的差分定位算法,有效的提高了北斗模块的定位精度。本发明的应用和推广,不仅在军事上,而且在国民经济建设中都能够发挥巨大的作用。在军事上,一方面可以将我军的情报侦察能力提高到一个新的水平,使获取的情报更加准确。在国民经济建设中,本发明也可在许多领域中得到应用。比如在车辆导航、车辆(公安、消防、银行、出租等)的调度、监控、城市交通管理、野外作业等方面都有着良好的应用前景。
文档编号G01S19/33GK102288977SQ20111010984
公开日2011年12月21日 申请日期2011年4月29日 优先权日2011年4月29日
发明者刘传刚, 国长霞, 李童, 杨贵勇, 罗晓艳 申请人:山东超越数控电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1