CN112953553A - 一种gnss系统中改进的多进制ldpc译码方法、装置和介质 - Google Patents

一种gnss系统中改进的多进制ldpc译码方法、装置和介质 Download PDF

Info

Publication number
CN112953553A
CN112953553A CN202110112786.6A CN202110112786A CN112953553A CN 112953553 A CN112953553 A CN 112953553A CN 202110112786 A CN202110112786 A CN 202110112786A CN 112953553 A CN112953553 A CN 112953553A
Authority
CN
China
Prior art keywords
vector
decoding
sequence
node
confidence
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.)
Granted
Application number
CN202110112786.6A
Other languages
English (en)
Other versions
CN112953553B (zh
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.)
Wuhan Mengxin Technology Co ltd
Original Assignee
Wuhan Mengxin Technology Co ltd
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 Wuhan Mengxin Technology Co ltd filed Critical Wuhan Mengxin Technology Co ltd
Priority to CN202110112786.6A priority Critical patent/CN112953553B/zh
Publication of CN112953553A publication Critical patent/CN112953553A/zh
Application granted granted Critical
Publication of CN112953553B publication Critical patent/CN112953553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种基于分层置信度传播的LDPC译码方法、系统和介质,对原始置信度向量序列进行优化,得到优化置信度向量序列;采用第一优化求和计算方法计算出每个更新变量节点传递的第一目标置信度向量序列;对每个更新变量节点进行硬判,得到当前迭代次数下的迭代硬判决值序列并进行校验;若当前迭代次数下译码成功,将对应的迭代判决值序列作为译码输出并终止译码;若译码失败,采用第二优化求和计算方法计算出每个更新校验节点传递的第二目标置信度向量序列,并进入下一次迭代译码,直至译码成功或达到最大迭代次数。本发明修正了加和计算,减少了节点的置信度向量的输出个数,在译码性能可控范围内,有效降低内存消耗,便于芯片设计和实现。

Description

