CN113055023A - 一种高能效高速并行ldpc编码方法及编码器 - Google Patents

一种高能效高速并行ldpc编码方法及编码器 Download PDF

Info

Publication number
CN113055023A
CN113055023A CN202110229442.3A CN202110229442A CN113055023A CN 113055023 A CN113055023 A CN 113055023A CN 202110229442 A CN202110229442 A CN 202110229442A CN 113055023 A CN113055023 A CN 113055023A
Authority
CN
China
Prior art keywords
matrix
bit
cyclic shift
information
information sequence
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
CN202110229442.3A
Other languages
English (en)
Other versions
CN113055023B (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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN202110229442.3A priority Critical patent/CN113055023B/zh
Publication of CN113055023A publication Critical patent/CN113055023A/zh
Application granted granted Critical
Publication of CN113055023B publication Critical patent/CN113055023B/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
    • 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
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

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码循环移位子矩阵大小分为多段,并转换为全并行数据模式;对分段信息序列进行循环移位;根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;将多段选择后的信息比特进行合并;采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;将串行校验比特转换为全并行数据模式;输出编码结果。本发明根据生成矩阵中非零元素位置,对信息序列先进行比特选择,然后再进行编码计算,能够有效避免无效信息比特的运算,减少编码计算所需的运算数,从而显著降低编码器的整体硬件资源消耗。

Description

一种高能效高速并行LDPC编码方法及编码器
技术领域
本发明涉及卫星超高速信息传输、信道编码技术领域,特别涉及一种高能效高速并行LDPC编码方法及编码器。
背景技术
随着天基信息港、卫星互联网、分布式星群等技术的快速发展,星间、星地数据传输的需求急剧上升。空间通信载荷资源受限与高速、大容量通信需求直接的矛盾日益突出,如何在平台资源、体积、功耗严格受约束的前提下开展高性能信号处理理论和实现技术研究,具有重要的应用价值。
低密度奇偶校验(LDPC,low density parity check)码具有可逼近香农限的纠错能力,是保障通信可靠性的重要手段,在深空探测、卫星通信等领域得到了广泛应用。借助校验矩阵的稀疏特性,LDPC译码可得到高效的实现,但其生成矩阵往往没有规律性,导致编码复杂度很高。准循环LDPC码作为一种结构化的LDPC码,较好地解决了这一问题。其校验矩阵和生成矩阵由大小相同的循环移位子矩阵构成,便于硬件实现。目前,国际空间数据系统咨询委员会(CCSDS,consultative committee for space date system)制定的深空通信和近地通信标准中均采用此类LDPC码。
为设计符合超高速通信需求的LDPC编码器,需采用高并行度的实现方法。准循环LDPC(N,K)码的生成矩阵可表示为G=[I|P]的形式,其中I表示单位矩阵,由k×k个单位矩阵Im×m组成;部分校验矩阵P由m×m维的循环矩阵Bij(1≤i≤k,1≤j≤n-k)组成;因此码字长度为N=n·m,其中信息位长度为K=k·m。编码过程为C1×N=u1×K·GK×N,利用子矩阵的结构特性,可将信息序列分段然后采用移位寄存器累加单元实现多路并行编码。但由于编码矩阵P的非稀疏特性,并行编码过程中存在硬件资源占用多、功耗大等问题。
现有技术中,国内Li等提出了一种生成矩阵的推导公式,由此设计出基于移位寄存器累加(shift register adder accumulator,SRAA)方法的准循环LDPC码的编码器架构,可实现结构简单、低复杂度的编码器。但是,串行SRAA编码器处理时延大、吞吐量低,不适用于高速设计;并行SRAA编码器使用的寄存器太大,消耗资源多,应用受限。张仲明等人针对并行SRAA结构组帧延时大的问题提出了改进,不需一帧数据完全采集到就可进行编码,但是编码器受限于LDPC码准循环矩阵尺寸的整数因子分解情况,当阶数为素数时,就不可以使用这种方法进行编码。以上编码方案都是基于SRAA编码方法及其改进。因此,研究设计一种低复杂度、高能效的LDPC编码方法具有重要的应用价值。
发明内容
本发明的目的在于提供一种高能效高速并行LDPC编码方法及编码器,在信息序列与生成矩阵的相乘运算过程中,根据生成矩阵P矩阵部分非零元素的位置选择出相应的信息比特进行处理,从而达到降低编码实现复杂度的目的。
为解决上述技术问题,本发明的实施例提供如下方案:
一方面,提供了一种高能效高速并行LDPC编码方法,包括以下步骤:
将输入的串行或并行信息序列,按照准循环LDPC码循环移位子矩阵大小分为多段,并转换为全并行数据模式;
对分段信息序列进行循环移位;
根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;
将多段选择后的信息比特进行合并;
采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;
将串行校验比特转换为全并行数据模式;
输出编码结果。
优选地,所述编码方法具体包括:
将输入的信息序列按照循环移位子矩阵的大小分成k段u={u1,u2,…,uk},其中ui={u(i-1)m+1,u(i-1)m+2,…,uim},1≤i≤k;
将生成矩阵中的P矩阵划分为循环移位子矩阵Bij(1≤i≤k,1≤j≤n-k),校验位分段表示为:V={V1,V2,…,Vn-k}且Vj={v(j-1)m+1,v(j-1)m+2,…,vjm},其计算过程表示为:
Figure BDA0002958442810000021
重复上述过程得到所有校验向量Vj(j=1,2,…,n-k),则编码输出为{u,V1,V2,…,Vn-k}。
优选地,所述校验向量计算过程包括:
逐项计算ui·Bij:
取Bij矩阵中的第一列
Figure BDA0002958442810000031
从这个m×1向量中找出bij非零元素的位置集合
Figure BDA0002958442810000035
其中βl(1≤l≤dij)表示第l个非零元素的位置,dij表示bij中非零元素的数量;
根据位置集合λij选择ui中的有效比特{uil),βl∈λij},对其模二累加求和得到
Figure BDA0002958442810000032
等效于计算ui·bij
对第i段信息序列ui进行循环移位,得到
Figure BDA0002958442810000033
共计m-1个信息向量,利用上述步骤得到hij(1),hij(2),…,hij(m-1),并得到hij={hij(0),hij(1),…,hij(m-1)}=ui·Bij
计算所有的hij(i=1,2,…,k),对向量hij进行模二累加,即得到相应的校验向量
Figure BDA0002958442810000034
一方面,提供了一种高能效高速并行LDPC编码器,包括:
数据预处理模块,用于将输入的串行或并行信息序列,按照生成矩阵中循环移位子矩阵大小分为多段,并转换为全并行数据模式;
多个循环移位模块,用于对分段信息序列进行循环移位;
多个比特选择模块,用于根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;
多个比特合并模块,用于将多个比特选择模块的输出进行合并;
流水累加模块,用于采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;
串并转换模块,用于将串行校验比特转换为全并行数据模式;
编码输出模块,用于输出编码结果。
优选地,所述数据预处理模块具体用于:
将输入的串行或并行信息序列,按照循环移位子矩阵大小分为k段u={u1,u2,…,uk},其中ui={u(i-1)m+1,u(i-1)m+2,…,uim},1≤i≤k,并转化为全并行数据模式,每段数据均为m比特并行数据流。
优选地,所述多个循环移位模块具体用于:
将分段后的信息序列u={u1,u2,…,uk}分别送到k个循环移位网络中,其中,仅分段信息序列进入循环移位网络的第一个时钟周期不进行移位操作,接下来的m-1个时钟周期信息序列依次右移一位,在m个时钟周期内每段信息序列ui均得到
Figure BDA0002958442810000041
共计m个移位之后的信息向量。
优选地,将校验位分段为V={V1,V2,…,Vn-k}且Vj={v(j-1)m+1,v(j-1)m+2,…,vjm},同时计算n-k段校验位;
所述多个比特选择模块具体用于:
将比特选择模块分为(n-k)组,每组比特选择模块分别根据相应k个循环移位子矩阵的首列非零元素对k段信息序列进行比特选择,共需要k(n-k)个比特选择模块;
将循环移位子矩阵Bij的第一列非零元素位置集合
Figure BDA0002958442810000047
分别加载到对应的比特选择模块中,非零元素位置寄存器S也初始化为相同的值;将上一步骤中k个循环移位网络的输出
Figure BDA0002958442810000042
作为每组比特选择模块的输入,根据非零元素寄存器S选择
Figure BDA0002958442810000043
中的有效比特,每个比特选择模块在m个时钟周期内均得到
Figure BDA0002958442810000044
共计m个信息向量,向量长度为dij,分别对应第i行第j列循环移位子矩阵非零元素的长度。
优选地,所述多个比特合并模块具体用于:
每个比特合并模块用于将一组比特选择模块的k个输出进行拼接,P矩阵是一个稠密矩阵,密度为0.5,每段信息序列经过比特选择模块之后的输出为m/2,经过比特合并模块后的长度约为k·m/2,共需要(n-k)个比特合并模块。
优选地,所述流水累加模块具体用于:
采用流水线处理方式将合并后的信息比特进行累加,得到校验位Vj(1≤j≤n-k);编码中采用模二加法,共需要
Figure BDA0002958442810000045
个异或门,完成累加需要
Figure BDA0002958442810000046
个处理时钟。
优选地,所述编码输出模块具体用于:将信息位和校验位组合输出。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明针对准循环LDPC的编码过程,生成矩阵的非稀疏性导致信息序列与其直接相乘复杂度较高的问题,提出了一种简化实现方法,根据生成矩阵中非零元素位置,对信息序列先进行比特选择,然后再进行编码计算,能够有效避免无效信息比特的运算,减少编码计算所需的运算数,将比特异或运算所需的逻辑电路减少至原来的一半,从而显著降低编码器的整体硬件资源消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种高能效高速并行LDPC编码方法的流程图;
图2是本发明实施例提供的一种高能效高速并行LDPC编码器的整体架构示意图;
图3是本发明实施例提供的循环移位模块和比特选择模块的示意图;
图4是本发明实施例提供的流水累加模块的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明的实施例提供了一种高能效高速并行LDPC编码方法,如图1所示,所述方法包括以下步骤:
将输入的串行或并行信息序列,按照准循环LDPC码循环移位子矩阵大小分为多段,并转换为全并行数据模式;
对分段信息序列进行循环移位;
根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;
将多段选择后的信息比特进行合并;
采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;
将串行校验比特转换为全并行数据模式;
输出编码结果。
本发明方法根据生成矩阵中非零元素位置,对信息序列先进行比特选择,然后再进行编码计算,能够有效避免无效信息比特的运算,减少编码计算的复杂度。
进一步地,所述编码方法具体包括:
将输入的信息序列按照循环移位子矩阵的大小分成k段u={u1,u2,…,uk},其中ui={u(i-1)m+1,u(i-1)m+2,…,uim},1≤i≤k;
将生成矩阵中的P矩阵划分为循环移位子矩阵Bij(1≤i≤k,1≤j≤n-k),校验位分段表示为:V={V1,V2,…,Vn-k}且Vj={v(j-1)m+1,v(j-1)m+2,…,vjm},其计算过程表示为:
Figure BDA0002958442810000061
重复上述过程得到所有校验向量Vj(j=1,2,…,n-k),则编码输出为{u,V1,V2,…,Vn-k}。
其中,所述校验向量计算过程包括:
逐项计算ui·Bij:
取Bij矩阵中的第一列
Figure BDA0002958442810000062
从这个m×1向量中找出bij非零元素的位置集合
Figure BDA0002958442810000067
其中βl(1≤l≤dij)表示第l个非零元素的位置,dij表示bij中非零元素的数量;
根据位置集合λij选择ui中的有效比特{uil),βl∈λij},对其模二累加求和得到
Figure BDA0002958442810000063
等效于计算ui·bij
对第i段信息序列ui进行循环移位,得到
Figure BDA0002958442810000064
共计m-1个信息向量,利用上述步骤得到hij(1),hij(2),…,hij(m-1),并得到hij={hij(0),hij(1),…,hij(m-1)}=ui·Bij
计算所有的hij(i=1,2,…,k),对向量hij进行模二累加,即得到相应的校验向量
Figure BDA0002958442810000065
下面以CCSDS近地空间通信标准中的LDPC(7154,8176)码为例,对提出的LDPC编码方法的实现过程进行详细说明。
所述LDPC编码方法的具体实施步骤如下:
步骤1:本实施例中的LDPC码生成矩阵
Figure BDA0002958442810000066
由14×16个511×511的循环移位子矩阵组成,其中I表示单位矩阵,Bij(1≤i≤14,1≤j≤2)为非稀疏的循环移位矩阵,校验位的计算是通过信息序列u与G的后2列相乘得到的。根据分块计算的原则,可先将信息序列u分成14段ui={u(i-1)×511+1,u(i-1)×511+2,…,ui×511};
步骤2:生成矩阵的P矩阵部分Bij(1≤i≤14,1≤j≤2)为循环移位矩阵,
Figure BDA0002958442810000071
为Blj的首列元素。校验位可以分段表示为V={V1,V2}且Vj={v(j-1)×511+1,v(j-1)×511+2,…,vj×511},校验位的计算过程可以表示为
Figure BDA0002958442810000072
逐项计算ul·Blj,具体包括以下步骤:
步骤2.1:取Blj矩阵中的第一列
Figure BDA0002958442810000073
从这个511×1向量中找出bij非零元素的位置集合
Figure BDA0002958442810000077
其中βl(1≤l≤dij)表示第l个非零元素的位置,dij表示bij中非零元素的数量;
步骤2.2:根据位置集合λij选择ui中的有效比特{uil),βl∈λij},对其模2累加求和即可得到
Figure BDA0002958442810000074
等效于计算ui·bij
步骤2.3:对第i段信息序列ui进行循环移位,得到
Figure BDA0002958442810000075
共计510个信息向量,利用步骤2.1~2.2可以得到hij(1),hij(2),…,hij(510);于是,得到hij={hij(0),hij(1),…,hij(510)}=ui·Bij
步骤2.4:根据步骤2.1~2.3计算得到所有的hij(i=1,2,…,14,j=1,2),对向量hij进行模2累加,即可得到相应的校验向量
Figure BDA0002958442810000076
步骤3:重复步骤2即可得到所有的校验向量Vj(j=1,2),于是编码输出为{u,V1,V2}。
实施例二
相应地,本发明还提供了一种基于上述高能效高速并行LDPC编码方法的LDPC编码器,如图2所示,所述编码器包括:
数据预处理模块,用于将输入的串行或并行信息序列,按照生成矩阵中循环移位子矩阵大小分为多段,并转换为全并行数据模式;
多个循环移位模块,用于对分段信息序列进行循环移位;
多个比特选择模块,用于根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;
多个比特合并模块,用于将多个比特选择模块的输出进行合并;
流水累加模块,用于采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;
串并转换模块,用于将串行校验比特转换为全并行数据模式;
编码输出模块,用于输出编码结果;具体地,用于将信息位和校验位组合输出。
进一步地,所述数据预处理模块具体用于:
将输入的串行或并行信息序列,按照循环移位子矩阵大小分为k段u={u1,u2,…,uk},其中ui={u(i-1)m+1,u(i-1)m+2,…,uim},1≤i≤k,并转化为全并行数据模式,每段数据均为m比特并行数据流。
进一步地,如图3所示,所述多个循环移位模块具体用于:
将分段后的信息序列u={u1,u2,…,uk}分别送到k个循环移位网络中,其中,仅分段信息序列进入循环移位网络的第一个时钟周期不进行移位操作,接下来的m-1个时钟周期信息序列依次右移一位,在m个时钟周期内每段信息序列ui均得到
Figure BDA0002958442810000081
共计m个移位之后的信息向量。
进一步地,将校验位分段为V={V1,V2,…,Vn-k}且Vj={v(j-1)m+1,v(j-1)m+2,…,vjm},同时计算n-k段校验位。
所述多个比特选择模块具体用于:
将比特选择模块分为(n-k)组,每组比特选择模块分别根据相应k个循环移位子矩阵的首列非零元素对k段信息序列进行比特选择,共需要k(n-k)个比特选择模块;
将循环移位子矩阵Bij的第一列非零元素位置集合
Figure BDA0002958442810000086
分别加载到对应的比特选择模块中,非零元素位置寄存器S也初始化为相同的值;将上一步骤中k个循环移位网络的输出
Figure BDA0002958442810000082
作为每组比特选择模块的输入,根据非零元素寄存器S选择
Figure BDA0002958442810000083
中的有效比特,每个比特选择模块在m个时钟周期内均得到
Figure BDA0002958442810000084
共计m个信息向量,向量长度为dij,分别对应第i行第j列循环移位子矩阵非零元素的长度。
进一步地,所述多个比特合并模块具体用于:
每个比特合并模块用于将一组比特选择模块的k个输出进行拼接,由于P矩阵是一个稠密矩阵,密度约为0.5,所以每段信息序列经过比特选择模块之后的输出大约为m/2,经过比特合并模块后的长度约为k·m/2,共需要(n-k)个比特合并模块。
进一步地,如图4所示,所述流水累加模块具体用于:
采用流水线处理方式将合并后的信息比特进行累加,得到校验位Vj(1≤j≤n-k);编码中采用模二加法,共需要
Figure BDA0002958442810000085
个异或门,完成累加需要
Figure BDA0002958442810000091
个处理时钟。
本发明的优势在于考虑到信息比特与生成矩阵模二加运算的特性,对传统的信息序列与生成矩阵直接相乘后累加的操作进行了简化,使用比特选择模块来代替信息序列与P矩阵部分直接相乘运算,节约了一半异或门的数量,显著降低了资源消耗。
下面以CCSDS近地空间通信标准中的LDPC(7154,8176)码为例,对提出的LDPC编码方法的实现过程进行详细说明。
所述LDPC编码器,包括数据预处理模块、循环移位模块、比特选择模块、比特合并模块、流水累加模块、串并转换模块和编码输出模块。
所述循环移位模块,用于对分段信息序列ui(1≤i≤14)进行循环移位,进而计算校验位。所述比特选择模块,用于加载生成矩阵P矩阵部分的循环移位子矩阵Bij第一列非零元素的位置,根据非零元素的位置来选择ui中相应位置的信息比特。所述比特合并模块,用于将28个比特选择模块的输出进行合并,送到流水累加模块去进行求和。所述流水累加模块,采用流水线方式将合并后的比特信息进行累加,得到相应的校验比特。所述串并转换模块,将串行校验比特转换为并行数据。所述输出编码模块,用于输出编码的最终码字,包括信息比特向量u和校验向量V。
编码步骤如下:
步骤1.信息位分段。对编码输入数据进行预处理,将信息序列按照循环移位子矩阵大小分为14段u={u1,u2,…,u14},其中ui={u(i-1)×511+1,u(i-1)×511+2,…,ui×511},1≤i≤14,每段数据均为511比特并行数据流。
步骤2.信息位循环移位。将分段后的信息序列u={u1,u2,…,u14}分别送到14个循环移位网络中,有且只有分段信息序列进入循环移位网络的第一个时钟周期不进行移位操作,接下来的510个时钟周期信息序列依次右移一位,在511个时钟周期内每段信息序列ui都可以得到
Figure BDA0002958442810000092
共计511个移位之后的信息向量。
步骤3.信息位比特选择。将校验位分段为V={V1,V2}且Vj={v(j-1)×511+1,v(j-1)×511+2,…,vj×511},本发明中的并行LDPC编码器考虑同时计算2段校验位。
步骤3.1将比特选择模块分成2组,每组包含14个。将Bij矩阵的第一列非零元素位置集合
Figure BDA0002958442810000106
分别加载到对应的比特选择模块中,非零元素位置寄存器S也初始化为相同的值。
步骤3.2将步骤2得到的移位后的信息序列
Figure BDA0002958442810000101
分别送到相应的2组比特选择模块中,根据非零元素寄存器S来选择
Figure BDA0002958442810000102
中的有效比特,每个比特选择模块在511个时钟周期内都可以得到
Figure BDA0002958442810000103
共计511个信息向量,向量长度为dij
步骤4.将比特选择模块的输出进行比特合并,一共需要2个比特合并模块,将每组的14个比特选择模块输出拼接到一起。每一个比特合并模块在511个时钟周期之内可以得到
Figure BDA0002958442810000104
共计511个信息向量,用来计算校验位Vj(1≤j≤2),本实施例中使用的LDPC(7154,8176)码每段信息序列经过比特合并模块之后的长度为3522。
步骤5.流水累加,得到校验位V。流水累加模块采用流水线方式完成累加,编码中采用的都是模二加法,所以一共需要3521个异或门,共需要
Figure BDA0002958442810000105
个处理时钟。
步骤6.编码输出。首先通过串并转换模块将串行校验信息转换为全并行数据模式,然后使用编码输出模块将信息位和校验位组合输出。
综上所述,本发明针对准循环LDPC的编码过程,生成矩阵的非稀疏性导致信息序列与其直接相乘复杂度较高的问题,提出了一种简化实现方法,根据生成矩阵中非零元素位置,对信息序列先进行比特选择,然后再进行编码计算,能够有效避免无效信息比特的运算,减少编码计算所需的运算数,将比特异或运算所需的逻辑电路减少大约50%,从而显著降低编码器的整体硬件资源消耗。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种高能效高速并行LDPC编码方法,其特征在于,包括以下步骤:
将输入的串行或并行信息序列,按照准循环LDPC码循环移位子矩阵大小分为多段,并转换为全并行数据模式;
对分段信息序列进行循环移位;
根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;
将多段选择后的信息比特进行合并;
采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;
将串行校验比特转换为全并行数据模式;
输出编码结果。
2.根据权利要求1所述的高能效高速并行LDPC编码方法,其特征在于,所述编码方法具体包括:
将输入的信息序列按照循环移位子矩阵的大小分成k段u={u1,u2,…,uk},其中ui={u(i-1)m+1,u(i-1)m+2,…,uim},1≤i≤k;
将生成矩阵中的P矩阵划分为循环移位子矩阵Bij(1≤i≤k,1≤j≤n-k),校验位分段表示为:V={V1,V2,…,Vn-k}且Vj={v(j-1)m+1,v(j-1)m+2,…,vjm},其计算过程表示为:
Figure FDA0002958442800000011
重复上述过程得到所有校验向量Vj(j=1,2,…,n-k),则编码输出为{u,V1,V2,…,Vn-k}。
3.根据权利要求2所述的高能效高速并行LDPC编码方法,其特征在于,所述校验向量计算过程包括:
逐项计算ui·Bij:
取Bij矩阵中的第一列
Figure FDA0002958442800000012
从这个m×1向量中找出bij非零元素的位置集合
Figure FDA0002958442800000015
其中βl(1≤l≤dij)表示第l个非零元素的位置,dij表示bij中非零元素的数量;
根据位置集合λij选择ui中的有效比特{uil),βl∈λij},对其模二累加求和得到
Figure FDA0002958442800000013
等效于计算ui·bij
对第i段信息序列ui进行循环移位,得到
Figure FDA0002958442800000014
共计m-1个信息向量,利用上述步骤得到hij(1),hij(2),…,hij(m-1),并得到hij={hij(0),hij(1),…,hij(m-1)}=ui·Bij
计算所有的hij(i=1,2,…,k),对向量hij进行模二累加,即得到相应的校验向量
Figure FDA0002958442800000021
4.一种高能效高速并行LDPC编码器,其特征在于,包括:
数据预处理模块,用于将输入的串行或并行信息序列,按照生成矩阵中循环移位子矩阵大小分为多段,并转换为全并行数据模式;
多个循环移位模块,用于对分段信息序列进行循环移位;
多个比特选择模块,用于根据循环移位子矩阵第一列中非零元素的位置,选择相应位置的信息比特;
多个比特合并模块,用于将多个比特选择模块的输出进行合并;
流水累加模块,用于采用流水线处理方式将合并后的信息比特进行模二累加,得到相应的校验比特;
串并转换模块,用于将串行校验比特转换为全并行数据模式;
编码输出模块,用于输出编码结果。
5.根据权利要求4所述的高能效高速并行LDPC编码器,其特征在于,所述数据预处理模块具体用于:
将输入的串行或并行信息序列,按照循环移位子矩阵大小分为k段u={u1,u2,…,uk},其中ui={u(i-1)m+1,u(i-1)m+2,…,uim},1≤i≤k,并转化为全并行数据模式,每段数据均为m比特并行数据流。
6.根据权利要求5所述的高能效高速并行LDPC编码器,其特征在于,所述多个循环移位模块具体用于:
将分段后的信息序列u={u1,u2,…,uk}分别送到k个循环移位网络中,其中,仅分段信息序列进入循环移位网络的第一个时钟周期不进行移位操作,接下来的m-1个时钟周期信息序列依次右移一位,在m个时钟周期内每段信息序列ui均得到ui z(0≤z≤m-1)共计m个移位之后的信息向量。
7.根据权利要求6所述的高能效高速并行LDPC编码器,其特征在于,将校验位分段为V={V1,V2,…,Vn-k}且Vj={v(j-1)m+1,v(j-1)m+2,…,vjm},同时计算n-k段校验位;
所述多个比特选择模块具体用于:
将比特选择模块分为(n-k)组,每组比特选择模块分别根据相应k个循环移位子矩阵的首列非零元素对k段信息序列进行比特选择,共需要k(n-k)个比特选择模块;
将循环移位子矩阵Bij的第一列非零元素位置集合
Figure FDA0002958442800000036
分别加载到对应的比特选择模块中,非零元素位置寄存器S也初始化为相同的值;将上一步骤中k个循环移位网络的输出
Figure FDA0002958442800000031
作为每组比特选择模块的输入,根据非零元素寄存器S选择
Figure FDA0002958442800000032
中的有效比特,每个比特选择模块在m个时钟周期内均得到
Figure FDA0002958442800000033
共计m个信息向量,向量长度为dij,分别对应第i行第j列循环移位子矩阵非零元素的长度。
8.根据权利要求7所述的高能效高速并行LDPC编码器,其特征在于,所述多个比特合并模块具体用于:
每个比特合并模块用于将一组比特选择模块的k个输出进行拼接,P矩阵是一个稠密矩阵,密度为0.5,每段信息序列经过比特选择模块之后的输出为m/2,经过比特合并模块后的长度约为k·m/2,共需要(n-k)个比特合并模块。
9.根据权利要求8所述的高能效高速并行LDPC编码器,其特征在于,所述流水累加模块具体用于:
采用流水线处理方式将合并后的信息比特进行累加,得到校验位Vj(1≤j≤n-k);编码中采用模二加法,共需要
Figure FDA0002958442800000034
个异或门,完成累加需要
Figure FDA0002958442800000035
个处理时钟。
10.根据权利要求9所述的高能效高速并行LDPC编码器,其特征在于,所述编码输出模块具体用于:将信息位和校验位组合输出。
CN202110229442.3A 2021-03-02 2021-03-02 一种高能效高速并行ldpc编码方法及编码器 Active CN113055023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110229442.3A CN113055023B (zh) 2021-03-02 2021-03-02 一种高能效高速并行ldpc编码方法及编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110229442.3A CN113055023B (zh) 2021-03-02 2021-03-02 一种高能效高速并行ldpc编码方法及编码器

