CN112838871A - 卫星导航用ldpc码编码方法、编码器及卫星导航系统 - Google Patents

卫星导航用ldpc码编码方法、编码器及卫星导航系统 Download PDF

Info

Publication number
CN112838871A
CN112838871A CN201911166133.5A CN201911166133A CN112838871A CN 112838871 A CN112838871 A CN 112838871A CN 201911166133 A CN201911166133 A CN 201911166133A CN 112838871 A CN112838871 A CN 112838871A
Authority
CN
China
Prior art keywords
vector
array
symbol vector
coding
finite field
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
Application number
CN201911166133.5A
Other languages
English (en)
Inventor
刘海洋
王云
原青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201911166133.5A priority Critical patent/CN112838871A/zh
Publication of CN112838871A publication Critical patent/CN112838871A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供卫星导航用LDPC码编码方法、编码器及卫星导航系统。上述方法包括:将待进行LDPC编码的信息序列转化为长度为L的数据符号向量d;使用数据符号向量和第一级编码数组进行第一级编码处理,得到长度为L的第一级编码向量;使用第一级编码向量和第二级编码数组进行第二级编码处理,得到校验符号向量p;将数据符号向量d和校验符号向量p组成码字向量c;将码字向量c中的每一数据符号转换为相应的6个二进制比特,得到编码比特序列。在本发明实施例中,采用两级编码的方式计算得到校验符号向量p,再将数据符号向量d和所述校验符号向量p组成码字向量c,并转换为编码比特序列,实现了编码。

Description