一种GNSS系统中改进的多进制LDPC译码方法、装置和介质
技术领域
本发明涉及GNSS卫星通信技术领域,尤其涉及一种GNSS系统中改进的多进制LDPC译码方法、装置和介质。
背景技术
在GNSS卫星通信技术领域的LDPC译码中,B1C/B2a/B2b信号通常使用B-CNAV1/B-CNAV2/B-CNAV3导航电文。B-CNAV1导航电文在B1C信号中播发,该电文的子帧2采用64进制LDPC(200,100)编码,其每个码字符号由6个比特构成,定义于本原多项式为p(x)=1+x+x6的有限域GF(26);信息长度k=100个码字符号,即600个比特;校验矩阵是一个100×200的稀疏矩阵H100,200,其前100×100部分对应信息符号,后100×100部分对应校验符号。
B-CNAV2导航电文在B2a信号中播发,该电文采用64进制LDPC(96,48)编码;信息长度k=48个码字符号,即288个比特;校验矩阵是一个48×96稀疏矩阵H48,96,前48×48部分对应信息符号,后48×48部分对应校验符号。
B-CNAV3导航电文在B2b信号中播发,该电文采用64进制LDPC(162,81)编码;信息长度k=81个码字符号,即486个比特;校验矩阵是一个81×162稀疏矩阵H81,162,前81×81部分对应信息符号,后81×81部分对应校验符号。
这3种不同长度的LDPC编码的码率均为0.5,因此在实现时可以共用同一个译码模块,只需要配置不同的参数即可如码长、H矩阵等。
目前,对于上述3种不同长度的LDPC编码的译码方法,多采用扩展最小和算法(简称EMS译码算法),EMS译码算法是一种常用的基于迭代的置信度传播译码算法,用以估计传输码字序列c。多进制LDPC编码生成的码字序列c=(c0,c1,...cj,...,cn-1),cj∈GF(q),q=2r,0≤j<n,经过信道传输后,接收端得到的接收信号序列y=(y0,y1,…,yj,…,yn-1),其中yj=(yj,0,yj,1,…,yj,b,…,yj,r-1)为码字符号cj对应的接收符号向量。如果为64进制LDPC,则r=6,q=64。
校验矩阵H给出了LDPC码校验节点和变量节点之间的连接关系,相互连接的校验节点和变量节点之间能够传递置信度信息。H中的每一行对应一个校验节点CNi,每一列对应一个变量节点VNj
若hi,j≠0,则校验节点CNi与变量节点VNj之间相连并可以相互传递置信度信息。由变量节点VNj传递给相连校验节点CNi的置信度向量表示为V2Cj,i,可用于计算校验节点CNi的校验和;由校验节点CNi传递给相连变量节点VNj的置信度向量表示为C2Vi,j,可用于估算变量节点VNj的符号值。采用该置信度传播译码算法,迭代更新V2Cj,i和C2Vi,j,能够纠正接收信号序列y,从而实现对传输码字序列c的估计。
传统的EMS译码算法的流程如下:
初始化:设置最大迭代次数itr_max,当前迭代次数itr=0。根据每个码字符号对应的接收符号向量yj,对每个接收符号向量逐一进行硬判决,得到译码码字,然后进行校验,若校验成功,则输出硬判决后的译码码字;若校验失败,则令当前迭代次数itr+1,执行第1步:
第一步:根据每个码字符号对应的接收符号向量yj计算对应的原始置信度向量Lj(0≤j<n);然后利用各原始置信度向量Lj来初始化各变量节点VNj的所有V2Cj,i向量。其中,接收符号向量yj对应的原始置信度向量Lj是由q个有限域元素x(x∈GF(q),q=2r)及其对应的对数似然比LLR(x)构成;
对各变量节点,根据各原始置信度向量Lj和变量节点更新规则依次更新各变量节点,并计算各更新后的变量节点传递给相连的校验节点的置信度向量V2Cj,i
对各更新后的变量节点进行判决,选择最小LLR值对应的有限域元素作为判决值,根据各判决值得到判决值序列;
第2步:利用判决值序列和多进制LDPC码的校验矩阵来计算校验和,进行校验;若校验成功,则将判决值序列作为译码输出并终止译码,若校验失败,则执行第3步:
第3步:对各校验节点,根据各校验节点接收到相连的更新后的变量节点传递的置信度向量,以及校验节点更新规则依次更新各校验节点,并计算各更新后的校验节点传递给相连的更新后的变量节点的置信度向量C2Vi,j
在上述校验节点更新过程中,需要对来自不同置信度向量的有限域元素做加法得到候选元素并计算对应的LLR值,将所有LLR值升序排序,截取前nm个最小的LLR值及其有限域元素作为输出;而这个过程通常是通过大小为nm的寄存器S来查找大小为nm×nm的置信度矩阵M中的最小值来实现的;
第4步:令itr=itr+1。若itr=itr_max,终止译码并声明失败,否则转至第1步。
通过上述方法能实现多进制的LDPC译码,然而,在上述整个算法过程中,计算原始置信度向量Lj中的LLR时,需要考虑噪声方差、计算量大;同时,在系统对原始置信度向量Lj的存储时,所占的LLR值个数较多,导致存储量大;在对各变量节点更新过程中,需要用到有限域加和运算,而不同的有限域差异对导致加和结果产生差异;同时,在各变量节点更新过程和各校验节点更新过程中,输出个数较多,导致消耗内存大。
以64进制LDPC(200,100)编码为例,粗略估计EMS译码流程中消耗的Memory空间。假设输入的软比特为有符号的8bit,nm=64,则:
Lj对应的LLR值:15.6KB,对应的有限域元素:9.4KB;
V2Cj,i对应的LLR值:37.3KB,对应的有限域元素:18.8KB;
C2Vi,j对应的LLR值:31.2KB,对应的有限域元素:18.8KB;
共计131Kbyte。这对于GNSS系统芯片来说,消耗的内存实在太大。
因此,需要一种改进的多进制LDPC译码方法,能对上述缺陷进行优化,以有效降低内存消耗。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种GNSS系统中改进的多进制LDPC译码方法、装置和介质,简化了原始置信度向量的计算,降低原始置信度向量和有限域元素的存储粒度、减少变量节点传递的第一目标置信度向量和校验节点传递的第二目标置信度向量的输出个数,以及修正其中的加和计算过程,在译码性能可控的范围内,有效降低内存消耗,实现简单,快速高效,便于芯片设计和实现。
本发明解决上述技术问题的技术方案如下:
一种GNSS系统中改进的多进制LDPC译码方法,包括以下步骤:
步骤1:获取码元序列对应的校验矩阵和接收符号序列,对所述接收符号序列进行初始硬判决,得到初始硬判决值序列;根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功,若是,执行步骤2;若否,自定义迭代译码参数后依次执行步骤3至步骤5;
步骤2:将所述初始硬判决值序列作为译码结果输出并终止译码;
步骤3:根据所述接收符号序列计算得到原始置信度向量序列,并对所述原始置信度向量序列进行优化,得到优化置信度向量序列;
步骤4:获取当前迭代次数,基于EMS译码方法,分别对所述校验矩阵中的每个变量节点进行更新,得到每个变量节点对应的更新变量节点;采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,并分别将每个第一目标置信度向量序列中的每个第一目标置信度向量传递到对应相连的每个校验节点中;
步骤5:采用所述第一优化求和计算方法,根据所述校验矩阵和所述优化置信度向量序列,计算得到所有更新变量节点在当前迭代次数下的迭代硬判决值序列;并根据所述校验矩阵和当前迭代次数下的迭代硬判决值序列,判断在当前迭代次数下的译码是否成功,若是,将当前迭代次数下的迭代硬判决值序列作为译码结果输出并终止译码;若否,则依次执行步骤6至步骤7:
步骤6:基于所述EMS译码方法,根据所述校验矩阵中每个校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别对所述校验矩阵中的每个校验节点进行更新,得到每个校验节点对应的更新校验节点;并采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列;
步骤7:令当前迭代次数加1,并判断加1后的当前迭代次数是否达到所述迭代译码参数中的最大迭代次数,若是,判定译码失败并终止译码;若否,返回所述步骤4,直至译码成功或当前迭代次数达到所述最大迭代次数;
其中,所述校验矩阵中的每一行对应一个校验节点,所述校验矩阵中的每一列对应一个变量节点。
依据本发明的另一方面,还提供了一种GNSS系统中改进的多进制LDPC译码系统,应用于本发明的GNSS系统中改进的多进制LDPC译码方法中,包括信号获取模块、初始化译码模块、原始置信度优化模块、迭代译码模块、第一优化求和模块、第二优化求和模块和译码输出模块;
所述信号获取模块,用于获取码元序列对应的校验矩阵和接收符号序列;
所述初始化译码模块,用于对所述接收符号序列进行初始硬判决,得到初始硬判决值序列;根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功;
所述译码输出模块,用于当所述初始化译码模块判定初始化译码成功时,将所述初始硬判决值序列作为译码输出并终止译码;
所述原始置信度优化模块,用于当所述初始化译码模块判定初始化译码失败时,根据所述接收符号序列计算得到原始置信度向量序列,并对所述原始置信度向量序列进行优化,得到优化置信度向量序列;
所述迭代译码模块,用于获取当前迭代次数,基于EMS译码方法,分别对所述校验矩阵中的每个变量节点进行更新,得到每个变量节点对应的更新变量节点;
所述第一优化求和模块,用于采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,并分别将每个第一目标置信度向量序列中的每个第一目标置信度向量传递到对应相连的每个校验节点中;
所述第一优化求和模块,还用于采用所述第一优化求和计算方法,根据所述校验矩阵和所述优化置信度向量序列,计算得到所有更新变量节点在当前迭代次数下的迭代硬判决值序列;
所述迭代译码模块,还用于根据所述校验矩阵和当前迭代次数下的迭代硬判决值序列,判断在当前迭代次数下的译码是否成功;
所述译码输出模块,还用于当所述迭代译码模块判定在当前迭代次数下的译码成功时,将当前迭代次数下的迭代硬判决值序列作为译码结果输出并终止译码;
所述第二优化求和模块,用于当所述迭代译码模块判定在当前迭代次数下的译码失败时,基于所述EMS译码方法,根据所述校验矩阵中每个校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别对所述校验矩阵中的每个校验节点进行更新,得到每个校验节点对应的更新校验节点;并采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列;
所述迭代译码模块,还用于令当前迭代次数加1,并判断加1后的当前迭代次数是否达到所述迭代译码参数中的最大迭代次数,若是,判定译码失败并终止译码;若否,继续对每个更新变量节点进行更新,直至译码成功或当前迭代次数达到所述最大迭代次数;
其中,所述校验矩阵中的每一行对应一个校验节点,所述校验矩阵中的每一列对应一个变量节点。
依据本发明的另一方面,提供了一种GNSS系统中改进的多进制LDPC译码译码系统,包括处理器、存储器和存储在所述存储器中且可运行在所述处理器上的计算机程序,所述计算机程序运行时实现本发明中的GNSS系统中改进的多进制LDPC译码方法中的步骤。
依据本发明的另一方面,提供了一种计算机存储介质,所述计算机存储介质包括:至少一个指令,在所述指令被执行时实现本发明的GNSS系统中改进的多进制LDPC译码方法中的步骤。
本发明的GNSS系统中改进的多进制LDPC译码方法、系统和介质的有益效果是:简化了原始置信度向量的计算,降低原始置信度向量和有限域元素的存储粒度、减少变量节点传递的第一目标置信度向量和校验节点传递的第二目标置信度向量的输出个数,以及修正其中的加和计算过程,在译码性能可控的范围内,有效降低内存消耗,实现简单,快速高效,便于芯片设计和实现。
附图说明
图1为本发明实施例一中一种GNSS系统中改进的多进制LDPC译码方法的流程示意图;
图2为本发明实施例一中译码方法的完整流程示意图;
图3为本发明实施例一中优化原始置信度向量Lj的流程示意图;
图4为本发明实施例一中第一优化求和计算方法计算第一目标置信度向量V2C的流程示意图;
图5为本发明实施例一中第二优化求和计算方法计算第二目标置信度向量C2V的流程示意图;
图6为本发明实施例一中排序器S查找最小LLR向量的流程示意图;
图7为本发明实施例二中一种GNSS系统中改进的多进制LDPC译码系统的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
下面结合附图,对本发明进行说明。
实施例一、如图1所示,一种GNSS系统中改进的多进制LDPC译码方法,包括以下步骤:
S1:获取码元序列对应的校验矩阵和接收符号序列,对所述接收符号序列进行初始硬判决,得到初始硬判决值序列;根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功,若是,执行S2;若否,自定义迭代译码参数后依次执行S3至S5;
S2:将所述初始硬判决值序列作为译码结果输出并终止译码;
S3:根据所述接收符号序列计算得到原始置信度向量序列,并对所述原始置信度向量序列进行优化,得到优化置信度向量序列;
S4:获取当前迭代次数,基于EMS译码方法,分别对所述校验矩阵中的每个变量节点进行更新,得到每个变量节点对应的更新变量节点;采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,并分别将每个第一目标置信度向量序列中的每个第一目标置信度向量传递到对应相连的每个校验节点中;
S5:采用所述第一优化求和计算方法,根据所述校验矩阵和所述优化置信度向量序列,计算得到所有更新变量节点在当前迭代次数下的迭代硬判决值序列;并根据所述校验矩阵和当前迭代次数下的迭代硬判决值序列,判断在当前迭代次数下的译码是否成功,若是,将当前迭代次数下的迭代硬判决值序列作为译码结果输出并终止译码;若否,则依次执行步骤6至步骤7:
S6:基于所述EMS译码方法,根据所述校验矩阵中每个校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别对所述校验矩阵中的每个校验节点进行更新,得到每个校验节点对应的更新校验节点;并采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列;
S7:令当前迭代次数加1,并判断加1后的当前迭代次数是否达到所述迭代译码参数中的最大迭代次数,若是,判定译码失败并终止译码;若否,返回S4,直至译码成功或当前迭代次数达到所述最大迭代次数;
其中,所述校验矩阵中的每一行对应一个校验节点,所述校验矩阵中的每一列对应一个变量节点。
LDPC(Low Density Parity Check Code,低密度奇偶校验码)译码是一种最接近于香农限的纠错码译码方法,其典型的译码方法主要是EMS译码方法(即扩展最小和译码方法),是一种基于迭代的置信度传播译码算法。
本实施例中为实现LDPC译码,首先获取发送端发出码元序列,依据该码元序列可以得到校验矩阵,以及经信道传输后的接收信号序列,根据校验矩阵可以直接对接收信号序列进行校验,通过对接收信号序列进行初始化硬判决,并根据校验矩阵和初始化硬判决得到的初始硬判决值序列可以判断初始化硬判决值序列是否是正确的译码信息,若是正确的译码信息,即可将其作为译码结果输出,若不是则自定义迭代译码参数后进行迭代译码,上述初始化译码和校验方法,便于后续确定是否需要迭代译码,并为迭代译码提供判断依据和数据基础;
在迭代译码过程中,首先根据接收信号序列得到原始置信度向量序列,由于现有技术中计算原始置信度向量序列中原始置信度向量Lj中的LLR时,需要考虑噪声方差、计算量大;同时,在系统对原始置信度向量Lj的存储时,所占的LLR值个数较多,导致存储量大;在对各变量节点更新过程中,需要用到有限域加和运算,而不同的有限域差异对导致加和结果产生差异;同时,在各变量节点更新过程和各校验节点更新过程中,输出个数较多,导致消耗内存大;因此,本实施例根据接收符号序列计算得到原始置信度向量序列,对原始置信度向量序列进行优化,一方面可以将噪声方差等与计算无关的因素优化,大大减少计算量,另一方面可以在GNSS系统对原始置信度向量Lj进行存储时,对存储进行优化,减小存储量,降低消耗内存;本实施例还采用第一优化求和计算方法,来计算每个更新变量节点传递给其自身相连的每个校验节点的第一目标置信度向量序列,既可以克服其中每两个加和过程中的有限域元素的差异,修正加和运算,提高计算精度,进而保证每个第一目标置信度向量序列的准确性,又可以有效降低第一目标置信度向量序列的输出个数,降低消耗内存;本实施例同样采用第一优化求和计算方法来计算当前迭代次数下的迭代硬判决值序列,同样可有效提高每个迭代迭代硬判决值的准确性;当当前迭代次数下的译码失败时,需要根据每个校验节点接收到的所有第一目标置信度向量来对其自身进行更新,采用第二优化求和计算方法来计算每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列,一方面可以有效提高计算的准确性,克服有限域元素之间的差异,另一方面可以大大减少第二目标置信度向量序列的输出个数,降低消耗内存;
本实施例的GNSS系统中改进的多进制LDPC译码方法,简化了原始置信度向量的计算,降低原始置信度向量和有限域元素的存储粒度、减少变量节点传递的第一目标置信度向量和校验节点传递的第二目标置信度向量的输出个数,以及修正其中的加和计算过程,在译码性能可控的范围内,有效降低内存消耗,实现简单,快速高效,便于芯片设计和实现。
优选地,在S1中,所述码元序列的表达式具体为:
c=(c0,c1,...cj,...,cn-1),cj∈GF(q),q=2r,0≤j<n;
其中,c为所述码元序列,c0,c1,…,cj,…,cn-1均为所述码元序列中的发送码元,n为所述码元序列的长度,GF(q)代表伽罗华域,q代表所述码元序列所采用的进制数,r为所述码元序列中每个发送码元所占的位宽;
所述校验矩阵的表达式具体为:
Figure BDA0002919715000000081
hi,j∈GF(q),0≤i<m,0≤j<n
其中,H为所述校验矩阵,hi,j为所述校验矩阵H中第i行第j列的元素;在所述校验矩阵H中,有m个校验节点CNi和n个变量节点VNj,则所述校验矩阵H中与校验节点CNi相连的所有变量节点所属列的集合为校验节点CNi对应的列序号集合,所述校验矩阵H中与变量节点VNj相连的所有校验节点所属行的集合为变量节点VNj对应的行序号集合;
校验节点CNi对应的列序号集合和变量节点VNj对应的行序号集合的表达式分别为:
Figure BDA0002919715000000091
其中,Ni为校验节点CNi对应的列序号集合,Mj为变量节点VNj对应的行序号集合,hi,j≠0代表校验节点CNi与变量节点VNj相连;
所述接收符号序列的表达式具体为:
Figure BDA0002919715000000092
其中,y为所述接收符号序列,y0,y1,…,yj,…,yn-1均为所述接收符号序列中的接收符号向量,BPSK(c)代表对所述码元序列进行BPSK调制,nnoise为所述接收符号序列中的噪声信号序列,yj,0,yj,1,…,yj,b,…,yj,r-1均为所述接收符号序列的第j个接收符号向量中的符号信息;
则在S1中,根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功,具体包括以下步骤:
S11:根据所述校验矩阵和所述初始硬判决值序列计算得到初始校验和;
计算所述初始校验和的第一公式为:
Figure BDA0002919715000000093
其中,vintial为所述初始校验和,
Figure BDA0002919715000000094
为所述初始硬判决值序列,HT为所述校验矩阵的转置矩阵;
S12:将所述初始校验和作为目标校验和代入译码成功判据中,判断所述目标校验和是否满足所述译码成功判据,若是,则判定初始化译码成功,并执行S2;若否,则判定初始化译码不成功,并自定义所述迭代译码参数后依次执行S3至S5;
所述译码成功判据具体为:v=0;其中,v为所述目标校验和;
其中,所述迭代译码参数包括最大迭代次数以及每个校验节点传递给相连的变量节点的初始迭代置信度向量,且每个初始迭代置信度向量均为零向量。
码元序列为发送端的发送信号经过LDPC编码后的信号序列,再经过BPSK调制(Binary Phase Shift Keying,二进制相移键控调制方法)得到接收符号序列,便于后续计算初始硬判决值序列或迭代硬判决值序列,进而实现正确译码;将校验矩阵H中与任一校验节点CNi相连的所有变量节点所属列的集合作为一个集合,即校验节点CNi对应的列序号集合,校验矩阵H中与任一变量节点VNj相连的所有校验节点所属行的集合作为另一个集合,即变量节点VNj对应的行序号集合,能帮助后续实现变量节点和校验节点的更新,以及变量节点和校验节点的更新过程中置信度的传播,进而实现多进制译码;在S11中,通过计算初始校验和,并结合译码成功判据能有效判断初始化译码是否正确译码,一方面能在初始化译码即译码正确的时候,简单直接地判断出译码正确并输出对应的正确译码结果,效率高,正确率高;另一方面能在初始化译码不正确的时候,为后续的迭代译码提供数据基础和判断依据,进而在一定程度上提高迭代译码的效率;其中,通过自定义迭代译码参数,便于提供迭代译码的终止条件和初始化条件,便于迭代译码的顺利进行。
优选地,S3具体包括以下步骤:
S31:根据所述接收符号序列中每个接收符号向量,计算得到每个接收符号向量一一对应的原始置信度向量;
计算所述接收符号序列中第j个接收符号向量对应的原始置信度向量的第一公式为:
Figure BDA0002919715000000101
其中,Lj为第j个接收符号向量yj对应的原始置信度向量,Lj,0,Lj,1,…,Lj,b,…,Lj,q-1均为接收符号向量yj对应的原始置信度向量中的原始置信度,yj,m为接收符号向量yj中的第m个符号信息,xb为所述伽罗华域中的第b个有限域元素向量,
Figure BDA0002919715000000102
为直接对接收符号向量yj逐比特硬判决得到的初始硬判决值向量,xb
Figure BDA0002919715000000103
表达式分别为xb=(xb,0,xb,1,...,xb,m,...,xb,r-1)和
Figure BDA0002919715000000104
xb,0,xb,1,...,xb,m,...,xb,r-1均为有限域元素向量xb中的元素,
Figure BDA0002919715000000105
均为初始硬判决值向量
Figure BDA0002919715000000106
中的元素,LLR(xb)为有限域元素向量xb对应的对数似然比,XOR为异或运算,δ2为噪声方差;
S32:按照对数似然比的值,分别对每个原始置信度向量中的元素进行升序排列,并分别对每个升序排列后的原始置信度向量依次进行计算优化和存储优化,得到每个接收符号向量一一对应的优化置信度向量;
计算第j个接收符号向量对应的优化置信度向量的第二公式为:
Figure BDA0002919715000000111
其中,L′j为第j个接收符号向量yj对应的优化置信度向量,L′j,0,L′j,1,...,L′j,b,...,L′j,r-1均为接收符号向量yj对应的优化置信度向量中的优化置信度,nl代表GNSS系统分别对每个优化置信度向量的存储长度,
Figure BDA0002919715000000112
为所述伽罗华域中的第nl-1个有限域元素向量,
Figure BDA0002919715000000113
为有限域元素向量
Figure BDA0002919715000000114
中的第m个元素,LLR′(xb)为有限域元素向量xb对应的优化对数似然比,Lj,offset为第一LLR扩展值,
Figure BDA0002919715000000115
为有限域元素向量
Figure BDA0002919715000000116
对应的优化对数似然比,offset_value为第一预设LLR偏移值;
S33:根据所有接收符号向量的优化置信度向量,得到优化置信度向量序列。
在第一公式中,接收符号向量yj对应的原始置信度向量Lj是由q个有限域元素x(x∈GF(q),q=2r)及其对应的对数似然比LLR(x)构成,xb为其中一个有限域元素向量,LLR(xb)为有限域元素向量xb对应的对数似然比;根据第一公式计算出来的原始置信度向量需要考虑噪声方差、计算量大,因此第二公式中将δ2/2省去,简化了对数似然比的计算(得到的优化对数似然比包括LLR′(xb)和LLR′(xnl-1)+offset_value),进而实现对原始置信度向量Lj的计算简化(得到优化置信度向量L′j),不影响后续整个迭代译码过程求取最小和的结果,有效降低了计算量;同时在第二公式中,nl代表GNSS系统分别对每个优化置信度向量的存储长度,具体为优化置信度向量升序排列后的前nl个数据,nl越小,Lj截取输出保存的有限域元素和LLR值越少,存储空间也会同步变小,也会导致截取输出的LLR值位宽变小;但是在后续更新变量节点传递给校验节点的第一目标置信度向量的加和计算中,除了需要正常存储的前nl个数据,还需要用到后q-nl个数据,否则会影响加和计算;因此本实施例在第二公式中,通过预先定义一个第一预设LLR偏移值offset_value,对于后q-nl个有限域元素对应的LLR值,均扩展为
Figure BDA0002919715000000121
(有限域元素不变),将原来保存的前nl个数据和后q-nl个扩展后的数据均用于后续加和计算,实现了对原始置信度向量Lj的存储优化,既保证了原来的存储长度,避免占用GNSS系统过多的存储空间,又方便了后续的加和计算;以nl=20为例,优化置信度向量L′j对应的LLR值占4KB,有限域元素占3KB,仅为优化前空间的30%。
优选地,S4中,计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,具体包括以下步骤:
S41:对于任一更新变量节点VNj,获取当前迭代次数itr以及在当前迭代次数itr下与更新变量节点VNj相连的所有检验节点传递的传播置信度向量;并根据所述校验矩阵和更新变量节点VNj接收到的所有传播置信度向量,计算得到更新变量节点VNj对应的第一求和结果向量;
计算更新变量节点VNj对应的第一求和结果向量的第三公式为:
Figure BDA0002919715000000122
其中,Tmpj,i为更新变量节点VNj对应的第一求和结果向量,f为更新变量节点VNj对应的行序号集合中的一个行序号,代表校验节点CNf与更新变量节点VNj相连;C2Vf,j为校验节点CNf传递给更新变量节点VNj的传播置信度向量,hf,j为所述校验矩阵中第f行第j列的元素,
Figure BDA0002919715000000123
为hf,j的逆元;
S42:将更新变量节点VNj对应的第一求和结果向量与第j个接收符号向量对应的优化置信度向量进行求和,得到更新变量节点VNj对应的第二求和结果向量;并判断更新变量节点VNj对应的第一求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素是否完全一一对应相同,若是,则执行S43;若否,则依次执行S44至S46;
S43:根据更新变量节点VNj对应的第二求和结果向量,计算得到在当前迭代次数下更新变量节点VNj传递给每个相连的校验节点的第一目标置信度向量,并根据所有第一目标置信度向量得到在当前迭代次数下更新变量节点VNj传递给相连的校验节点的第一目标置信度向量序列;
计算在当前迭代次数下更新变量节点VNj传递给相连的校验节点CNi的第一目标置信度向量的第四公式为:
Figure BDA0002919715000000131
其中,V2Cj,i为在当前迭代次数下更新变量节点VNj传递给相连的校验节点CNi的第一目标置信度向量,SUMj为更新变量节点VNj对应的第二求和结果向量;
Figure BDA0002919715000000132
代表将SUMj中的元素按照LLR值的大小进行升序排列后,并在排列后的前端取nm个互不相同的元素的操作运算;nm为预设截取长度,且满足nm≤nl;hi,j为所述校验矩阵中第i行第j列的元素;
S44:当更新变量节点VNj对应的第一求和结果向量中的第k1个有限域元素不存在于第j个接收符号向量对应的优化置信度向量中,则根据所述第一LLR扩展值,对更新变量节点VNj对应的第二求和结果向量中与第k1个有限域元素所对应的LLR值进行扩展;和/或,当第j个接收符号向量对应的优化置信度向量中的第k2个有限域元素不存在于更新变量节点VNj对应的第一求和结果向量中,则根据更新变量节点VNj对应的第一求和结果向量中与第nm个有限域元素所对应的LLR值以及第二预设LLR偏移值,对更新变量节点VNj对应的第二求和结果向量中与第k2个有限域元素所对应的LLR值进行扩展;
步骤45:分别遍历更新变量节点VNj对应的第一求和结果向量和第j个接收符号向量对应的优化置信度向量中的每个有限域元素,按照所述步骤44的方法进行扩展,直至更新变量节点VNj对应的第一求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素均一一对应相同,得到更新变量节点VNj对应的第二求和结果向量所对应的第一目标扩展求和向量;
步骤46:根据更新变量节点VNj对应的第一目标扩展求和向量,计算得到在当前迭代次数下更新变量节点VNj传递给每个相连的校验节点的第一目标置信度向量,并根据所有第一目标置信度向量得到在当前迭代次数下更新变量节点VNj传递给相连的校验节点的第一目标置信度向量序列;
计算在当前迭代次数下更新变量节点VNj传递给相连的校验节点CNi的第一目标置信度向量的第五公式为:
Figure BDA0002919715000000133
其中,
Figure BDA0002919715000000134
为更新变量节点VNj对应的第二求和结果向量所对应的第一目标扩展求和向量,
Figure BDA0002919715000000135
代表将
Figure BDA0002919715000000136
中的元素按照LLR值的大小进行升序排列后,并在排列后的前端取nm个互不相同的元素的操作运算。
对于传统的EMS译码方法,计算更新变量节点传递给相连的每个校验节点的第一目标置信度向量,采用的加和公式为
Figure BDA0002919715000000141
Figure BDA0002919715000000142
中截取的前nm个数据与hi,j的有限域乘法,然而在该过程中,令
Figure BDA0002919715000000143
为第一求和结果向量,其输出nm个有限域元素和LLR值,而Lj的存储长度为nl,很显然在加和运算时,2个输入长度nm和nl有可能是不同的,且其各自的有限域元素也有可能存在差异;而加和运算只能对相同域元素的LLR值进行相加,因此当Tmpj,i中的有限域元素与Lj中的有限域元素不同时,需要各自将LLR值先拓展,然后再对应累加,利用LLR值拓展来对第二求和结果向量(即SUMj=Tmpj,i+L′j)进行优化;当Tmpj,i中的有限域元素与Lj中的有限域元素恰好一一对应相同时,则无需扩展,直接按照有限域元素对应累加即可;上述整个优化方法即为第一优化求和计算方法,采用上述方法计算出的某一更新变量节点VNj传递给相连的每个校验节点的第一目标置信度向量,既可以克服其中每两个加和过程中的有限域元素的差异,修正加和运算,提高计算精度,进而保证每个第一目标置信度向量序列的准确性,又可以有效降低每个第一目标置信度向量序列的输出个数,大大降低消耗内存。
具体地,本实施例对于S42、S44至S46中LLR值的扩展及计算第一目标置信度向量,具体的计算过程采用如下伪代码实现:
for Tmpj,i中所有的元素,令k1=1~nm
如果Tmpj,i第k1个有限域元素与Lj中的某一元素相同
那么将Tmpj,i第k1个有限域元素对应的LLR值与Lj中相同的有限域元素对应的LLR值累加,并输出到
Figure BDA0002919715000000144
如果Tmpj,i第k1个有限域元素不存于Lj
那么对SUMj中与第k1个有限域元素所对应的LLR值
Figure BDA0002919715000000145
进行扩展成
Figure BDA0002919715000000146
并输出到
Figure BDA0002919715000000147
end for
For Lj中所有的元素,令k2=1~nl
如果Lj第k2个有限域元素与Tmpj,i中的某一元素相同不计算,跳到Lj的下一个元素
如果Lj第k2个有限域元素不存于Tmpj,i
那么对SUMj中与第k2个有限域元素所对应的LLR值
Figure BDA0002919715000000151
进行扩展成
Figure BDA0002919715000000152
并输出到
Figure BDA0002919715000000153
end for
Figure BDA0002919715000000154
中的数据进行升序排列,并输出前nm个值数据。
上述过程中,
Figure BDA0002919715000000155
为更新变量节点VNj对应的第二求和结果向量中与第k1个有限域元素所对应的LLR值,
Figure BDA0002919715000000156
为更新变量节点VNj对应的第二求和结果向量中与第k2个有限域元素所对应的LLR值,
Figure BDA0002919715000000157
为更新变量节点VNj对应的第一求和结果向量中与第nm个有限域元素所对应的LLR值,offset_nm为所述第二预设LLR偏移值。
优选地,S5具体包括以下步骤:
S51:对于任一更新变量节点VNj,按照S41同样的方法,计算得到更新变量节点VNj对应的第三求和结果向量;
计算更新变量节点VNj对应的第三求和结果向量的第六公式为:
Figure BDA0002919715000000158
其中,Tmp′j,i为更新变量节点VNj对应的第三求和结果向量;
S52:按照S42同样的方法,得到更新变量节点VNj对应的第四求和结果向量;并判断更新变量节点VNj对应的第三求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素是否一一对应相同,若是,则执行S53后再依次执行S56至S58;若否,则依次执行S54至S55后再依次执行S56至S58;
S53:根据更新变量节点VNj对应的第四求和结果向量,计算得到更新变量节点VNj在当前迭代次数下的迭代硬判决值;
计算更新变量节点VNj在当前迭代次数下的迭代硬判决值的第七公式为:
Figure BDA0002919715000000159
其中,
Figure BDA0002919715000000161
为更新变量节点VNj在当前迭代次数下的迭代硬判决值,sum′j为更新变量节点VNj对应的第四求和结果向量,argmin(·)为取最小值的自变量函数;
S54:分别遍历更新变量节点VNj对应的第三求和结果向量和第j个接收符号向量对应的优化置信度向量中的每个有限域元素,按照所述步骤44同样的方法进行扩展,直至更新变量节点VNj对应的第三求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素均一一对应相同,得到更新变量节点VNj对应的第四求和结果向量所对应的第二目标扩展求和向量;
S55:根据更新变量节点VNj对应的第二目标扩展求和向量,计算得到更新变量节点VNj在当前迭代次数下的迭代硬判决值;
计算更新变量节点VNj在当前迭代次数下的迭代硬判决值的第八公式为:
Figure BDA0002919715000000162
其中,
Figure BDA0002919715000000163
为更新变量节点VNj在当前迭代次数下的迭代硬判决值,
Figure BDA0002919715000000164
为更新变量节点VNj对应的第二目标扩展求和向量;
S56:遍历所述校验矩阵中每个更新变量节点,计算得到每个更新变量节点在当前迭代次数下的迭代硬判决值;并根据所有迭代硬判决值得到当前迭代次数下的迭代硬判决值序列;
S57:对于当前迭代次数itr,根据所述校验矩阵和当前迭代次数itr下的迭代硬判决值序列,计算得到当前迭代次数itr下的实时校验和;
S58:将当前迭代次数itr下的实时校验和作为所述目标校验和代入所述译码成功判据中,判断所述目标校验和是否满足所述译码成功判据,若是,则判定在当前迭代次数itr下的译码成功,并将当前迭代次数itr下的迭代判决值序列作为译码结果输出并终止译码;若否,则依次执行S6至S7。
对于传统的EMS译码方法,对更新变量节点进行硬判决,计算迭代硬判决值,所采用的加和公式为
Figure BDA0002919715000000165
可以看出该加和公式与传统EMS译码方法中计算第一目标置信度向量过程中的第二求和结果向量的公式相比,除了行序号集合所包含的范围不同,其他都一样,因此可以采用类似的第一优化求和计算方法,先计算出某一更新变量节点VNj对应的第三求和结果向量
Figure BDA0002919715000000171
再得到第四求和结果向量
Figure BDA0002919715000000172
按照S42类似的方法判断第三求和结果向量与Lj中的有限域元素是否一一对应相同;
当有限域元素均一一对应相同时,直接将每个有限域元素下的LLR值累加;当有限域元素并非一一对应相同时,则分别遍历第三求和结果向量和Lj中的每个有限域元素,并按照S44类似的方法对不同有限域元素下的LLR值进行扩展,得到第二目标扩展求和向量,最后将第二目标扩展求和向量代入第八公式中,计算出优化后的迭代硬判决值。上述优化求和对与S42、S44至S46中LLR值的扩展的过程相同,只需要将第三求和结果向量与第一求和结果向量进行替换即可,具体细节此处不再赘述;采用上述第一优化求和计算方法,修正了加和运算,提高计算精度,保证每个当前迭代次数下的迭代硬判决值序列的准确性,提高迭代译码的准确率,还大大降低了消耗内存。
优选地,S6中,计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列,具体包括以下步骤:
S61:对于任一更新校验节点CNi,根据所述校验矩阵和更新校验节点CNi接收到的所有第一目标置信度向量,计算得到在当前迭代次数下更新校验节点CNi对应的第五求和结果向量;
计算在当前迭代次数下更新校验节点CNi对应的第五求和结果向量的第九公式为:
Figure BDA0002919715000000173
其中,Totali,j为更新校验节点CNi对应的第五求和结果向量,r为更新校验节点CNi对应的列序号集合中的一个列序号,代表更新变量节点VNr与更新校验节点CNi相连;V2Cr,i为更新变量节点VNr传递给更新校验节点CNi的第一目标置信度向量;
Figure BDA0002919715000000174
代表将∑V2Cr,i中的元素按照LLR值的大小进行升序排列后,并在排列后的前端取nm个互不相同的元素的操作运算;
S62:按照所述预设截取长度,根据在当前迭代次数下更新校验节点CNi对应的第五求和结果向量构建大小均为nm×nm置信度矩阵和有限域元素矩阵,按照预设搜索长度构建长度为nb的排序器S;
所述置信度矩阵和所述有限域元素矩阵的表达式分别如下:
Figure BDA0002919715000000181
其中,M为所述置信度矩阵,MS为所述置信度矩阵对应的所述有限域元素矩阵,M[d,ρ]为所述置信度矩阵中的一个LLR向量,MS[d,ρ]为所述有限域元素矩阵中与置信度M[d,ρ]对应的有限域元素向量,(US,U)和(QS,Q)均为输入置信度向量;(VS,V)为在当前迭代次数下更新校验节点CNi对应的第五求和结果向量中,由输入置信度向量(US,U)与(QS,Q)求和后的输出置信度向量;U和US分别为输入置信度向量(US,U)中的LLR向量和对应的有限域元素向量,Q和QS分别为输入置信度向量(QS,Q)中的LLR向量和对应的有限域元素向量,V和VS分别为输出置信度向量(VS,V)中的LLR向量和对应的有限域元素向量,U、Q和V均为升序排列且长度为nm;U[d]和US[d]分别为LLR向量U和有限域元素向量US中的第d个元素,Q[ρ]和QS[ρ]分别为LLR向量Q和有限域元素向量QS中的第ρ个元素,ε为当前元素序号,V[ε]为LLR向量V中的第ε个元素,VS[ε]为有限域元素向量VS中的第ε个元素,
Figure BDA0002919715000000182
代表有限域加法运算;
S63:将所述置信度矩阵第1列的前nb/2中元素以及第nb/2+1行的前nb/2个元素均存入所述排序器S,使得所述排序器S满足目标关系式;
所述目标关系式为:
Figure BDA0002919715000000183
其中,S[ζ]为所述排序器S中的第ζ个元素;
S64:令当前元素序号ε为0,获取所述排序器S中的最小LLR向量,并判断最小LLR向量对应的最小有限域元素向量是否存在于输出置信度向量(VS,V)对应的有限域元素向量中,若否,则将输出置信度向量中对应的LLR向量替换为最小LLR向量,并将输出置信度向量中对应的有限域元素向量替换为最小LLR向量对应的最小有限域元素向量后,令当前元素序号ε加1,执行S65;若是,不执行任何操作,直接执行S65;
S65:确定最小LLR向量在所述排序器S中的目标位置,根据目标位置和所述置信度矩阵中LLR向量对所述排序器中的最小LLR向量进行更新,得到更新最小LLR向量,并返回S64,直至当前元素序号ε达到所述预设截取长度;
S66:按照S62至S65的方法,得到更新校验节点CNi对应的第五求和结果向量所对应的优化求和结果向量;并将更新校验节点CNi对应的优化求和结果向量作为当前迭代次数下更新校验节点CNi传递给相连的每个更新变量节点的第二目标置信度向量;
在当前迭代次数下更新校验节点CNi传递给相连的每个更新变量节点的第二目标置信度向量的第十公式为:
Figure BDA0002919715000000191
其中,C2Vi,j为当前迭代次数下更新校验节点CNi传递给相连的每个更新变量节点的第二目标置信度向量,
Figure BDA0002919715000000192
为更新校验节点CNi对应的第五求和结果向量所对应的优化求和结果向量;
S67:根据更新校验节点CNi传递给相连的所有更新变量节点的第二目标置信度向量,得到当前迭代次数下更新校验节点CNi传递给相连的更新变量节点的第二目标置信度向量序列;
S68:遍历所述校验矩阵中每个更新校验节点,按照S61至S67的方法,得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列。
对于传统EMS译码方法,在对校验节点进行更新,计算更新校验节点传递给相连的每个更新变量节点的第二目标置信度向量时,同样涉及到有限域的加和运算,是对来自不同置信度向量的有限域元素做加法得到候选元素并计算对应的LLR值,将所有LLR值升序排序,截取前nm个最小的LLR值及其有限域元素作为输出,因此同样需要对有限域的加和运算进行修正;同时译码的本质是查找置信度向量的最小值,传统译码方法中查找最小值的范围大、效率低,系统消耗内存太大;因而本实施例首先计算出第五求和结果向量,然后按照第五求和结果向量构建大小均为nm×nm置信度矩阵和有限域元素矩阵,按照预设搜索长度构建长度为nb的排序器S,将构建出的置信度矩阵中第1列的前nb/2中元素以及第nb/2+1行的前nb/2个元素均存入所述排序器S,并使得排序器S满足目标关系式,能显著降低最小值的搜索范围,进而提高搜索效率和减小消耗内存;再依据当前元素序号ε在排序器S中搜索最小值,在当前搜索长度每一次叠加的过程中,根据最小LLR向量在排序器S中的目标位置来对最小LLR向量进行更新,进而实现第五求和结果向量的优化,得到的优化求和结果向量即为第二目标置信度向量。
通过上述第二优化求和计算方法对
Figure BDA0002919715000000193
的加和进行优化,将排序器S长度由nm减为nb,而nb<<nm,从而大大降低实数比较运算的次数和复杂度,大大提高了译码效率,减小了系统消耗内存。
优选地,在S65中,根据目标位置和所述置信度矩阵中LLR向量对所述排序器中的最小LLR向量进行更新,得到更新最小LLR向量,具体为:
当目标位置落在所述排序器S的前nb/2个元素中时,将所述置信度矩阵中位于最小LLR向量右边相邻的一个LLR向量作为更新最小LLR向量;
当目标位置落在所述排序器S的后nb/2个元素中时,将所述置信度矩阵中位于最小LLR向量下边相邻的一个LLR向量作为更新最小LLR向量。
通过上述最小LLR向量的更新,大大降低实数比较运算的次数和复杂度。例如,假设在当前元素序号ε下,排序器S中的最小LLR向量为M[d,ρ],若其落在排序器S的前nb/2个元素中,则将其替换为M[d,ρ+1],作为更新最小LLR向量;若其落在后nb/2个元素中,则将其替换为M[d+1,ρ],作为更新最小LLR向量。
具体地,本实施例以64进制LDPC(200,100)编码为例,输入1200个软比特,译码输出600个0/1硬比特,每个软比特为8bit有符号数,数值为-127~127。每个符号对应6个软比特,因此也可以认为输入200个符号,译码输出100个符号。每个符号对应的原始LLR值存储长度nl=16,第一预设LLR偏移值offset_value=11,计算V2C和C2V阶段每个符号更新后的LLR值个数nm=16,第二预设LLR偏移值offset_nm=11,排序器S长度nb=8,最大迭代次数设置成30。这些参数可以根据算法要求和场景,动态做各种各样的修改,本发明并不局限该参数的设定。
如图2所示,为本实施例译码方法的完整流程示意图,译码模块的输入为解调后的1200个软比特,先对软比特逐一进行硬判,得到1200个0/1译码码字,然后进行校验;若校验成功,输出当前硬判后的前600个比特;若果校验失败,则需要计算原始置信度向量Lj、优化得到优化置信度向量,依次更新变量节点的第一目标置信度向量V2C并优化、优化迭代硬判决值序列并校验、更新校验节点的第二目标置信度向量C2V并优化;将V2C的一次更新、迭代硬判决值序列计算、以及C2V的一次更新称为一次算法迭代;到了最大的迭代次数,不管是否译码成功,算法无条件终止。(其中,第一目标置信度向量V2C和第二目标置信度向量C2V均未标下标,是为了体现出任意性。)
如图3所示,为优化原始置信度向量Lj的流程示意图,为64进制LDPC,根据第二公式,每次选择6个软比特,计算该符号对应的64个有限域元素和LLR值;对LLR值进行升序排列,保存前nl个LLR值及其对应的有限域元素;引进第一预设LLR偏移值offset_value,对未保存的有限域元素的LLR值,一律用扩展的LLR值Lj,offset来代替。
如图4所示,为第一优化求和计算方法计算第一目标置信度向量V2C的流程示意图,按照第三公式和第四公式,或引入第二预设LLR偏移值offset_nm并按照第三公式和第五公式,保证加和运算能正常进行;对计算后的LLR值进行升序排列,前nm个LLR值及其对应的有限域元素保存在更新变量节点V2C的内存中。
如图5和图6所示,为第二优化求和计算方法计算第二目标置信度向量C2V的流程示意图,将排序器S的长度由nm降低到nb,按照S61至S68的步骤,通过对排序器S的更新以及更新策略的优化,完成多次的加和运算后nm个数据的输出,最终输出的nm个LLR值及其对应的有限域元素保存在更新校验节点C2V的内存中。
实施例二、如图7所示,一种GNSS系统中改进的多进制LDPC译码系统,应用于实施例一的GNSS系统中改进的多进制LDPC译码方法中,包括信号获取模块、初始化译码模块、原始置信度优化模块、迭代译码模块、第一优化求和模块、第二优化求和模块和译码输出模块;
所述信号获取模块,用于获取码元序列对应的校验矩阵和接收符号序列;
所述初始化译码模块,用于对所述接收符号序列进行初始硬判决,得到初始硬判决值序列;根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功;
所述译码输出模块,用于当所述初始化译码模块判定初始化译码成功时,将所述初始硬判决值序列作为译码输出并终止译码;
所述原始置信度优化模块,用于当所述初始化译码模块判定初始化译码失败时,根据所述接收符号序列计算得到原始置信度向量序列,并对所述原始置信度向量序列进行优化,得到优化置信度向量序列;
所述迭代译码模块,用于获取当前迭代次数,基于EMS译码方法,分别对所述校验矩阵中的每个变量节点进行更新,得到每个变量节点对应的更新变量节点;
所述第一优化求和模块,用于采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,并分别将每个第一目标置信度向量序列中的每个第一目标置信度向量传递到对应相连的每个校验节点中;
所述第一优化求和模块,还用于采用所述第一优化求和计算方法,根据所述校验矩阵和所述优化置信度向量序列,计算得到所有更新变量节点在当前迭代次数下的迭代硬判决值序列;
所述迭代译码模块,还用于根据所述校验矩阵和当前迭代次数下的迭代硬判决值序列,判断在当前迭代次数下的译码是否成功;
所述译码输出模块,还用于当所述迭代译码模块判定在当前迭代次数下的译码成功时,将当前迭代次数下的迭代硬判决值序列作为译码结果输出并终止译码;
所述第二优化求和模块,用于当所述迭代译码模块判定在当前迭代次数下的译码失败时,基于所述EMS译码方法,根据所述校验矩阵中每个校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别对所述校验矩阵中的每个校验节点进行更新,得到每个校验节点对应的更新校验节点;并采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列;
所述迭代译码模块,还用于令当前迭代次数加1,并判断加1后的当前迭代次数是否达到所述迭代译码参数中的最大迭代次数,若是,判定译码失败并终止译码;若否,继续对每个更新变量节点进行更新,直至译码成功或当前迭代次数达到所述最大迭代次数;
其中,所述校验矩阵中的每一行对应一个校验节点,所述校验矩阵中的每一列对应一个变量节点。
本实施例的GNSS系统中改进的多进制LDPC译码系统,简化了原始置信度向量的计算,降低原始置信度向量和有限域元素的存储粒度、减少变量节点传递的第一目标置信度向量和校验节点传递的第二目标置信度向量的输出个数,以及修正其中的加和计算过程,在译码性能可控的范围内,有效降低内存消耗,实现简单,快速高效,便于芯片设计和实现。
本实施例中的未尽细节,详见实施例一以及图1至图6的具体描述内容,此处不再赘述。
实施例三、基于实施例一和实施例二,本实施例还公开了一种GNSS系统中改进的多进制LDPC译码译码系统,包括处理器、存储器和存储在所述存储器中且可运行在所述处理器上的计算机程序,所述计算机程序运行时实现所述S1至S7的具体步骤。
通过存储在存储器上的计算机程序,并运行在处理器上,简化了原始置信度向量的计算,降低原始置信度向量和有限域元素的存储粒度、减少变量节点传递的第一目标置信度向量和校验节点传递的第二目标置信度向量的输出个数,以及修正其中的加和计算过程,在译码性能可控的范围内,有效降低内存消耗,实现简单,快速高效,便于芯片设计和实现。
本实施例还提供一种计算机存储介质,所述计算机存储介质上存储有至少一个指令,所述指令被执行时实现所述S1至S7的具体步骤。
通过执行包含至少一个指令的计算机存储介质,简化了原始置信度向量的计算,降低原始置信度向量和有限域元素的存储粒度、减少变量节点传递的第一目标置信度向量和校验节点传递的第二目标置信度向量的输出个数,以及修正其中的加和计算过程,在译码性能可控的范围内,有效降低内存消耗,实现简单,快速高效,便于芯片设计和实现。
本实施例中的未尽细节,详见实施例一以及图1至图6的具体描述内容,此处不再赘述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种GNSS系统中改进的多进制LDPC译码方法,其特征在于,包括以下步骤:
步骤1:获取码元序列对应的校验矩阵和接收符号序列,对所述接收符号序列进行初始硬判决,得到初始硬判决值序列;根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功,若是,执行步骤2;若否,自定义迭代译码参数后依次执行步骤3至步骤5;
步骤2:将所述初始硬判决值序列作为译码结果输出并终止译码;
步骤3:根据所述接收符号序列计算得到原始置信度向量序列,并对所述原始置信度向量序列进行优化,得到优化置信度向量序列;
步骤4:获取当前迭代次数,基于EMS译码方法,分别对所述校验矩阵中的每个变量节点进行更新,得到每个变量节点对应的更新变量节点;采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,并分别将每个第一目标置信度向量序列中的每个第一目标置信度向量传递到对应相连的每个校验节点中;
步骤5:采用所述第一优化求和计算方法,根据所述校验矩阵和所述优化置信度向量序列,计算得到所有更新变量节点在当前迭代次数下的迭代硬判决值序列;并根据所述校验矩阵和当前迭代次数下的迭代硬判决值序列,判断在当前迭代次数下的译码是否成功,若是,将当前迭代次数下的迭代硬判决值序列作为译码结果输出并终止译码;若否,则依次执行步骤6至步骤7:
步骤6:基于所述EMS译码方法,根据所述校验矩阵中每个校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别对所述校验矩阵中的每个校验节点进行更新,得到每个校验节点对应的更新校验节点;并采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列;
步骤7:令当前迭代次数加1,并判断加1后的当前迭代次数是否达到所述迭代译码参数中的最大迭代次数,若是,判定译码失败并终止译码;若否,返回所述步骤4,直至译码成功或当前迭代次数达到所述最大迭代次数;
其中,所述校验矩阵中的每一行对应一个校验节点,所述校验矩阵中的每一列对应一个变量节点。
2.根据权利要求1所述的GNSS系统中改进的多进制LDPC译码方法,其特征在于,在所述步骤1中,所述码元序列的表达式具体为:
c=(c0,c1,...cj,...,cn-1),cj∈GF(q),q=2r,0≤j<n;
其中,c为所述码元序列,c0,c1,…,cj,…,cn-1均为所述码元序列中的发送码元,n为所述码元序列的长度,GF(q)代表伽罗华域,q代表所述码元序列所采用的进制数,r为所述码元序列中每个发送码元所占的位宽;
所述校验矩阵的表达式具体为:
Figure FDA0002919714990000021
其中,H为所述校验矩阵,hi,j为所述校验矩阵H中第i行第j列的元素;在所述校验矩阵H中,有m个校验节点CNi和n个变量节点VNj,则所述校验矩阵H中与校验节点CNi相连的所有变量节点所属列的集合为校验节点CNi对应的列序号集合,所述校验矩阵H中与变量节点VNj相连的所有校验节点所属行的集合为变量节点VNj对应的行序号集合;
校验节点CNi对应的列序号集合和变量节点VNj对应的行序号集合的表达式分别为:
Figure FDA0002919714990000022
其中,Ni为校验节点CNi对应的列序号集合,Mj为变量节点VNj对应的行序号集合,hi,j≠0代表校验节点CNi与变量节点VNj相连;
所述接收符号序列的表达式具体为:
Figure FDA0002919714990000023
其中,y为所述接收符号序列,y0,y1,…,yj,…,yn-1均为所述接收符号序列中的接收符号向量,BPSK(c)代表对所述码元序列进行BPSK调制,nnoise为所述接收符号序列中的噪声信号序列,yj,0,yj,1,…,yj,b,…,yj,r-1均为所述接收符号序列的第j个接收符号向量中的符号信息;
则在所述步骤1中,根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功,具体包括以下步骤:
步骤11:根据所述校验矩阵和所述初始硬判决值序列计算得到初始校验和;
计算所述初始校验和的第一公式为:
Figure FDA0002919714990000031
其中,vintial为所述初始校验和,
Figure FDA0002919714990000032
为所述初始硬判决值序列,HT为所述校验矩阵的转置矩阵;
步骤12:将所述初始校验和作为目标校验和代入译码成功判据中,判断所述目标校验和是否满足所述译码成功判据,若是,则判定初始化译码成功,并执行所述步骤2;若否,则判定初始化译码不成功,并自定义所述迭代译码参数后依次执行所述步骤3至所述步骤5;
所述译码成功判据具体为:v=0;其中,v为所述目标校验和;
其中,所述迭代译码参数包括最大迭代次数以及每个校验节点传递给相连的变量节点的初始迭代置信度向量,且每个初始迭代置信度向量均为零向量。
3.根据权利要求2所述的GNSS系统中改进的多进制LDPC译码方法,其特征在于,所述步骤3具体包括以下步骤:
步骤31:根据所述接收符号序列中每个接收符号向量,计算得到每个接收符号向量一一对应的原始置信度向量;
计算所述接收符号序列中第j个接收符号向量对应的原始置信度向量的第一公式为:
Figure FDA0002919714990000033
其中,Lj为第j个接收符号向量yj对应的原始置信度向量,Lj,0,Lj,1,…,Lj,b,…,Lj,q-1均为接收符号向量yj对应的原始置信度向量中的原始置信度,yj,m为接收符号向量yj中的第m个符号信息,xb为所述伽罗华域中的第b个有限域元素向量,
Figure FDA0002919714990000034
为直接对接收符号向量yj逐比特硬判决得到的初始硬判决值向量,xb
Figure FDA0002919714990000035
表达式分别为xb=(xb,0,xb,1,...,xb,m,...,xb,r-1)和
Figure FDA0002919714990000036
xb,0,xb,1,...,xb,m,...,xb,r-1均为有限域元素向量xb中的元素,
Figure FDA0002919714990000041
均为初始硬判决值向量
Figure FDA0002919714990000042
中的元素,LLR(xb)为有限域元素向量xb对应的对数似然比,XOR为异或运算,δ2为噪声方差;
步骤32:按照对数似然比的值,分别对每个原始置信度向量中的元素进行升序排列,并分别对每个升序排列后的原始置信度向量依次进行计算优化和存储优化,得到每个接收符号向量一一对应的优化置信度向量;
计算第j个接收符号向量对应的优化置信度向量的第二公式为:
Figure FDA0002919714990000043
其中,L′j为第j个接收符号向量yj对应的优化置信度向量,L′j,0,L′j,1,...,L′j,b,...,L′j,q-1均为接收符号向量yj对应的优化置信度向量中的优化置信度,nl代表GNSS系统分别对每个优化置信度向量的存储长度,
Figure FDA0002919714990000044
为所述伽罗华域中的第nl-1个有限域元素向量,
Figure FDA0002919714990000045
为有限域元素向量
Figure FDA0002919714990000046
中的第m个元素,LLR′(xb)为有限域元素向量xb对应的优化对数似然比,Lj,offset为第一LLR扩展值,
Figure FDA0002919714990000047
为有限域元素向量
Figure FDA0002919714990000048
对应的优化对数似然比,offset_value为第一预设LLR偏移值;
步骤33:根据所有接收符号向量的优化置信度向量,得到优化置信度向量序列。
4.根据权利要求3所述的GNSS系统中改进的多进制LDPC译码方法,其特征在于,在所述步骤4中,采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,具体包括以下步骤:
步骤41:对于任一更新变量节点VNj,获取当前迭代次数itr以及在当前迭代次数itr下与更新变量节点VNj相连的所有检验节点传递的传播置信度向量;并根据所述校验矩阵和更新变量节点VNj接收到的所有传播置信度向量,计算得到更新变量节点VNj对应的第一求和结果向量;
计算更新变量节点VNj对应的第一求和结果向量的第三公式为:
Figure FDA0002919714990000051
其中,Tmpj,i为更新变量节点VNj对应的第一求和结果向量,f为更新变量节点VNj对应的行序号集合中的一个行序号,代表校验节点CNf与更新变量节点VNj相连;C2Vf,j为校验节点CNf传递给更新变量节点VNj的传播置信度向量,hf,j为所述校验矩阵中第f行第j列的元素,
Figure FDA0002919714990000052
为hf,j的逆元;
步骤42:将更新变量节点VNj对应的第一求和结果向量与第j个接收符号向量对应的优化置信度向量进行求和,得到更新变量节点VNj对应的第二求和结果向量;并判断更新变量节点VNj对应的第一求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素是否完全一一对应相同,若是,则执行步骤43;若否,则依次执行步骤44至步骤46;
步骤43:根据更新变量节点VNj对应的第二求和结果向量,计算得到在当前迭代次数下更新变量节点VNj传递给每个相连的校验节点的第一目标置信度向量,并根据所有第一目标置信度向量得到在当前迭代次数下更新变量节点VNj传递给相连的校验节点的第一目标置信度向量序列;
计算在当前迭代次数下更新变量节点VNj传递给相连的校验节点CNi的第一目标置信度向量的第四公式为:
Figure FDA0002919714990000053
其中,V2Cj,i为在当前迭代次数下更新变量节点VNj传递给相连的校验节点CNi的第一目标置信度向量,SUMj为更新变量节点VNj对应的第二求和结果向量;
Figure FDA0002919714990000054
代表将SUMj中的元素按照LLR值的大小进行升序排列后,并在排列后的前端取nm个互不相同的元素的操作运算;nm为预设截取长度,且满足nm≤nl;hi,j为所述校验矩阵中第i行第j列的元素;
步骤44:当更新变量节点VNj对应的第一求和结果向量中的第k1个有限域元素不存在于第j个接收符号向量对应的优化置信度向量中,则根据所述第一LLR扩展值,对更新变量节点VNj对应的第二求和结果向量中与第k1个有限域元素所对应的LLR值进行扩展;和/或,当第j个接收符号向量对应的优化置信度向量中的第k2个有限域元素不存在于更新变量节点VNj对应的第一求和结果向量中,则根据更新变量节点VNj对应的第一求和结果向量中与第nm个有限域元素所对应的LLR值以及第二预设LLR偏移值,对更新变量节点VNj对应的第二求和结果向量中与第k2个有限域元素所对应的LLR值进行扩展;
步骤45:分别遍历更新变量节点VNj对应的第一求和结果向量和第j个接收符号向量对应的优化置信度向量中的每个有限域元素,按照所述步骤44的方法进行扩展,直至更新变量节点VNj对应的第一求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素均一一对应相同,得到更新变量节点VNj对应的第二求和结果向量所对应的第一目标扩展求和向量;
步骤46:根据更新变量节点VNj对应的第一目标扩展求和向量,计算得到在当前迭代次数下更新变量节点VNj传递给每个相连的校验节点的第一目标置信度向量,并根据所有第一目标置信度向量得到在当前迭代次数下更新变量节点VNj传递给相连的校验节点的第一目标置信度向量序列;
计算在当前迭代次数下更新变量节点VNj传递给相连的校验节点CNi的第一目标置信度向量的第五公式为:
Figure FDA0002919714990000061
其中,
Figure FDA0002919714990000062
为更新变量节点VNj对应的第二求和结果向量所对应的第一目标扩展求和向量,
Figure FDA0002919714990000063
代表将
Figure FDA0002919714990000064
中的元素按照LLR值的大小进行升序排列后,并在排列后的前端取nm个互不相同的元素的操作运算。
5.根据权利要求4所述的GNSS系统中改进的多进制LDPC译码方法,其特征在于,所述步骤5具体包括以下步骤:
步骤51:对于任一更新变量节点VNj,按照所述步骤41同样的方法,计算得到更新变量节点VNj对应的第三求和结果向量;
计算更新变量节点VNj对应的第三求和结果向量的第六公式为:
Figure FDA0002919714990000065
其中,Tmp′j,i为更新变量节点VNj对应的第三求和结果向量;
步骤52:按照所述步骤42同样的方法,得到更新变量节点VNj对应的第四求和结果向量;并判断更新变量节点VNj对应的第三求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素是否一一对应相同,若是,则执行步骤53后再依次执行步骤56至步骤58;若否,则依次执行步骤54至步骤55后再依次执行步骤56至步骤58;
步骤53:根据更新变量节点VNj对应的第四求和结果向量,计算得到更新变量节点VNj在当前迭代次数下的迭代硬判决值;
计算更新变量节点VNj在当前迭代次数下的迭代硬判决值的第七公式为:
Figure FDA0002919714990000071
其中,
Figure FDA0002919714990000072
为更新变量节点VNj在当前迭代次数下的迭代硬判决值,sum′j为更新变量节点VNj对应的第四求和结果向量,argmin(·)为取最小值的自变量函数;
步骤54:分别遍历更新变量节点VNj对应的第三求和结果向量和第j个接收符号向量对应的优化置信度向量中的每个有限域元素,按照所述步骤44同样的方法进行扩展,直至更新变量节点VNj对应的第三求和结果向量与第j个接收符号向量对应的优化置信度向量中的有限域元素均一一对应相同,得到更新变量节点VNj对应的第四求和结果向量所对应的第二目标扩展求和向量;
步骤55:根据更新变量节点VNj对应的第二目标扩展求和向量,计算得到更新变量节点VNj在当前迭代次数下的迭代硬判决值;
计算更新变量节点VNj在当前迭代次数下的迭代硬判决值的第八公式为:
Figure FDA0002919714990000073
其中,
Figure FDA0002919714990000074
为更新变量节点VNj在当前迭代次数下的迭代硬判决值,
Figure FDA0002919714990000075
为更新变量节点VNj对应的第二目标扩展求和向量;
步骤56:遍历所述校验矩阵中每个更新变量节点,计算得到每个更新变量节点在当前迭代次数下的迭代硬判决值;并根据所有迭代硬判决值得到当前迭代次数下的迭代硬判决值序列;
步骤57:对于当前迭代次数itr,根据所述校验矩阵和当前迭代次数itr下的迭代硬判决值序列,计算得到当前迭代次数itr下的实时校验和;
步骤58:将当前迭代次数itr下的实时校验和作为所述目标校验和代入所述译码成功判据中,判断所述目标校验和是否满足所述译码成功判据,若是,则判定在当前迭代次数itr下的译码成功,并将当前迭代次数itr下的迭代判决值序列作为译码结果输出并终止译码;若否,则依次执行所述步骤6至所述步骤7。
6.根据权利要求5所述的GNSS系统中改进的多进制LDPC译码方法,其特征在于,在所述步骤6中,采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点接收到的在当前迭代次数下的第一目标置信度向量序列,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列,具体包括以下步骤:
步骤61:对于任一更新校验节点CNi,根据所述校验矩阵和更新校验节点CNi接收到的所有第一目标置信度向量,计算得到在当前迭代次数下更新校验节点CNi对应的第五求和结果向量;
计算在当前迭代次数下更新校验节点CNi对应的第五求和结果向量的第九公式为:
Figure FDA0002919714990000081
其中,Totali,j为更新校验节点CNi对应的第五求和结果向量,r为更新校验节点CNi对应的列序号集合中的一个列序号,代表更新变量节点VNr与更新校验节点CNi相连;V2Cr,i为更新变量节点VNr传递给更新校验节点CNi的第一目标置信度向量;
Figure FDA0002919714990000082
代表将∑V2Cr,i中的元素按照LLR值的大小进行升序排列后,并在排列后的前端取nm个互不相同的元素的操作运算;
步骤62:按照所述预设截取长度,根据在当前迭代次数下更新校验节点CNi对应的第五求和结果向量构建大小均为nm×nm置信度矩阵和有限域元素矩阵,按照预设搜索长度构建长度为nb的排序器S;
所述置信度矩阵和所述有限域元素矩阵的表达式分别如下:
Figure FDA0002919714990000083
其中,M为所述置信度矩阵,MS为所述置信度矩阵对应的所述有限域元素矩阵,M[d,ρ]为所述置信度矩阵中的一个LLR向量,MS[d,ρ]为所述有限域元素矩阵中与置信度M[d,ρ]对应的有限域元素向量,(US,U)和(QS,Q)均为输入置信度向量;(VS,V)为在当前迭代次数下更新校验节点CNi对应的第五求和结果向量中,由输入置信度向量(US,U)与(QS,Q)求和后的输出置信度向量;U和US分别为输入置信度向量(US,U)中的LLR向量和对应的有限域元素向量,Q和QS分别为输入置信度向量(QS,Q)中的LLR向量和对应的有限域元素向量,V和VS分别为输出置信度向量(VS,V)中的LLR向量和对应的有限域元素向量,U、Q和V均为升序排列且长度为nm;U[d]和US[d]分别为LLR向量U和有限域元素向量US中的第d个元素,Q[ρ]和QS[ρ]分别为LLR向量Q和有限域元素向量QS中的第ρ个元素,ε为当前元素序号,V[ε]为LLR向量V中的第ε个元素,VS[ε]为有限域元素向量VS中的第ε个元素,
Figure FDA0002919714990000091
代表有限域加法运算;
步骤63:将所述置信度矩阵第1列的前nb/2中元素以及第nb/2+1行的前nb/2个元素均存入所述排序器S,使得所述排序器S满足目标关系式;
所述目标关系式为:
Figure FDA0002919714990000092
其中,S[ζ]为所述排序器S中的第ζ个元素;
步骤64:令当前元素序号ε为0,获取所述排序器S中的最小LLR向量,并判断最小LLR向量对应的最小有限域元素向量是否存在于输出置信度向量(VS,V)对应的有限域元素向量中,若否,则将输出置信度向量中对应的LLR向量替换为最小LLR向量,并将输出置信度向量中对应的有限域元素向量替换为最小LLR向量对应的最小有限域元素向量后,令当前元素序号ε加1,执行步骤65;若是,不执行任何操作,直接执行所述步骤65;
步骤65:确定最小LLR向量在所述排序器S中的目标位置,根据目标位置和所述置信度矩阵中LLR向量对所述排序器中的最小LLR向量进行更新,得到更新最小LLR向量,并返回所述步骤64,直至当前元素序号ε达到所述预设截取长度;
步骤66:按照所述步骤62至所述步骤65的方法,得到更新校验节点CNi对应的第五求和结果向量所对应的优化求和结果向量;并将更新校验节点CNi对应的优化求和结果向量作为当前迭代次数下更新校验节点CNi传递给相连的每个更新变量节点的第二目标置信度向量;
在当前迭代次数下更新校验节点CNi传递给相连的每个更新变量节点的第二目标置信度向量的第十公式为:
Figure FDA0002919714990000093
其中,C2Vi,j为当前迭代次数下更新校验节点CNi传递给相连的每个更新变量节点的第二目标置信度向量,
Figure FDA0002919714990000094
为更新校验节点CNi对应的第五求和结果向量所对应的优化求和结果向量;
步骤67:根据更新校验节点CNi传递给相连的所有更新变量节点的第二目标置信度向量,得到当前迭代次数下更新校验节点CNi传递给相连的更新变量节点的第二目标置信度向量序列;
步骤68:遍历所述校验矩阵中每个更新校验节点,按照所述步骤61至所述步骤67的方法,得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列。
7.根据权利要求6所述的GNSS系统中改进的多进制LDPC译码方法,其特征在于,在所述步骤65中,根据目标位置和所述置信度矩阵中LLR向量对所述排序器中的最小LLR向量进行更新,得到更新最小LLR向量,具体为:
当目标位置落在所述排序器S的前nb/2个元素中时,将所述置信度矩阵中位于最小LLR向量右边相邻的一个LLR向量作为更新最小LLR向量;
当目标位置落在所述排序器S的后nb/2个元素中时,将所述置信度矩阵中位于最小LLR向量下边相邻的一个LLR向量作为更新最小LLR向量。
8.一种GNSS系统中改进的多进制LDPC译码系统,其特征在于,应用于权利要求1至7任一项所述的GNSS系统中改进的多进制LDPC译码方法中,包括信号获取模块、初始化译码模块、原始置信度优化模块、迭代译码模块、第一优化求和模块、第二优化求和模块和译码输出模块;
所述信号获取模块,用于获取码元序列对应的校验矩阵和接收符号序列;
所述初始化译码模块,用于对所述接收符号序列进行初始硬判决,得到初始硬判决值序列;根据所述校验矩阵和所述初始硬判决值序列判断是否初始化译码成功;
所述译码输出模块,用于当所述初始化译码模块判定初始化译码成功时,将所述初始硬判决值序列作为译码输出并终止译码;
所述原始置信度优化模块,用于当所述初始化译码模块判定初始化译码失败时,根据所述接收符号序列计算得到原始置信度向量序列,并对所述原始置信度向量序列进行优化,得到优化置信度向量序列;
所述迭代译码模块,用于获取当前迭代次数,基于EMS译码方法,分别对所述校验矩阵中的每个变量节点进行更新,得到每个变量节点对应的更新变量节点;
所述第一优化求和模块,用于采用第一优化求和计算方法,根据所述迭代译码参数、所述校验矩阵和所述优化置信度向量序列,分别计算得到在当前迭代次数下每个更新变量节点传递给相连的校验节点的第一目标置信度向量序列,并分别将每个第一目标置信度向量序列中的每个第一目标置信度向量传递到对应相连的每个校验节点中;
所述第一优化求和模块,还用于采用所述第一优化求和计算方法,根据所述校验矩阵和所述优化置信度向量序列,计算得到所有更新变量节点在当前迭代次数下的迭代硬判决值序列;
所述迭代译码模块,还用于根据所述校验矩阵和当前迭代次数下的迭代硬判决值序列,判断在当前迭代次数下的译码是否成功;
所述译码输出模块,还用于当所述迭代译码模块判定在当前迭代次数下的译码成功时,将当前迭代次数下的迭代硬判决值序列作为译码结果输出并终止译码;
所述第二优化求和模块,用于当所述迭代译码模块判定在当前迭代次数下的译码失败时,基于所述EMS译码方法,根据所述校验矩阵中每个校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别对所述校验矩阵中的每个校验节点进行更新,得到每个校验节点对应的更新校验节点;并采用第二优化求和计算方法,根据所述校验矩阵以及每个更新校验节点在当前迭代次数下接收到的所有第一目标置信度向量,分别计算得到在当前迭代次数下每个更新校验节点传递给相连的更新变量节点的第二目标置信度向量序列;
所述迭代译码模块,还用于令当前迭代次数加1,并判断加1后的当前迭代次数是否达到所述迭代译码参数中的最大迭代次数,若是,判定译码失败并终止译码;若否,继续对每个更新变量节点进行更新,直至译码成功或当前迭代次数达到所述最大迭代次数;
其中,所述校验矩阵中的每一行对应一个校验节点,所述校验矩阵中的每一列对应一个变量节点。
9.一种GNSS系统中改进的多进制LDPC译码系统,其特征在于,包括处理器、存储器和存储在所述存储器中且可运行在所述处理器上的计算机程序,所述计算机程序运行时实现如权利要求1至7任一项权利要求所述的方法步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质包括:至少一个指令,在所述指令被执行时实现如权利要求1至7任一项所述的方法步骤。
CN202110112786.6A 2021-01-27 2021-01-27 一种gnss系统中改进的多进制ldpc译码方法、装置和介质 Active CN112953553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110112786.6A CN112953553B (zh) 2021-01-27 2021-01-27 一种gnss系统中改进的多进制ldpc译码方法、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110112786.6A CN112953553B (zh) 2021-01-27 2021-01-27 一种gnss系统中改进的多进制ldpc译码方法、装置和介质

