CN112671415B - 一种面向乘积码的高吞吐量编码方法 - Google Patents

一种面向乘积码的高吞吐量编码方法 Download PDF

Info

Publication number
CN112671415B
CN112671415B CN202011474224.8A CN202011474224A CN112671415B CN 112671415 B CN112671415 B CN 112671415B CN 202011474224 A CN202011474224 A CN 202011474224A CN 112671415 B CN112671415 B CN 112671415B
Authority
CN
China
Prior art keywords
code
code encoder
encoder
product code
clock cycle
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.)
Active
Application number
CN202011474224.8A
Other languages
English (en)
Other versions
CN112671415A (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.)
Tianjin University
Original Assignee
Tianjin University
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 Tianjin University filed Critical Tianjin University
Priority to CN202011474224.8A priority Critical patent/CN112671415B/zh
Publication of CN112671415A publication Critical patent/CN112671415A/zh
Application granted granted Critical
Publication of CN112671415B publication Critical patent/CN112671415B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种面向乘积码的高吞吐量编码方法,乘积码编码器采用k2组RS码编码器和一组多进制LDPC码编码器同时处理并行输入的长度为k2的信息序列,从而分别实现列编码和行编码;完成行列编码后,将k2组移位寄存器缓存的RS码编码结果并行输出进行LDPC码的双重校验编码;其中,该方案采用行列同时编码减小编码延迟,并通过直接输出信息序列和列校验序列进而减少硬件资源消耗。本发明实现的乘积码编码器吞吐量可达到1.2Gbps以上,满足实时编码需求,硬件实现复杂度较低,且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。

Description

