CN102571294A - 一种基于crc编码的卫星导航电文纠错方法 - Google Patents
一种基于crc编码的卫星导航电文纠错方法 Download PDFInfo
- Publication number
- CN102571294A CN102571294A CN2012100623658A CN201210062365A CN102571294A CN 102571294 A CN102571294 A CN 102571294A CN 2012100623658 A CN2012100623658 A CN 2012100623658A CN 201210062365 A CN201210062365 A CN 201210062365A CN 102571294 A CN102571294 A CN 102571294A
- Authority
- CN
- China
- Prior art keywords
- crc
- navigation message
- error
- error correction
- satellite navigation
- 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.)
- Pending
Links
Images
Landscapes
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明涉及一种使用循环冗余校验码(Cyclic Redundancy Check codes,CRC)纠正卫星导航电文错误的方法,属于卫星导航技术领域。具体实现方法首先构造CRC校验模块,然后构造CRC纠错码表,根据CRC纠错码表进行错误模式检测,对检测后得到的可纠正错误模式进行纠错。本发明不仅能够检查电文是否错误,还能纠正错误导航电文中的1比特错误模式,对比不使用CRC纠错的应用情况,能够有效降低导航电文的误帧率,提高弱信号条件下的定位的连续性并改善定位性能;适用于任意使用CRC作为导航电文校验码的卫星导航***。
Description
技术领域
本发明涉及一种使用循环冗余校验码(Cyclic Redundancy Check codes,CRC)纠正卫星导航电文错误的方法,属于卫星导航技术领域。
背景技术
随着以GPS***为代表卫星导航***的应用领域不断拓展,新的应用在定位精度和可靠性上提出了更高要求,在此背景下美国实施了GPS现代化计划,先后设计了面向不同应用的GPS L2C、L5、L1C三个新型的民用信号,新的信号在伪码设计、调制方式、纠错编码和电文格式等方面采用了许多新的技术。欧洲的Galileo卫星导航***和中国的北斗COMPASS卫星导航***也按照服务区分的原则设计多个不同用途的民用信号,俄罗斯的GLONASS卫星导航***自2011年开始在K-1卫星上进行L3 OC信号的技术实验。
GPS***的新型导航电文在设计上与传统导航电文有很大改善,一项重要的改进是电文检错编码的变化,新型电文普遍采用检错能力更强的循环冗余校验码CRC代替了GPS NAV电文的汉明码。GPS L2C、L5采用了CNAV电文(IS-GPS-200E、IS-GPS-705A),电文帧长300比特,采用CRC-24校验码,其编码生成多项式为:
g(x)=x24+x23+x18+x17+x14+x11+x10+x7+x6+x5+x4+x3+x+1;
L1C信号采用CNAV-2电文(IS-GPS-800A),电文包括3个子帧,子帧1用于同步,子帧2帧长600比特,子帧3帧长274比特,子帧2、3都采用CRC-24作为校验码。欧洲的Galileo卫星导航***包含F/NAV、I/NAV两种格式的电文(European GNSS(Galileo)Open Service Signal In SpaceInterface Control Document,2010年),F/NAV格式电文帧长244比特,采用CRC-24校验码,应用于E5a导航信号,I/NAV格式电文帧长120比特,采用CRC-24校验,应用于E5b和E1b导航信号。中国北斗COMPASS卫星导航***和俄罗斯GLONASS***的新型民用导航电文设计也采用了类似的检错编码方案。
导航电文中的检错编码的目的是检查导航电文的正确性,降低错误电文对定位的影响,常规的处理原则是一旦检出电文发生错误则将错误电文丢弃。当导航接收处于弱信号环境或者高动态平台时,电文中的错误发生的概率会很大,错误电文的丢弃处理会导致可用电文过少,从而影响定位的连续性甚至无法定位。根据纠错编码理论,CRC编码属于线性分组码中的缩短循环码,既可以检错也可纠错,其检错纠错性能由最小汉明距决定,CRC的最小汉明距由生成多项式和码字长度决定,当最小汉明码距d≥3时使用CRC可以纠正码字中的1个或多个错误([杨杰2005]无线传输中的循环冗余校验码纠错应用扩展),使用CRC纠错可以有效降低导航电文的误帧率,改善卫星定位性能。
发明内容
本发明的目的是为了克服现有卫星导航接收机在弱信号环境中导航电文误帧率高、定位连续性差的问题,提出一种基于导航电文中的CRC检错编码结构的卫星导航电文纠错方法。
本发明是通过下述技术方案实现的:
一种基于CRC编码的卫星导航电文纠错方法,包括如下步骤:
步骤1,构造CRC校验模块。
根据卫星导航电文规范中的CRC编码生成多项式g(x):
g(x)=x24+x23+x18+x17+x14+x11+x10+x7+x6+x5+x4+x3+x+1,
按照循环冗余校验码的检错原理构造CRC校验模块,CRC校验模块的作用是用于计算导航电文的校验余数和构造CRC纠错码表。
步骤2,构造CRC纠错码表。
根据卫星导航电文规范中规定的电文帧长N,构造N种不同的1比特错误模式数据,依次将N种1比特错误模式数据送入步骤1中的CRC校验模块,得到N个不同的CRC校验余数Si,i表示1比特错误模式数据的序号,i=1…N。第i种1比特错误模式数据的校验余数Si和错误位置Pi组成纠错码表中第i个条目,将N种不同1比特错误模式数据所产生的N个条目按顺序存入CRC纠错码表。
1比特错误模式数据的具体特征是:一串长度为N的2进制比特流,在N个比特中有1个“1”和N-1个“0”,其中“1”代表发生错误,“0”代表没有发生错误。其构造方法为:第i种1比特错误模式数据的第i个比特为1,其它为0,错误位置Pi=i。
CRC纠错码表的具体特征是:码表共有N个条目,每个条目包含1个错误位置和1个校验余数,第1到N个条目中的错误位置Pi按照从1到N的顺序递增。
步骤3,错误模式检测。
将接收到的卫星导航电文送入步骤1中的CRC校验模块进行校验运算,如果校验余数S=0,则认为电文正确,进行后续定位解算运算;如果校验余数S≠0,则认为电文发生错误,进行CRC纠错码表搜索以判断错误模式是否可以纠正。
具体判断原则为:将当前电文的校验余数S与步骤2中的CRC纠错码表中的N个条目的校验余数Si进行顺序比较,如果找到Si=S则认为错误模式可以纠正,保留与Si在同一条目中的错误位置Pi;否则认为错误模式不可纠正,当前电文进行丢弃处理。
步骤4,对步骤3检测后得到的可纠正错误模式进行纠错。
具体方法为:根据步骤3得到的错误位置Pi,将导航电文第Pi个比特进行翻转,从而纠正1比特错误。
至此,使用CRC纠正导航电文错误的过程结束。
有益效果
本发明提出的一种基于CRC编码的卫星导航电文纠错方法,不仅能够检查电文是否错误,还能纠正错误导航电文中的1比特错误模式,对比不使用CRC纠错的应用情况,能够有效降低导航电文的误帧率,提高弱信号条件下的定位的连续性并改善定位性能。
附图说明
图1为现有技术中典型的卫星导航接收机处理框图;
图2为具体实施方式中的GPS CNAV导航电文帧结构图;
图3为本发明的卫星导航电文纠错流程图;
图4为具体实施方式中对GPS CNAV电文使用CRC纠错前后误帧率的比较图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合附图和实施例对本发明的技术方案作进一步说明。在本具体实施方式中,将使用GPS CNAV电文作为实例描述。
典型的卫星导航接收机结构如图1所示,卫星信号通过解扩、解调、译码得到导航电文,导航电文使用CRC校验码来检查电文的正确性,当校验余数为0时认为电文正确,进行后续定位解算运算,当校验余数不为0时认为电文错误,错误电文进行丢弃处理。
GPS***的L2C、L5信号使用的导航电文是CNAV电文,帧格式如图2所示,帧长300比特,其中末尾24比特是CRC校验码,其生成多项式是:g(x)=x24+x23+x18+x17+x14+x11+x10+x7+x6+x5+x4+x3+x+1。CNAV电文在帧长为300比特的条件下,通过计算机搜索获得最小汉明距d=6,对应的一个码多项式为m(x)=x54+x45+x43+x30+x6+1,根据分组码的性质CRC-24可以检出最多5比特错误或者纠正2比特错误。在典型的卫星导航***中,经过纠错译码后的电文误码率为p=10-3~10-5,取p=10-3则在1帧电文中发生1比特错误的概率为FER1bit=300×10-3×(1-10-3)299=0.2224,发生2比特错误的概率为FER2bit=300×299×(10-3)2×(1-10-3)298/2=0.0333,表明发生1比特错误的概率远大于发生2比特错误的概率,在纠错时可以选择纠正1比特或者2比特错误,二者的区别在于需要的资源和复杂度,本实施例选择纠正1比特错误。
一种基于CRC编码的卫星导航电文纠错方法,如图3所示,CNAV电文使用CRC纠正错误的具体步骤为:
步骤1,根据CNAV导航电文的CRC-24编码生成多项式g(x),按照循环冗余校验码的检错原理构造CRC校验模块。
步骤2,根据CNAV导航电文帧长为300比特,构造300种长度为300比特的1比特错误模式数据,第i种1比特错误模式数据的第i个比特为1,其余比特为0。
将第i种(i=1,2,…,300)1比特错误模式数据送入步骤1中的CRC校验模块处理,得到第i种1比特错误模式数据的校验余数Si,将校验余数Si和错误位置Pi=i组成1个条目,将300个条目按错误位置从小到大的顺序存入CRC纠错码表,CNAV电文的纠错码表结构如表1所示。
表1CNAV电文的CRC纠错码表结构
错误位置Pi | 校验余数Si |
1 | S1 |
2 | S2 |
3 | S3 |
... | ... |
299 | S299 |
300 | S300 |
步骤3,将接收到的卫星导航电文送入CRC校验模块进行处理得到校验余数S,如果S=0则认为电文正确,进行后续定位解算运算;若校验余数S≠0,则认为电文发生错误,进行搜索纠错码表以判断错误模式是否可以纠正。
具体判断原则为:顺序搜索纠错码表中的300个条目,比较Si和当前电文的S,如果找到Si=S则认为错误模式可以纠正,保留与Si对应的错误位置Pi,例如S25=S,P25=25,其含义是当前电文的第25个比特发生错误;如果在300个条目中没有找到Si=S则认为错误模式不可纠正,当前电文进行丢弃处理。
步骤4,对步骤3校验后得到的可纠正错误模式进行纠错。
具体方法为:根据步骤3得到错误比特位置Pi,纠正当前电文中的1比特错误,纠错后的电文进行后续定位解算处理。例如步骤3得到P25=25,则将当前电文的第25个比特进行翻转,即得到纠错后的导航电文
至此,使用CRC纠正导航电文错误的过程结束。
为具体分析CRC纠错方法的性能,使用软件仿真了CNAV电文CRC纠错过程,仿真的电文帧长300比特,检错编码为CRC-24,图4是根据实施例进行的模拟CRC编码纠错结果,横轴表示电文误码率BER,纵轴表示电文误帧率FER,曲线A表示没有使用CRC编码纠错的导航电文误帧率,曲线B表示采用CRC编码纠错后的导航电文误帧率,从图中可以看出使用CRC编码纠错有效降低了导航电文的误帧率,具体误帧率改善性能数据如表2。
表2使用CRC纠错后误帧率改善
误码率 | 纠错前误帧率 | 纠错后误帧率 |
1×10-2 | 0.95 | 0.80 |
1×10-3 | 0.26 | 0.037 |
1×10-4 | 2.9×10-2 | 4.4×10-4 |
1×10-5 | 2.9×10-3 | 4.5×10-6 |
1×10-6 | 2.9×10-4 | 4.5×10-8 |
1×10-7 | 2.9×10-5 | 4.5×10-10 |
本发明方法适用于美国GPS卫星定位***L2C、L5信号所用的CNAV导航电文,L1C信号所用的CNAV-2导航电文,欧洲伽利略Galileo卫星定位***所用的F/NAV、I/NAV导航电文,中国北斗COMPASS卫星定位***所用的导航电文,俄罗斯GLONASS卫星定位***所用的导航电文。
本发明方法并不限定于特定的GPS卫星导航***,而是适用于任意使用CRC作为导航电文校验码的卫星导航***。
虽然结合附图描述了本发明的实施方式,但是对于本领域技术人员来说,在不脱离本发明原理的前提下,还可以做出若干变形和改进,这些也应视为属于本发明的保护范围。
Claims (5)
1.一种基于CRC编码的卫星导航电文纠错方法,其特征在于:包括如下步骤:
步骤1,构造CRC校验模块;
根据卫星导航电文规范中的CRC编码生成多项式g(x):
g(x)=x24+x23+x18+x17+x14+x11+x10+x7+x6+x5+x4+x3+x+1,
按照循环冗余校验码的检错原理构造CRC校验模块;
步骤2,构造CRC纠错码表;
根据卫星导航电文规范中规定的电文帧长N,构造N种不同的1比特错误模式数据,依次将N种1比特错误模式数据送入步骤1中的CRC校验模块,得到N个不同的CRC校验余数Si,i表示1比特错误模式数据的序号,i=1…N;第i种1比特错误模式数据的校验余数Si和错误位置Pi组成纠错码表中第i个条目,将N种不同1比特错误模式数据所产生的N个条目按顺序存入CRC纠错码表;
1比特错误模式数据的构造方法为:第i种1比特错误模式数据的第i个比特为1,其它为0,错误位置Pi=i;
CRC纠错码表的具体特征是:码表共有N个条目,每个条目包含1个错误位置和一个校验余数,第1到N个条目中的错误位置Pi按照从1到N的顺序递增;
步骤3,错误模式检测;
将接收到的卫星导航电文送入步骤1中的CRC校验模块进行校验运算,如果校验余数S=0,则认为电文正确,进行后续定位解算运算;如果校验余数S≠0,则认为电文发生错误,进行CRC纠错码表搜索以判断错误模式是否可以纠正;
步骤4,对步骤3校验后得到的可纠正错误模式进行纠错;
至此,使用CRC纠正导航电文错误的过程结束。
2.根据权利要求1所述的一种基于CRC编码的卫星导航电文纠错方法,其特征在于:步骤2所述的1比特错误模式数据为长度为N的2进制比特流,在N个比特中有1个“1”和N-1个“0”,其中“1”代表发生错误,“0”代表没有发生错误。
3.根据权利要求1所述的一种基于CRC编码的卫星导航电文纠错方法,其特征在于:步骤3所述的搜索CRC纠错码表并判断错误模式的方法为:将当前电文的校验余数S与步骤2中的CRC纠错码表中的N个条目的校验余数Si进行顺序比较,如果找到Si=S则认为错误模式可以纠正,保留与Si在同一条目中的错误位置Pi;否则认为错误模式不可纠正,当前电文进行丢弃处理。
4.根据权利要求1所述的一种基于CRC编码的卫星导航电文纠错方法,其特征在于:所述步骤4对可纠正错误模式进行纠错的具体方法为:根据步骤3得到的错误位置Pi,将导航电文第Pi个比特进行翻转,从而纠正1比特错误。
5.根据权利要求1所述的一种使用CRC编码纠正卫星导航电文错误的方法,其特征在于:所述方法适用于任意使用CRC作为导航电文校验码的卫星导航***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100623658A CN102571294A (zh) | 2012-03-12 | 2012-03-12 | 一种基于crc编码的卫星导航电文纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100623658A CN102571294A (zh) | 2012-03-12 | 2012-03-12 | 一种基于crc编码的卫星导航电文纠错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102571294A true CN102571294A (zh) | 2012-07-11 |
Family
ID=46415842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100623658A Pending CN102571294A (zh) | 2012-03-12 | 2012-03-12 | 一种基于crc编码的卫星导航电文纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102571294A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283639A (zh) * | 2014-09-16 | 2015-01-14 | 上海卫星工程研究所 | 基于两级校验码的数传分***的排故***及其排故方法 |
CN105450281A (zh) * | 2016-01-27 | 2016-03-30 | 中国人民解放军国防科学技术大学 | 一种对多份相同用户机入站信号分集接收的***及其方法 |
CN103746773B (zh) * | 2013-12-31 | 2017-02-15 | 深圳信息职业技术学院 | 一种umts接收机对译码后数据进行纠错的方法及*** |
WO2017092617A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 一种错误估计的方法、基站及终端 |
CN108549096A (zh) * | 2018-04-17 | 2018-09-18 | 中国科学院微电子研究所 | Gps导航电文纠错译码的方法及装置 |
CN111030710A (zh) * | 2019-12-02 | 2020-04-17 | 北京北方联星科技有限公司 | 一种自适应提高Galileo导航***E5信号译码速度的方法 |
CN112564858A (zh) * | 2020-11-05 | 2021-03-26 | 山东中科泰岳电子科技有限公司 | 卫星导航用crc纠错方法及*** |
CN117452455A (zh) * | 2023-12-26 | 2024-01-26 | 中国人民解放军国防科技大学 | 一种内嵌测试的导航接收机电文译码模块设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2056465A (en) * | 1935-03-02 | 1936-10-06 | William H Juhnke | Heater |
CN101527615A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种循环冗余校验crc码的实现方法和装置 |
-
2012
- 2012-03-12 CN CN2012100623658A patent/CN102571294A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2056465A (en) * | 1935-03-02 | 1936-10-06 | William H Juhnke | Heater |
CN101527615A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种循环冗余校验crc码的实现方法和装置 |
Non-Patent Citations (2)
Title |
---|
杨杰等: "无线传输中的循环冗余校验码纠错应用扩展", 《北京理工大学学报》, vol. 25, no. 8, 31 August 2005 (2005-08-31) * |
陈金平等: "现代化GNSS导航电文设计分析", 《电子与信息学报》, vol. 33, no. 1, 31 January 2011 (2011-01-31) * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746773B (zh) * | 2013-12-31 | 2017-02-15 | 深圳信息职业技术学院 | 一种umts接收机对译码后数据进行纠错的方法及*** |
CN104283639A (zh) * | 2014-09-16 | 2015-01-14 | 上海卫星工程研究所 | 基于两级校验码的数传分***的排故***及其排故方法 |
CN104283639B (zh) * | 2014-09-16 | 2018-02-09 | 上海卫星工程研究所 | 基于两级校验码的数传分***的排故***及其排故方法 |
WO2017092617A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 一种错误估计的方法、基站及终端 |
CN105450281A (zh) * | 2016-01-27 | 2016-03-30 | 中国人民解放军国防科学技术大学 | 一种对多份相同用户机入站信号分集接收的***及其方法 |
CN105450281B (zh) * | 2016-01-27 | 2018-11-02 | 中国人民解放军国防科学技术大学 | 一种对多份相同用户机入站信号分集接收的***及其方法 |
CN108549096A (zh) * | 2018-04-17 | 2018-09-18 | 中国科学院微电子研究所 | Gps导航电文纠错译码的方法及装置 |
CN111030710A (zh) * | 2019-12-02 | 2020-04-17 | 北京北方联星科技有限公司 | 一种自适应提高Galileo导航***E5信号译码速度的方法 |
CN112564858A (zh) * | 2020-11-05 | 2021-03-26 | 山东中科泰岳电子科技有限公司 | 卫星导航用crc纠错方法及*** |
CN112564858B (zh) * | 2020-11-05 | 2022-08-09 | 山东中科泰岳电子科技有限公司 | 卫星导航用crc纠错方法及*** |
CN117452455A (zh) * | 2023-12-26 | 2024-01-26 | 中国人民解放军国防科技大学 | 一种内嵌测试的导航接收机电文译码模块设计方法 |
CN117452455B (zh) * | 2023-12-26 | 2024-03-12 | 中国人民解放军国防科技大学 | 一种内嵌测试的导航接收机电文译码模块设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102571294A (zh) | 一种基于crc编码的卫星导航电文纠错方法 | |
CN101656541B (zh) | Rs码的译码方法和装置 | |
Singh | Error detection and correction by hamming code | |
WO2011127866A3 (zh) | 数据处理方法、装置及*** | |
CN103778030B (zh) | 日志子***写入方法、错误追踪方法及处理器 | |
US20180285371A1 (en) | Method and apparatus for automatically discovering gas station poi, storage medium and device | |
CN101938280B (zh) | 错误修正码的编码及解码方法以及编码解码器 | |
JP2011052987A (ja) | 測位データ受信機、エラー訂正装置およびプログラム | |
CN103592661A (zh) | 一种北斗星历收集的方法 | |
CN104502927A (zh) | 一种卫星导航电文解调方法及相应的芯片、终端 | |
CN105609141A (zh) | 一种用于自动校正访问存储装置数据的装置及方法 | |
CN104698479A (zh) | 导航电文的解码方法和解码装置 | |
CN104639294A (zh) | 一种改进的crc校验实现方法 | |
CN102545914A (zh) | Bch编译码方法及装置 | |
CN102742164B (zh) | 一种译码方法和译码装置 | |
CN104849733A (zh) | 一种利用冗余法对导航电文误码进行纠错的方法 | |
CN104280747A (zh) | 一种卫星导航电文容错方法及装置 | |
CN107276720A (zh) | 一种基于删余极化码特性的北斗导航电文编码方法 | |
CN103873068A (zh) | 低密度奇偶检查的解码方法与电子装置 | |
CN112698366B (zh) | 一种卫星定位接收机帧同步方法 | |
CN105005511A (zh) | 一种串行通信数据校验方法 | |
Yin et al. | Performance analysis of L2 and L5 CNAV broadcast ephemeris for orbit calculation | |
CN111224741B (zh) | 卫星导航用bch码译码方法、译码器及卫星导航接收机 | |
CN101803204A (zh) | 纠正位串错误的方法 | |
CN113010114A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |