CN110730003A - 一种ldpc编码方法及ldpc编码器 - Google Patents
一种ldpc编码方法及ldpc编码器 Download PDFInfo
- Publication number
- CN110730003A CN110730003A CN201910886370.2A CN201910886370A CN110730003A CN 110730003 A CN110730003 A CN 110730003A CN 201910886370 A CN201910886370 A CN 201910886370A CN 110730003 A CN110730003 A CN 110730003A
- Authority
- CN
- China
- Prior art keywords
- bit vector
- bits
- vector
- information bit
- sub
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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编码器,所述方法包括:步骤1)从生成矩阵G获取I行J列b阶循环矩阵Bi,j,1≤i≤I,1≤j≤J;步骤2)将编码信息比特向量u分成I段长度为b比特的信息比特向量A1,…AI,并对每个信息比特向量A1,…AI均进行补0处理,扩展为E1,…EI;步骤3)根据编码并行度M,将Ei分割为M个等长的子向量步骤4)将循环矩阵Bi,j分割为M个子循环矩阵步骤5)计算Cj为长度为b的校验比特向量段;最终得到校验比特向量C=(C1,C2,…CJ)。本发明的LDPC编码方法具有低复杂度、编码并行度可配置、编码速率高的优点,在对资源、功耗、编码速率要求苛刻的卫星高速数传系统中具有较高应用价值。
Description
技术领域
本发明涉及卫星高速数传、信道编码技术领域,特别涉及一种LDPC编码方法及LDPC编码器。
背景技术
随着卫星观测载荷精度的不断提高和卫星应用技术的飞速发展,星地数据传输需求快速增长,如何在星上硬件资源、带宽、功率受限的情况下实现高速数据传输,是卫星通信领域的研究热点。中国卫星数传系统星上功率受限,地面接收站主要集中在境内,传输时间窗口小,仰角变化范围大,信道环境复杂,因此对使用性能优异、低实现复杂度、高速的星载信道编码技术有强烈的应用需求。
低密度奇偶校验(Low Density Parity Check,LDPC)码由GALLAGER于1962年在其博士论文中提出,是一种纠错性能逼近Shannon理论极限的信道编码技术,具有译码速度快、误码平层低、硬件实现相对简单、易于并行设计等优势。针对航天通信应用,国际空间数据系统咨询委员会(Consultative Committee for Space Data Systems,CCSDS)制定了《131.0-B-2遥测同步及信道编码》标准,规定了近地卫星通信应用和深空通信应用的两套LDPC码字。近地卫星通信部分采用了编码效率为7/8的准循环(8176,7154)LDPC码,该LDPC码生成矩阵具有准循环的特点。
CCSDS标准中的LDPC码是一种QC-LDPC码,其生成矩阵G是由I×L个b×b阶的循环矩阵构成的阵列(L=I+J),编码可以采用移位寄存器累加单元(Shift-Register-Adder-Accumulator,SRAA)实现。通过对输入数据进行处理和拆分循环矩阵,可以实现并行编码,但已有编码方案只支持单一的并行度,并行度过高,则会占用大量资源,并行度过低,则不能满足卫星高速数传需求。如果编码的并行度为M,则需要J×M个SRAA个单元,一个SRAA单元通常包括一个用于存储异或运算结果的b比特寄存器、一个用于产生和存储循环子矩阵行向量的b比特循环移位寄存器、b个二输入与门和b个二输入异或门,资源消耗多,功耗高。综上所述,设计一种低复杂度可配置的LDPC编码方案具有重大工程意义。
发明内容
本发明的目的在于克服现有LDPC编码结构中复杂度过高、编码并行度单一的问题,从而提供一种低实现复杂度、并行度可配置的高速的LDPC编码器设计与实现方案。
为实现上述目的,本发明提出了一种LDPC编码方法,所述方法包括:
步骤1)从生成矩阵G获取I行J列b阶循环矩阵Bi,j,1≤i≤I,1≤j≤J;
步骤2)将编码信息比特向量u分成I段长度为b比特的信息比特向量A1,…AI,并对每个信息比特向量A1,…AI均进行补0处理,扩展为E1,…EI;
作为上述方法的一种改进,所述G是由I×L个b×b阶的循环矩阵构成的阵列,L=I+J,其中前I列为单位矩阵,对应信息比特向量u,后J列为循环矩阵Bi,j,对应校验比特向量C,将Bi,j首行向量记为bi,j,则其它行可由bi,j循环移位得到。
作为上述方法的一种改进,所述步骤2)具体包括:
将编码信息比特向量u分成I段长度为b比特的信息比特向量A1,…AI,第i个信息比特向量表示为:
Ai=(u(i-1)×b+1 u(i-1)×b+2 … ui×b),i=1,2,…I
然后对Ai进行补0操作,将其扩展为长度为b+1比特的向量Ei:
Ei=(ei,1 ei,2 … ei,b+1)=(Ai 0)=(u(i-1)×b+1 u(i-1)×b+2 … ui×b 0),i=1,2,…I。
作为上述方法的一种改进,所述步骤3)具体为:
作为上述方法的一种改进,所述步骤4)具体为:
本发明还提供了一种LDPC编码器,所述LDPC编码器包括:控制模块、数据处理模块、并行编码模块和输出模块;
所述控制模块,用于控制数据处理模块按M位输出,并动态配置并行编码模块;
所述数据处理模块,用于将编码信息比特向量u分成I段长度为b比特的信息比特向量A1,…AI,并将每个向量进行补0处理,扩展为E1,…EI,根据配置模块输出的编码并行度M,将每个Ei分割为M个长度为N比特的子向量i=1,2,…I,并将M位并行编码比特输出至并行编码模块,其中为第d个元素,d=1,2,…N,,c=1,2,…M;
所述输出模块,用于输出编码码字V,包括信息比特向量u和校验比特向量C。
作为上述装置的一种改进,所述并行编码模块包括M×J个优化的移位寄存器累加单元,第c行第j列的优化的移位寄存器累加单元表示为Optimized SRAAc,j;所述优化的移位寄存器累加单元包括:
一个二选一数据选择器,用于控制整个移位寄存器累加单元的操作;
一个位宽b比特的寄存器S,用于存储异或运算结果;
一个位宽b比特的循环移位寄存器B,用于产生和存储循环子矩阵行向量;和
b个二输入异或门,用于对b比特位宽的数据进行异或操作。
作为上述装置的一种改进,所述并行编码模块的实现过程包括:
步骤S3)将分别送入Optimized SRAAc,j;所述二选一数据选择器启动,当为1时,将移位寄存器B中的值与寄存器S中的值进行异或并存储于寄存器S,当为0时,当为0时,只对移位寄存器B中的数值进行移位操作,寄存器S不操作;
遍历i=1,2,…I,d=1,2,…N,步骤S3)共执行I×N次,则每个Optimized SRAAc,j中寄存器S中的值为将每一列块的结果输入b个二输入异或门,输出Cj;得到校验比特向量C=(C1,C2,…CJ)。
本发明的优势在于:
1、本发明的LDPC编码器根据不同卫星数传系统对编码指标和性能的不同要求,通过控制模块,动态重构并行编码模块,使所设计的编码器具有可配置性以及通用性;支持2、4、8三种编码并行度,可根据不同卫星通信系统对编码指标和性能的不同要求,合理配置,具有通用性;
2、本发明考虑到输入信息比特在二元域取值的特点,对传统的SRAA单元进行优化,只在输入信息比特为1时,进行累加运算,输入信息比特为0时,不进行累加运算,代替了传统SRAA单元输入信息比特与循环移位寄存器中数值的与操作,节省了与门资源,显著降低了编码器硬件资源规模;
3、本发明编码器采用优化的编码结构和良好的代码风格,FPGA实现结果表明,该编码器编码速率高、资源占用少,在对资源、功耗、编码速率要求苛刻的卫星高速数传系统中具有较高应用价值;
4、本发明的LDPC编码器具有低实现复杂度,节省了J×M个二输入与门,显著降低了硬件资源规模,而且具有编码并行度可配置、编码速率高的优点,具有通用性;
5、本发明的LDPC编码器设计方案编码速率高,可以满足卫星高速数传需求,在Xilinx XC4VLX80-12ff1148 FPGA上实现,综合频率为323.876MHz,编码速率最高可达2.591Gbps。
附图说明
图1是本发明的LDPC编码器的结构示意图;
图2是传统的移位寄存器累加单元示意图;
图3是本发明的优化的移位寄存器累加单元示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进行详细的说明。
实施例1:
本发明的实施例1提供了一种LDPC编码方法,该方法包括:
步骤1)CCSDS近地卫星通信标准采用编码效率为7/8的(8176,7154)LDPC码,该码具有良好的结构特性,其生成矩阵G是大小为7154×8176的矩阵:
如公式(1)所示,生成矩阵G由14×16个大小为511×511循环矩阵组成,其中I为单位矩阵,0为零矩阵,Bi,j(i=1,…14;j=1,2)为循环矩阵,bi,j为Bi,j首行。
生成矩阵G对应码字(u,C)。G的前14列块对应的是信息比特向量u,后2列块对应的是校验比特向量C。
步骤2)以511比特为一段,将信息比特向量u分割为14个子向量Ai=(u(i-1)×511+1u(i-1)×511+2 … ui×511),同时将校验比特向量C分割为2个子向量Cj=(c(j-1)+1 c(j-1)+2 …c511j)。
步骤3)将Ai扩展为长度为512比特的向量Ei=(ei,1 ei,2 … ei,512)=(Ai 0)=(u(i-1)×511+1 u(i-1)×511+2 … ui×511 0)(i=1,2,…14);根据并行度M,将Ei分割为M个长度为N=512/M的子向量同时将Bi,j分割为M个N阶子循环矩阵令bi,j循环右移1位得到的向量为且则每个子循环矩阵的第一行为其它行由循环右移M位得到。
步骤4)由V=u×G可知:
找出当前信息比特向量对应的各个子循环矩阵获得中间乘积结果将M个中间乘积结果累加,获得中间校验结果Pi,j;重复该步骤,计算下一段信息比特向量对应的中间校验结果Pi,j,直至所有中间校验结果计算完成,累加所有中间校验结果Pi,j得到最终校验比特向量Cj(1≤j≤2);
实施例2
本发明的实施例2提出了一种低复杂度可配置的LDPC编码器,其结构图如图1所示,包括:控制模块、数据处理模块、并行编码模块和输出模块;
所述控制模块,用于控制数据处理模块按M位输出,并动态配置并行编码模块;
所述数据处理模块,用于将信息比特向量u分割为14个长度为511的子向量A1,…A14,并对每个Ai进行补0处理,将其扩展为长度为512的信息比特向量Ei,根据编码并行度M,将Ei分割为M个长度为N=512/M比特的子向量i=1,2,…14,并将M位并行编码比特输出至并行编码模块,其中为第d个元素,d=1,2,…N,c=1,2,…M;
所述输出模块,用于输出编码码字V,包括信息比特向量u和校验比特向量C。
所述并行编码模块包括2×8(8为M最大值)个优化的移位寄存器累加单元(Optimized Shift-Register-Adder-Accumulator,Optimized SRAA),图2给出了传统的SRAA单元结构。该单元包括:一个位宽511bit用于存储异或运算结果的寄存器S,一个位宽511比特用于产生和存储循环子矩阵行向量的循环移位寄存器B,511个二输入与门和511个二输入异或门。
由于信息比特在二元域上取值,当输入信息比特为0时,经过与门运算的结果为0,再与寄存器S中的值进行异或时,并不会改变寄存器S中的值,因此可以利用输入信息比特对移位寄存器累加单元进行控制,当输入信息比特为1时,将循环移位寄存器B中的值和寄存器S中的值进行异或并存储于寄存器S,当输入信息比特为0时,只对移位寄存器B中的值进行移位操作,寄存器S不做任何操作。这样设计,可节省511个二输入与门,而输入信息比特对SRAA的控制可视为一个二选一数据选择器,显著降低了整体硬件资源规模。图3为优化的移位寄存器累加单元。
编码步骤如下:
2.从数据处理模块得到并行输入信息比特并分别送入Optimized SRAAc,j。当为1时,将移位寄存器B中的值与寄存器S中的值进行异或并存储于寄存器S,为0时,只对移位寄存器B中的数值进行移位操作,寄存器S不操作。
输出处理模块,用于将信息比特向量和并行编码模块得出的校验比特向量进行输出。
将本发明的LDPC编码器在Xilinx XC4VLX80-12ff1148 FPGA上实现,综合频率为323.876MHz,编码速率最高可达2.591Gbps。与采用传统SRAA单元相比,本发明的并行编码模块节省了M×J×b个二输入与门,显著降低了硬件资源规模。
综上可见,本发明的LDPC编码器,具有低实现复杂度、并行度可配置、编码速率高的特点,可以满足不同卫星通信系统对编码指标、性能的不同要求,在对资源、功耗、编码速率要求苛刻的卫星高速数传系统中具有较高应用价值。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
2.根据权利要求1所述的LDPC编码方法,其特征在于,所述G是由I×L个b×b阶的循环矩阵构成的阵列,L=I+J,其中前I列为单位矩阵,对应信息比特向量u,后J列为循环矩阵Bi,j,对应校验比特向量C,将Bi,j首行向量记为bi,j,则其它行可由bi,j循环移位得到。
3.根据权利要求2所述的LDPC编码方法,其特征在于,所述步骤2)具体包括:
将编码信息比特向量u分成I段长度为b比特的信息比特向量A1,…AI,第i个信息比特向量表示为:
Ai=(u(i-1)×b+1 u(i-1)×b+2…ui×b),i=1,2,…I
然后对Ai进行补0操作,将其扩展为长度为b+1比特的向量Ei:
Ei=(ei,1 ei,2…ei,b+1)=(Ai 0)=(u(i-1)×b+1 u(i-1)×b+2…ui×b 0),i=1,2,…I。
6.一种LDPC编码器,其特征在于,所述LDPC编码器包括:控制模块、数据处理模块、并行编码模块和输出模块;
所述控制模块,用于控制数据处理模块按M位输出,并动态配置并行编码模块;
所述数据处理模块,用于将编码信息比特向量u分成I段长度为b比特的信息比特向量A1,…AI,并将每个向量进行补0处理,扩展为E1,…EI,根据配置模块输出的编码并行度M,将每个Ei分割为M个长度为N比特的子向量i=1,2,…I,并将M位并行编码比特输出至并行编码模块,其中为第d个元素,d=1,2,…N,,c=1,2,…M;
所述输出模块,用于输出编码码字V,包括信息比特向量u和校验比特向量C。
7.根据权利要求6所述的LDPC编码器,其特征在于,所述并行编码模块包括M×J个优化的移位寄存器累加单元,第c行第j列的优化的移位寄存器累加单元表示为OptimizedSRAAc,j;所述优化的移位寄存器累加单元包括:
一个二选一数据选择器,用于控制整个移位寄存器累加单元的操作;
一个位宽b比特的寄存器S,用于存储异或运算结果;
一个位宽b比特的循环移位寄存器B,用于产生和存储循环子矩阵行向量;和
b个二输入异或门,用于对b比特位宽的数据进行异或操作。
8.根据权利要求7所述的LDPC编码器,其特征在于,所述并行编码模块的实现过程包括:
步骤S3)将分别送入Optimized SRAAc,j;所述二选一数据选择器启动,当为1时,将移位寄存器B中的值与寄存器S中的值进行异或并存储于寄存器S,当为0时,只对移位寄存器B中的数值进行移位操作,寄存器S不操作;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910886370.2A CN110730003B (zh) | 2019-09-19 | 2019-09-19 | 一种ldpc编码方法及ldpc编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910886370.2A CN110730003B (zh) | 2019-09-19 | 2019-09-19 | 一种ldpc编码方法及ldpc编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730003A true CN110730003A (zh) | 2020-01-24 |
CN110730003B CN110730003B (zh) | 2023-04-11 |
Family
ID=69219216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910886370.2A Active CN110730003B (zh) | 2019-09-19 | 2019-09-19 | 一种ldpc编码方法及ldpc编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730003B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022110691A1 (zh) * | 2020-11-24 | 2022-06-02 | 深圳市大数据研究院 | 编码方法、译码方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162074A1 (en) * | 2008-12-19 | 2010-06-24 | Electronics And Telecommunications Research Institute | Apparatus and method for coding qc-ldpc code |
US20100169736A1 (en) * | 2008-12-31 | 2010-07-01 | Stmicroelectronics, Inc. | Encoding apparatus, system, and method using Low Density Parity Check (LDPC) codes |
CN103023516A (zh) * | 2013-01-01 | 2013-04-03 | 苏州威士达信息科技有限公司 | 联合生成矩阵和校验矩阵的ldpc编码器和编码方法 |
-
2019
- 2019-09-19 CN CN201910886370.2A patent/CN110730003B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162074A1 (en) * | 2008-12-19 | 2010-06-24 | Electronics And Telecommunications Research Institute | Apparatus and method for coding qc-ldpc code |
US20100169736A1 (en) * | 2008-12-31 | 2010-07-01 | Stmicroelectronics, Inc. | Encoding apparatus, system, and method using Low Density Parity Check (LDPC) codes |
CN103023516A (zh) * | 2013-01-01 | 2013-04-03 | 苏州威士达信息科技有限公司 | 联合生成矩阵和校验矩阵的ldpc编码器和编码方法 |
Non-Patent Citations (1)
Title |
---|
JUNSHE AN等: "Algorithms and Implementation of Long Euclidean-Geometry LDPC Codes for Space Communications", 《IEEE》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022110691A1 (zh) * | 2020-11-24 | 2022-06-02 | 深圳市大数据研究院 | 编码方法、译码方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110730003B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100425017C (zh) | 基于预编码的并行卷积ldpc码的编码器及其快速编码方法 | |
JP4320418B2 (ja) | 復号装置および受信装置 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
US20090164863A1 (en) | Method of encoding and decoding using low density parity check matrix | |
CN109802687B (zh) | 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器 | |
CN102075198A (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
US9104589B1 (en) | Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions | |
US8713399B1 (en) | Reconfigurable barrel shifter and rotator | |
Liu et al. | A revolving iterative algorithm for decoding algebraic cyclic and quasi-cyclic LDPC codes | |
CN101800627B (zh) | 一种多码率兼容的高速ldpc编码器的硬件实现 | |
CN1822510A (zh) | 高速的减少存储需求的低密度校验码解码器 | |
CN110730003B (zh) | 一种ldpc编码方法及ldpc编码器 | |
Ren et al. | The design and implementation of high-speed codec based on FPGA | |
CN111162795B (zh) | 基于校验子矩阵分割的ldpc编码硬件实现方法 | |
CN102868495B (zh) | 基于查找表的近地通信中ldpc串行编码器和编码方法 | |
CN100557983C (zh) | 一种准循环低密度奇偶校验码编码器和校验位生成方法 | |
CN116192157A (zh) | 降低qc-ldpc码生成矩阵密度的实现方法 | |
CN103036577A (zh) | 一种低复杂度的低密度奇偶校验ldpc码编码电路结构 | |
CN113300719A (zh) | 一种多进制非规则重复累加码并行编码装置及方法 | |
CN102970046A (zh) | 高度并行的近地通信中qc-ldpc编码器和编码方法 | |
Kakde et al. | FPGA implementation of decoder architectures for high throughput irregular LDPC codes | |
CN103001648B (zh) | 基于fpga的准循环ldpc码的简易编码装置及方法 | |
CN105471444A (zh) | Ldpc码的编码方法 | |
CN105471442A (zh) | Ldpc码的编码方法 | |
EP3496277A1 (en) | Parallel encoding method and system for protograph-based ldpc codes with hierarchical lifting stages |
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 |