一种面向乘积码的高吞吐量编码方法
技术领域
本发明涉及数字通信编码技术领域,尤其涉及一种面向乘积码的高吞吐量编码方法。
背景技术
无线通信中存在通信距离远、信道环境复杂等问题,对通信系统的可靠性提出更高的要求。通信设备需具备体积小、功耗低的特点,为硬件实现带来巨大的挑战。通信系统通常采用信道编码技术保证数据传输的有效性,乘积码编码方案是一种编码效率高、实现复杂度较低的信道编码技术。实际应用中采用乘积码编码技术可有效提高通信系统数据处理的速率,在磁存储、光纤通信以及数字电视广播等领域被广泛应用。因此,实现一种高吞吐量的乘积码编码器具有重要的研究意义。
随着数字通信系统的可靠性逐渐成为研究的热点,寻找一种编码增益大、纠错能力强的信道编码技术显得尤为重要。乘积码于1954年由P.Elias首次提出,乘积码的码字结构由差错控制和交织技术共同实现,该结构可纠正数据在不同信道下出现的错误。乘积码由任意线性分则码构建而成,理论上可构建多维乘积码,但综合考虑实现复杂度和编译码速率等因素,在实际应用中通常设计二维或三维乘积码。构建乘积码时可选择低密度奇偶校验(Low-Density Parity-Check,LDPC)码、里德所罗门(Reed-Solomon,RS)码等分组码进行设计。
为保证通信系统数据传输的有效性,选择硬件实现复杂度低、纠错能力强的线性分组码构建乘积码是编译码器实现的关键。在乘积码子码选择和构造方面,Shah等人提出一种RS-LDPC乘积码编译码方案,该方案在高信噪比的应用场景取得较高的译码性能。近年来,随着乘积码的子码构造方案越来越灵活,使得乘积码编译码器的硬件架构设计受到广泛的关注。Tam等人基于LDPC码和RS码提出一种乘积码译码实现架构,该架构采用置信译码算法分别实现LDPC码和RS码译码器从而实现乘积码的行列译码功能,以增大硬件资源消耗为代价提高乘积码译码性能。
乘积码编译码技术在无线通信等领域取得显著的成果。针对数字电视广播系统,采用乘积码编译码技术可满足宽带无线服务迅速增长的带宽需求,同时为地面广播系统的可靠性提供有效的技术保障。进一步,Karine等人通过将乘积码编译码技术引入到无线传感网络,从而发现乘积码编码方案可有效提高节点的传输效率。因此,在无线传感网络的每个中继节点均进行编码运算,该方案以增加少量功耗为代价从而提高各节点间数据的传输速率,具有较高的应用价值。随着磁带存储数据量正在日益增长,目前存储容量已扩展100万倍,对存储技术的可靠性和错误率等关键指标都提出较高的要求。由于乘积码具备较高的编码速率和较强的纠错性能,因此被广泛应用于磁存储等信息系统中,从而保证通信系统的可靠性。除此之外,乘积码经常被应用在高吞吐率、低误比特率的场景中,Jian等人将LDPC乘积码技术应用于高速光通信系统中,并提出一种有效的迭代硬判决方案。进一步,LeBidan Raphael等人提出一种适用于光通信领域的RS-Turbo乘积码架构,该乘积码具有较好的译码性能,且实现复杂度较低。
随着乘积码在通信和存储等领域的广泛应用,具体的乘积码编译码实现方案成为学者们研究的重点方向。Thomos等人通过LDPC码和RS码构建乘积码,所实现的乘积码译码器取得较高的译码性能,从而有效解决高速的图像传输过程中大量数据出错的问题。由于LDPC码编译码器可采用高并行度的编译码架构,并且基于LDPC码校验矩阵的稀疏性,在消耗较少的硬件资源情况下,采用迭代置信传播(Belief Propagation,BP)算法可实现高性能的译码功能。此外,RS码具备纠正随机错误和突发错误的特点,在短码和中长码的应用中有较为突出的纠错能力,再加上其自身构造简单等优势,RS码被视为应用最广泛的差错控制编码技术之一,在光通信等领域已经取得显著的成果。因此,选择LDPC码和RS码构建二维乘积码具有较高的研究价值。
相较于实现单一的LDPC码或RS码编码器,乘积码编码器会给硬件资源带来更高的挑战,需要综合考虑实现复杂度和性能等因素进而选择合适的编码算法进行电路实现。近些年,随着大数据时代的到来,通信系统中编码器处理数据的效率成为重要指标之一,并且通信设备的更新也越来越频繁,因此乘积码编码器的实现方案需具备参数更换灵活、硬件实现复杂度低的优势。综上所述,设计并实现一种适用于不同码长、码率的高速乘积码编码器具有较高的研究价值。
发明人在实现本发明的过程中,发现现有技术中存在以下缺点和不足:
乘积码编码器的编码速率较低,无法同时进行乘积码的行列编码运算。
发明内容
针对乘积码编码器在实际应用中编码速率较低、硬件实现复杂度高等问题,本发明提供了一种面向乘积码的高吞吐量编码方法,本发明的编码器吞吐量较高,满足实时编码的需求,可支持不同码长、码率的乘积码编码方案,详见下文描述:
一种面向乘积码的高吞吐量编码方法,所述方法包括以下步骤:
(1)从第1个时钟周期开始,每个时钟周期并行输入的k2个符号分别进入k2组RS码编码器进行计算;k1个时钟周期后,每组RS码编码器生成长度为n1-k1的校验序列,乘积码编码器得到k2组长度为n1-k1的乘积码编码器的列校验序列;
(2)同时,从第1个时钟周期开始,每个时钟周期并行输入的k2个符号进入多进制LDPC码编码器开始编码计算并生成长度为n2-k2的校验序列;k1个时钟周期后,乘积码编码器得到k1组长度为n2-k2的乘积码编码器的行校验序列;
(3)从第k1+1个时钟周期开始,每个时钟周期k2组RS码编码器并行输出k2个符号进入多进制LDPC码编码器,经计算生成长度为n2-k2的校验序列;至第n1个时钟周期,每组RS码编码器完成寄存器缓存的n1-k1个校验符号的串行输出,乘积码编码器生成并输出n1-k1组长度为n2-k2的乘积码编码器的双重校验序列。
所述步骤(1)为:
(1.1)初始化RS码编码器,RS码编码使能信号置低电平,每组RS码编码器内部n1-k1个寄存器均为零,RS码编码器等待指示信号开始编码工作;
(1.2)当编码使能信号置高电平,RS码编码器开始工作,第1个时钟周期,并行输入的k2个信息符号
Figure BDA0002834548500000031
分别进入k2组RS码编码器,其中,符号
Figure BDA0002834548500000032
进入第i组RS码编码器,然后分别与n1-k1个多项式系数
Figure BDA0002834548500000033
进行乘法运算,并将得到的乘法结果
Figure BDA0002834548500000034
分别存入寄存器中;
(1.3)第2个时钟周期,并行输入的k2个信息符号
Figure BDA0002834548500000035
分别进入k2组RS码编码器,其中,符号
Figure BDA00028345485000000315
进入第i组RS码编码器,首先与寄存器
Figure BDA0002834548500000036
中的数据
Figure BDA0002834548500000037
进行加法运算,然后将加法结果
Figure BDA0002834548500000038
分别与n1-k1个多项式系数
Figure BDA0002834548500000039
进行乘法运算,最后寄存器R1直接缓存乘法结果
Figure BDA00028345485000000310
其它n1-k1-1个乘法结果
Figure BDA00028345485000000311
分别与上一时钟周期寄存器中缓存的数据进行加法运算,并将加法运算得到的结果分别存储到寄存器中;
(1.4)以此类推,第k1个时钟周期,并行输入的k2个信息符号
Figure BDA00028345485000000312
进入k2组RS码编码器并执行步骤(1.3)中k2个信息符号
Figure BDA00028345485000000313
相同的操作,k2组RS码编码器生成k2组长度n1-k1的校验序列
Figure BDA00028345485000000314
并将每组RS码编码器生成的校验序列存储在其内部的n1-k1个寄存器中。
所述步骤(2)为:
(2.1)初始化多进制LDPC码编码器,LDPC码编码使能置低电平,多进制LDPC码编码器等待指示信号开始编码工作,编码器内部寄存器全部为零;
(2.2)当LDPC码编码使能置高电平,多进制LDPC码编码器开始接收并行输入的信息向量;第1个时钟周期,选择器将通路①并行输入的k2个信息符号
Figure BDA0002834548500000041
作为信息序列直接输出,与此同时将k2个信息符号并行输入多进制LDPC码编码器的求解中间变量计算单元得到中间向量
Figure BDA0002834548500000042
进一步将中间变量m输入求解校验符号计算单元生成并输出长度为n2-k2的校验序列
Figure BDA0002834548500000043
(2.3)以此类推,第k1个时钟周期,k2个信息符号
Figure BDA0002834548500000044
执行步骤(2.2)中k2个信息符号
Figure BDA0002834548500000045
相同的操作,生成并输出长度为n2-k2的校验序列
Figure BDA0002834548500000046
所述步骤(3)为:
(3.1)第k1+1个时钟周期,选择器开始接收通路②的数据,每组RS码编码器输出寄存器R1缓存的校验符号,k2组RS码编码器并行输出的k2个符号
Figure BDA0002834548500000047
经选择器作为列校验序列直接输出,与此同时k2个符号进入多进制LDPC码编码器执行步骤(2.2)中k2个信息符号
Figure BDA0002834548500000048
相同的操作,生成并输出长度为n2-k2的校验序列
Figure BDA0002834548500000049
(3.2)依次类推,第n1个时钟周期,每组RS码编码器输出寄存器
Figure BDA00028345485000000410
缓存的校验符号,k2组RS码编码器并行输出的k2个符号
Figure BDA00028345485000000411
执行步骤(3.1)中k2个信息符号
Figure BDA00028345485000000412
相同的操作,生成并输出长度为n2-k2的校验序列。
本发明提供的技术方案的有益效果是:乘积码编码器采用多组RS码编码器和一组多进制LDPC码编码器同时工作减小编码延迟,有效提高乘积码编码器吞吐量;并通过直接输出信息序列和列校验序列减少硬件资源消耗,从而降低硬件实现复杂度。该架构适用于不同码长、码率的乘积码编码方案,应用灵活,可适配性强。
附图说明
图1为一种面向乘积码的高吞吐量编码方法的流程图;
图2为乘积码编码器的结构示意图;
图3为并行输出k2组RS码编码结果结构示意图;
图4为多进制LDPC码编码器求解中间变量计算单元电路结构示意图;
图5为乘积码编码器工作时序图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
本发明实施例针对通信等领域乘积码编码器硬件实现复杂度较高、吞吐量较低的问题,设计了一种面向乘积码的高吞吐量编码方法,其中,乘积码编码器由控制单元、待编码信息存储单元、RS码编码器单元以及多进制LDPC码编码单元组成;乘积码编码器采用多组RS码编码器并行工作实现列编码,并使用一组多进制LDPC码编码器并行接收信息序列从而实现行编码。该架构将移位寄存器阵列缓存的多组RS码编码结果并行输出进而减小编码延迟。本发明的乘积码编码器硬件实现复杂度较低、吞吐量较高,满足实时编码的需求,并且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。
本发明实施例提供了一种面向乘积码的高吞吐量编码方法,采用现场可编程门阵列(Field Programmable Gate Array,FPGA)或超大规模集成(Very Large SacleIntegration,VLSI)电路实现。
下面结合附图详细说明本发明的实施方式:
图1给出了本发明实施例提供的一种面向乘积码的高吞吐量编码方法的示意图,乘积码编码器采用k2组RS(n1,k1)码编码器并行工作实现列编码,与此同时使用一组多进制LDPC(n2,k2)码编码器接收行输入的信息序列实现行编码;其中,每组RS码编码器处理一组信息序列从而生成长度为n1-k1的校验序列,并将校验序列存储在移位寄存器中;多进制LDPC码编码器和RS码编码器同时开始编码工作,多进制LDPC码编码单元并行接收k2个符号进行编码运算;LDPC码的信息序列首先进入多进制LDPC码编码器的求解中间变量计算单元,然后将经计算得到的中间变量输入求解校验符号计算单元得到LDPC码的校验序列;完成乘积码行列编码后开始执行计算双重校验序列的操作,将移位寄存器阵列缓存的多组RS码编码结果并行输出进行LDPC码的双重校验编码。
图2给出了乘积码编码器结构示意图,乘积码编码方案由控制单元、待编码信息存储单元、RS码编码单元和多进制LDPC码编码单元组成;控制单元通过向其它运算单元输出控制信号从而调控乘积码编码器的编码流程;待编码信息存储单元接收来自控制单元的指示信号,执行对待编码信息的存储和传输操作;RS码编码单元在控制信号的指示下执行对待编码信息单元输出的信息序列的编码操作,并且将编码得到的校验序列输出给多进制LDPC码编码单元;多进制LDPC码编码单元在控制信号的指示下并行接收待编码信息单元和RS码编码单元输出的数据作为信息序列进行编码运算。
图3给出了并行输出k2组RS码编码结果结构示意图,RS码编码单元由k2组RS码编码器构成,每组RS码编码器完成编码运算后将长度为n1-k1的校验序列存储在移位寄存器中;完成乘积码行列编码后,每组RS码编码器内部的移位寄存器开始串行输出RS码的校验序列;此时,k2组RS码编码器并行输出的k2个符号作为多进制LDPC码编码器的信息序列继续参与计算。
图4给出了多进制LDPC码编码器求解中间变量计算单元电路结构示意图。将校验矩阵H分为子矩阵HI和子矩阵HP,多进制LDPC码编码过程可分为求解中间向量和求解校验符号两部分,首先通过长度为k2个符号信息向量
Figure BDA0002834548500000061
与矩阵HI的乘法运算得到中间变量
Figure BDA0002834548500000062
然后再将中间向量m与矩阵
Figure BDA0002834548500000063
进行乘法运算从而得到多进制LDPC码的校验序列。求解中间变量计算单元电路结构示意图是多进制LDPC码编码过程中求解中间向量m的硬件实现方案,该方案将信息向量s分别与矩阵HI每行的非零元素进行乘法运算,然后将计算结果再进行加法运算,从而得到对应的中间向量,其中,si和sj分别为信息向量s的第i个符号和第j个符号,α1,i和α1,j分别为矩阵HI第一行的非零元素。
图5给出了乘积码编码器工作时序图,乘积码编码器的行列编码同时进行,从而实现实时编码功能;待编码信息单元输出的信息序列分别进入RS码编码单元和多进制LDPC码编码单元执行编码操作,每组RS码编码器需要k1+1个时钟周期完成RS码的编码运算,并且k2组RS码编码器并行输出RS码的校验序列需n1-k1个时钟周期,所以RS码编码单元处理信息序列共消耗n1+1个时钟周期;多进制LDPC码编码器并行接收长度为k2的信息序列,需消耗4个时钟周期完成编码运算;该架构共消耗n1+5个时钟周期实现编码功能,编码器编码延迟较小、吞吐量较高。
本发明具体实施例基于FPGA硬件平台,采用所述的一种面向乘积码的高吞吐量编码器结构,实现了多进制LDPC-RS乘积码编码器。
该乘积码编码器实现采用Xilinx公司Virtex-6系列xc6vlx240t-3ff1156型号的FPGA,综合器为Xilinx公司的XST。采用伽罗华域GF(256)下码长为255个符号、码率为247/255的RS码和码长为72个符号、码率为1/2的多进制LDPC码构建乘积码进而实现乘积码编码器;进一步,保持多进制LDPC码的码长、码率不变,选择伽罗华域GF(256)下码长为255个符号、码率为251/255的RS码再构建一组乘积码进行硬件实现。以多进制LDPC(72,36)-RS(255,247)乘积码的为例进而详细说明本发明实施例提出的乘积码编码器架构,其中,将待编码信息分为36组长度为247个符号的信息序列
Figure BDA0002834548500000071
该乘积码编码器具体实现步骤如下:
(1)实现乘积码编码器的列编码:
(1.1)初始化RS码编码器,RS码编码使能信号置低电平,每组RS码编码器内部8个寄存器均为零,RS码编码器等待指示信号开始编码工作;
(1.2)当编码使能信号置高电平,RS码编码器开始工作,第1个时钟周期,并行输入的36个信息符号
Figure BDA0002834548500000072
分别进入36组RS码编码器,其中,符号
Figure BDA0002834548500000073
进入第i组RS码编码器,然后分别与8个多项式系数g0、g1、...、g7进行乘法运算,并将得到的乘法结果
Figure BDA0002834548500000074
分别存入寄存器R1、R2、...、R8中;
(1.3)第2个时钟周期,并行输入的36个信息符号
Figure BDA0002834548500000075
分别进入36组RS码编码器,其中,符号si 2进入第i组RS码编码器,首先与寄存器R8中的数据
Figure BDA0002834548500000076
进行加法运算,然后将加法结果
Figure BDA0002834548500000077
分别与8个多项式系数进行乘法运算,最后寄存器R1直接缓存乘法结果
Figure BDA0002834548500000078
其它7个乘法结果
Figure BDA0002834548500000079
分别与上一时钟周期(即第1个时钟周期)寄存器R1、R2、...、R7中缓存的数据进行加法运算,并将加法运算得到的结果分别存储到寄存器R2、R3、...、R8中;
(1.4)以此类推,第247个时钟周期,并行输入的36个信息符号
Figure BDA0002834548500000081
进入36组RS码编码器并执行步骤(1.3)中36个信息符号
Figure BDA0002834548500000082
相同的操作,36组RS码编码器生成36组长度8个符号的校验序列
Figure BDA0002834548500000083
并将每组RS码编码器生成的校验序列存储在其内部的8个寄存器中。
(2)实现乘积码编码器的行编码:
(2.1)初始化多进制LDPC码编码器,LDPC码编码使能置低电平,多进制LDPC码编码器等待指示信号开始编码工作,编码器内部寄存器全部为零;
(2.2)当LDPC码编码使能置高电平,多进制LDPC码编码器开始接收并行输入的信息向量;第1个时钟周期,选择器将通路①并行输入的36个信息符号
Figure BDA0002834548500000084
作为信息序列直接输出,与此同时将36个信息符号并行输入多进制LDPC码编码器的求解中间变量计算单元得到中间向量m={m1,m2,...,m36},进一步将中间变量m输入求解校验符号计算单元生成并输出长度为36的校验序列
Figure BDA0002834548500000085
(2.3)以此类推,第247个时钟周期,36个信息符号
Figure BDA0002834548500000086
执行步骤(2.2)中36个信息符号
Figure BDA0002834548500000087
相同的操作,生成并输出长度为36个符号的校验序列
Figure BDA0002834548500000088
(3)实现乘积码编码器双重校验:
(3.1)第248个时钟周期,选择器开始接收通路②的数据,每组RS码编码器输出寄存器R1缓存的校验符号,36组RS码编码器并行输出的36个符号
Figure BDA0002834548500000089
经选择器作为列校验序列直接输出,与此同时36个符号进入多进制LDPC码编码器执行步骤(2.2)中36个信息符号
Figure BDA00028345485000000810
相同的操作,生成并输出长度为36个符号的校验序列
Figure BDA00028345485000000811
(3.2)依次类推,第255个时钟周期,每组RS码编码器输出寄存器
Figure BDA00028345485000000812
缓存的校验符号,36组RS码编码器并行输出的36个符号
Figure BDA00028345485000000813
执行步骤(3.1)中36个信息符号
Figure BDA00028345485000000814
相同的操作,生成并输出长度为n2-k2的校验序列
Figure BDA00028345485000000815
表1描述由不同子码构造乘积码的编码器硬件实现结果。首先,分析两组多进制LDPC-RS乘积码编码器的硬件资源消耗。在不改变多进制LDPC码的码长、码率的情况下,多进制LDPC(72,36)-RS(255,247)乘积码编码器和多进制LDPC(72,36)-RS(255,251)乘积码编码器使用块RAM资源数量相等,说明该乘积码架构不需要使用额外的块RAM存储RS码编码结果,减少硬件资源消耗。进一步,通过比较表1中两组乘积码编码器寄存器资源使用情况可发现,多进制LDPC(72,36)-RS(255,247)乘积码编码器比多进制LDPC(72,36)-RS(255,251)乘积码编码器多消耗1154个寄存器资源。其中,每组RS(255,247)码编码器和RS(255,251)码编码器分别使用8个和4个存储器,每个存储器负责缓存伽罗华域GF(256)下的校验符号,每个符号对应8比特的二进制数。在均采用36组RS码编码器并行工作的架构下,多进制LDPC(72,36)-RS(255,247)乘积码编码器和多进制LDPC(72,36)-RS(255,251)乘积码编码器分别使用2304个和1152个寄存器资源存储列校验序列,前者比后者多使用1152个寄存器资源。因此,当RS(n1,k1)码校验序列长度n1-k1较小时,乘积码编码器硬件实现复杂度较低。最后,分析两组多进制LDPC-RS乘积码编码器的最大工作频率以及吞吐量。两组乘积码编码器的最大工作频率基本一致,且吞吐量均达到1.2Gbps以上,说明采用多组RS码编码器并行工作的电路架构并没有给乘积码编码器的关键路径造成影响,采用该架构所实现的乘积码编码器均具有较高的吞吐量。
表1乘积码编码器硬件实现结果
Figure BDA0002834548500000091
乘积码编码器的运算单元主要由RS码编码单元和多进制LDPC码编码单元组成。各运算单元独立,可根据实际需求灵活修改RS码或多进制LDPC码的码长、码率。通过比较表2和表3描述不同参数的LDPC-RS乘积码编码器内部各单元资源使用情况可发现,控制单元输出的指示信号不会因编码器中参数的改变而发生变化,从而说明该架构下设计的状态机以及流水线输出控制信号适用不同参数的乘积码编码方案。由于未改变多进制LDPC码的码长、码率,多进制LDPC码编码单元资源消耗不变。RS码编码单元由36组RS码编码器组成,RS(255,247)码编码器寄存器资源和查找表资源分别为88和124,RS(255,251)码编码器寄存器资源和查找表资源分别为56和69,说明RS码编码器的硬件实现复杂度均较低。采用36组RS码编码器并行工作不会影响乘积码编码器整体硬件资源消耗。
表2 LDPC(72,36)-RS(255,247)乘积码编码器各模块资源占用情况
Figure BDA0002834548500000101
表3 LDPC(72,36)-RS(255,251)乘积码编码器各模块资源占用情况
Figure BDA0002834548500000102
综上所述,本发明实施例提供了一种面向乘积码的高吞吐量编码方法。乘积码编码器采用多组RS码编码器并行工作实现列编码,与此同时使用一组LDPC码编码器并行输入信息序列实现行编码,进而将移位寄存器阵列缓存的多组RS码编码结果并行输出进行LDPC码的双重校验编码。FPGA测试结果表明,该编码方法可以有效减小编码延迟,所实现的乘积码编码器吞吐量均可到达1.2Gbps以上。采用该架构实现的乘积码编码器吞吐量较高,硬件实现复杂度较低,满足实时编码的需求,且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种面向乘积码的高吞吐量编码方法,其特征在于,所述方法包括以下步骤:
(1)从第1个时钟周期开始,每个时钟周期并行输入的k2个符号分别进入k2组RS码编码器进行计算;k1个时钟周期后,每组RS码编码器生成长度为n1-k1的校验序列,乘积码编码器得到k2组长度为n1-k1的乘积码编码器的列校验序列;
(2)同时,从第1个时钟周期开始,每个时钟周期并行输入的k2个符号进入多进制LDPC码编码器开始编码计算并生成长度为n2-k2的校验序列;k1个时钟周期后,乘积码编码器得到k1组长度为n2-k2的乘积码编码器的行校验序列;
(3)从第k1+1个时钟周期开始,每个时钟周期k2组RS码编码器并行输出k2个符号进入多进制LDPC码编码器,经计算生成长度为n2-k2的校验序列;至第n1个时钟周期,每组RS码编码器完成寄存器缓存的n1-k1个校验符号的串行输出,乘积码编码器生成并输出n1-k1组长度为n2-k2的乘积码编码器的双重校验序列;
其中,所述步骤(1)为:
(1.1)初始化RS码编码器,RS码编码使能信号置低电平,每组RS码编码器内部n1-k1个寄存器均为零,RS码编码器等待指示信号开始编码工作;
(1.2)当编码使能信号置高电平,RS码编码器开始工作,第1个时钟周期,并行输入的k2个信息符号
Figure FDA0003087585100000011
分别进入k2组RS码编码器,其中,符号
Figure FDA0003087585100000012
进入第i组RS码编码器,然后分别与n1-k1个多项式系数
Figure FDA00030875851000000112
进行乘法运算,并将得到的结果存入寄存器中;
(1.3)第2个时钟周期,并行输入的k2个信息符号
Figure FDA0003087585100000013
分别进入k2组RS码编码器,其中,符号
Figure FDA0003087585100000014
进入第i组RS码编码器,首先与寄存器
Figure FDA00030875851000000111
中的数据
Figure FDA0003087585100000015
进行加法运算,然后将加法结果
Figure FDA0003087585100000016
分别与n1-k1个多项式系数
Figure FDA00030875851000000113
进行乘法运算,最后寄存器R1直接缓存乘法结果
Figure FDA0003087585100000017
其它n1-k1-1个乘法结果
Figure FDA0003087585100000018
分别与上一时钟周期寄存器中缓存的数据进行加法运算,并将加法运算得到的结果分别存储到寄存器中;
(1.4)以此类推,第k1个时钟周期,并行输入的k2个信息符号
Figure FDA0003087585100000019
进入k2组RS码编码器并执行步骤(1.3)中k2个信息符号
Figure FDA00030875851000000110
相同的操作,k2组RS码编码器生成k2组长度n1-k1的校验序列
Figure FDA0003087585100000021
并将每组RS码编码器生成的校验序列存储在其内部的n1-k1个寄存器中;
所述步骤(2)为:
(2.1)初始化多进制LDPC码编码器,LDPC码编码使能置低电平,多进制LDPC码编码器等待指示信号开始编码工作,编码器内部寄存器全部为零;
(2.2)当LDPC码编码使能置高电平,多进制LDPC码编码器开始接收并行输入的信息向量;第1个时钟周期,选择器将通路①并行输入的k2个信息符号
Figure FDA0003087585100000022
作为信息序列直接输出,与此同时将k2个信息符号并行输入多进制LDPC码编码器的求解中间变量计算单元得到中间向量
Figure FDA00030875851000000210
进一步将中间变量m输入求解校验符号计算单元生成并输出长度为n2-k2的校验序列;
(2.3)以此类推,第k1个时钟周期,k2个信息符号
Figure FDA0003087585100000023
执行步骤(2.2)中k2个信息符号
Figure FDA0003087585100000024
相同的操作,生成并输出长度为n2-k2的校验序列。
2.根据权利要求1所述的一种面向乘积码的高吞吐量编码方法及其装置,其特征在于,所述步骤(3)为:
(3.1)第k1+1个时钟周期,选择器开始接收通路②的数据,每组RS码编码器输出寄存器R1缓存的校验符号,k2组RS码编码器并行输出的k2个符号
Figure FDA0003087585100000025
经选择器作为列校验序列直接输出,与此同时k2个符号进入多进制LDPC码编码器执行步骤(2.2)中k2个信息符号
Figure FDA0003087585100000026
相同的操作,生成并输出长度为n2-k2的校验序列
Figure FDA0003087585100000027
(3.2)依次类推,第n1个时钟周期,每组RS码编码器输出寄存器
Figure FDA00030875851000000211
缓存的校验符号,k2组RS码编码器并行输出的k2个符号
Figure FDA0003087585100000028
执行步骤(3.1)中k2个信息符号
Figure FDA0003087585100000029
相同的操作,生成并输出长度为n2-k2的校验序列。
CN202011474224.8A 2020-12-14 2020-12-14 一种面向乘积码的高吞吐量编码方法 Active CN112671415B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011474224.8A CN112671415B (zh) 2020-12-14 2020-12-14 一种面向乘积码的高吞吐量编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011474224.8A CN112671415B (zh) 2020-12-14 2020-12-14 一种面向乘积码的高吞吐量编码方法