Publications (2)

Publication Number Publication Date
CN113055023A true CN113055023A (zh) 2021-06-29
CN113055023B CN113055023B (zh) 2022-02-18

Family

ID=76509504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110229442.3A Active CN113055023B (zh) 2021-03-02 2021-03-02 一种高能效高速并行ldpc编码方法及编码器

Country Status (1)

Country Link
CN (1) CN113055023B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024031286A1 (zh) * 2022-08-08 2024-02-15 华为技术有限公司 一种数据处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588183A (zh) * 2009-06-26 2009-11-25 北京交通大学 一种ldpc码快速编码方法与系统
CN109412606A (zh) * 2018-09-30 2019-03-01 华南理工大学 基于生成矩阵的qc_ldpc码编码方法及编码器
CN111726122A (zh) * 2019-03-20 2020-09-29 爱思开海力士有限公司 用于管理奇偶校验矩阵的装置和方法
CN112398482A (zh) * 2019-08-13 2021-02-23 中兴通讯股份有限公司 规则qc-ldpc码的构造方法及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588183A (zh) * 2009-06-26 2009-11-25 北京交通大学 一种ldpc码快速编码方法与系统
CN109412606A (zh) * 2018-09-30 2019-03-01 华南理工大学 基于生成矩阵的qc_ldpc码编码方法及编码器
CN111726122A (zh) * 2019-03-20 2020-09-29 爱思开海力士有限公司 用于管理奇偶校验矩阵的装置和方法
CN112398482A (zh) * 2019-08-13 2021-02-23 中兴通讯股份有限公司 规则qc-ldpc码的构造方法及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘英,张志亮: "基于Matlab平台的LDPC码快速仿真研究", 《现代电子技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024031286A1 (zh) * 2022-08-08 2024-02-15 华为技术有限公司 一种数据处理方法、装置及设备