卫星导航用LDPC码编码方法、编码器及卫星导航系统
技术领域
本发明涉及信息安全领域,特别涉及卫星导航用LDPC码编码方法、编码器及卫星导航系统。
背景技术
低密度奇偶校验(low-density parity-check,LDPC)码是一类由稀疏校验矩阵定义的线性分组码,在数字通信和存储等系统得到了广泛应用。多进制LDPC码是LDPC码的一类,是基于多元域GF(q)(q>2,称为q进制码)构造的。
在下一代北斗卫星导航系统中,三组64进制LDPC码分别应用于B1C和B2a信号中,以提高电文数据比特的准确率。其中,B1C信号的子帧2采用64进制LDPC(200,100)编码方案,子帧3采用64进制LDPC(88,44)编码方案,B2a信号采用64进制LDPC(96,48)编码方案。
如何实现这三组64进制LDPC码的编码,是十分关键的技术问题。
发明内容
有鉴于此,本发明提供卫星导航用LDPC码编码方法、编码器及卫星导航系统,以实现北斗卫星导航系统B1C信号中的子帧2、子帧3的编码,以及B2a信号的编码。
为了实现上述发明目的,本发明提供以下技术方案:
一种卫星导航用LDPC码编码方法,包括:
接收待进行LDPC编码的信息序列;
将所述信息序列转化为长度为L的数据符号向量d;其中,所述数据符号向量d中的每一数据符号为有限域GF(64)中的元素;所述L为正整数,所述信息序列的长度为6L;
使用所述数据符号向量和第一级编码数组进行第一级编码处理,得到长度为L的第一级编码向量;所述第一级编码数组的维数为L×a,所述a为不大于2的正整数;
使用所述第一级编码向量和第二级编码数组进行第二级编码处理,得到校验符号向量p;所述第二级编码数组的维数为b×1,所述b为不大于L的正整数;所述校验符号向量p中的每一数据符号为所述有限域GF(64)中的元素;
将所述数据符号向量d和所述校验符号向量p组成码字向量c;
将所述码字向量c中的每一数据符号转换为相应的6个二进制比特,得到编码比特序列。
可选的,所述第一级编码数组包括:维数为L×2的位置索引数组I、维数为L×1的第一排序表数组P1,以及,维数为L×2的第一有限域数组E;所述位置索引数组I和所述第一排序表数组P1中的每一元素取值范围为1至L;所述第一有限域数组中的元素为有限域GF(64)中的元素。
可选的,所述第一级编码处理包括:使用公式y(n)=d(I(i,1))·E(i,1)+d(I(i,2))·E(i,2),计算得到所述第一级编码向量y;其中,i大于等于1,小于等于L;I(i,1)和I(i,2)分别是所述位置索引数组I的第i行第1列的元素和第i行第2列的元素;E(i,1)和E(i,2)分别是所述第一有限域数组E的第i行第1列的元素和第i行第2列的元素;y(n)表示所述第一级编码向量中的第n个元素;n=P1(i);所述P1(i)是所述第一排序表数组P1中的第i个元素;n大于等于1,小于等于L;所述“·”和“+”分别表示有限域GF(64)中元素的乘法运算和加法运算。
可选的,所述第二级编码数组包括:维数为M×1的计数数组g;所述第二级编码处理包括:分M次计算得到长度为L初始校验符号向量r;其中,第m次计算得到初始校验符号向量r中的k个初始校验符号;其中,k=g(m);g(m)表示所述计数数组g中的第m个元素,所述计数数组g中的所有元素的总和为等于L;m大于等于1,小于等于M;使用所述初始校验符号向量r计算得到所述校验符号向量p。
可选的,所述第二级编码数组还包括:维数为L×1的第二有限域数组A、维数为L×1的第三有限域数组B、维数为L×1的第二排序表数组P2;其中,所述第二有限域数组和第三有限域数组中的元素为有限域GF(64)中的元素。
可选的,第m次计算校验符号向量p中的校验符号包括:依次从第二有限域数组A、第三有限域数组B以及所述第一级编码向量y中分别读取k个连续的元素;其中,从所述第二有限域数组A中读取出的k个连续的元素所构成的向量记为向量a;从所述第三有限域数组B中读取出的k个连续的元素所构成的向量记为向量b;从所述第一级编码向量y中读取出的k个连续的元素所构成的向量记为向量w;使用所述向量a和所述向量b计算长度为k的第一中间校验符号向量s;使用所述向量w和所述第一中间校验符号向量s,计算长度为k的第二中间校验符号向量z;使用所述第一中间校验符号向量s和所述第二中间校验符号向量z,计算所述初始校验符号向量r中的k个初始校验符号。
可选的,所述向量b中的第j个元素记为b(j),j大于等于1,小于等于k;所述使用所述向量a和所述向量b计算长度为k的第一中间校验符号向量s包括:
使用公式s(j)=[a(j)]-1·b(j),计算所述第一中间校验符号向量s;其中,s(j)表示所述第一中间校验符号向量s中的第j个元素;[a(j)]-1表示所述向量a中第j个元素的逆元;
所述向量w中的第j'个元素记为w(j');2≤j'≤k;
所述计算长度为k的第二中间校验符号向量z包括:
z(1)=w(1);
z(j')=s(j'-1)·z(j'-1)+w(j');
所述k个初始校验符号中的第j"个元素记为x(j");2≤j"≤k-1;
所述k个初始校验符号的计算公式包括:
Figure BDA0002287491940000031
x(1)=z(1)+s(k)·x(k);
Figure BDA0002287491940000041
其中,所述“·”和“+”分别表示有限域GF(64)中元素的乘法运算和加法运算。
可选的,所述使用所述初始校验符号向量r计算得到所述校验符号向量p包括:使用公式p(t)=[a(i)]-1·r(i),计算得到所述校验符号向量p;其中,[a(i)]-1表示所述向量a中第i个元素的逆元;p(t)表示所述校验符号向量p中的第t个元素,t=P2(i);所述P2(i)是所述第二排序表数组P2中的第i个元素;i大于等于1,小于等于L,t大于等于1,小于等于L。
一种编码器,其特征在于,接收模块、第一级编码计算模块、第二级编码计算模块、以及码字输出模块,包括:
所述接收模块用于:接收待进行LDPC编码的信息序列;
将所述信息序列转化为长度为L的数据符号向量;其中,所述数据符号向量中的每一数据符号为有限域GF(64)中的元素;所述L为正整数,所述信息序列的长度为6L;
所述第一级编码模块用于:使用所述数据符号向量和第一级编码数组进行第一级编码处理,得到长度为L的第一级编码向量;所述第一级编码数组的维数为L×a,所述a为不大于2的正整数;
所述第二级编码模块用于:使用第一级编码向量与第二级编码数组进行二级编码处理,得到校验符号向量p;所述第二级编码数组的维数为b×1,所述b为不大于L的正整数;所述校验符号向量p中的每一数据符号为所述有限域GF(64)中的元素;
所述码字输出模块用于:
将所述数据符号向量d和所述校验符号向量p组成码字向量c;
将所述码字向量c中的每一数据符号转换为相应的6个二进制比特,得到编码比特序列。
一种卫星导航系统,包括上述的编码器。
可见,在本发明实施例中,在将(北斗卫星导航系统B1C信号中的子帧2、子帧3,以及B2a信号对应的)待编码的信息序列转化为数据符号向量d后,采用两级编码的方式计算得到校验符号向量p,再将数据符号向量d和所述校验符号向量p组成码字向量c,最后将码字向量c转换为编码比特序列,实现了对北斗卫星导航系统B1C信号中的子帧2、子帧3的编码,以及B2a信号的编码。
附图说明
图1为本发明实施例提供的电文组帧过程示意图;
图2为本发明实施例提供的编码器结构示意图;
图3为本发明实施例提供的编码方法的一种示例性流程;
图4为本发明实施例提供的计算第一级编码向量y的示例性流程;
图5a、图5b、图5c为本发明实施例提供的计算校验符号向量p的示例性流程;
图6为本发明实施例提供的得到编码比特序列的示例性流程;
图7a、图8a、图9a为本发明实施例提供的三组64进制LDPC码对应的P1数组;
图7b、图8b、图9b为本发明实施例提供的三组64进制LDPC码对应的A数组;
图7c、图8c、图9c为本发明实施例提供的三组64进制LDPC码对应的B数组;
图7d、图8d、图9d为本发明实施例提供的三组64进制LDPC码对应的P2数组。
具体实施方式
本发明提供卫星导航用LDPC码编码方法、编码器,以及,应用该编码器的(北斗)卫星导航系统,以实现北斗卫星导航系统B1C信号中的子帧2、子帧3的LDPC编码,以及B2a信号的LDPC编码。
图1为本发明实施例提供的北斗卫星导航系统中的电文组帧过程示意图。从图1中可以看出,原始电文信息序列经CRC校验单元101后得到待LDPC编码的序列(简称编码序列)。
在北斗导航系统中,B1C信号的子帧2和子帧3以及B2a信号均采用了64进制LDPC编码。其中,B1C信号的子帧2的编码序列长度为600比特,B1C信号的子帧3的编码序列长度为264比特,B2a信号的编码序列长度为288比特。
64进制LDPC编码单元102(即编码器)对上述待进行LDPC编码的序列进行编码,编码方式为1/2码率的64进制LDPC编码。完成编码后,B1C信号的子帧2长度为1200比特,B1C信号的子帧3长度为528比特,B2a信号的长度为576比特。
电文组帧单元103对编码后的比特序列进行组帧,形成发送电文。在上述步骤中,复杂度最高的是64进制LDPC编码。
为了实现三组64进制LDPC码的编码,北斗导航系统信号接口控制文件中推荐采用如下方法:对于定义每一组64进制LDPC码的校验矩阵进行高斯消元,得到其系统形式的生成矩阵,将信息序列与生成矩阵相乘进行编码。尽管这些LDPC码的校验矩阵是稀疏校验矩阵,在稀疏校验矩阵中,零元素数目远远多于非零元素的数目,但是经过高斯消元得到的生成矩阵是L×L维的高密度矩阵(也即稠密矩阵),从而会占用大量存储空间,复杂度高。
本发明实施例提供的编码方法、编码器,以及,应用该编码器的(北斗)卫星导航系统,可支持上述三组64进制LDPC码的编码,并且复杂度较低。
图2示出了上述编码器的示例性结构,包括:接收模块201、第一级编码计算模块202、第二级编码计算模块203、以及码字输出模块204。
图3示出了由图1、图2所示编码器所执行的上述编码方法的一种示例性流程,其至少可包括如下步骤:
S1:接收待进行LDPC编码的信息序列。
上述信息序列可由卫星导航系统中的CRC校验单元101输出至编码器。
更具体的,可由图2中的接收单元201接收CRC校验单元101输出的信息序列。
上述信息序列(也即编码序列)为二进制比特序列,并添加了24比特的CRC校验信息。
具体到三组64进制LDPC码:B1C信号的子帧2的编码序列长度为600比特;B1C信号的子帧3的编码序列长度为264比特;B2a信号的编码序列长度为288比特。
S2:将信息序列转化为长度为L的数据符号向量d。
可由图2中的接收单元201执行步骤S2。接收单元201可依次将6比特作为一组,转换为一个待编码的数据符号,直至接收过程完成,形成一个长度为L的数据符号向量d。
如何将6个二进制比特转换为相应的数据符号是现有方式,在此不作赘述。
其中,L为正整数,由于每6比特转换为一个数据符号,则前述信息序列的长度为6L。
前述提及,B1C信号的子帧2的编码序列长度为600比特;B1C信号的子帧3的编码序列长度为264比特;B2a信号的编码序列长度为288比特。
则转换后,对于B1C信号的子帧2,L取值为100,对于B1C信号的子帧3,L取值为44,对于B2a信号,L取值为48。
需要说明的是,数据符号向量d中的每一数据符号为有限域GF(64)中的元素。
GF(64)是二元域GF(2)的扩域,由GF(2)上的本原多项式p(x)=1+x+x6生成。GF(64)中的元素可用0,1,2,…,63表示,这些元素与6比特二进制向量存在一一对应关系(高位在前,低位在后)。例如,元素2对应6比特二进制向量[0 0 0 0 1 0]。
S3:使用数据符号向量d与第一级编码数组进行第一级编码处理,得到长度为L的第一级编码向量y。
第一级编码数组的维数为L×a(a为不大于2的正整数)。
在一个示例中,第一级编码数组可包括:
维数为L×2的位置索引数组I(简称为数组I或I数组);
维数为L×1的第一排序表数组P1(简称为数组P1或P1数组);
维数为L×2的第一有限域数组E(简称为数组E或E数组)。
其中,位置索引数组I和第一排序表数组P1中的每一元素取值范围为1至L;第一有限域数组中的元素为有限域GF(64)中的元素。
步骤S3可由图2所示的第一级编码模块202执行。
本文后续还将详细介绍如何使用I数组、P1数组和E数组进行第一级编码处理,得到长度为L的第一级编码向量。
S4:使用第一级编码向量与第二级编码数组进行第二级编码处理,得到校验符号向量p。
第二级编码数组的维数为b×1(b为不大于L的正整数)。
校验符号向量p中的每一数据符号也为有限域GF(64)中的元素。
在一个示例中,第二级编码数组可包括:
维数为M×1的计数数组g(M为不大于5正整数);
维数为L×1的第二有限域数组A(简称为数组A或A数组);
维数为L×1的第三有限域数组B(简称为数组B或B数组);
维数为L×1的第二排序表数组P2(简称为数组P2或P2数组);
其中,数组A和数组B中的元素为有限域GF(64)中的元素。
步骤S4可由图2所示的第二级编码模块203执行。
本文后续还将详细介绍如何使用上述数组进行乘加运算,得到校验符号向量p。
S5:将数据符号向量d和校验符号向量p组成码字向量c。
步骤S5可由图2所示的码字输出模块204执行。
码字输出模块204可将数据符号向量d和校验符号向量p组合形成码字向量c=[d,p],使得c·HT=0成立。
其中H为64进制LDPC码的校验矩阵,T表示矩阵转置。三组64进制LDPC码的校验矩阵在北斗导航系统信号接口控制文件中分别给出。
S6:将码字向量c中的每一数据符号转换为相应的6个二进制比特,得到编码比特序列。
步骤S6可由图2所示的码字输出模块204执行。如何将数据符号转换为相应的6个二进制比特是现有方式,在此不作赘述。
可见,在本发明中,在将(北斗卫星导航系统B1C信号中的子帧2、子帧3,以及B2a信号对应的)信息序列转化为数据符号向量d后,采用两级编码的方式计算得到校验符号向量p,再将数据符号向量d和所述校验符号向量p组成码字向量c,再将码字向量c转换为编码比特序列,实现了对北斗卫星导航系统B1C信号中的子帧2、子帧3的编码,以及B2a信号的编码。
并且,由第一级编码数组和第二级编码数组的维数可知,本发明实施例所涉及的运算量级与L呈线性关系,复杂度远低于现有的编码方式。
下面介绍第一级编码模块202如何进行第一级编码处理:
在一个示例中,可使用下述公式1进行第一级编码处理,计算得到第一级编码向量y:
y(n)=d(I(i,1))·E(i,1)+d(I(i,2))·E(i,2) (公式1)
其中;
运算符号“·”和“+”分别表示有限域GF(64)中元素的乘法运算和加法运算;
i大于等于1,小于等于L;
I(i,1)和I(i,2)分别是I数组的第i行第1列的元素和第i行第2列的元素;
E(i,1)和E(i,2)分别是E数组的第i行第1列的元素和第i行第2列的元素;
y(n)表示第一级编码向量y中的第n个元素,n大于等于1,小于等于L;n=P1(i);P1(i)是第一排序表数组P1中的第i个元素。
三组64进制LDPC码对应的P1数组可参见图7a、图8a、图9a。
以图8a所示P1数组为例,若i=1,则P1(i)=29;y(29)=d(I(1,1))·E(1,1)+d(I(1,2))·E(1,2);若i=2,则P1(i)=7;y(7)=d(I(2,1))·E(2,1)+d(I(2,2))·E(2,2)。
以此类推,不作赘述。
请参见图4,计算第一级编码向量y的流程可包括:
步骤A:读取I数组、E数组和P1数组;
第一级编码模块202首先根据不同的LDPC码,相应读取预先储存在ROM中的I数组、E数组和P1数组。
其中,三组64进制LDPC码对应的P1数组可参见图7a、图8a、图9a;
B1C信号的子帧2中的LDPC码对应的I数组和E数组分别由北斗导航系统信号接口控制文件的数组H100,200,index和H100,200,element给出。
B1C信号的子帧3中的LDPC码对应的I数组和E数组分别由北斗导航系统信号接口控制文件的数组H44,88,index和H44,88,element给出。
B2a信号中的LDPC码对应的I数组和E数组分别由北斗导航系统信号接口控制文件的数组H48,96,index和H48,96,element给出。
P1数组的读取方式均为按栏从上至下读取,一栏读取完后从左至右继续读取。
在完成读取后,开始计算向量y。
步骤B:初始化向量y,并置i=1。
第一级编码模块202可将y中的所有元素初始化为0。
步骤C:按照公式1进行计算得到y(P1(i))的值。
如何计算请参见前述公式1的介绍,在此不作赘述。
步骤D:判断i是否等于L,若是,进入步骤F,若否,进入步骤E;
步骤E:置i←i+1,返回执行步骤C;
也即,重复上述计算过程,直至i=L,第一级编码计算完成。第一级编码计算结果为向量y,其长度为L,每个元素为GF(64)中的元素。
步骤F:输出向量y。
下面,介绍如何使用第一级编码向量与第二级编码数组进行第二级编码处理,得到校验符号向量p。
在一个示例中,请参见图5a,可分如下步骤计算校验符号向量p:
S51:分M次计算得到长度为L初始校验符号向量r;
其中,第m次计算得到的是初始校验符号向量r中的k个初始校验符号,k=g(m);g(m)表示前述计数数组g中的第m个元素(m大于等于1,小于等于M)。
具体的,对于B1C信号的子帧2,g数组为[68 12 12 8](M=4);对于B1C信号的子帧3,g数组为[10 18 6 6 4](M=5);对于B2a信号,g数组为[24 24](M=2),可见,数组g中的所有元素的总和为等于L。
S52:使用初始校验符号向量r计算得到校验符号向量p。
下面介绍第m次计算校验符号向量p中的校验符号的过程,请参见图5b,其可包括如下步骤:
S511:依次从第二有限域数组A、第三有限域数组B以及第一级编码向量y中分别读取k个连续的元素。
以B1C信号的子帧2对应的g数组为例,当m=1时,k=68;当m=2时,k=12;当m=3时,k=12;当m=4时,k=8。
可将从数组A中读取出的k个连续的元素所构成的向量记为向量a;
将从数组B中读取出的k个连续的元素所构成的向量记为向量b。其中,向量b的第j个元素记为b(j)(j大于等于1,小于等于k);
将从第一级编码向量y中读取出的k个连续的元素所构成的向量记为向量w。
S512:使用向量a和向量b计算长度为k的第一中间校验符号向量s。
在一个示例中,可使用公式s(j)=[a(j)]-1·b(j),计算第一中间校验符号向量s;
其中,s(j)表示第一中间校验符号向量s中的第j个元素;[a(j)]-1表示向量a中第j个元素的逆元。
S513:使用向量w和第一中间校验符号向量s,计算长度为k的第二中间校验符号向量z;
在一个示例中,可将向量z中第j'个元素记为z(j'),2≤j'≤k,则可通过下式计算向量z:
z(1)=w(1);
z(j')=s(j'-1)·z(j'-1)+w(j')。
S514:使用第一中间校验符号向量s和第二中间校验符号向量z,计算初始校验符号向量r中的k个初始校验符号。
可将k个初始校验符号中第j"个元素记为x(j"),2≤j"≤k-1。
在一个示例中,可采用如下计算公式计算k个初始校验符号:
Figure BDA0002287491940000121
x(1)=z(1)+s(k)·x(k);
Figure BDA0002287491940000122
其中,“·”和“+”分别表示有限域GF(64)中元素的乘法运算和加法运算。
三组LDPC码对应的A数组可参见图7b、图8b、图9b,B数组可参见图7c、图8c、图9c,P2数组可参见图7d、图8d、图9d。
下面,以一个更详细的例子介绍第二级编码模块203如何计算校验符号向量p。请参见图5c,其可包括如下步骤:
步骤a:读取A数组、B数组和P2数组,输入第一级编码向量y。
其中,A数组、B数组和P2数组的读取方式均为按栏从上至下读取,一栏读取完后从左至右继续读取。
步骤b:置m=1,初始化向量p和向量r。
第二级编码模块203可将向量p和向量r的所有元素初始化为0。
步骤c:令k=g(m)。
g(m)表示前述计数数组g中的第m个元素(m大于等于1,小于等于M)。
步骤d:依次从A数组、B数组和y数组中读取k个连续的元素分别记为a(j)、b(j)和w(j)。
其中j=1,2,…,k。
步骤e:计算长度为k的向量s。
其中:
s(j)=[a(j)]-1·b(j) (公式2)
步骤f:计算长度为k的向量z。
令向量w中的第j'个元素为w(j'),2≤j'≤k;则:
z(1)=w(1);
z(j')=s(j'-1)·z(j'-1)+w(j') (公式3)
步骤g:计算长度为k的向量x。
令k个初始校验符号中的第j"个元素为x(j");2≤j"≤k-1,则:
Figure BDA0002287491940000131
x(1)=z(1)+s(k)·x(k);
Figure BDA0002287491940000132
其中,∏表示GF(64)上的元素相乘。
步骤h:将计算得到的k个初始校验符号放在向量r相应的位置。
其中,r=[r,x] (公式5)
举例来讲,以B1C信号的子帧2,当m=1时,计算得到68个初始校验符号,作为向量r的第1至68个元素;当m=2时,计算得到12个初始校验符号,作为向量r的第69至80个元素,以此类推。
步骤i:判断m是否等于M,若是,进入步骤k,若否,进入步骤j;
步骤j:置m←m+1,返回步骤c;
重复上述计算过程,直至m=M。此时,得到一个长度为L的向量r,每个元素为GF(64)中的元素。
步骤k:形成校验符号向量p。
在一个示例中,可使用下述公式计算得到校验符号向量p:
p(t)=[a(i)]-1·r(i) (公式6)
其中,p(t)表示校验符号向量p中的第t个元素,t=P2(i);P2(i)是第二排序表数组P2中的第i个元素;i大于等于1,小于等于L,t大于等于1,小于等于L。
仍以B1C信号的子帧2为例,若i=1时,P2(1)=1,则t=1,p(1)=[a(1)]-1·r(1);若i=2时,P2(2)=53,则t=53,p(53)=[a(2)]-1·r(2);若i=3时,P2(3)=19,则t=19,p(19)=[a(3)]-1·r(3)。
在完成第二级编码计算后,码字输出模块204会执行前述步骤S5和S6,得到编码比特序列(请参见图6)。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种卫星导航用LDPC码编码方法,其特征在于,包括:
接收待进行LDPC编码的信息序列;
将所述信息序列转化为长度为L的数据符号向量d;其中,所述数据符号向量d中的每一数据符号为有限域GF(64)中的元素;所述L为正整数,所述信息序列的长度为6L;
使用所述数据符号向量和第一级编码数组进行第一级编码处理,得到长度为L的第一级编码向量;所述第一级编码数组的维数为L×a,所述a为不大于2的正整数;
使用所述第一级编码向量和第二级编码数组进行第二级编码处理,得到校验符号向量p;所述第二级编码数组的维数为b×1,所述b为不大于L的正整数;所述校验符号向量p中的每一数据符号为所述有限域GF(64)中的元素;
将所述数据符号向量d和所述校验符号向量p组成码字向量c;
将所述码字向量c中的每一数据符号转换为相应的6个二进制比特,得到编码比特序列。
2.如权利要求1所述的方法,其特征在于,
所述第一级编码数组包括:维数为L×2的位置索引数组I、维数为L×1的第一排序表数组P1,以及,维数为L×2的第一有限域数组E;所述位置索引数组I和所述第一排序表数组P1中的每一元素取值范围为1至L;所述第一有限域数组E中的元素为有限域GF(64)中的元素。
3.如权利要求2所述的方法,其特征在于,所述第一级编码处理包括:
使用公式y(n)=d(I(i,1))·E(i,1)+d(I(i,2))·E(i,2),计算得到所述第一级编码向量y;
其中,i大于等于1,小于等于L;I(i,1)和I(i,2)分别是所述位置索引数组I的第i行第1列的元素和第i行第2列的元素;E(i,1)和E(i,2)分别是所述第一有限域数组E的第i行第1列的元素和第i行第2列的元素;y(n)表示所述第一级编码向量中的第n个元素;n=P1(i);所述P1(i)是所述第一排序表数组P1中的第i个元素;n大于等于1,小于等于L;所述“·”和“+”分别表示有限域GF(64)中元素的乘法运算和加法运算。
4.如权利要求1所述的方法,其特征在于,所述第二级编码数组包括:维数为M×1的计数数组g;
所述第二级编码处理包括:
分M次计算得到长度为L初始校验符号向量r;其中,第m次计算得到初始校验符号向量r中的k个初始校验符号;其中,k=g(m);g(m)表示所述计数数组g中的第m个元素,所述计数数组g中的所有元素的总和为等于L;m大于等于1,小于等于M;
使用所述初始校验符号向量r计算得到所述校验符号向量p。
5.如权利要求4所述的方法,其特征在于,
所述第二级编码数组还包括:维数为L×1的第二有限域数组A、维数为L×1的第三有限域数组B、维数为L×1的第二排序表数组P2;
其中,所述第二有限域数组和第三有限域数组中的元素为有限域GF(64)中的元素。
6.如权利要求5所述的方法,其特征在于,第m次计算校验符号向量p中的校验符号包括:
依次从第二有限域数组A、第三有限域数组B以及所述第一级编码向量y中分别读取k个连续的元素;其中,从所述第二有限域数组A中读取出的k个连续的元素所构成的向量记为向量a;从所述第三有限域数组B中读取出的k个连续的元素所构成的向量记为向量b;从所述第一级编码向量y中读取出的k个连续的元素所构成的向量记为向量w;
使用所述向量a和所述向量b计算长度为k的第一中间校验符号向量s;
使用所述向量w和所述第一中间校验符号向量s,计算长度为k的第二中间校验符号向量z;
使用所述第一中间校验符号向量s和所述第二中间校验符号向量z,计算所述初始校验符号向量r中的k个初始校验符号。
7.如权利要求6所述的方法,其特征在于,
所述向量b中的第j个元素记为b(j),j大于等于1,小于等于k;
所述使用所述向量a和所述向量b计算长度为k的第一中间校验符号向量s包括:
使用公式s(j)=[a(j)]-1·b(j),计算所述第一中间校验符号向量s;其中,s(j)表示所述第一中间校验符号向量s中的第j个元素;[a(j)]-1表示所述向量a中第j个元素的逆元;
所述向量w中的第j'个元素记为w(j');2≤j'≤k;
所述计算长度为k的第二中间校验符号向量z包括:
z(1)=w(1);
z(j')=s(j'-1)·z(j'-1)+w(j');
所述k个初始校验符号中的第j"个元素记为x(j");2≤j"≤k-1;
所述k个初始校验符号的计算公式包括:
Figure FDA0002287491930000031
x(1)=z(1)+s(k)·x(k);
Figure FDA0002287491930000032
其中,所述“·”和“+”分别表示有限域GF(64)中元素的乘法运算和加法运算。
8.如权利要求6所述的方法,其特征在于,所述使用所述初始校验符号向量r计算得到所述校验符号向量p包括:
使用公式p(t)=[a(i)]-1·r(i),计算得到所述校验符号向量p;
其中,[a(i)]-1表示所述向量a中第i个元素的逆元;p(t)表示所述校验符号向量p中的第t个元素,t=P2(i);所述P2(i)是所述第二排序表数组P2中的第i个元素;i大于等于1,小于等于L,t大于等于1,小于等于L。
9.一种编码器,其特征在于,接收模块、第一级编码计算模块、第二级编码计算模块、以及码字输出模块,包括:
所述接收模块用于:接收待进行LDPC编码的信息序列;
将所述信息序列转化为长度为L的数据符号向量;其中,所述数据符号向量中的每一数据符号为有限域GF(64)中的元素;所述L为正整数,所述信息序列的长度为6L;
所述第一级编码模块用于:使用所述数据符号向量和第一级编码数组进行第一级编码处理,得到长度为L的第一级编码向量;所述第一级编码数组的维数为L×a,所述a为不大于2的正整数;
所述第二级编码模块用于:使用第一级编码向量与第二级编码数组进行二级编码处理,得到校验符号向量p;所述第二级编码数组的维数为b×1,所述b为不大于L的正整数;所述校验符号向量p中的每一数据符号为所述有限域GF(64)中的元素;
所述码字输出模块用于:
将所述数据符号向量d和所述校验符号向量p组成码字向量c;
将所述码字向量c中的每一数据符号转换为相应的6个二进制比特,得到编码比特序列。
10.一种卫星导航系统,其特征在于,包括如权利要求9所述的编码器。
CN201911166133.5A 2019-11-25 2019-11-25 卫星导航用ldpc码编码方法、编码器及卫星导航系统 Pending CN112838871A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911166133.5A CN112838871A (zh) 2019-11-25 2019-11-25 卫星导航用ldpc码编码方法、编码器及卫星导航系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911166133.5A CN112838871A (zh) 2019-11-25 2019-11-25 卫星导航用ldpc码编码方法、编码器及卫星导航系统