Publications (2)

Publication Number Publication Date
CN112671415A CN112671415A (zh) 2021-04-16
CN112671415B true CN112671415B (zh) 2021-07-09

Family

ID=75404440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011474224.8A Active CN112671415B (zh) 2020-12-14 2020-12-14 一种面向乘积码的高吞吐量编码方法

Country Status (1)

Country Link
CN (1) CN112671415B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269229A (zh) * 2013-05-24 2013-08-28 上海交通大学 一种ldpc-rs二维乘积码的混合迭代译码方法
CN103338046A (zh) * 2013-06-21 2013-10-02 上海交通大学 码率兼容的ldpc-rs二维乘积码的编码与译码方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516390B2 (en) * 2005-01-10 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems
US7536629B2 (en) * 2005-01-10 2009-05-19 Broadcom Corporation Construction of LDPC (Low Density Parity Check) codes using GRS (Generalized Reed-Solomon) code
JP5523120B2 (ja) * 2010-01-14 2014-06-18 三菱電機株式会社 誤り訂正符号化方法、誤り訂正復号方法、誤り訂正符号化装置、および、誤り訂正復号装置
CN105322973B (zh) * 2014-10-16 2019-04-05 航天恒星科技有限公司 一种rs码编码器及编码方法
CN110098838B (zh) * 2019-04-30 2022-03-22 天津大学 Ldpc-rs乘积码的纠错纠删迭代译码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269229A (zh) * 2013-05-24 2013-08-28 上海交通大学 一种ldpc-rs二维乘积码的混合迭代译码方法
CN103338046A (zh) * 2013-06-21 2013-10-02 上海交通大学 码率兼容的ldpc-rs二维乘积码的编码与译码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
On the Performance of High-Rate TPC/SPC Codes and LDPC Codes Over Partial Response Channels;Jing Li 等;《IEEE TRANSACTIONS ON COMMUNICATIONS》;20020531;第50卷(第5期);全文 *