Publications (2)

Publication Number Publication Date
CN112953553A true CN112953553A (zh) 2021-06-11
CN112953553B CN112953553B (zh) 2023-04-07

Family

ID=76238064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110112786.6A Active CN112953553B (zh) 2021-01-27 2021-01-27 一种gnss系统中改进的多进制ldpc译码方法、装置和介质

Country Status (1)

Country Link
CN (1) CN112953553B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114142870A (zh) * 2021-11-17 2022-03-04 北京得瑞领新科技有限公司 Ldpc码的译码方法、装置、存储介质及ssd设备
WO2024065978A1 (zh) * 2022-09-27 2024-04-04 北京邮电大学 基于校验置信度的ldpc译码方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US20100017676A1 (en) * 2008-07-15 2010-01-21 The Royal Institution For The Advancement Of Learning/Mcgill University Decoding of linear codes with parity check matrix
US20130212447A1 (en) * 2012-02-09 2013-08-15 Lsi Corporation Non-Binary LDPC Decoder with Low Latency Scheduling
WO2017113507A1 (zh) * 2015-12-29 2017-07-06 北京航空航天大学 一种集合译码方法和集合译码器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US20100017676A1 (en) * 2008-07-15 2010-01-21 The Royal Institution For The Advancement Of Learning/Mcgill University Decoding of linear codes with parity check matrix
US20130212447A1 (en) * 2012-02-09 2013-08-15 Lsi Corporation Non-Binary LDPC Decoder with Low Latency Scheduling
WO2017113507A1 (zh) * 2015-12-29 2017-07-06 北京航空航天大学 一种集合译码方法和集合译码器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HUA LI: "An Efficient Scheduling Scheme for Layered Belief Propagation Decoding of Regular LDPC Codes", 《2016 8TH INTERNATIONAL CONGRESS ON ULTRA MODERN TELECOMMUNICATIONS AND CONTROL SYSTEMS AND WORKSHOPS (ICUMT)》 *
范亚楠: "交叠的分层置信度传播LDPC译码算法", 《西安电子科技大学学报(自然科学版)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114142870A (zh) * 2021-11-17 2022-03-04 北京得瑞领新科技有限公司 Ldpc码的译码方法、装置、存储介质及ssd设备
WO2024065978A1 (zh) * 2022-09-27 2024-04-04 北京邮电大学 基于校验置信度的ldpc译码方法和装置