Publications (1)

Publication Number Publication Date
CN112838871A true CN112838871A (zh) 2021-05-25

Family

ID=75922209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911166133.5A Pending CN112838871A (zh) 2019-11-25 2019-11-25 卫星导航用ldpc码编码方法、编码器及卫星导航系统

Country Status (1)

Country Link
CN (1) CN112838871A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130061115A1 (en) * 2010-05-11 2013-03-07 Masaharu Imai Error-correcting code processing method and device
US20130166994A1 (en) * 2011-12-21 2013-06-27 International Business Machines Corporation Read/write operations in solid-state storage devices
CN103780329A (zh) * 2012-10-17 2014-05-07 华为技术有限公司 一种编译码的方法、装置及系统
CN105474548A (zh) * 2014-02-12 2016-04-06 华为技术有限公司 一种信道编码方法及装置
CN105594171A (zh) * 2013-09-30 2016-05-18 沃尔沃汽车公司 用于向车载通信中的802.11p OFDM帧中引入补充训练符号的方法
CN107888334A (zh) * 2017-09-30 2018-04-06 西安空间无线电技术研究所 基于lt码与ldpc码级联的随机编、译码器及方法
CN108809506A (zh) * 2017-05-05 2018-11-13 华为技术有限公司 一种编码方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130061115A1 (en) * 2010-05-11 2013-03-07 Masaharu Imai Error-correcting code processing method and device
US20130166994A1 (en) * 2011-12-21 2013-06-27 International Business Machines Corporation Read/write operations in solid-state storage devices
CN103780329A (zh) * 2012-10-17 2014-05-07 华为技术有限公司 一种编译码的方法、装置及系统
CN105594171A (zh) * 2013-09-30 2016-05-18 沃尔沃汽车公司 用于向车载通信中的802.11p OFDM帧中引入补充训练符号的方法
CN105474548A (zh) * 2014-02-12 2016-04-06 华为技术有限公司 一种信道编码方法及装置
CN108809506A (zh) * 2017-05-05 2018-11-13 华为技术有限公司 一种编码方法及装置
CN107888334A (zh) * 2017-09-30 2018-04-06 西安空间无线电技术研究所 基于lt码与ldpc码级联的随机编、译码器及方法