Also Published As

Publication number Publication date
CN113055023B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
Zhang et al. Reduced-latency SC polar decoder architectures
US8359515B2 (en) Forward substitution for error-correction encoding and the like
KR100502609B1 (ko) Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
JP4320418B2 (ja) 復号装置および受信装置
CN105515590B (zh) 一种有效低复杂度串行抵消列表极化码译码方法
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
Sha et al. Multi-Gb/s LDPC code design and implementation
CN109802687A (zh) 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器
CN113055023B (zh) 一种高能效高速并行ldpc编码方法及编码器
CN109547035B (zh) 流水bp极化译码器硬件架构的建立方法及译码器硬件架构
CN116192157A (zh) 降低qc-ldpc码生成矩阵密度的实现方法
CN113422611B (zh) 一种qc-ldpc编码器的高度并行编码方法
Roy et al. High-speed architecture for successive cancellation decoder with split-g node block
CN110730003B (zh) 一种ldpc编码方法及ldpc编码器
Bao et al. An efficient GC-LDPC encoder architecture for high-speed NAND flash applications
CN101141132A (zh) 一种准循环低密度奇偶校验码编码器和校验位生成方法
CN112534724B (zh) 用于解码极化码和乘积码的解码器和方法
CN117914446B (zh) 针对代数码的解码方法及系统
CN112671415B (zh) 一种面向乘积码的高吞吐量编码方法
CN113285724B (zh) 一种基于码率自适应的小型化ldpc编码器电路
Ding et al. FPGA-Based Quasi-Cyclic LDPC Encoding Algorithm
CN110504975B (zh) 一种crc并行编解码方法及基于其的编解码器
Zhang Further exploring the strength of prediction in the factorization of soft-decision Reed–Solomon decoding
CN114553242B (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