Also Published As

Publication number Publication date
CN112953553B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
JP5177767B2 (ja) ガロア体gf(q)におけるldpc符号を復号する方法および機器
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
JP3801211B2 (ja) テイルバイティング格子コードの最適ソフト出力復号器
US6751770B2 (en) Decoder for iterative decoding of binary cyclic codes
JP4627317B2 (ja) 通信装置および復号方法
US20090172493A1 (en) Method and device for decoding low density parity check code
US20050210366A1 (en) Decoding unit and preprocessing unit implemented according to low density parity check code system
CN112953554B (zh) 一种基于分层置信度传播的ldpc译码方法、系统和介质
CN102412847A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN112953553B (zh) 一种gnss系统中改进的多进制ldpc译码方法、装置和介质
CN112865812B (zh) 一种多元ldpc译码方法、计算机存储介质及计算机
CN108183713A (zh) 基于改进型最小和算法的ldpc译码器及其译码方法
CN111565051B (zh) 一种用于ldpc码的自学习归一化偏置最小和译码方法
US9614548B1 (en) Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
US8046657B2 (en) Decoding method and apparatus
CN107026655B (zh) 用于对码字进行译码的方法及译码器
US7900126B2 (en) Systems and methods for reduced complexity LDPC decoding
CN100593911C (zh) 一种对通信系统中接收到的层数据进行解码的方法和系统
CN114499547A (zh) 一种基于Chase-Pyndiah算法的Zipper码自适应软判决译码方法
CN113285723B (zh) 一种ldpc译码过程中校验节点更新方法、系统及存储介质
CN107659316B (zh) 一种多元LDPC的低复杂度Min-Max译码方法
KR102635444B1 (ko) 비이진 저밀도 패리티 검사 코드 디코더, 그것의 동작방법 및 메모리 시스템
CN113872609B (zh) 一种部分循环冗余校验辅助的自适应置信传播译码方法
CN113271109A (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
GR01 Patent grant
GR01 Patent grant