Similar Documents

Publication Publication Date Title
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
US7178081B2 (en) Simplified message-passing decoder for low-density parity-check codes
EP2176758B1 (en) Generation of parity-check matrices
JP4296949B2 (ja) 復号装置及び方法、並びに情報処理装置及び方法
JP4320418B2 (ja) 復号装置および受信装置
US20060026488A1 (en) Apparatus and method for channel coding in mobile communication system
US20060053359A1 (en) Encoder using low density parity check codes and encoding method thereof
JP3810766B2 (ja) エラー訂正のための付加情報生成方法及びその装置
CN109586732B (zh) 中短码ldpc编解码系统和方法
CN106571832A (zh) 一种多进制ldpc码级联神经网络解码方法及装置
JP5774237B2 (ja) 誤り訂正符号化方法および誤り訂正符号化装置
CN110730008B (zh) 一种基于深度学习的rs码置信传播译码方法
KR100669152B1 (ko) 저밀도 패리티 검사 코드의 부호화 장치 및 방법
CN109787641B (zh) staircase码的解码方法、装置及存储介质
JP5333233B2 (ja) 復号装置、データ蓄積装置、データ通信システム、および復号方法
CN105099467B (zh) Qc-ldpc码的编码方法及编码装置
CN113271110B (zh) 一种文本的语义信源信道联合编译码方法及装置
KR102382491B1 (ko) 시퀀스 결정을 위한 방법 및 장치, 디바이스 및 저장 매체
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
Jamali et al. Low-complexity decoding of a class of Reed-Muller subcodes for low-capacity channels
KR20040044589A (ko) 다수결 논리를 이용한 rm 부호의 연판정 복호 방법 및그 장치
CN112838871A (zh) 卫星导航用ldpc码编码方法、编码器及卫星导航系统
KR100874484B1 (ko) 준순환 저밀도 패리티 검사 부호화 방법 및 장치
CN101436864B (zh) 一种低密度奇偶校验码的译码方法及装置
CN112838872B (zh) 卫星导航用ldpc码译码方法、译码器及接收机

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