Also Published As

Publication number Publication date
CN112671415A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN111162797B (zh) 一种速率兼容的5g ldpc码的编码装置及编码方法
TWI415396B (zh) 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法
KR100502609B1 (ko) Ldpc 코드를 이용한 부호화기 및 부호화 방법
KR100809619B1 (ko) 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
JP4389373B2 (ja) 2元巡回符号を反復型復号するための復号器
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN102281125B (zh) 分层分块非规则低密度校验码译码器及译码方法
KR101211433B1 (ko) 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
CN101478314B (zh) 一种里德-所罗门编码译码器及其译码的方法
CN101355406B (zh) 分层的非规则低密度校验码译码器及译码处理方法
WO2007034870A1 (ja) 復号装置および受信装置
CN109347486B (zh) 低复杂度高吞吐率的5g ldpc编码器和编码方法
CN102340320A (zh) 卷积Turbo码双向并行译码方法
CN110971244A (zh) 基于突发错误检测的前向纠错译码译码器
CN112104412B (zh) 一种适用于低轨卫星宽带通信的加速器
CN112671415B (zh) 一种面向乘积码的高吞吐量编码方法
CN116192157A (zh) 降低qc-ldpc码生成矩阵密度的实现方法
KR100874484B1 (ko) 준순환 저밀도 패리티 검사 부호화 방법 및 장치
CN113055023B (zh) 一种高能效高速并行ldpc编码方法及编码器
CN110730003B (zh) 一种ldpc编码方法及ldpc编码器
CN113285725A (zh) 一种qc-ldpc编码方法及编码器
CN101141132A (zh) 一种准循环低密度奇偶校验码编码器和校验位生成方法
Leroux et al. Towards Gb/s turbo decoding of product code onto an FPGA device
CN110958025A (zh) 一种基于叠加的短帧长编码及译码方法
CN111181570A (zh) 基于fpga的编译码方法和装置

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